Thoughts

I’m not going to go into this but one way to think about the issue with masked links is that links are nouns, and paragraphs are lists
of sentences, and a sentence needs a noun and a verb. So you can’t just put a link in the middle of a paragraph. It has to either replace an existing noun (Wikipedia style) or you have to introduce a superfluous verb (the “click” in “click here”), in order to make sure you have a valid sentence.
Link Edit 5:18 p.m. Jun 06, 2026 UTC-4

I've spent so unbelievably long trying to figure out how to deploy a patched version of Ghost. I think I've finally got it but we'll see if
it crashes at midnight UTC again like it's been doing the past couple of days. I think the fix was switching to npm 8.
Link Edit 3:18 p.m. Jun 06, 2026 UTC-4

I am quite arguably ruining my life in order to make sure that matthiasportzel.com does server side syntax highlighting so that I don't have
to ship a 4KB Javascript file. I hope you're happy.
Link Edit 1:16 a.m. Jun 06, 2026 UTC-4

[redacted]
Link Edit 1:14 a.m. Jun 06, 2026 UTC-4

I missed this but Andrew replied to my Zig code to tell me it was unidiomatic. I, of course, disagree.
No, thinking about it more I see how I'm wrong. My logic was, illegal behavior is an appropriate way to handle system states that are not in scope or well defined or etc. Andrew's argument is that illegal behavior should be used for programmer bugs. I think the best example is out of memory. Is it okay to `catch unreachable;` from an allocation. Now I don't do this, => https://tildegit.org/matthias/commit-activity/src/commit/38458720043f73b77464e2fa55418d49946f6689/src/main.zig#L143 But if I was being consistent I think I would. I would find it appropriate to say "hey, I can't be responsible for the behavior of the program on a system with limited memory" (for some programs obviously, obviously not every program). In the same way that it's undefined behavior, whether you like it or not, to run your program on a system with faulty memory or a computer from the future. There are all these situations outside of what your program is built to handle. But this is where Andrew disagrees, if I'm reading his comment correctly. He says "these are errors not asserts because the problems occur due to the state of the system rather than programmer bugs." He's saying you should error when the system (i.e. not your program but the OS/environment) is in an unexpected state. But there's not really a conclusion here because it's not clear to me whether you then need to handle these errors or if it's appropriate to throw them from `main.` I personally don't like throwing errors from main—I think you should handle them by defining behavior (print and exit, panic, or swallow). I don't really have an idea of what it means for main to error. But that's obviously not the case in idiomatic Zig because Zig has this nice support for returning errors from main.
Link Edit 10:10 p.m. Jun 05, 2026 UTC-4

I didn't really tie this back, but where I was going with that post about how quality matters is that C and C++ are just bad languages with
a lot of technical debt and design choices leading to footguns. Rust over-focuses on the memory safety issue. You need organization (e.g. ownership) and code quality and discipline no matter what. => https://matthiasportzel.com/ownership/
Link Edit 10:00 p.m. Jun 04, 2026 UTC-4

I knew some computer engineers in college and they're cool and sexy and smart. You wanna talk about performance? Show me an ASIC.
The computer engineers are inventing assembly dialects. You tell a computer engineer to write a program and he writes it in an assembly dialect that doesn't exist, and then writes an assembler for it. He tells you, oh we can fix the debounce issue with a capacitor and a resistor. x86 "assembly" is a programming language implemented in microcode.
Link Edit 9:51 p.m. Jun 04, 2026 UTC-4

I wrote couple hundred words about systems programming vs computer engineering vs high level programming but I'm not going to post them
because the real issue isn't the defining differences. And that's what's frustrating to me. The quality of the software isn't really impacted by the programming language it's written in. "It's been decades since any phone designer gave a second, third or even fourth thought to ergonomics, truly." I frequently climb up walls or balance on railings or climb trees. And people tell me to "get down" because it's "not safe." But walking isn't safe. It's possible to slip on a banana peel and fall and hit your head on a curb and die. I see static analysis features, which are billed for safety, like strict typing and a borrow checker and etc a little like a helmet or training wheels or whatever metaphor you choose. They help and I'm not opposed to them in general. But I see the problem as writing bad, buggy code. I see the problem as systems that are too complicated for anyone to understand. Decades of tech debt and boring refactor work that nevertheless needs to be done for correctness. Deprecated APIs and confusing APIs and footguns and bloat. The problem is software maximalism. The problem is companies and programmers are trying to go as fast as possible. There's no speed limit and the faster you go the more money you make. We're doing 120mph on a tricycle. And when we're not. When I'm writing code, at home, alone, for fun, for myself. I'm walking. I'm an adult and I'm not going to wear a helmet. I'm not going to write tests or do static analysis because it doesn't matter if there's a security issue with thoughts.learnerpages.com.
Link Edit 9:48 p.m. Jun 04, 2026 UTC-4

This game dev I follow posted about this exiting new vibe-coded JS framework that's 100 bytes instead of Preact's 3,000.
Yeah. Yeah. yeah yeah yeah. That's the problem with the web. You've f*cking figured it out. We can send the JavaScript in 1 Ethernet packet instead of two. You've solved it.
Link Edit 7:32 p.m. Jun 04, 2026 UTC-4

At least I’m hot
Link Edit 6:22 p.m. Jun 04, 2026 UTC-4

I just wish people would write better code. It's so exhausting.
Link Edit 2:49 p.m. Jun 04, 2026 UTC-4

I feel like people don't appreciate how much data web developers deal with. I work at careviso, you've never heard of us.
Our database is 2.45 TB. Of course that's because we wastefully store a lot of data that we don't need. But like. I guess my point is, to quote myself, "bad data structures make good code impossible." You cannot write a fast website on top of this database. It's just not possible. => https://thoughts.learnerpages.com/?show=430bf75e-8e1c-48cf-9634-a83a3b8bb7eb
Link Edit 12:37 p.m. Jun 04, 2026 UTC-4

Andy Warhol Never Gets Old
Link Edit 11:49 a.m. Jun 04, 2026 UTC-4

Aaahaahhahhahhaahhaahahahhaahahhhaaaaaaaaahahhhahahhaahahh help me please
Link Edit 11:17 a.m. Jun 04, 2026 UTC-4

Checking saved_changes? in an after_commit hook is just fundamentally flawed. The callback only runs at the end of the transaction
but `saved_changes?` only checks changes from the last save, and there can be multiple saves in a transaction. This is about some code that I wrote earlier this week.
Link Edit 11:04 a.m. Jun 04, 2026 UTC-4

Good morning.
Link Edit 9:37 a.m. Jun 04, 2026 UTC-4

[redacted]
Link Edit 5:40 p.m. Jun 03, 2026 UTC-4

Good morning.
Link Edit 1:58 p.m. Jun 03, 2026 UTC-4

Normal comment about how file explorer on windows 11 is an electron app (it's not). Google epistemological collapse
Link Edit 12:15 p.m. Jun 03, 2026 UTC-4

Hmm. Since we list all the seasons on each page, we need to regen each page for the new season. That doesn’t currently happen.
Link Edit 10:54 a.m. Jun 03, 2026 UTC-4

Dear diary, It's been 6 days since the last Katherine stream. I'm suffering withdrawals. I dreamed about her last night.
Not in a weird way. I mean it was a weird dream, because a bunch of people were there including someone I knew from high school, and we were in a tree. But yeah I'm cooked.
Link Edit 9:46 p.m. Jun 02, 2026 UTC-4

Good morning. Got a lot of votes on Lobsters this morning so that's good I guess idk.
Link Edit 2:27 p.m. Jun 02, 2026 UTC-4

I'm a deeply insecure person.
Link Edit 9:29 a.m. Jun 02, 2026 UTC-4

[redacted]
Link Edit 8:59 a.m. Jun 02, 2026 UTC-4

The real problem with time as a resource is that your time budget is determined by your architecture (instead of the other way around).
Link Edit 3:59 p.m. Jun 01, 2026 UTC-4

One of the interesting takeaways from *High Conflict* was that sometimes you’ll have a group with shared values and objectives. And there
will be some disagreement within the group about how to approach a particular issue. And in that moment, describing the issue by slicing the group in half and referring to “those on this side” vs “those on that side” is incorrect and harmful. That is, the binary framing does not exist as soon as there is a problem, the binary framing is actively created. And the binary framing itself is harmful. This is important because a lot of people that are interested in addressing the problem of political polarization approach it with an implicit binary framing.
Link Edit 3:20 p.m. Jun 01, 2026 UTC-4

The reason I'm talking about this is that people are talking about this and the reason that people are talking about this is because
GitHub's backend is falling over so people are taking the opportunity to dump on the fact that GitHub has 14MB of JavaScript. And I'm like. That's not why their backend is falling over. And these commenters are like "it's all connected to the fact that they're incompetent engineers" and I don't think it is.
Link Edit 3:07 p.m. Jun 01, 2026 UTC-4

It just ticks me off that we're on year 10 of "JavaScript uses a lot of memory and pages are so bloated."
"If throttle my browser to 3G speeds and disable caching then it takes GitHub 20 seconds to load." Don't do that. "Developers should combine their CSS and JS into one file to save requests" What are you talking about. Have you heard of this technology from 2015, it's called HTTP/2? "This page takes 62MB of RAM on my computer with 48GB of RAM" Oh the horror. Whatever will we do.
Link Edit 2:12 p.m. Jun 01, 2026 UTC-4

Good morning.
Link Edit 1:05 p.m. Jun 01, 2026 UTC-4

going insanne
Link Edit 12:09 p.m. Jun 01, 2026 UTC-4

Hey new season, let's keep the depression seasonal and not do any depression posting this season okay?
Link Edit 12:01 p.m. Jun 01, 2026 UTC-4

I'm so awkward sometimes lol aaahhhh
Link Edit 12:00 p.m. Jun 01, 2026 UTC-4