Oh heck yeah {} initializers are valid in C23 and not a GCC extension anymore.
Notices by Luke T. Shumaker (lukeshu@fosstodon.org)
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Saturday, 26-Apr-2025 11:26:43 JST Luke T. Shumaker
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Saturday, 26-Apr-2025 07:46:10 JST Luke T. Shumaker
The pagefaulting instruction is
0x80001255: 0f a9 popl %gs
At first I was thinking "it's just a pop; how in the world could the stack have gotten paged out!?" and "`qemu -d mem` says there aren't any mmu operations between the corresponding `pushl` and that popl".
But CR2=000004c0, and that neither looks like a stack address nor looks much like SP=0008:80064c08.
Ahh, GS is a register related to segmented memory; GS=04c7.
I don't want to learn segmented memory :(
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Saturday, 26-Apr-2025 03:51:35 JST Luke T. Shumaker
Oh, ok, INT=0x18-0x1F are the first 8259 PIC, and #Plan9 programs it such that INT=0x18 is the clock interrupt.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Saturday, 26-Apr-2025 03:38:08 JST Luke T. Shumaker
So a INT=0x18 (which is supposed to be reserved???) is happening inside of runproc(), but then a INT=0x0e pagefault happens inside of intrcommon, and then a pagefault happens inside of fault386(), and then a pagefault happens inside of fault386(), and that recurses ~2000 times with the stack growing each time until it overflows all the way into the text area.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Friday, 25-Apr-2025 05:46:51 JST Luke T. Shumaker
So somehow I didn't know about #qemu `-d in_asm`, which is letting me finally make progress on figuring out why #Plan9 1e for PC is crashing .
So far:
- "0x800012c6: 00 80 0e 00 00 00 addb %al, 0xe(%eax)": that's not the instructions at that address, it must be getting overwritten
- a few gdb watchpoints later: %sp is getting set to in the code area, so "benign" instructions are corrupting things.Now to figure out how %sp is getting messed up.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Thursday, 24-Apr-2025 03:26:09 JST Luke T. Shumaker
"Company doing unethical thing says they will leave state if law banning unethical thing passes."
Um, good? That's the point?
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Thursday, 24-Apr-2025 01:20:49 JST Luke T. Shumaker
I feel like there's room for "C, but with less jank" without getting in to "better C" (Rust, Go, D, C++?).
Have (un)int{n}_t be the primitive types, instead of long/short and guessing what they mean. Integer promotion rules that make sense (what insanity it is that short+short=>short, short+lit=>short, but short+lit+short=>int).
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Monday, 21-Apr-2025 07:16:37 JST Luke T. Shumaker
@evan
2) I remember a Governor race where both candidates had *incredibly* similar platforms, with the main difference being that the D had detailed financial documents about how he was going to pay for it without raising taxes, while the R said "idk how I'm going to pay for it, I'll probably have to raise taxes". Yet I'd near-constantly hear people saying that they were voting R because they didn't want their taxes to go up. The standard "party position" was inaccurate for this race. -
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Monday, 21-Apr-2025 07:12:54 JST Luke T. Shumaker
@evan (I selected "Mix")
"By party" answers really frustrate me, because:
Where I'm from (Indiana):
1) With the way the state D party runs, it's all but impossible to primary against an incumbent D. So you if the D is running for reelection, but you think they're doing a shit job, the most realistic thing to do is run as an R. (I imagine the converse is true too, but am not familiar with how the state R party is run.)
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Thursday, 17-Apr-2025 03:22:21 JST Luke T. Shumaker
@hyperreal "Venturing outside one's comfort zone can be instructive, if only to make the return that much more comforting."
Trying other ways of doing things is good, if just to be exposed to new ideas. Once at work I forced myself to use Vim for a month (I allowed myself to still use Emacs at home). Get to actually be proficient with it, so I can have informed opinions about it.
Futzing with Acme has been informative about some interesting ideas that I want to bring back to Emacs.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Thursday, 17-Apr-2025 03:11:00 JST Luke T. Shumaker
I've been refreshing a news search for "van hollen" all morning.
He's currently giving remarks live: https://thehill.com/video-clips/5252080-watch-live-chris-van-hollen-kilmar-abrego-garcia-el-salvador/
In my mind, there's no way that what Van Hollen sees doesn't cause change.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Tuesday, 15-Apr-2025 05:32:24 JST Luke T. Shumaker
"I think you eat demons in your sleep."
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Monday, 14-Apr-2025 12:23:59 JST Luke T. Shumaker
ok but why is the green skittle lime but the green gummy skittle is green apple
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Sunday, 13-Apr-2025 11:48:49 JST Luke T. Shumaker
"reliable bidirectional in-order octet stream" is such a good abstraction (eg: TCP is an instance of the abstraction), it's flabbergasting when it isn't used (eg: Linux fs/v9fs/trans_*.c).
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Saturday, 12-Apr-2025 22:59:23 JST Luke T. Shumaker
@martinl @BryanBennett Yeah, an IP-KVM or BMC/IPMI is the answer.
Decent options right now are PiKVM, JetKVM, Sipeed NanoKVM, TinyPilot KVM.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Saturday, 05-Apr-2025 14:56:07 JST Luke T. Shumaker
#9P has DMEXCL/QTEXCL for files that may be opened by only 1 client at a time. But I feel that it would benefit from DMWEXCL for files that can have any number of readers, but opening it with write access requires it be exclusive. Like #GoLang sync.RWMutex vs sync.Mutex.
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Friday, 04-Apr-2025 17:23:16 JST Luke T. Shumaker
@my_actual_brain Same story of Oracle pissing off Sun's volunteers and the volunteers continuing with a new name for OpenOffice→LibreOffice (except that the original creator hasn't been involved since ~1999).
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Friday, 04-Apr-2025 17:19:11 JST Luke T. Shumaker
@my_actual_brain > (including the original creator of MySQL) ... and called it MariaDB
Monty Widenius' oldest daughter is named My, and his youngest daughter is named Maria (in both cases the daughter came before the database!)
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Friday, 04-Apr-2025 17:10:44 JST Luke T. Shumaker
@my_actual_brain MySQL was owned by Sun but developed mostly by "volunteers" (people who contribute to MySQL without receiving any compensation from Sun).
Oracle bought Sun in 2010 and pissed off all the volunteers (including the original creator of MySQL). The volunteers kept working on it, but stopped sharing their work with Oracle and called it MariaDB.
When you see "MySQL", mentally substitute "versions of MariaDB from 15+ years ago". It's a mature tech, so mostly still relevant… but dated
-
Embed this notice
Luke T. Shumaker (lukeshu@fosstodon.org)'s status on Friday, 04-Apr-2025 16:26:23 JST Luke T. Shumaker
I've seen *so many* posts complaining about #Nintendo saying that Switch 2 games will be $80 instead of $60.
Look, I'm not looking at a price hike and saying "Yes, daddy capitalism! Harder!" But it's a reasonable price. The standard price for a GameCube game at launch in 2001 was $50; in 2025 dollars that's $88.
Of all the things to get upset at Nintendo about, this ain't it.
Gary Bowser. Baseless threats to emulators. Punishing customers for taking control of devices they own.