Computing Related Posts

tstools

This is an R package I wrote for my undergraduate forecasting class. These days it has enough functionality that I use it for my graduate econometrics classes and my research. I definitely plan to write more on this (when I have time, which might translate to “after I retire”).

Essays on the D Programming Language

The D programming language is a C replacement, capable of producing programs that run as fast as C, but with most of the features you’d expect in a modern language. Notably, it has a garbage collector (that can be avoided/completely disabled if you really want) and a large standard library. This makes D feel more like a scripting language like Python or Ruby than it does C or C++. This post by Ivo Welch arguing for changes to C pretty much describes D.

  • A post I wrote for the D Blog in January 2020 titled “D For Data Science: Calling R from D” I have a website for that work. To be honest, most of the work I’m doing with D these days (August 2026) is part of that project. As a hobby project, I’ve been working on a minor fork of D that makes it more suitable for economists. I don’t plan to release it publicly because that would take extra work. The extra work would be wasted because nobody else would use it. Any attention it would get would be critical. That’s just how things are in 2026.
  • If you’re a Windows user, I strongly urge you to use WSL plus VS Code. Your life will be so much easier.
  • Using dpp to Do Matrix Algebra in D An example of calling straight into C to do matrix algebra in a D program. This is less about how you should do matrix algebra with D and more a demonstration of how convenient it is to use dpp to directly #include C header files in a D program. 2026 update: That’s a really old post. dpp is still around, as is dstep, which works on Windows, and Dennis Korpel’s ctod project, which runs in the browser. These days the first choice is normally ImportC. The D compiler is able to directly compile C files alongside D files and handle all the interoperability for you. See the linked page for details. As is so often the case, Windows is the problem for ImportC, but it works great on Linux and Mac.