Sign in

Michael Kohl

@citizen428.net
136 followers 187 following 315 posts

Your friendly neighborhood anarcho-cynicalist. I do things with computers and occasionally succeed. 🇦🇹 in 🇹🇭 since 2013. Fan of 1990s pop culture. I delete old posts. I'm more active on Mastodon: chaos.social/@citizen428

PostsRepliesMedia
Michael Kohl @citizen428.net · 30/09/2026
If these things are making all developers obsolete ReallySoon™, wouldn't that time be better spent on books about product development, marketing, or even *gasp* programming? Because surely the next generation won't need you to contort yourself like in a deranged game of Twister. Pinky promise.
000
Michael Kohl @citizen428.net · 29/09/2026
Emacs: Obsidian without external packages citizen428.net/blog/emacs-simple-ob… #Emacs
citizen428.net
Emacs: Obsidian without external packages - citizen428.net
In my current config, I’m trying to reduce the number of external packages I rely on. Emacs has improved a lot over the years and also added several community packages into the core distribution. Recently, I decided to remove the obsidian.el package and see how far I can get with vanilla Emacs and packages I already have installed anyway. #Why no longer obsidian.el? I used obsidian.el for quite a while. Unfortunately, it hasn’t seen a commit since February 2025 and I started having some issues with it. Maybe they were related to my specific config, but it doesn’t even matter. I realized that the package has way more features than I care about 1 and started wondering if I could get a good enough (for me) Obsidian experience with whatever Emacs offers out of the box. I’ve been using this for a bit now and it’s absolutely sufficient for my needs.
010
Michael Kohl @citizen428.net · 28/09/2026
What happened to the Snowden archive libroot.org/posts/what-happened-to-…
000
Michael Kohl @citizen428.net · 28/09/2026
I'm not sure why I'm surprised by this. Surely I must have known this before and forgotten.
000
Michael Kohl @citizen428.net · 28/09/2026
TIL that GNU `ls` has a `--dired` flag to make it easier for Emacs to find the filenames in a dired buffer. www.gnu.org/software/coreutils/manu…
gnu.org
What information is listed (GNU Coreutils 9.12)
What information is listed (GNU Coreutils 9.12)
100
Michael Kohl @citizen428.net · 22/09/2026
In #Emacs 31 `delete-trailing-whitespace-mode` was added. It calls `delete-trailing-whitespace` on save, so you no longer need to hack this together yourself.
000
Michael Kohl @citizen428.net · 14/09/2026
Quick tip: #Emacs 31 added a new setting `elisp-fontify-semantically`, which configures "[w]hether to highlight symbols according to their semantic meaning." YMMV, but I think it's an improvement.
011
Michael Kohl @citizen428.net · 12/09/2026
One of #Emacs greatest strengths is its built-in documentation system. The helpful package ( github.com/Wilfred/helpful ) makes it even better. Unless you really like `view-hello-file`, I think `C-h h` is a great binding for `helpful-at-point`.
github.com
GitHub - Wilfred/helpful: A better Emacs *help* buffer
A better Emacs *help* buffer. Contribute to Wilfred/helpful development by creating an account on GitHub.
011
Michael Kohl @citizen428.net · 10/09/2026
Remember the subprime mortgage crisis? At least it was caused by human greed. We won’t even get a fun movie afterwards, who wants to see “The Bot of Wall Street”? www.cnbc.com/2026/09/10/openai-chat…
000
Michael Kohl @citizen428.net · 10/09/2026
I can get behind that sentiment. A lot of FOSS projects are either stuck in a type of old-school neckbeard culture that feels, at best, anachronistic in 2026, or are so averse to any form of "marketing" that they couldn't raise 10 bucks to pay for their domains.
010
Michael Kohl @citizen428.net · 10/09/2026
Sorry if I sound unreasonably angry about this. I've been a desktop Linux user since 1999 or so. I was a package maintainer for a distribution for a couple of years. Where was all that money for the past 20 years or 30 years? Why did it take the word "agentic" and a tech bro to get this support?
130
Michael Kohl @citizen428.net · 10/09/2026
Any of the ones who have been doing this for decades and built the actual technical foundations this vibe-coded collection of themes, dotfiles, and shell scripts sits on top of.
100
Michael Kohl @citizen428.net · 10/09/2026
RE: chaos.social/@citizen428/1172474857… Sharing this on my timeline too because that's how upset I am.
chaos.social
Michael Kohl 🇦🇹🇹🇭 (@citizen428@chaos.social)
What frustrates me most about all the money going to Omarchy right now is that there are way more established organizations that deserve it so much more. Take DO as an example. I know they have done a good job providing infra to some FOSS projects, but have they handed anyone else $3m in actual money? Also: "beautiful, fun & agentic OS"? I think you misspelled "vibe-coded eye candy and dotfiles on top of Arch". https://omarchy.org/news/2026/09/digitalocean-joins-as-founding-corporate-patron/
110
Michael Kohl @citizen428.net · 06/09/2026
In my current #emacs config, I try to reduce the number of external packages. #emacs31 added a new option called `mode-line-collapse-minor-modes`. It's good enough for my needs, goodbye `diminish`, you served me well.
010
Michael Kohl @citizen428.net · 05/09/2026
Very short #emacs tip for today: sometimes I miss Clojure's `->` and `->>` macros. I somehow missed that they actually exist as `thread-first` and `thread-last`.
010
Michael Kohl @citizen428.net · 05/09/2026
RISC-V interpreter from the future abundance.build/blog/2026-08-31-ris…
abundance.build
RISC-V interpreter from the future
High-performance RISC-V interpreter with a lot of compelling features using nightly Rust
000
Michael Kohl @citizen428.net · 05/09/2026
I share this sentiment to a certain degree. I have written a fair bit of Rust and will continue to do so where it fits. But it does not spark joy.
000
Michael Kohl @citizen428.net · 05/09/2026
Related: e17i.github.io/articles-emacs-eshell
000
Michael Kohl @citizen428.net · 04/09/2026
#emacs discovery of the day: Emacs can actually edit files outside its own configuration directory. I used this incredible feature to get actual work done. If only I had known sooner 😂
030
Michael Kohl @citizen428.net · 04/09/2026
Hm, I never noticed the --numstat flag in git diff before. It shows you the lines added and removed for every file in the diff. #git
git diff --numstat showing the output for a list of files:

220     264     src/path/omitted1
240     316     src/path/omitted2
128     161     src/path/omitted3
132     157     src/path/omitted4
1       1       src/path/omitted5
000
Michael Kohl @citizen428.net · 03/09/2026
3. If necessary, throw in a highlight-phrase so all previous AND future matches of a certain regex get a colored background. And yes, you can have several of those in different colors.
010
Michael Kohl @citizen428.net · 03/09/2026
Still looking at log files with tail -f? There's a better way to do this in #emacs : 1. Open the log file. 2. Make sure auto-revert-mode is enabled.
A screenshot of an Emacs frame. The user color theme is modus-operandi-tinted. There's a vertical split. The left window contains a ghostel buffer adding log entries to a dummy log file, the right window shows the buffer with some warn and error highlighted with the highlight-phrase function.
220
Michael Kohl @citizen428.net · 02/09/2026
Emacs 31.1 made this a lot easier by adding a variable called quit-window-kill-buffer: www.gnu.org/software/emacs/manual/h… #emacs
gnu.org
Quitting Windows (GNU Emacs Lisp Reference Manual)
Quitting Windows (GNU Emacs Lisp Reference Manual)
000
Michael Kohl @citizen428.net · 02/09/2026
TIL that if you mark some files in a dired buffer, magit-dired-log will show you the commits that touched the marked files: "In Dired, show log for all marked files or the directory if none are marked." #emacs
020
Michael Kohl @citizen428.net · 02/09/2026
A thread of tips, tricks, and TILs for #emacs . 🧵
810
Michael Kohl @citizen428.net · 01/09/2026
That's crazy to me. I have meticulously exported and reimported my IMAP mailboxes every time I switched provider, and keep local copies in a Maildir that goes back all the way to 2002. Not only does this allow me to use powerful tools like mu, but I'm also not at the mercy of $TECH_COMPANY.
011
Michael Kohl @citizen428.net · 31/08/2026
"My advice to you would be that you do not ever try to run a campaign on Meta ads. For your own safety and ours. I do not know that you could get through this process without radicalizing to a point of causing newsworthy international violence." It's heartwarming how well they know me.
000
Michael Kohl @citizen428.net · 31/08/2026
Executable Emoji martypc.blogspot.com/2026/08/execut…
martypc.blogspot.com
Executable Emoji
Warning: This page contains hundreds of emoji. If you're using a screen reader, be sure it doesn't read them all out loud. A whole bunch o...
000
Michael Kohl @citizen428.net · 31/08/2026
In a time where pretty much all software around us gets progressively enshittified, there’s this 50 year old Lisp interpreter masquerading as an editor that you can make truly and uniquely yours. #emacs
041
Michael Kohl @citizen428.net · 30/08/2026
Writing Ruby Extensions in Odin citizen428.net/blog/writing-ruby-ex… #ruby #odin
citizen428.net
Writing Ruby Extensions in Odin - citizen428.net
Over 15 years ago, I published this short post about how to write a very basic Ruby extension in C. A few weeks ago I got curious what the same extension would look like in Odin, a language I very much enjoy. I just realized that I never published the draft I started back then, so let’s fix that. #Wrapping ruby.h Odin makes it very easy to bind to C. You could do everything in one file, but I decided to split it up and put the wrapper in ext/person/ruby.odin.
000
Michael Kohl @citizen428.net · 29/08/2026
Did you know that you don't need to start #emacs in daemon mode before being able to use emacsclient? That's what the -a / --alternate-editor option or the ALTERNATE_EDITOR environment variable are for. If set to the empty string, the client will start Emacs in daemon mode and then connect to it.
011
Michael Kohl @citizen428.net · 29/08/2026
I don't really give a shit about any of that, but if you're being called out as untrustworthy by Sam Altman of all people, you've hit a new low. openai.com/index/our-decision-on-cu…
000
Michael Kohl @citizen428.net · 27/08/2026
mu4e, how I missed you <3 #emacs
010
Michael Kohl @citizen428.net · 27/08/2026
"Your executable is a SQLite database" fzakaria.com/2026/08/23/your-execut…
fzakaria.com
Your executable is a SQLite database
I have been probably obsessed with two things in the last few years: Nix as a tool to explore innovative ideas that require the capability to rebuild the world and replacing ELF with SQLite as an executable format. You might have noticed that these two ideas are well suited to each other.
000
Michael Kohl @citizen428.net · 27/08/2026
Huh, Firefox now runs on Haiku. Time to upgrade my VM and play around with this for a bit. www.haiku-os.org/get-haiku/r1beta6/…
000
Michael Kohl @citizen428.net · 26/08/2026
So Space Karen's Site of Doom sent cease-and-desist letters to Nitter, xcancel, and others. I hope whoever is responsible for this steps on a Lego and spills their drink.
000
Michael Kohl @citizen428.net · 25/08/2026
I guess Prodigy and Lower Treks remain the only good “Nu Trek” for me, none of the live action ones did it for me.
000
Michael Kohl @citizen428.net · 24/08/2026
So as long as you can guess an email address (I've guessed two not belonging to my client so far), you can log in and see those other accounts' test requests. Some of those contain actual data of those clients' users. Responsible disclosure done, but seriously, WTF? Did they vibecode this?
020
Michael Kohl @citizen428.net · 23/08/2026
Our #dog loves traveling. He’s been on many road trips with us. Yesterday we re-arranged the bedroom a bit and his bed moved by about 2.5 meters. He looked at us like we moved him to another country. It took quite a bit of convincing until he finally believed us that it’s still the same bed. 🐕
010
Michael Kohl @citizen428.net · 22/08/2026
Anyway, nice to see how far it's come. So many things are usable out of the box now. My `init.el` is less than 70 lines (cosmetics and bindings, some packages), but thanks to project.el, eglot, and completion-preview, you have an IMO pretty decent coding experience right away.
000
Michael Kohl @citizen428.net · 22/08/2026
Couldn't resist letting myself get nerd-sniped back into #emacs . I never fully left anyway. This time around I'm determined NOT to try to fit my entire computing life into it and (mostly) just use it as an editor.
100
Michael Kohl @citizen428.net · 22/08/2026
Whether it's a couple of lines in a few files or a massive change across the entire codebase, it's all the same to them: tokens in, tokens out.
000
Michael Kohl @citizen428.net · 22/08/2026
My current theory is that feeling pain/annoyance is an integral part of the software engineering process.
100
Michael Kohl @citizen428.net · 22/08/2026
RE: kafeneio.social/@baskin/11713539244… Be like Carl!
kafeneio.social
baskin :kafeneio:🇵🇸 (@baskin@kafeneio.social)
Attached: 1 image Real hacker. 77-year-old Carl Gunn legally blocks a Flock license plate camera in St. Petersburg, Florida, by sitting on a public sidewalk and holding a 12-foot pool skimmer pole with a “DOWN WITH FLOCK CAMERAS” sign. Because he remains on public property and never touches the equipment, police confirmed his protest is lawful. #flock
000
Reposted by Michael Kohl
weeder @weeder.bsky.social · 20/08/2026
Cover art for doom, doom guy slayin demons in hell. Title says DOOMOLINGO in severe sharp mirrored symmetry doom font
291603244
Michael Kohl @citizen428.net · 19/08/2026
Palomar – a registry of Lean verified mathematics terrytao.wordpress.com/2026/08/18/p… #math #LeanLang
terrytao.wordpress.com
Palomar – a registry of Lean verified mathematics
In recent months there has been a proliferation of AI-generated proofs of various old and new results, some of which have been formalized in the proof assistant language Lean. However, checking tha…
010
Michael Kohl @citizen428.net · 19/08/2026
Going to RubyConf Africa? Enjoy!
100
Michael Kohl @citizen428.net · 18/08/2026
So GitHub is collapsing under the amount of slop it receives? The service that tries to push Copilot at every chance it gets. Run by the company whose code editor is all-in on slop-slinging now. As you sow slop, so you shall reap slop.
001
Michael Kohl @citizen428.net · 17/08/2026
If anyone is gonna appreciate Common Lisp on #amiga it’s you weirdos in my Mastodon bubble. 😘 nnamgreb.de/blog/Clamiga+-+Common+L…
000
Michael Kohl @citizen428.net · 17/08/2026
Every high performing engineering team I ever was a part of celebrated the PRs with more lines removed than added.
110