I finally ported my browser-based Steam game to Linux. It was mostly straight-forward.
I ported a web game to Steam, but it only works on Windows. Can I get it to run on Linux?
I managed to implement a multiplayer browser-based game in Common Lisp!
Might as well try and make a game in Common Lisp, right?
Here are the resources I've personally found most helpful for learning Common Lisp.
I'm traveling back in time to explore an ancient development workflow that is somehow more modern than today's workflows.
Incremental rebuilds with GNU Make use separate processes for each task. So how does startup time compare between Node, Deno, Bun, and Leano?
I made a rookie mistake while trying to optimize my workflow for building this site.
My minimal development environment was too minimal, so I upgraded to a faster computer.
Using GNU Make to enable incremental builds of this site.
This is a retrospective on my first game I've released on Steam, along with some thoughts about the future.
md2blog is fast on my desktop, but slow on my Raspberry Pi. Here are my plans to improve rebuild performance.
Finally! I've landed on my set of future-proof languages.
I developed an actual piece of software using my minimal development environment. Here's how it went.
Some practical research into a minimal development environment.
More research on future-proof programming languages.
What would a minimal development environment look like? How small could it be?
SIC-1 is a single-instruction (subleq) programming game that can be played via Steam or the browser.
I ported a browser-based game to Steam using WebView2. This is an overview of what I learned in the process.
I'm continuing my research on porting a browser-based game to Steam. My plan is to directly use WebView2 on Windows.
Can Zig save me from downloading multi-gigabyte SDKs just to build Windows programs?
I'm researching options for porting a browser-based game to Steam.
A memory, for my own reference.
An unsuccessful (but less unsuccessful than last time) attempt to generate ragtime music.
Let's see if I can use Google Brain's Music Transformer to generate ragtime music.
I'm following a freely available MIT coure: Introduction to Machine Learning.
For personal enrichment, I'm playing around with machine learning.
Next on my list of programming languages to investigate is Python.
In my quest to find a future-proof programming language, I'm investigating C#.
My projects are currently on hold while I suffer from programming language analysis paralysis.
This is my initial research into converting a web app to a desktop app.
Rust is popular and I'm interested in its memory safety features and build system. Here's my first experience with Rust.
md2blog (the zero-config static site generator powering this site) has officially been released.
I made the switch from Node to Deno recently. Here are the problems with Deno I've encountered.
I made the switch from Node to Deno recently. Here's what I've liked after a month of using Deno.
I hadn't even released anything yet and I've already rewritten md2blog. Here's why.
Node made programming fun for me again, but security concerns might drive me away.
Here's a rant about that time I tried to install NPM on Debian.
Here's how to load VS Code's Monaco Editor from a CDN and embed it in a static web page, with automatic resizing.
Here's the design of my in-progress static site generator, md2blog.
I'm using Metalsmith to generate this site and, while I generally like it, it's not perfect. Here are some of Metalsmith's downsides.
Metalsmith is used to build this static site. Here's how Graphviz was integrated to automatically generate diagrams.
In order to automatically generate diagrams for my site that's built with Node, I compiled Graphviz to WebAssembly. Here's my experience.
In order to reuse C libraries in WebAssembly, here is how object files, libraries, and linking work with Clang and LLVM.
Here's an example of passing strings to and from a WebAssembly module that is written in C and compiled with Clang and LLVM.
I'm using Metalsmith to build my static site. Here's how I integrated syntax highlighting using highlight.js.
Is it possible to import a CommonJS module from within an ES module? Only in Node.
In the interest of compiling C code to WebAssembly, here's an example of using the C standard library.
This is a complete example of building and running a trivial WebAssembly module.
WebAssembly makes web browsers a compilation target for languages like C. Here's a brief overview of WebAssembly.
I'd like to use Mermaid to generate SVG diagrams for my static site at build time. Here's my attempt at integrating Mermaid.
Hosting services for hobby projects shouldn't be expensive. Here's how I ended up with free hosting.
How should images be attached to Markdown posts? Let's see how embedding them directly works.
I'm testing out static site generators for my new dev blog. Here's my experience fully integrating Metalsmith.
Not sure which drive in your computer is the fastest? Here's how to benchmark drives on Windows.
Here's my experience integrating Eleventy (a static site generator) into my dev blog.
I'm testing out static site generators for my new dev blog. Here's my first experience with Zola.
I'm testing out static site generators for my new dev blog. Here's my first experience with Eleventy.
I'm testing out static site generators for my new dev blog. Here's my first experience with Hugo.
There are hundreds of static site generators available today for creating a blog. Here I compare some of the most popular SSGs.
Tales of static site generators in the pre-Markdown age.
A static site generator is essential for hosting a fast and free dev blog. Here's my theoretical ideal setup.