news
Programming Leftovers
-
Sean Goedecke ☛ How good engineers write bad code at big companies
Every couple of years somebody notices that large tech companies sometimes produce surprisingly sloppy code. If you haven’t worked at a big company, it might be hard to understand how this happens. Big tech companies pay well enough to attract many competent engineers. They move slowly enough that it looks like they’re able to take their time and do solid work. How does bad code happen?
-
Ian Duncan ☛ The CRDT Dictionary: A Field Guide to Conflict-Free Replicated Data Types
Anyways, the idea sounded like pure sorcery: data structures that replicate across nodes and merge deterministically, without coordination, without losing information. I got excited, read a few papers, played with some toy implementations… and then we gave up on the beer startup. I didn’t really have a reason to mess with CRDTs for a while.
Fast forward to 2025, I’ve just had Thanksgiving dinner, and I’m curious again. What’s the state of the art? What have I forgotten? Which CRDT should I reach for when? So I’m writing this, both as a refresher for myself and a reference for the next time I need to remember why OR-Sets exist or what WOOT stands for. (“WithOut Operational Transformation.” Yes, really.2)
So, grab a coffee.
-
Daphne Preston-Kendal ☛ Tour of a pattern matcher: decision trees
I’ve teased it long enough:1 today we’re going to look at the real meat of turning declarative, something-that-looks-like-this patterns into fast, running, imperative, if-this-then-that code. The absolute final generation of working Scheme code will have to wait until our thrilling conclusion in part 4, but by the end of this episode you’ll probably at least have an idea of what that will look like.
Today we’re in the (extensible-match decision-tree) library, which takes patacts (the AST representation of a pattern match clause introduced last time) and produces an optimized decision tree. It starts with a foreboding comment: [...]
-
Daniel Lemire ☛ How fast can browsers process base64 data?
Base64 is a binary-to-text encoding scheme that converts arbitrary binary data (like images, files, or any sequence of bytes) into a safe, printable ASCII string using a 64-character alphabet (A–Z, a–z, 0–9, +, /). Browsers use it in JavaScript to embedding binary data directly in code or HTML or to transmitting binary data as text.
-
Daniel Lemire ☛ Antifragile Programming and Why Hey Hi (AI) Won’t Steal Your Job
Whenever I say I dislike debugging and organize my programming habits around avoiding it, there is always pushback: “You must not use a good debugger.” To summarize my view: I want my software to be antifragile (credit to Nassim Taleb for the concept).
-
SICP ☛ Vibe coding and BASIC
In Vibe Coding: What is it Good For? Absolutely Nothing (Sorry, Linus), The Register makes a comparison between vibe coding today and the BASIC programming of the first generation of home microcomputers: [...]
-
Cory Dransfeldt ☛ Deploy on push with Forgejo and Coolify
Now, when I push to Forgejo, it sends a POST request to the Coolify webhook and deploys a fresh build of the project.
-
Python
-
Linux.org ☛ Python Series Part 19: Binding Keys and Events - Part 1
In the article on Tkinter Buttons, I mentioned binding keys to allow a key press to activate a button. Of course, other widgets have this ability as well.
For buttons, we use an ‘underline’ feature to underline a character to show a user can access it with a key press instead of clicking it with the mouse.
-
-
Java/Golang
-
Frank Delporte ☛ JavaFX Links of November 2025
Here is the overview of the JavaFX LinksOfTheMonth of November 2025. You can find the weekly lists on jfx-central.com. Did we miss anything? Is there anything you want to have included in one of the next overviews? [...]
-
[Old] Tech Law Journal ☛ Sun Microsystems v. Microsoft (Java Licensing Suit)
Issues. The suit is based on breach of contract, the Federal Trademark Act (Lanham Act) 15 USC § 1051 et. seq., and a shotgun volley of other contract and tort causes or action. At issue is whether Microsoft has violated its Java license agreement with Sun Microsystems, and whether Microsoft has otherwise engaged in breach of contract, false advertising, trademark infringement, unfair competition, or interference with economic advantage. Sun alleged in its Motion for Preliminary Injunction that the fundamental issue is: "Will MS be permitted to use Sun's Java Compatible Logo to promote and distribute its Internet Explorer 4.0 and related products even though its products fail to pass Sun's compatibility tests suite, and therefore fail to satisfy the conditions for use of Sun's trademark."
-