Systemd units for Buildbot in Conda

Buildbot is a Python framework for continuous integration systems. In my research group we are deploying it in a Conda environment, which we also use to manage all the different moving parts of our Python-centric control infrastructure on both Windows and Linux. To start up the master and worker services, the corresponding Conda environment… Read more

Photographing a Single Atom

When I spent one Sunday night working on a photograph in our basement laboratory last August, I was admittedly quite pleased with the results. But I certainly didn't expect the attention it recently received from news media around the globe after winning an award in a photography competition. In this post, I will try to provide some of the scientific background sorely missing… Read more

Testing Verilog AXI4-Lite Peripherals

Chips that combine one or more processor cores and FPGA fabric into one integrated system have become quite popular recently, the most well-known product being Xilinx’ ARM-based Zynq series. The standardized AXI buses connecting them make it trivial to bring custom IP cores… Read more

The State of LDC on Windows

LDC is one of the three major D compilers. It uses the same frontend as DMD, the reference implementation of the language, but leverages LLVM for optimization and code generation. While it has been stable on Linux and OS X for quite some time… Read more

Purity in D

Programming language design is a controversial topic, but in light of current challenges regarding both hardware trends and maintainability, several concepts originating in the functional programming world are being rediscovered as universally helpful… Read more

Thrift now officially supports D!

Thrift is a cross-language serialization and RPC framework, originally developed for internal use at Facebook, and now an Apache Software Foundation project. I started implementing support for the D programming language during Google Summer of Code 2011… Read more

getaddrinfo cross-platform edge case behavior

An often-needed piece of functionality in network programming is to resolve human-readable host or port names to their numerical equivalent, for example in order to pass the latter to operating system socket APIs. The getaddrinfo function fills this role on POSIX and Windows. Apart from some flags, it accepts…… Read more

D/Thrift: Performance and other random things

This week, I will try to keep the post short, while still informative – I spent way too much time being unproductive due to hard to track down bugs already to be in the mood for writing up extensive ramblings. So, on to the meat of the recent changes (besides the usual little cleanup commits here and there)… Read more

D/Thrift: Non-Blocking Server, Async Client, and more

First of all, the usual apologies for publishing this post later than I originally planned to. No, seriously, drafting a solid asynchronous client implementation ended up being a lot more work than I originally anticipated, but I wanted to discuss my ideas in this… Read more

D/Thrift: Docs, Servers, Tests

Dear Reader, Let me apologize for not being terribly motivated to write a blog post right now, but I was lucky enough to catch the flu last week with temperatures between 25 °C and 35 °C outside, and while the fever has gone by now, I am still depleting my… Read more