Dr. Jackson (@cowtowncoder) profile picture

Eco-liberal EU-expat (now in US PNW). Coder (Java), OSS author (Jackson, Woodstox, ClassMate, java-uuid-generator), collaborator, mentor. Gainfully employed.

Seattle, US
Joined May 2009
Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)Photo by Dr. Jackson (@cowtowncoder)
Who the hell decided to call them "Containers" and not "Code Cubicles"?!
1
1
22
Dr. Jackson retweeted
It’s getting worse and worse. New study shows experts completely surrender their judgments to AI, and they don’t even realise it. Fifty professional analysts used Claude Code to analyse data and advise a fictional farming cooperative. They faced four analytical decisions, followed by a final policy recommendation. Unknown to them, AI advice was experimentally manipulated to lean towards opposite directions. The results are disturbing. Across the four analytical decisions, experts chose the AI’s preferred option 86% of the time. Afterwards, half of the experts rated the final recommendation as more their own than the AI’s, and only 15% mentioned the AI in any explanation. Epistemia is reaching the experts: we risk outsourcing judgment while preserving the illusion of intellectual independence. What could possibly go wrong? * Paper in the first reply
45
165
28
584
20,800
Dr. Jackson retweeted
Has anyone considered using 4️⃣ as their private key? In unicode it's 7 bytes (56 bits). This feels like a fair compromise between the two main stakeholder positions, "Private keys should be at least a little bit secure" vs "I want my private key to be 4"
19
135
3
2,953
43,632
Dr. Jackson retweeted
This is officially "delete your account" of the week. Never bet against Mitchell
Replying to @valvesxyz
I like to look at claims like this in case I can improve Ghostty. I grabbed your source and immediately spotted the issue: your read loop overwrites a 64 KiB ring. Everything older is discarded unparsed per tick. You're faster because you're not actually terminal emulating. It means the number isn't a throughput number. In a kitten benchmark run at the rate you're claiming, roughly 6.6 MB arrives per 60 Hz tick and 64 KiB of it gets parsed. You're read(2)-ing 100% of the data and parsing about 1% of it. There are other minor issues (a small fixed scrollback in a preallocated ring buffer, no grapheme clustering, throwing away data like OSC 8 URIs, etc.), but the major one is simply that you're discarding ~99% of the input. For plain text, e.g. your cat benchmark, the final screen ends up looking right, but the scrollback is missing 99% of the file and each retained chunk starts mid-line. As soon as there are escape sequences in the dropped spans, your emulator is fully out of sync and invalid: a cut inside a CSI prints the parameters as text, and any SGR, mode, title, or alt-screen change in the gap is just... gone. FYI, this is why I don't like when people point at refterm as a terminal benchmark. refterm implements a TINY subset of what a terminal emulator must support, it's closer to a fast file reader, not a terminal emulator. I also don't mean any shade by this. I like to look at technology objectively to try to learn something and improve my own craft and work. So I'm sharing what I found. I modified your code very slightly to parse on every full buffer (rather than per tick). And the results are attached. Both use main commit in each repo at the time of this post. Note the graph is in log scale, the discrepancy between performance for things like Kitty images is measured in GB/s.
26
47
4
2,380
114,066
New blog post - Chasing the Karpathy Peak (and Falling Off Slop Cliff): Confessions from Slopaholics Anonymous My story of becoming a slopaholic, who’s most at risk, and how to avoid it (or recover) thomasjiralerspong.substack.…
37
98
33
799
127,890
Just changed all my private keys to 5
70
123
10
3,282
36,726
Dr. Jackson retweeted
when code was expensive to write, the act of writing it forced you to have confront your assumptions beforehand. now it’s easy to go from a vague idea to implementation without ever developing a clear opinion. but the cost of that is (1)premature commitment to an idea you haven't evaluated (2) the false sense of confidence created by working code. some of the friction we removed was doing useful cognitive work.
35
23
5
354
11,379
Dr. Jackson retweeted
Im not convinced people actually know what the P=NP problem is. Lets break it down. Before the 1960s, computers were getting faster every year, so engineers just assumed that if a problem was too hard for a computer to solve then, all had to do was just wait a few years for a faster computer, boom, problemo solved. But then, they ran into a wall with a specific group of problems. No matter how powerful the computers got, they would freeze up, overheat, or take billions of years to solve them. So these were super hard theoretical physics or black hole topography, right? Nope, they were everyday things like designing a high school schedule where a teacher is never in two places at the same time, or like, draw a trace on a circuit board that's as short as possible without overlapping other traces. Heres the kicker, once the problem was solved, the computer could VERY quickly go back over and be like "Yup, no scheduling conflicts!". Once the problem was solved, verifying the solution was easy. It would be like you walking up to a lock someone left on a door and trying to figure out the code, and then someone else coming up behind you "Hey, the code is 26-42-36-10. Pop in the code and boom! Problem solved, solution verified. Computer scientists grouped all of these problems into a category called "NP". Aww now if makes sense. And you know what ALLLLLLL of these problems have in common? They were exponential. Meaning if you only had 5 classes, your computer could solve thay in a MILISECOND. But if your schedule had like 100 classes, the possible combinations went insane like, more atoms than in the known universe numbers. So by putting these problems into this "NP category", scientists were basically telling software developers "Stop wasting billions of dollars on trying to get your computers to solve these problems" and do something heuristic like, draw a line first, then verify it sux and iterate on it quickly until its good enough and move on. So then they realized something terrifying. If you could figure out a trick to solving ANY of these problems, you could solve ALL of them, no matter what it was as long as it was an NP problem. Ok so whats the big deal then!?! What do people mean why they say "If AI solves P=NP, thats the end game!". They are essentially saying that if its easy to verify a solution to a problem that was solved, then there must be a hidden trick to solve it as easily from scratch and if you could find that trick, all the hard problems could be solved instantly. Some of this is good like medicine or cosmology, some of it bad like cryptography which rides on assumptions that these problems are extremely difficult to solve from scratch. Thats the entire breakdown on the P=NP or P≠NP debate you see floating around X these days. Thanks for reading.
169
464
59
5,856
406,066
Dr. Jackson retweeted
Because opera houses cannot increase output per worker, ticket sales hit a revenue ceiling. At major organizations, the box office typically covers only 25% to 33% of operating expenses. The traditional model is essentially designed to lose money.
2
3
59
10,716
Dr. Jackson retweeted
next president should redecorate the white house like rainforest cafe
130
691
41
14,418
204,879
Dr. Jackson retweeted
Russia requires a security guarantee that Ukraine will not defend itself the next time we attack it.
62
2,084
64
15,332
269,625
Achievement unlocked! Spotted the very first true chanterelle mushroom in US (I knew they grow here just never found one - they are very common in Finland. Right on Lake Pratt trail in WA. Very cool.
2
120
Dr. Jackson retweeted
Marinating chicken overnight pushes the flavor in about as deep as a nickel is thick. Leave a chicken breast in soy sauce for 12 hours, cut it in half, and the middle tastes like you never bothered. America's Test Kitchen tested this on chicken breasts soaked in soy sauce and red wine, since both leave a color line you can see. They shaved 3 millimeters off the outside, and that cut went a full 2 millimeters past the deepest spot either marinade had reached. Kenji López-Alt got the same result and put the overnight number at a millimeter or two. It comes down to size. Meat is mostly water packed between tight bundles of protein. Salt breaks into tiny charged bits that can slip through that water. Sugar molecules are huge by comparison, and most of the flavor in herbs and spices dissolves in oil, which the water inside meat pushes away. Then the whole thing sits in a fridge, where the cold slows everything down even more. Even salt is slow. Greg Blonder, a Harvard-trained physicist who tests barbecue science for AmazingRibs, found salt takes almost 24 hours to travel 1 inch into meat. That's really the one thing the overnight wait does for you. It gives the salt time to reach the middle, while everything else in the bowl sits on the surface, which is honestly where flavor counts most anyway, since the outside is what browns and hits your tongue first. Acid is where a long soak backfires. Lemon juice and vinegar only loosen the proteins on the outside, and after enough hours that outer layer goes soft and mushy while the inside stays as tough as when you started. The cuisines that are best at marinating figured this out with a knife. Chinese stir-fry slices meat so thin that the center is only about an eighth of an inch from the surface, so a short soak gets all the way through. Tandoori chicken gets slashed deep before the yogurt goes on, which gives the marinade way more surface to grab onto. Cooks in both places worked out the geometry long before anyone measured how fast flavor moves through meat. So when a recipe springs an overnight step on you 16 minutes in, salt the meat right away, score it, and give the marinade 30 minutes before it hits the pan. That 12-hour wait was buying you about a nickel's worth of flavor.
16 minute into a cooking video and this mf introduce an ingredient he overnight soaked marinated and refrigerated
43
154
15
3,000
727,800
Dr. Jackson retweeted
i own a relatively new (2025) samsung tv. i kept getting weirdly targeted ads. i tried reversing the firmware but it was aes encrypted and no keys unless tear it apart and do uart/jtag magic. zero days it is. root shell on new samsung TVs! discovered PRIVACY HORROR. write up?
716
3,870
650
36,695
4,794,760
Dr. Jackson retweeted
Oh my goodness this has to be right. Instead of generating a random 256-bit number they generated a random number between 0 and 256. That’s how they got 4, 66, 155, 156, 230 and 237.
Replying to @itsnebulalol
They misread 256 bit as 0-256, I bet
178
1,270
82
27,945
571,757
Amazing how quickly we went from "oh no LLMs are going to flood the Internet with insecure code" to "oh no LLMs have discovered the internet was already flooded with insecure code"
51
669
44
9,438
94,170
Dr. Jackson retweeted
a lot of old software was protected by “exploiting this would be an unreasonable amount of work” we have invented a machine that does unreasonable amounts of work anyway how’s the patch backlog
50
826
46
15,243
184,206
Dr. Jackson retweeted
someone I really admire said researchers should share more of the messy day-to-day instead of only the polished results so in the spirit of open science, nothing worked today.
26
97
9
1,435
38,073
Dr. Jackson retweeted
LinkedIn is gonna go crazy about these cybersecurity attacks when they find out next month
177
1,017
57
18,043
233,085
Only TODAY realized MacOS has `fm` command.. like: fm chat Mind blown.
78
Dr. Jackson retweeted
Since developers aren’t coding anymore, their new job is to rotate secrets every single fucking day
92
292
31
6,198
113,917