Recent Blog Posts

How to apply Hilltop's Boku no Natsuyasumi 2 English patch on Linux

November 08, 2023

Haven't blogged in awhile, so here’s a quickie. Last week, Hilltop released an English patch for Boku no Natsuyasumi 2, which finally makes the Japan exclusive PS2 game accessible to us English speaking folks. The README explains how to apply the patch on Windows or via a web utility. Having never patched an ISO before, I wondered how it could be done using a native Linux utility instead. Turns out it's easy to do via the xdelta tool.

read more ➔

Spring Lisp Game Jam 2023 Summary

June 05, 2023

Super Bloom gameplay GIF

read more ➔

Chickadee 0.10.0 released

May 24, 2023

I'm happy to announce that Chickadee 0.10.0 has been released!

read more ➔

Guile-syntax-highlight 0.2.0 released

December 11, 2022

I'm happy to announce that Guile-syntax-highlight 0.2.0 has been released! This is a pretty slow moving project but the last (and only) release was in 2018 so this release is long overdue.

read more ➔

Installing Guix on a 10th gen Thinkpad X1

December 05, 2022

The last time I bought a laptop, I got a used Thinkpad X220 from eBay. I loved that laptop, but time marches on and old hardware eventually becomes too slow for modern development needs. After a lot of indecision, I bought a 10th generation Thinkpad X1 with an Intel Core i7-1280P CPU, 32GB RAM, and 1TB NVMe SSD. While they don’t make Thinkpads like they used to, I’m still really happy with it and glad I chose it. Despite the keyboard changes, the TrackPoint™ is still there and I don’t think I could feel good using a laptop without it. Below I will explain all the steps I took to get the Guix distribution setup nicely on it. Maybe it can help you setup your own Thinkpad X1 or some other computer that requires more than what Guix provides for all of the hardware to work.

read more ➔

Guile-Websocket 0.1 released

November 12, 2022

I'm happy to announce that Guile-Websocket 0.1 has been released!

read more ➔

Catbird: An experimental game engine for Scheme programmers

October 25, 2022

I've been participating in the Lisp Game Jam for several years now, and the next one is starting on 10/28, and with each attempt I've been accumulating code that forms something resembling a game engine. I'm now attempting to solidify some of the concepts I've been exploring in order to make a game engine worthy of releasing in case someone else wanted to use it, too. I've named this engine Catbird, continuing the bird theme established by my game programming library, Chickadee, which the engine is built on.

read more ➔

Chickadee 0.9.0 released

October 25, 2022

I'm happy to announce that Chickadee 0.9.0 has been released!

read more ➔

Guile-SDL2 0.8.0 released

October 23, 2022

I'm happy to announce that Guile-SDL2 0.8.0 has been released! Guile-SDL2 provides Guile Scheme bindings for the SDL2 C shared library. The bindings are written in pure Scheme using Guile's foreign function interface.

read more ➔

Issues with object-oriented programming in Guile

October 05, 2022

Scheme is often thought of as a functional programming language, but really it is a multi-paradigm language, including object-oriented programming. My Scheme of choice for the past decade has been Guile. It comes with support for OOP via GOOPS: The Guile Object Oriented Programming System. It's a silly name. GOOPS is modeled after the almighty Common Lisp Object System or CLOS for short. Overall, it does a good job of adapting the concepts of CLOS in a Schemey way. However, most Scheme programmers never use OOP, and I think that has left GOOPS a little rough around the edges. By mimicking CLOS a bit more, I think GOOPS could make someone used to the excellence of CLOS feel a little more at home in Schemeland. Also I want these features to make my code more elegant and less prone to bugs due to hacky workarounds.

read more ➔
Older 🡒