Joel Uckelman
uckelman.bsky.social
Joel Uckelman
@uckelman.bsky.social
vassalengine.org Working on V4... | Github: uckelman | Logician | CS PhD | OSS contributor | vim | Wargamer | Short-stack developer | Complete the Five Year Plan in four years
Reposted by Joel Uckelman
A lot of good businesses are closing on Friday to participate in the ICE Out General Strike. But make sure to support these places on the other days. A lost Friday is a tough thing for a restaurant or bar. Also use this as a barometer for the types of businesses you want to support.
ATTENTION.
On Friday, January 23rd, we will be closed as part of the ICE OUT general strike opposing the federal occupation of Minnesota.
January 18, 2026 at 11:46 PM
This is a thing that once broken won't be possible to repair. We have a president who doesn't take the idea of obligation seriously. Republicans could stop him.
Again, I’m going to keep banging the drum that the fact we are threatening the territorial sovereignty of our closest allies is not only a gross violation of our UN & NATO treaty obligations & poses a massive threat to national security & world order but also should immediately end this presidency.
French troops deploying to Greenland because the United States might try to take it over.

Today in 2026 sentences.
January 17, 2026 at 9:48 PM
This is day eight waiting in the hospital for my father to be able to go home. <deep breath>
January 14, 2026 at 7:30 PM
On a related note, we could use some Wide Awakes about now.
There are lots of reasons to compare what is happening now to Nazi Germany and there are also lots of reasons to compare what is happening now to the post-1850 Fugitive Slave Act U.S. and it's *weird* how people respond with interest to the former but total confusion to the latter
January 13, 2026 at 8:30 PM
Reposted by Joel Uckelman
I dunno, but with each day that passes the NRA loses more and more ground in their “you have to watch your kids die in mass shootings at school so we can protect you if the government goes rogue” argument 🤷‍♂️
January 12, 2026 at 1:55 AM
Reposted by Joel Uckelman
WSJ investigation: In the past 6 months ICE agents have fired at vehicles 13 times, leading to:

* 8 people shot
* 5 of which were U.S. citizens
* 2 died
* no victims drew a weapon

The playbook: Agents box in a vehicle, block attempts to flee, then fire

www.wsj.com/us-news/vide...
Videos Show How ICE Vehicle Stops Can Escalate to Shootings
A WSJ visual investigation found that the Minneapolis ICE killing is one of 13 incidents where federal immigration agents have used deadly force against civilians in vehicles since July.
www.wsj.com
January 10, 2026 at 3:44 PM
The guy across the waiting room from me is swearing at his laptop, which is how I know he's a software developer.
January 10, 2026 at 3:26 PM
Reposted by Joel Uckelman
Discord wants to know how you feel about AI.

Go tell them: discord.sjc1.qualtrics.com/jfe/form/SV_...
Qualtrics Survey | Qualtrics Experience Management
The most powerful, simple and trusted way to gather experience data. Start your journey to experience management and try a free account today.
discord.sjc1.qualtrics.com
January 10, 2026 at 12:53 AM
Reposted by Joel Uckelman
BREAKING: The Hennepin County District Attorney's office says they have jurisdiction to charge the ICE agent involved in the fatal Minneapolis shooting.
January 8, 2026 at 8:58 PM
A+++ would civilization again.
Once upon a time we conducted entire societies and economies without obsessively querying the quality of the experience after every transaction of service.
December 6, 2025 at 6:56 PM
tmw you are looking in git stash at something that you punted on but you did not leave a comment in the stash about why.

It's like leaving a huge stone pillar amidst a ruined city which has the inscription "IT WAS A BAD IDEA".

What was a bad idea, ancient me? Please TELL ME.
November 5, 2025 at 12:29 AM
I made a PR to a Rust lib for S3 which fixes a bad range check. (S3 ranges are closed, but the assertion in the functions is for a half-open range.) There is an AI summary of my PR. My PR changes three bytes, and the AI summary still manages to be wrong about what it does: github.com/durch/rust-s...
Ranges are closed, so the check should be start <= end, not start < end by uckelman-sf · Pull Request #434 · durch/rust-s3
The check in the ranged read functions is correct for a half-open range, but off-by-one for the closed ranges that the read functions are expecting. This prevents single-byte reads from working, be...
github.com
October 22, 2025 at 8:58 PM
Surveying what's left to do on the Vassal module library as I take a break for lunch: I count 8 open issues that will get attention before I shift over to V4 demos. The other 13 I'm not likely to work on in the next few months.
October 22, 2025 at 11:45 AM
I have newfound sympathy for anyone at sea for days at a time. Our overnight ferry plowed into a gale force headwind for the whole trip. I thought I'd been on rough crossings before and they didn't bother me... I was wrong. I still feel out of sorts and haven't been on the ship for five hours.
September 22, 2025 at 2:49 PM
Why in Prince's funky name did they make Math.round() in JavaScript round all halves toward +∞? I'll bet Math.round(-0.5) == 0 has caused people to waste thousands of hours trying to figure out why simple arithmetic doesn't work as expected.
September 15, 2025 at 9:03 PM
We're most of the way there with the Vassal server maintenance. You should find that everything save the forum is working again.

We're working through a problem with the forum presently. It should be back later today.
September 12, 2025 at 3:17 PM
The Vassal server will be down for maintenance tomorrow, 12 September, starting around 10:00 UTC and running until we're finished, which we expect to be in the afternoon sometime.

forum.vassalengine.org/t/server-dow...
Server down for maintenance on 2025-09-12
Our server, which runs the game server, the forum, the module library, and the rest of the website, will be down for maintenance on 12 September 2025. We expect to start around 10:00 GMT. It’s unclea...
forum.vassalengine.org
September 11, 2025 at 7:02 PM
We finished correcting project pages following the Vassal module library conversion. That was a massive boulder to push to the top of the hill.

Thank you to everyone who helped with this.

Now we're chipping away at the remaining unimplemented parts of the module library...
September 7, 2025 at 11:08 PM
I have a recurring Monday night event and for two consecutive weeks I've encountered a deranged man covered in blood on my way there.
September 1, 2025 at 10:21 PM
Continuing to correct project pages following the Vassal module library conversion. 46 pages which need splitting, 478 orphaned files yet to be reunited with their projects.

I have to keep reminding myself that this is a static finite list, so we'll eventually reach the end...
August 27, 2025 at 11:04 AM
This is everything I love about the Upper Midwest. It's like Prairie Home Companion meets Cannibal Corpse.
It's Minnesota State Fair time! It's time for Minnesotan folk art! Here, for example, is Saturn Devouring His Corn, in the seed art category!
August 26, 2025 at 12:22 AM
PSA: If you complain about something and you get the attention of a person who can help you, ANSWER THEIR QUESTIONS SO THEY CAN HELP YOU.
August 8, 2025 at 12:27 PM