Enterprise Ray Tracing
2024-07-15 05:20:00
I thought it would be fun to use the ray tracer example again to show how the patterns from the Birrell paper can be applied to an enterprise setting. That way I can extend the ideas from part one and part two using containers, Kubernetes and Kafka.
Embarrassingly Parallel
2024-05-05 10:30:00
This is part 2 of a series based on thread design patterns. Part 1 covers thread features that are available in most libraries and some thread patterns at a high level. This part will cover Thread Pools and the Boss Worker patterns using a Ray Tracer as an example.
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.
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.
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:
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.
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.
Post about Lisp and music
- 2007-10-04 20:41:49 Lilypond and cl-musicman
- 2007-10-01 17:56:41 Sight Reading
- 2007-01-12 18:19:08 Ludo
- 2006-12-11 13:39:35 Scale Diagrams
- 2006-07-21 19:34:33 Chords cl-musicman
- 2006-07-17 13:18:20 fretboard game (cl-musicman)
- 2006-03-06 17:23:00 cl-musicman top level
- 2006-03-01 06:42:00 Lisp Chord Progressions
- 2006-02-24 16:49:00 Adding Chords to cl-musicman
- 2006-02-22 13:18:00 Lisp Music Scales, Chords and Progressions