D. Scott Boggs

A brief note on Dict accessing in Python

When I first started writing Python, almost every example I saw said to use the try...except method of dealing with absent keys in Dicts. I've been writing primarily in Crystal lately, which in its documentation suggests that exception catching is discouraged due to the performance hit it takes on.…

Continue reading

A Demonstration of Pointer Arithmetic, using the clear syntax of the Crystal programming language.

It's really interesting, after spending most of my time in working with "safe" languages to see how direct memory access is implemented, and to see a few examples in syntax that isn't obfuscated by obscure and abstract syntax.…

Continue reading

Using systemd, the init system

Despite its controversy, the systemd init system provides stability and simplicity to the Linux ecosystem. My computers are all Debian and Arch-Linux based, which use systemd by default. If you have something you want to start up in the background when you turn on your Linux desktop or server, or…

Continue reading

Channels and Coroutines Make Event Loops Simple

There are many ways that programming languages are trying to add high-level concurrency features that help programmers write code that doesn't care as much about what order it's run in. My favorite of these methods is Channels. Go and Crystal support channels for their "goroutines" and "fibers" respectively. Here's a…

Continue reading

Backing up my deployments

Recently, I've been writing about my deployment architecture, and a key component to that is making sure that if you have made a mistake that you can at the very least recover your users' data. For example, when deploying a database, it often creates files owned by root. If these…

Continue reading