An Introduction to Programming with Threads

2024-04-13 20:00:00

I didn't feel comfortable programming with threads until I read "An Introduction to Programming with Threads" by Andrew D. Birrell. The patterns from the paper have stuck with me and I often use them to think about system design at work. Usually, when I talk about these things, no one at work knows what I'm talking about. For that reason, I've been thinking about doing a series of posts covering the patterns, and how they extend to current threading libraries and modern distributed environments.

full post


Static Site Generator

2021-08-10 20:00:00

Overview

I wanted a static website generator that could maintain the data using markdown, have the entries merge with a template and then upload them to one of the super cheap static http servers. I looked around at a few different options and just didn't really like anything. It felt silly downloading a ton of node packages for a process that I used to run in one shell loop piping the files to the original markdown perl script. I like to program though and I thought it would be good practice to write the whole thing as a single C program.

full post


Ice Maze Solver

2020-05-09 12:02:00

Spoiler Alert

If you would like to try solving this puzzle before reading about how I'm doing it head over to codewars and search for ASCII Games: Warning: Ice!.

Puzzle Details

This type of puzzle comes from games like Pokemon Gold. Here is a nice map key created by Daniel Chaviers:

Ice Map Key

The CodeWars version gives you an ascii map made up of five tile types: start, end, rock, ice and snow. The goal is to return the shortest distance from the start to the end by returning a list of the directions taken: l for left, r for right, d for down and u for up. The trick here, that is different from other path finding puzzles, is ice. Once you are on an ice tile you continue to slide in that direction until hitting a wall, rock or snow.

full post


Programming Practice

2020-05-07 19:04:00

Improving

How do you become better at programming? I first read the idea of learning programming, say like you would learn to play the piano, back in the heyday of blogging platforms. The post was about a book Etudes for Programmers. At the time, used copies of the book were selling for a price outside my budget, but I was able to get it through an interlibrary loan. The idea of the book is similar to Etudes for piano, once you're past the beginner lessons you need a longer piece to really sink your teeth in.

full post


Post about Lisp and music

Post about screensavers