Recently

Posted:

I'm taking a page from Tom MacWright's blog and am trying out a "Recently" series, where I summarize a few things on my mind since my last post.

Recently I've been tinkering with Crafted Emacs, a modularized Emacs starter kit. The project strongly invokes one of my favorite things about the Emacs community: taking bits of insight from other configurations and sprinkling them into your own. The modules from the framework are meant to be extended or replaced, so they exemplify good Emacs Lisp style and are filled smart ideas and thorough documentation.

The project is undergoing a major overhaul with its craftedv2RC1 branch but it's ready for general use (just don't forget to clone the right branch). I've been using it for the past few weeks in a professional capacity and have landed on a pretty lightweight configuration (my config). It's been a good excuse to start experimenting with the new Emacs 29 Tree Sitter features, most of which Crafted Emacs configures automatically.

Tree Sitter is actually surprising complicated to set up even with all of the work that's gone into Emacs 29. Grammars are shipped separately from the editor, so you need to install each one from its respective git repository and compile it before you can use it. Emacs provides a few commands to help this process but there's still lots of holes in the experience.

Thanks to Crafted Emacs I learned about treesit-auto, a library that strives to make the Tree Sitter setup completely automatic. I imagine that as Tree Sitter gains greater mindshare and major mode development lots of these issues will be ironed out. Right now it feels a bit bleeding edge.

I discovered Crafted Emacs through the System Crafters community, which by no coincidence is also where I got started with Emacs a year or so ago. Lots of friendly folks working on interesting things over there.

Reading

I just finished up The Wind-up Bird Chronicle and it's been lingering in my mind ever since. I really don't know how to summarize my feelings about Murakami; I've read four of his books so far (novels, short story collections, and his memoir) and yet I can't really say whether I like his work. I suppose here I am reading and thinking about it, so that must mean something.

Murakami's work walks a line of allegory and emotional expression that is surprising given the simplicity of the prose. The style of writing is just so plain that it can't help but be compelling in its emotional density. His references to musical pieces, drinking beer, and reading books reminds me of my dad.

Side projects

Crafted Emacs has been the bulk of my open source contribution lately but I've also been messing around with Fennel, a Lisp that compiles to Lua. The killer feature for me is programming games with Love2D and avoiding Lua altogether, since I don't care much for the language. Bonus points since it's a Lisp and I've been on a Lisp kick for the last two years.

I don't have any big plans for the language other than to make a few games and see what happens. Love2D is far and away my favorite game framework, having worked with some alternatives like Raylib, HaxeFlixel, and Monogame. It's well-documented and robust, yet remains simple and expressive. It also has an extensive amount of community material and libraries that provide just about everything you'd want in a 2D engine. Fortunately Fennel retains the ability to use these libraries since it just compiles down to Lua.

I discovered Fennel via Andrey Listopadov's blog, where he documents some of his past games and some other really insightful posts.


Thanks for reading! Send your comments to [email protected].