
Ed Zitron interviewed Steve Burke of GamersNexus on his Better Offline podcast again recently, this time about the sorry state of the Consumer Electronics Show. At about the 51 minute mark, they discuss how difficult it’s becoming to be positive about tech:
Ed: I think it’s hard to not be negative. Trying to be positive now makes you sound like […] “This is the year that agents take over!!!” […] you have to just start lying.
Steve: Or hide from it. I can find a computer cas...
On January 7, The Orbital Index (a Moon Monday sponsor) published a sweeping overview of what to expect and track over the next 10 years in space globally. The last section aptly captures the point that our pursuit of space should not and cannot be mutually exclusive with caring for Earth: Space and Earth: the decade ahead . The next decade is vanishingly small on the timescale of planets, but it is likely to be a critical one for humanity, with space playing its own crucial role. And whil...
I came across a recent article on making Linux system calls from a Wine
process . Windows programs running under Wine are still normal Linux
processes and may interact with the Linux kernel like any other process.
None of this was surprising, and the demonstration works just as I expect.
Still, it got the wheels spinning and I realized an almost practical
application: build my pkg-config implementation such that on Windows
pkg-config.exe behaves as a native pkg-config, but when run under ...

Programmers love to proclaim they’ve found the best tool. Paul Graham called Lisp his “ secret weapon .” DHH described Ruby as “ a magical glove that just fit my brain perfectly .” Pieter Levels ships million-dollar products with vanilla PHP and jQuery .
These declarations aren’t about the languages themselves. They’re about developers finding tools that fit how they think. When the environment clicks, you move fast.
I had that experience with nbdev , a development environmen...

You can use Polecats without the Refinery and even without the Witness or
Deacon. Just tell the Mayor to shut down the rig and sling work to the
polecats with the message that they are to merge to main directly. Or the
polecats can submit MRs and then the Mayor can merge them manually. It’s
really up to you. The Refineries are useful if you have done a LOT of up-front
specification work, and you have huge piles of Beads to churn through with
long convoys.
— Gas Town Emergency User Manual ...
As I mentioned to the supporters on Ko-fi a week ago, I am currently considering the possibility of pausing the series at the end of this third year, with the last interview going live on August 28th. There are a few reasons for this.
The first reason is that running the series is starting to become more annoying and time-consuming over time. I tried to simplify my life as much as possible, recoded part of my site to make it easier to manage and publish the series, but at the end of the day, i...
One of my oldest open-source projects - Bob
- has celebrated 15 a couple of months ago .
Bob is a suite of implementations of the Scheme programming language in Python,
including an interpreter, a compiler and a VM. Back then I was doing some hacking
on CPython internals and was very curious about how CPython-like bytecode VMs
work; Bob was an experiment to find out, by implementing one from scratch for
R5RS Scheme.
Several months later I added a C++ VM to Bob ,
as an exercise to learn how...
You don’t “need retries in Kafka” until the day one of your handlers starts failing and you’re forced into a choice: block consumption (and watch lag climb) or keep consuming and retry somewhere else.
This post is about one very pragmatic approach: commit the Kafka offset even when processing fails , then push the failed message into a Go retry queue. Kafka keeps moving, and your application owns the retry policy.
Quick context (assuming you already speak Kafka): consumer groups spl...

Last week I talked about my forays into Compiler Construction (1996). This week, I have worked through more of the book and I'm going to share some of my explorations on Wirth's approach to constant folding (and some other optimizations).
Part of the guiding principle of how this book wants you to design a compiler is that we should act locally to the extent that we can. No materializing syntax trees in memory, just walk the parse tree as we parse it and shove instructions out from there as di...
Students are using ChatGPT to do their HW. Here are things I've heard and some of my thoughts on the issue (Lance also added some comments). I have no strong opinions on the issue. Some of what I say here applies to any AI or, for that matter, old-fashioned cheating by having your friend do the homework for you or by going to the web for the answer (Is ChatGPT going to the web for the answer but with a much better search tool?) 1) Ban the use of ChatGPT. That might be impossible. ...
My post “ Floating-Point Printing and Parsing Can Be Simple And Fast ”
depends on fast unrounded scaling, defined as: ⟨ x ⟩ = ⌊ 2 x ⌋ || ( 2 x ≠ ⌊ 2 x ⌋ ) uscale ( x , e , p ) = ⟨ x · 2 e · 10 p ⟩
The unrounded form of x ∈ ℝ , ⟨ x ⟩ , is the integer value of ⌊ x ⌋ concatenated
with two more bits:
first, the “½ bit” from the binary representation of x (the bit representing 2 − 1 ; 1 if x − ⌊ x ⌋ ≥ ½ ; or equivalently, ⌊ 2 x ⌋...
The most conservative way to build a career as a software developer is
1) to be practical and effective at problem solving but 2) not to
treat all existing code as a black box. 1 means that as a conservative
developer you should generally use PostgreSQL or MySQL (or whatever
existing database), Rails or .NET (or whatever existing framework),
and adapt code from Stack Overflow or LLMs. 2 means that you're
curious and work over time to better understand how web servers and
databases and operating ...
A new way to call C from Java: how fast is it?
lemire.me
Irrespective of your programming language of choice, calling C functions is often a necessity. For the longest time, the only standard way to call C was the Java Native Interface (JNI). But it was so painful that few dared to do it. I have heard it said that it was deliberately painful so that people would be enticed to use pure Java as much as possible.
Since Java 22, there is a new approach called the Foreign Function & Memory API in java.lang.foreign . Let me go through step by step.
You...

Vertical farming operation in China, via Mao Ning on Twitter . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure, and industrial technology. This week we look at ALARA, OLED screens, bus stop frequency, Ozempic and airlines, and more. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. Is ALARA dead? Nuclear advocates have long railed against ALARA, the nuclear power safety requirement that demands radi...
ASCII characters are not pixels: a deep dive into ASCII rendering
alexharri.com
A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering. A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.

Just as there’s no single best way to organize your bookshelf, there’s no one-size-fits-all solution to storing information. Consider the simple situation where you create a new digital file. Your computer needs to rapidly find a place to put it. If you later want to delete it, the machine must quickly find the right bits to erase. Researchers aim to design storage systems…
Source Just as there’s no single best way to organize your bookshelf, there’s no one-size-fits-all solution to...

Most of the websites I follow in my web reader are personal sites like blogs. With that said, recently I subscribed to my local council’s news web page. On that page, they publish various updates – events coming to the region, draft council reports, weather warnings, and more. They advertise that there is an RSS feed available for their news page, which is what lets me follow their news in my web reader. I am delighted the local council’s news page is available on the open web, with a web ...

Will AI Pet My Dog for Me?
Sometimes I don't want to outsource work - especially when it comes to understanding a system. Where should I draw the line?
Read the full post on my blog!
Here's a raw link, if you need it:
https://eieio.games/blog/will-ai-pet-my-dog-for-me
Will AI Pet My Dog for Me?
Sometimes I don't want to outsource work - especially when it comes to understanding a system. Where should I draw the line?
Read the full post on my blog!
Here's a raw link, if yo...

My wife recently asked me at what point in my life was I the happiest. The answer surprised her.
First, a little context. I’m currently in my early 40s. I’m married with 2 kids, many pets, and lots of other responsibilities. According to this site I am in the top 1% of earners in the UK (that’s not a flex - the relevance will become apparent later).
So 2 lovely kids, lots of animals, a beautiful home in the countryside, nice cars on the drive, and 2 motorbikes in an incredible g...

This week I demoed some flows I’d been redesigning to a room full of product managers and stakeholders.
For context, the programme I’m on is huge. We’re redesigning a highly complex, enterprise-grade, case-working system.
There are many feature teams, each with their own product manager. I’ve been on the programme for 6 months but it’s so big I’ve not met many of them.
The goal was to show how you can use patterns from the GOV.UK Design System (and a few of my own) to design co...

https://austinhenley.com/blog/ladybugclock.html https://austinhenley.com/blog/ladybugclock.html https://austinhenley.com/blog/ladybugclock.html
I used to think that when I retired,
I would spend my time writing short tutorials on topics I was interested in
as a way to learn more about them myself.
I’ve now been unemployed for three months,
and while I’ve written some odds and ends,
it’s not nearly as fulfilling as I expected
because I know that
most people aren’t going to read a three-thousand word exposition of discrete event simulation:
they’re going to ask an LLM,
and get something pseudo-personalized in return.
To be c...

Previously on Computers Are Bad, we discussed the early history of air
traffic control in the United States .
The technical demands of air traffic control are well known in computer history
circles because of the prominence of SAGE, but what's less well known is that
SAGE itself was not an air traffic control system at all. SAGE was an air defense
system, designed for the military with a specific task of ground-controlled
interception (GCI). There is natural overlap between air defense and ...