Is 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 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 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 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 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 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 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 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 ArticleSSD TRIM check tool
A tool that makes it easy to check if TRIM works on your SSD. Source, download.
View Articledata.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 ArticleImport Wikipedia page history to git
I’ve written a small tool which downloads the history of a Wikipedia article, converts it and imports it into a new git repository. The main motivation behind writing it is being able to perform a...
View ArticleAnnouncing: RABCDAsm
RABCDAsm (Robust ABC (ActionScript Bytecode) [Dis-]Assembler) is a collection of utilities including an ActionScript 3 assembler/disassembler, and a few tools to manipulate SWF files. This package was...
View ArticleTimeTracker – minimalistic time-tracking
Starting with a new hourly-paid freelancing job, I needed some software to track the amount of time I spend working. I tried a few time tracking programs out there, but they all turned out to be...
View ArticleColorCalc – command-line calculator for colors
If you’re one of the few crazies like me who prefer doing web development using command-line tools, you might appreciate this simple command-line calculator which can operate on RGB colors. It supports...
View Article