RSSAmplifier

Blog

cyan.sh

RSS feed ↗26 posts

Latest posts

Lies of Accessibility

Just a feverish musing. Most people are familiar with the idea that good UI/UX makes the user dumber. There was a headline floating around a while ago about engineering students not knowing what a folder was on their PC. I've been thinking about this a bit recently, also because I was helping a friend troubleshoot Nvidia drivers on Linux. Most of the systems people interact with daily are…

Safety Theatre

The Australian government should start a theatre company. Seriously, I'm not sure what else to compare what's going on in this country to. Maybe a dystopian social science fiction novel? But it doesn't necessarily seem like malice is the key driver here. Hanlon's Razor. For those unaware, Australia instituted a social media ban. I don't use social media: I have a YouTube account (which I rarely…

I Can't Bring Myself To Use Godot

For the last few days I've had an idea bouncing around in my head. I've always wanted to mix digital game design and tabletop game design, and now I have an idea for what specifically to do. Essentially, I want a conversation engine in the style of Let's Talk, but with full relationship tracking. I also want complexity around moods and so on. It would be a lot to track on paper, but I think it's…

Nuphy Node75 Review

My new job let me choose between a Windows or Mac laptop. As much as I dislike Apple, I despise Microsoft with all my being, so the Macbook was an obvious winner. However, one problem with using a Macbook is that the keyboards, for me at least, are incredibly uncomfortable to use. Maybe it's because of the short key travel or what-have-you, but keep in mind I spend about 50% of my time on a…

Tutorial: Quick & Easy Parser Combinators

Parsing is a fundamental skill for any programmer. Understanding how text is read by the computer, and better yet knowing how to tell the computer to read text in a robust manner, opens the door to solving problems in completely new ways. There have been many times for me that knowing how to make a parser has had utility. A good example is GQLM , a macro pre-processor step for GraphQL, which…

Response to Human Fear in Emacs

This is a short response to the blog post titled Human fear in Emacs by Andros Fenollosa, as I believe there is a small correction to be made around the legal matter surrounding LLM contributions to Emacs under the current policy. Note that I am not a contributor to Emacs, nor GNU; this is purely my understanding of their position and it may be wrong. The licensing arguments seem legitimate to me,…

New Package: Gomuks.el

For the past few months I've been on and off working on a new package for Emacs, which is my first attempt at a proper major mode "application". It is a wrapper/frontend for Gomuks , which is a Matrix client written in Go. Typically, Gomuks runs a web app client for Matrix, which connects to the Gomuks backend via a websocket. My wrapper, gomuks.el , connects to the websocket and acts as a full…

org-roam Orphans

I use org-roam for taking notes, but I also like to have indexes (just org roam nodes that link their contents) that link everything together. This means that if I want nodes properly linked when I make them, I first have to find the index they belong to insert them into, which really ruins the flow. I would rather go through the graph regularly and clean things up later, but aside from squinting…

Radical Builtins

This is my entry for the June 2026 Emacs Carnival Underappreciated Emacs Builtins . There is a lot of functionality in default vanilla Emacs that is certainly less talked about. I'm going to constrain myself to talking about specific functions that exist, instead of overarching themes like portability. Regional Commands Some commands in Emacs work in the current region/selection. This is useful…

Spring Lisp Game Jam 2026 Retrospective

Since a few months ago, ever since the release of the Raylib egg for Chicken Scheme, I've been working on my own game framework built on Raylib. This framework, Imugi , has come far enough that I wanted to stress test it in a game jam, and I knew the Spring Lisp jam was coming up. I had a few constraints for the actual game, and some other goals than just completing the jam. The game needs to be…

New Job: Jira Integration

I haven't been very active on this blog for the last few months. I've recently started a new job, and part of what I've been doing in my spare time is adding to my Emacs configuration to make some of the daily chores easier (or to remove them entirely). If you know me, you know I'm not a fan of WebUIs, or just mouse-focused GUIs in general. Jira is no exception. Previously, I've had to deal with…

Emacs Weather for Australia

There are a lot of good Emacs weather plugins, but most of the services they use are not as accurate as the BOM in Australia. I've created a small weather forecast tool in Elisp, using request.el and the BOM's HTTP API (unofficial documentation here https://trickypr.github.io/bom-weather-docs/ ). The full module can be found here in my own configuration, though you might want to change the…

Org Babel for TTRPG Automation

I play a lot of solo tabletop RPGs, mostly for worldbuilding and writing purposes because thinking in the shoes of a person in the world helps you pinpoint what is and isn't ultimately important. Typically I use either pen and paper or PUM Companion to play, but I would like to play more complex games (particularly of my own design) and that requires some automation to be ergonomic for solo play.…

Obscure Package (?): tmr

One day in the last few weeks, I had a need to set a couple of timers of different lengths. My phone was out of battery, so I pulled out ol' reliable (typing "5 minute timer" into DuckDuckGo). Just as soon as it had started running, I thought "wow, it seems dumb to open a whole new browser tab for a timer". Then I thought that surely I'm not the first Emacs user to need a timer, and that something…

Controlling Godot with Emacs

Godot already has some support for Emacs with gdscript-mode , but I really dream of being able to control the whole editor from within Emacs directly - never leaving it except maybe for more precise level design. So, that's what I've been working on. Using copious magit-section and a bunch of extremely crappy, poorly formatted Elisp, I'm starting to make my dream a reality. You can see a video…

Make Neotree "Tab-Local"

Not entirely sure if this is already a thing, but here goes. I'm using whaler.el instead of project.el, because it's important to me to be able to treat arbitrary, non-git repositories as projects. I also like that it's minimal and easy to understand. I've also swapped to using neotree instead of treemacs , and generally I'm trying to build a more tab-oriented workflow for myself. It would be…

Consistency

Along the lines of the August Emacs Carnival , I thought I'd get my notes down on why I personally decided to put effort into learning Emacs. Probably unsurprisingly, I didn't start with this editor. My first text editor was Visual Studio (not Code), followed by a sequence (in a now forgotten order) of Notepad++, Visual Studio Code, Kate, and Neovim. I picked up Emacs around my first year of…

Exporting Wikis with Orgmode

One of the major boons I've found of using org-roam since my rework of my note taking environment is that I've been finding more ways to get use out of backlinks. I figured this would actually be a pretty useless feature, and I never spent so much time with it previously, but now that I'm more actively taking notes (and especially noting down random thoughts) I've found it very helpful. Being able…

Architecting a Better Org Workflow

There's a new carnival in town, and I'm joining in. The theme for this month is "Writing Experience", and boy what an experience it is. About 80% of my daily usage of Emacs is writing, but some parts of my workflow are tedious, or worse yet completely unused, and I've had some quality of life stuff that I've been itching to implement for a while. My configuration is not particularly well formatted…

Let's Talk About Let's Talk

I've been deep in a solo TTRPG campaign for the last few days, and I want to give a quick shout out to Let's Talk! I'd heard some buzz around it recently and thought I'd give it a try over SUM s character emulation oracles which I'd been using prior. I've gotta say, so far I'm pretty impressed. The system is quite streamlined and abstract, which I thought would be a detriment, but actually it has…

Mixing Code Styles with org-babel

I've really started making good use of org-babel recently as part of my job, and org-babel-tangle has been particularly invaluable. I never honestly expected to get any use out of org-babel outside of taking lecture notes or working through textbooks. Don't get me wrong, it's a very useful tool - and I want to explain how I'm using it now that I've found a really solid use-case for it. If you're…

Goodbye LanguageTool, Hello Harper

I found out about Harper the other day. Ever since I heard about it, I've been itching to set it up in my config and get rid of the horrible LanguageTool setup I had going. Now that I've got it working, I've gotta say I'm quite impressed. My previous LanguageTool setup was not smooth at all, and definitely not as fast as Harper is. I'm not sure how anyone else is doing spellchecking in Emacs (and…

Plaintext vs Office Suites

Recently, I've been forced back into using Word for the creation of design documents at my job. Ordinarily, I would prefer to do everything I can via plaintext, particularly org-mode as it has fantastic export functionality to the various office suites if required. However, regardless of which tools you find most useful or comfortable, you likely won't always have the opportunity to use them over…

AI Responses to Human Questions

There have been a couple of times in the last few months when I've been asking a question in either a forum or a chat room, and the first (or only) response I get is AI generated. Not even in the sense of a bot replying entirely to the comment, but something to the effect of - I asked ChatGPT and it said … My immediate response to this is to block whoever it was who answered in this way. I…

Making Emacs Dashboard Show Treemacs Workspaces

I don't use projectile, or project.el, or any other project management system in Emacs. Maybe I should, but I "grew up" without having these systems and in my opinion they add complexity onto something that your filesystem (and git) already does fine on its own. So, to that end, I use Treemacs extensively for project management. I generally follow a Workspace -> Project hierarchy. For example,…

Getting Off Github

Now that I finally have a git forge set up, with CI/CD, I finally have the environment I need to get off Github. There were some hiccups, but Forgejo is quite nice, and the only real complaint I have is that ssh authentication only works via IPv6, which I don't always have access to. I've made it as available over IPv4 as I can; this is nothing against Foregjo, it's a consequence of being forced…