Marijn Haverbeke is a user on You can follow them or interact with them if you have an account anywhere in the fediverse.

@marcell I'm still hoping for twitter/fb to finally make things so terrible that a real exodus takes place… but yeah, more likely than not that'll be toward another corporate service

Well, seems the tooting died down quickly 😐

Triaging an issue: 3 minutes
Fixing a simple bug: 2 minutes
Replying to an email: 3 minutes
Picking a font for slides: 2 hours

Digging deeper and deeper into a design for weeks. Not sure if I'm doing something amazing or hopelessly wasting time.

With news of selling user inbox info to Uber, lots of people are repeating "if you're not paying for it, you're the product."

I've said before, and will continue to say, that that is the wrong formulation. Sometimes you pay for it and you're still the product – look at US ISPs. Sometimes you don't pay for it and you're not the product – free software.

The real question is whether a software or service empowers users, which can't be boiled down to whether you paid.

Had my talks rejected by all confs that I submitted to this season. Less talk-writing stress for me, I guess.

"We suggest that physical and situational inequality are built into people’s everyday environments—such as the modern airplane—and that exposure to these forms of inequality can trigger antisocial behavior. Analyses reveal that air rage is more common in economy class on airplanes, where inequality is physically present, and in both economy and first class when inequality is situationally salient."

Regular expressions: convenient string processing with exponential complexity lurking in every shadow

@ginsterbusch I tried to start that way, but it was a disaster, so I wrote a clean version first

Three weeks of work and all I have is a 170-line prototype. This is fine.

Best variable name today: backtrackstack

After 20 years with emacs I still often accidentally fat-finger some key combo that triggers functionality I had no idea existed.

(This fact does not necessarily reflect well on Emacs' UX)

A series of great writeups about text editor implementation and rope data structures:

My grammar matcher's virtual machine pushes two return addresses on the stack for every call—one for success, one for failure.

Are there other systems with that kind of calling convention?

I know there's been a lot of work done on optimizing VM opcode dispatch in C. Is there any similar work for implementing a JS-based machine?

For some reason the majority of literature on Packrat parsing only uses Java and XML in benchmarks, which hardly require any backtracking

That's a bit like benchmarking a programming language by seeing how quickly it can add numbers