Pinned post

time! I'm Oskar, and I spend most of my time online talking and writing about , including but not limited to and , , , , , and . I have a blog at and I produce screencasts at when there's time.

I also do , mostly acoustic nowadays, and only spare time.

See you around!

I'm also getting to confront my highly irrational fear of snakes (I dug up a harmless baby snake.) Guessing that they have hatched in this ridge soil. Not sure how to reconcile that with progress bars, though.

Show thread

The neat thing about my current digging project (removing an artificial ridge by hand 😓) is that it implements its own progress bar.

Either I'm writing boring enough titles, or boring enough content, to stay off the orange front page. Which ever it is, I'm happy.

Writing about LTL is scary. It's been around since 1977 and a lot of people know it way better than I do. On the other hand, the use case hopefully makes it relevant to a new group of users, and that warrants more writing. I'm excited to see where this goes!

First blog post draft on writing state machine specs with LTL is done. Anyone that's good with LTL and formal methods that would like to review?

I'm writing an intro to specifying stateful systems using LTL, in a way that's useful for Quickstrom specs. Anything specific you wish that I cover? Hard concepts to grasp, pain points, etc.

Feels a bit lite archeology at this point, given the project seems close to abandoned. Is the new hot thing? Or something else?

Show thread

Wohooo, finding bugs in TodoMVC editing mode impls with the new spec. Editing mode is pretty well-defined in the Application Specification, so I can actually call them bugs, I guess.

TodoMVC has been an extremely interesting case study with all these minor differences in how the frameworks do things, and how they encourage implementations to do things in certain ways. It's really hard to write a single spec that works reasonably for all of them.

Show thread

This mostly makes writing the Quickstrom spec harder (only having access to the DOM), but it also seems quite weird from a state change perspective, even if the user cannot visibly tell the difference.

Show thread

So there's probably some JS state what the item used to be before starting the edit. And when you press Escape, that's used to restore the item.

Show thread

Hmm, quite a few TodoMVC implementations share the backing model for existing items and the editing mode. So when you start typing in the edit input, the existing item's DOM element in the list also changes, i.e. before the edit is committed.

Finally I'm getting to adding the last piece of the TodoMVC spec: editing mode. I have a hunch that it might uncover some interesting things.

I'm overwhelmed with gratitude at this point.

Show thread

Maybe it's time to make short and snappy screencast on Quickstrom. I'll have to dust off the old Haskell at Work chops.

Show older

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!