data.d – unmanaged memory wrapper for D
I have written a module containing classes to manage raw data in external memory. It provides semantics similar to built-in void[] arrays, but has the following advantages: Faster allocation and...
View ArticleSSD TRIM check tool
A tool that makes it easy to check if TRIM works on your SSD. Source, download.
View ArticleDHCP test client
While trying to set up my home network, I was dismayed that there was no simple way to test the DHCP server. Snooping packets is limited to examining existing traffic. DHCP test tools exist (DHCPing...
View ArticleColorize your compiler’s output
When working from the command line, I pass compiler output through a small tool that matches output lines against regular expressions and prints them in various corresponding colors. Usage: replace...
View ArticleLow-overhead components
My personal dream of an ideal programming language is one that allows defining flexible, configurable components that can be coupled together with very little overhead, producing in the end code that,...
View ArticleFunctional image processing in D
I’ve recently completed an overhaul of the graphics package of my D library. The goals for the overhaul were inspired by D’s std.algorithm and std.range modules: Present everything as small, composable...
View ArticleSplicing git repositories
Some projects eventually get split up into multiple source repositories for whatever reason. Sometimes, it is useful however to present the project as a single repository – it’s more difficult to...
View Articleae.utils.funopt
ae.utils.funopt is a std.getopt enhancer: import std.stdio, ae.utils.funopt; int run(bool verbose, string input, string output) { // ... return 0; } int main(string[] args) { try return...
View ArticleThe amazing template that does nothing
I’ve recently started using a new pattern more often in new D code, namely use of the Identity template. The Identity template (available in std.traits, although undocumented), is declared as follows:...
View ArticleIs D slim yet?
This is my project for last week’s D hackathon: This project aims to visualize the evolution of D’s reference implementation across a number of metrics over time. It does this by building D at all...
View Article