Linkblog/2025/02/13
CLI tools, Linux `ip`, Data in Unicode, Reasoning just LLMs, DOGE & Red Tape, `bun init react`, Dark Thicket, YouTube Shorts AI Slop, Odin SDL3 Red Triangle, Zed local predictions, Don't Be Frupid.
Joel Auterson - My favourite command-line tools
A friend got a MacBook recently and was asking for recommendations. I found myself wishing I had a list of all my default-installed command-line tools, so that’s what this is.
Some good recommendations here, the ones mentioned that I am a fan of have to be:
tmux: Terminal Multiplexer.
Have one terminal emulator pane but want many terminals? GNU Screen not enough? tmux!
Whenever I enter a project directory in Ghostty (usually via z), I immediately do tmux
so I can invoke npm run dev
/ mix -S phx.server
/ etc., and have another pane or window to do other things.
I leave mine unconfigured, it comes out of the box green and beautiful.
bat: A cat(1) clone with wings.
Its cat
, but line endings, syntax highlighting, git diff displaying.
Very nice for quicky looking at a .yml
/ .ts
/ etc. file in the terminal.
jq: sed for JSON data.
I don’t use jq
very often, but when I do need to write some scripts working with JSON, it is truly the swiss army knife.
Joel talks about Neovim near the end of his article:
This is another one that ought to be its own post, really, and I don’t want to start a holy war in here, so I will simply say that Neovim is my single favourite piece of software that I use.
Maybe one day I will give Neovim a proper go, but honestly, while I consider myself a terminal enjoyer, VSCode (and its many growing forks) just sparks enough joy I don’t have the bother to learn something else.
pjg1.site - How does a Linux machine connect to the internet, really?
[…] I disabled NetworkManager and systemd-resolved (both running as systemd services) and set the network interface to down:
# systemctl stop NetworkManager # systemctl disable NetworkManager Removed "/etc/systemd/system/network-online.target.wants/NetworkManager-wait-> online.service". Removed "/etc/systemd/system/multi-user.target.wants/NetworkManager.service". Removed "/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service". # systemctl stop systemd-resolved # systemctl disable systemd-resolved # ip link set dev wlp3s0 down
With this, the machine is no longer connected to the internet.
Under these conditions, Piya, goes through the process of using ip to wire up the system back to the internet, command by command.
Paul Butler - Smuggling arbitrary data through an emoji
With ZWJ (Zero Width Joiner) sequences you could in theory encode an unlimited amount of data in a single emoji.
Is it really possible to encode arbitrary data in a single emoji?
tl;dr: yes, although I found an approach without ZWJ. In fact, you can encode data in any unicode character.
An incredible abuse of unicode.
antirez - Reasoning models are just LLMs
At work today I asked o3-mini
what model it was, thinking it would know it was o3-mini
, it didn’t, because as a coworker reminded me, it is just distilled / differently handled 4o
/ 4
/ secret-openai-sauce
.
antirez discusses the s1 paper in this article, which I’ve read about over on Xe’s site as well, which is a simple method to just force a regular GPT model to keep generating tokens even after it decides to throw in its end of the line special token.
This is basically the entire s1 approach:
WHILE reasoningEffort > 0
Decrease reasoningEffort
IF reasoningEffort != 1
Clear stop tokens from buffer
Append "Wait" to buffer
response = GenerateResponse(
model = 'model-of-choice',
prompt = buffer,
)
Append response to buffer
END WHILE
Its so silly, but it works!
Marina Nitze - I Tried To Fix Government Tech for Years. I’m Fed Up.
I think the current state of the states, under the “watchful” eye of President Musk, it not great.
However, this article is a good read from a differing opinion of someone who worked at the USDS (the government entity DOGE consumed to skip the paperwork of setting up a brand new department), and the amount of red tape they ran into trying to improve efficiency even in a small subset of the government.
Red tape sucks, I think there should be bodies in government that have the power to acknowledge when bureaucratic gridlock is occurring, with some oversight and control to make stuff happen when needed.
But I think DOGE’s “mandate” far surpass the above.
Meh I don’t think I want this linkblog to be political, all this is just such a big thing currently, I feel like I can’t not have something to say about it here, the same feed reader I consume technical content on is telling me all about the erratic country to my south.
I like when governments are boring and I can focus on computers.
Also, trans rights are human rights, trans people are real and exist, fuck trans erasure.
Like, what the fuck?.
Anyways back to your regular scheduled technical linkblog content!
Jarred Sumner - In the next version of Bun, bun init
gets a new “React” option
Bun continues to approach Vite’s territory, day by day…
oldmanofthefire - Dark Thicket
Unreleased game, that is extremely pretty very minimal graphics!
From screenshots it looked like concept art, but its beautiful concept art that moves!
YouTube is going to let you put AI-generated video clips in Shorts
I first thought this was making clips from existing videos, which I could see being handy taking existing content and making it work better for shorts.
Like, if you had a longer form landscape video, feeding that to some system to spit out a vertical video shorts clip with catchy jumps and subtitles, while I still think editing is something that is better executed with human creativity, I could see this having some merit.
However, its not that at all!
To access clip generation, Dream Screen users need to open the Shorts camera, open the media picker, and tap the “Create” option at the top. You can then enter a text prompt describing what you want to generate and select your desired style, lens, cinematic effect, and video length.
So it is just prompt, to video, to post-able short.
Cringe!
nadako - Odin SDL3 GPU Tutorial: Part 1 - Basic Setup, A Red Triangle
Odin and SDL3 in the same project, very cool, very nice.
The SDL3 GPU API is very neat, the idea that SDL is involved in basically everything, not just here are the window, some inputs, but you bring a graphics API, is extremely interesting.
I’m pretty close to being able to run the part 2 demo on my machine, the only thing blocking me is that the author has chosen to compile the shaders to SPIR-V, which is extremly sensible, since they’re on Windows, an environment Vulkan functions, as well as Linux, but I’m currently using Mac.
The solution here that would be the most SDL-native, seems to be SDL_shadercross, I’m currently trying to get this to build, but since it relies on SPIRV-Cross, I’m currently getting this during cmake .
in SDL_shadercross:
CMake Error at CMakeLists.txt:136 (find_package):
By not providing "Findspirv_cross_c_shared.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by [...]
-- Configuring incomplete, errors occurred!
However I currently have Natalie over, she will has saved me from my CMake perils I’m sure.
I wrote the above line before almost uploading this linkblog, I was authoring the description to this post (the last step usually, since I include a brief mention of each link in it), when Natalie asked me (she was doing math homework while I was cooking most of this) about my GPU woes.
After some messing around with CMake (installing the CMake GUI to have a better time seeing what variables the CMakeList wanted to configure), downloading the entire Vulkan SDK for MacOS, figuring out the right paths the GPU_Shadercross library wanted, using the shadercross
binary to spit out msl
(Metal) shaders from the existing SPIRV shaders in the example, changing over the main.odin
file to use the right directives for MSL, BOOM!:
Natalie the goat, thank you.
Also Natalie quite liked the SDL3 GPU API, which sparks joy, I always assumed it was good but having someone like her confirm it (she is Vulkan-pilled) is good.
The authors post on Bluesky informed me of this video, go hook him a follow!
Zed now predicts your next edit with Zeta, our new open model
Zed seems to be taking notes from Cursor, nice to see!
I’ve used Zed for its multiplayer functionality, which works surprisingly well, I do think its lagging behind in AI functionality, but this is a step in the right direction.
Selena Anderson - Don’t Be Frupid
Frugality is a virtue. The art of doing more with less, making sharp trade-offs, and keeping waste at bay so the good stuff – innovation, growth, maybe even a little joy – has room to thrive. Any engineer worth their salt knows the power of an elegant, efficient solution. A few well-placed optimizations can turn a sluggish system into a rocket.
But frugality has a dark twin – a reckless, shortsighted impostor that mistakes cost-cutting for efficiency and penny-pinching for wisdom. Enter frupidity, or stupid frugality – the obsessive drive to save money in ways that ultimately cost far more in lost productivity, morale, and sanity. It’s the engineering equivalent of “optimizing” a car by removing the brakes to improve gas mileage.
This article came up in discussion about work computers, and if you always need to get something beefy or if something okay would get the job done.
My current job spares no expense, and honestly, it sparks joy to be given a sleek workhorse to use for tasks.
The Apple tax is expensive, but oh boy should you pay it.
Thanks to Ethan for linking this article.