Systemd Crash Course

I originally wrote this for a friend that was switching their homeserver over from Windows to Linux and needed help keeping a Minecraft server alive. I hope it can help others!

Systemd is the Linux init system. It includes a bunch of rules on services/devices/other resources that the system needs to run in order to function. It also includes complex dependency management so that you can set up services to only start when pre-requisites are done.

[Read More]
Tags: linux tutorial 

OCaml Effects

I’ve been interested in algebraic effects in programming languages for a while, but they’ve been theoretical-only for a while. That’s soon to change though!

OCaml early on adopted algebraic effects and handlers as a way to implement concurrency, something that had been lacking in the language until now. But changing the langugage’s memory model, runtime, garbage collector, etc. proved to be a long task.

OCaml 5.0 is on the horizon at last and includes an implementation of algebraic effects. Unfortunately, I couldn’t find any good tutorials on the version of effect handlers in 5.0. I found a really good tutorial from 5 years ago that was based on a proposed version of OCaml effects, but nothing modern.

[Read More]

Terminal Setup

A lot of people at work have been asking me how I set up my terminal, so I wrote this up to send to them. Hope you enjoy!

Install ZSH

The shell I use is zsh. To install it, follow these instructions

Install oh-my-zsh

oh-my-zsh is a plugin/theming library thingie for zsh.

Follow these instructions to install

Make sure to take a look at the plugins and enable any that might be useful for you. I’m a big fan of colored-man-pages. Man pages become way easier to read when they have different colors, not just black and white.

[Read More]