Four Years of Jai

I’ve been programming for long enough to be righteously cantankerous about a lot of things. The list of languages, frameworks and libraries I’ve worked with professionally or on personal projects is too long to list – but it includes everything from C and assembly languages through C++, Pascal and Delphi, through Java and Clojure, through Perl, PHP, Python, Javascript, Typescript and so on. I’ve tinkered with Rust, APL, Uiua, Erlang and Haskell.

The Icelandic voting system

It’s election season here in Iceland! The election is on Saturday, 30th of November, so next Saturday from when this is written. Every time elections are upcoming, somebody inevitably asks me how the voting system here works, probably expecting a simple answer. So, here’s a stab at it. Iceland uses a biproportional apportionment system, as do Norway, some cantons of Switzerland, some German regions, and a few other places. Such systems have a few general features:

Thoughts on Escalation and Descalation

Israel has begun its second land war of the last 12 months by invading Lebanon. Having leveled most of Gaza to the ground with 60% of housing damaged, 65% of croplands destroyed; having killed over 42 thousand civilans in Palestine, with another ten thousand missing and over 100 thousand injured; having rendered Palestine incapable of sustaining life without outside support, which has been kept to a trickle, Israel is now escalating in other directions.

Coming to America - August-September travel plans

2024 was the year I transitioned back into nearly full-time professional vagrancy, although I still maintain a default home base in Iceland for now. I’ve not been very actively writing on this blog this year. I keep feeling guilty about that, but I’ve really been quite busy with other stuff, mostly working on building EarthOS. I’ve also traveled a lot this year - Curaçao, Miami, Malaga, London, Malta, Kentucky, Indiana, West Virginia, New York, Pennsylvania, Tennessee, North Carolina, Washington DC, Iceland, Croatia, Ireland, Bosnia & Herzegovina… I’m probably forgetting something.

JSON is dangerous (and slow)

Okay, so, I ranted a bit on YouTube. Oops. Here’s an accompanying longread, to waste even more of your life. Here’s the TLDR(oW) version: JSON is a ubiquitous structured data format, used for both data storage and exchange. But it’s slow, and what’s worse, it’s dangerous. We should use other formats, probably MessagePack. JSON is a weird accident of history. It grew out of Douglas Crockford’s need to be able to send messages between server and browser.

GUI Toolkits Suck - But they don't have to

For years, graphical widget sets, or UI toolkits, or whatever you want to call them, have sucked. They suck for a wide variety of reasons, but broadly speaking there are a few classes of problems that UI toolkits fail at some or all of: Platform specificity: They don’t work on all platforms. Language specificity: They’re written in a language that is either difficult to make bindings for (like C++, because name mangling), or is interpreted, making binding to it undesirable if not practically impossible.

Relocated - for now

In mid-December, I left Iceland. Not forever, not exactly on vacation either. Not with a concrete plan, but a loose one. Flexible to my needs and desires. Basically, being in Iceland was getting to me. Between the cold and the darkness, and the feeling that I had somehow gotten into an unhealthy pattern of working too much and my only non-work activities being socializing with alcohol or playing the occasional game.

Parsing XML

XML is, as formats go, terrible. If we think about what it’s doing, it’s outlining a hierarchy of nested nodes, each of which can have a number of attributes. Nodes can additionally contain CDATA or PCDATA, which practically speaking are typically treated as their own nodes. A few magic nodes exist, mostly for compatability with SGML. It’s a tree. There are lots of other ways of describing trees textually. Some are bad, some are good.

2022 in books

The books I read in 2022, in order of date of completion: Innovation and Entrepreneurship, Peter Drucker Stolen Focus, Johan Hari The Call of the Wild, Jack London Brave New World, Aldous Huxley Breakfast at Tiffany’s, Truman Capote Metamorphosis, Franz Kafka The Law, Frederic Bastiat The Curious Case of Benjamin Button, F. Scott Fitzgerald Data Oriented Design, Richard Fabian The Strange Case of Dr Jekyll and Mr Hyde, Robert Louis Stevenson How to Avoid a Climate Disaster, Bill Gates Putinomics, Chris Miller The Dawn of Everything, David Graeber and David Wengrow Phreaks, Matthew Derby Master of the Senate, Robert Caro Airframe, Michael Crichton The Passage of Power, Robert Caro Caffeine, Michael Pollan Say Nothing, Patrick Radden Keefe The Black Pages, Nnedi Okorafor Fall, Neal Stephenson Global Brain, Howard Bloom Gathering Moss: A Natural and Cultural History of Mosses, Robin Wall Kimmerer Ethiopia, Wendy McElroy The Lathe of Heaven, Ursula Le Guin Mr.

Busy little Hobgoblins

Emerson wrote that a foolish consistency is the hobgoblin of little minds. Arguably, a complete lack of consistency is another hobgoblin, a Puck by whom I am mischievously harassed, at least insofar as this weblog is concerned. Since last post, I’ve been working hard, but also getting in some play. I went with my siblings to California for a bit, and got some time in Vestmannaeyjar and Spain and what not.