RSSAmplifier

Blog

Richard Goulter's Blog

RSS feed for Richard Goulter's blog

rgoulter.comRSS feed ↗10 posts

Latest posts

Review of Elizabeth Boyle's "Tempted by the Night"

I have to write a review of Elizabeth Boyle’s “Tempted by the Night”. I loved reading this book, and I searched reviews online, and saw the other reviews didn’t do a good job of it. I mean, the other reviews just said “it’s a historical romance book with paranormal elements, and it’s okay I suppose”. Pfft. I’m fine with people not liking this book. Tastes vary. But I think it’d be a shame to…

Bridgerton S4 is Really Good

Bridgerton Season 4 is really good! Season 4 is primarily Benedict Bridgerton’s story. He meets a mystery lady at a masquerade ball, falls for her; but it turns out she’s not suitable to marry… Lots of flirting and angst ensues before the happily-ever-after. It’s fun! After watching Season 4, I was so enthralled that I decided to re-read book 5 and was able to binge through Quinn’s cozy writing,…

Org Babel is an Underappreciated Tool

Emacs Org mode’s source code blocks and the complementary org babel are underappreciated tools. Emacs is a highly customisable text editor. Org Mode is a broad set of functionality for org markup files. Functionality ranges from todo list management & note taking, agenda management, to spreadsheets and document exporting/publishing. Org mode’s support for source code allows blocks of source code…

Rewriting smart-keymap's Key Storage Implementation

I recently finished a big rewrite of how the keys were stored in my smart-keymap keyboard firmware. Smart Keymap In case you’ve found this blogpost and aren’t familiar with smart-keymap : smart-keymap is a library for building keyboard firmware by declaring keymaps in Nickel , powered by Rust . A ‘smart keyboard’ is a keyboard with additional bells and whistles, such as alternate key functionality…

Brothers in Arms

I recently played through the “Brothers in Arms” videogame series. I played through the first game, “Brothers in Arms: Road to Hill 30” (which I hadn’t played before), and replayed through its two sequels, “Brothers in Arms: Earned in Blood” and “Brothers in Arms: Hell’s Highway”. If you’ve never come across these before, then the quickest way of describing them is they’re like if “Band of…

Factorio Space Age

I completed a playthrough of Factorio Space Age. Here are my thoughts on it: Factorio Space Age is an expansion-pack for Factorio. Factorio is a game which involves constructing automated systems which mine resources, and move/assemble these resources until ultimately constructing a rocket. Factorio stimulates the same creativity that programming or other engineering involves. It’s an enthralling…

Example of How Rust Can be Confusing, Iteration and Refs

I recently tripped up over this when writing Rust: Consider this example, which features a few different ways of iterating over arrays/vectors in Rust: fn main() { let a : [ u8 ; 3 ] = [ 3 , 7 , 5 ] ; let v : Vec < u8 > = vec! [ 3 , 7 , 5 ] ; for & x in & a { println! ( "{}" , x) ; } for & x in a . iter() { println! ( "{}" , x) ; } for x in a { println! ( "{}" , x) ; } for & x in & v { println! (…

Announcing a new Smart Keymap Library

For the last few months, I’ve been working on a new “smart keymap” library. The code is published over at: https://github.com/rgoulter/smart-keymap . This post is to introduce this, go over what it is, and why I’ve found it exciting to work on. “Smart Keymap” By “smart keymap”, I mean the keymap behaviour for “smart keyboards”. And by “smart keyboards”, I mean keyboards like those which run QMK or…

Debugging Kirei with UART

Kirei is nascent keyboard firmware, which at the time of writing supports CH58x and RP2040 microcontrollers. It uses the same declarative approach to keyboards/keymaps that fak uses; albeit, Kirei’s one step further around the configuration complexity clock as it embeds a DSL into Nickel . CH58x (and CH592) are MCUs which are both cheap and provide BLE (Bluetooth) functionality. For keyboard…

Indicating Success on QMK Keyboards

In the previous post, I discussed ways of using QMK leader key sequences in QMK keymaps . One of the downsides with this is that QMK leader key sequences are handled only after a timeout (i.e. enter the key sequence, then wait a moment). One way of improving the UX of this is having the keyboard provide some feedback when a leader sequence is activated. The QMK docs page for the Leader key…