Sign in

Chris Blume

@programmax.net
189 followers 77 following 656 posts

Retired software engineer. Volunteering as chair for the W3C PNG Working Group. Formerly Google & Twitch.

PostsRepliesMedia
Chris Blume @programmax.net · 2h
I had a time-of-check to time-of-use bug across two processes. I'll be honest: I don't think I ever would have fixed a bug like that before AI.
000
Chris Blume @programmax.net · 19h
I said I wouldn't buy the game until the furloughed staff are back. I'm keeping to my word. Gonna go buy it. Star Wars Zero Company developer Bit Reactor begins bringing furloughed staff back | GamesIndustry.biz share.google/ZuUvQaq0nzL1...
gamesindustry.biz
GamesIndustry.biz
The resource for people who make and sell games.
010
Chris Blume @programmax.net · 20h
Sony publishes games on Steam. Microsoft publishes games on Steam. Imagine if Nintendo did, too. I would buy so many games day 1.
000
Chris Blume @programmax.net · 07/10/2026
I finally ran the exercise today. It took very little time and money on my end. It also produced nearly the same program. The benefit of this IMHO is handling tech debt. So long as we document & test the parts that matter, the design and implementation is easy to rewrite.
000
Chris Blume @programmax.net · 07/10/2026
Over the last week or two, I worked on adding sufficient conformance tests and documentation for the phoenix architecture. The idea is I completely delete the code (including unit tests, integration tests) and have AI rebuild it from just those conformance tests & documentation.
100
Chris Blume @programmax.net · 07/10/2026
Aye, the Phoenix Architecture coined by Chad Fowler (a spin on Martin Fowler's Phoenix Servers). I'm actually about to test this now on one of my own projects. Although, I wouldn't describe it as "later removed". I would describe it more like code gen. I still check-in and keep the generated code.
010
Chris Blume @programmax.net · 07/10/2026
TIL Node does NOT like it when you stdout a non-ASCII character: github.com/nodejs/node/...
github.com
test_runner: parent runner still crashes on child stdout bytes that mimic an event frame (survives the #64706 fix) · Issue #66164 · nodejs/node
Version: v24.21.0 (this release includes the >>> 0 fix from #64706); also verified on v26.4.0 and v22.23.2 Platform: macOS 26.6.2 (25G83), arm64 Subsystem: test_runner Current behavior node --test ...
000
Chris Blume @programmax.net · 07/10/2026
All these issues with GitHub actions are helping me find timing problems in my tests. :)
000
Chris Blume @programmax.net · 06/10/2026
This podracing game (I'm calling it that) is great! Also, it is hard! Right now, <20% of players have made it out of qualifiers. I have not.
000
Chris Blume @programmax.net · 06/10/2026
long long ...short??
100
Chris Blume @programmax.net · 05/10/2026
You know when you shut down your computer and "Still waiting on these programs: Explorer". I feel like that is very telling.
000
Chris Blume @programmax.net · 02/10/2026
Yeah. Honestly, this is mainly due to tests which had a 30m timeout they were waiting on :) bad edge case that happened to trigger a few times on a few runners Likely, I'll be fine next month.
010
Chris Blume @programmax.net · 02/10/2026
It is Oct 2nd. I'm boned. One down side to AI coding is a LOT of CI runs.
110
Chris Blume @programmax.net · 02/10/2026
Fun debugging: Sometimes, CI is fast. Sometimes, it is dog slow. I have some code that archives data on the hour. But that data comes from the network. I gave it a timeout of 10 minutes past the hour for all data to have arrived. Sure enough, if I run my tests at 9:00am...
000
Chris Blume @programmax.net · 02/10/2026
<me, to coworker> Some coding tasks are no longer interesting or challenging. I struggle with motivation on them. I wish I had a junior dev who would find them interesting. *monkey's paw curls* *Google releases the transformer paper that ushers in the age of AI*
001
Chris Blume @programmax.net · 02/10/2026
Whoops. Let's go ahead and add node_modules/ to .gitignore
010
Chris Blume @programmax.net · 01/10/2026
In the age of AI programming, I think we're going to see a LOT more tests. Not just unit/integration tests. Conformance, contract...
000
Chris Blume @programmax.net · 29/09/2026
I checked replies to mention exactly this: github.io will host your content if you want.
100
Chris Blume @programmax.net · 29/09/2026
Another AI-related introspection: When I want something coded a specific way, I don't trust AI to follow the existing code base. I've tried and end up rewriting it. But when I don't care about code details and take a manager's view, I do trust AI--I can see the feature works.
001
Chris Blume @programmax.net · 27/09/2026
Or maybe it is just tedious to clean up AI's code. Greenfield programming is always a joy. Cleaning up someone else's messy project isn't fun.
010
Chris Blume @programmax.net · 27/09/2026
I've seen people say coding with AI is making them bad at programming. I interpreted that as they forgot how to be good, which made me doubtful. However, I recognize something in myself. Manually coding feels a bit like cleaning my house. It is nice. But it is tedious.
200
Chris Blume @programmax.net · 27/09/2026
Blender is an amazing example of open source success. It is wonderful. I need to check Gimp again. I feel like it needs some love, too.
010
Chris Blume @programmax.net · 26/09/2026
std::vector<T>(size) default constructs |size| elements. IMHO, that should have only reserved, not constructed.
000
Chris Blume @programmax.net · 26/09/2026
It is easy for me to envision when to use performance cores (time-critical) vs. efficiency cores (not). But there are cores in the middle I don't get. Surely it isn't just "not time critical but don't take too long". Maybe efficiency cores are missing certain units? SIMD?
000
Chris Blume @programmax.net · 26/09/2026
omg I *just* learned there is a Win32 MsgWaitForMultipleObjects(), with "Msg" at the front. (The message queue isn't exposed as a handle and so there previously was no way to sleep until a message *or* an event.) Today is a good day!
000
Chris Blume @programmax.net · 19/09/2026
Correction: AllocConsoleWithOptions() handles this. But that was only introduced in Windows 11 24H2. So the problem I described has existed for a long, long time.
000
Chris Blume @programmax.net · 19/09/2026
Huh. There is no way for a program compiled with /SUBSYSTEM:WINDOWS to know that it was launched with CREATE_NO_WINDOW. The flag is used to run a console program silently. My program creates a console. And it has no way to check if it should be silent.
100
Chris Blume @programmax.net · 18/09/2026
It's embarrassing how long it took me to get around to coding up console formatting.
010
Chris Blume @programmax.net · 18/09/2026
Said another way: Currently, the only way to share a variable between two blocks is to put that variable in a shared parent block. Even if the parent doesn't care and the other blocks/code don't care. It feels like there has to be a better way.
100
Chris Blume @programmax.net · 18/09/2026
Probably a spicy take but I think variable scope clarity in programming languages could be improved. bool flag = false; if (foo) { ...many lines... flag=true; } ...many lines... if (flag) { Really, flag just needs to exist in both of those blocks, no the parent block.
100
Chris Blume @programmax.net · 16/09/2026
haha this post is how I learned of it. Thank you
010
Chris Blume @programmax.net · 13/09/2026
I'm designing a simple DIY CPU that can be made easily enough with discrete components. This means limiting transistor count. I'm seriously considering dropping conditional branches in favor of the PDP-8's style conditional skip.
000
Chris Blume @programmax.net · 12/09/2026
hahaha omg... those are vertical floppy drives. Got it. I genuinely was like "toaster case? genius"
010
Chris Blume @programmax.net · 11/09/2026
How is it 2026 and Windows doesn't have a way to set a per-program default network adapter? I'm sure we'll get 100 more hated features before it's on someone's TODO list, too.
000
Chris Blume @programmax.net · 11/09/2026
I wouldn't be surprised if this is already happening behind the scenes and waiting for privacy to dip enough to monetize it. I suspect 'associations' will be tracked. IE you and these 3 other people all suddenly saw this wifi point. And again on these occasions.
000
Chris Blume @programmax.net · 08/09/2026
Please tell me the king fish dude still takes 30 seconds to scoot one butt cheek at a time to unblock the path.
000
Chris Blume @programmax.net · 08/09/2026
Maaaan I don't want to buy a Switch 2. But I feel the call to HUT HYAAAT
100
Chris Blume @programmax.net · 08/09/2026
Weeeeeell that Ocarina of Time remake looks amazing.
100
Chris Blume @programmax.net · 08/09/2026
I might try to do a lambda thing like that. I'll investigate. Originally, my concerns were 1.) multiple events (clicked/hovered) and 2.) if the handling logic got long the whole thing became difficult. #1 can be solved with a builder pattern. Do you think #2 isn't really a problem?
010
Chris Blume @programmax.net · 08/09/2026
Is the behavior proximity a gradient? Like if it is reasonably close that is okay? I'm familiar with Qt having signals for events and I feel like rigging up those signal handlers is messy. Would this example feel close enough and not messy? github.com/ProgramMax/m...
github.com
maxGUI/Code/Examples/2-StylingExample/EntryPoint.cpp at tip-of-tree · ProgramMax/maxGUI
maxGUI allows for easy, light-weight, and cross-platform* GUI coding. - ProgramMax/maxGUI
100
Chris Blume @programmax.net · 08/09/2026
While your experience is fresh, I would love to get your take. I previously mentioned a GUI library I started and ~abandoned a while ago. I'm dusting it off. What sucked about wxWidgets? What was just annoying? What did you hope it would be like? Any surprises?
121
Chris Blume @programmax.net · 07/09/2026
A friend of mine worked on Robonaut back in the day. If there is a problem outside the space craft, it might take too long to suit up--have a robot fix it! Why humanoid? Because all the tools need to be human-friendly anyway. Sending 2x tools would be bad. This same logic applies to home robots.
1110
Chris Blume @programmax.net · 07/09/2026
An old, old website I run had 17.5k hits *today*. They're almost entirely AI bots.
000
Chris Blume @programmax.net · 06/09/2026
Agreed. No news as far as I'm aware. But the lack of news also seems troubling to me. I feel like by now employees could have received an email like "the game is selling incredibly well and we can bring you all back [with backpay?]". If it changes, I'll reconsider buying.
110
Chris Blume @programmax.net · 06/09/2026
I want to play Star Wars Zero Company. But I *hate* that they furloughed their people. I do not want to support a company that does that.
141
Chris Blume @programmax.net · 03/09/2026
Bernie's proposal is bad. Partly because if AI *is* the next industrial revolution, we are worse off letting China beat the US--even for people who dislike AI. But mostly because it applies to anything above human intelligence and...humans are dumb. A spell checker is banned.
000
Chris Blume @programmax.net · 03/09/2026
Oh, they got rid of 20.04. Weird that it was marked "queued" then. Oh well. It is something I can fix.
000
Chris Blume @programmax.net · 03/09/2026
Boy, that GitHub runner (Ubuntu 20.04) queue sure is taking a while. I'm not sure if this is the new norm for that specific runner or if GitHub is just having a bad day again.
100
Chris Blume @programmax.net · 02/09/2026
Just added this to my AGENTS.md. I wonder if it'll be effective # Ethics When making a change, consider the ethics of that change. Is there a group of people who would be harmed by this change? Can this changed be misused to do harm? If there is an ethical problem, call it out.
000
Chris Blume @programmax.net · 01/09/2026
Does the capacitor plague also apply to SMD caps?
110