A link

AI researcher Julian Togelius in 2017 wrote a nice blog post about how to write better about AI. Read the whole thing. I just clipped a few lines below to make you do it. Hugs.

Some advice for journalists writing about artificial intelligence

First off, I understand. You’re writing about an extremely fast-moving field full of jargon and enthusiastic people with grand visions. Given all this excitement, there must be plenty to write about, but you don’t know much (or even anything) about the field. You probably know as little about AI as I know about, say, tannery. But where tannery evolves only very slowly and involves very concrete materials and mechanics, AI moves at breakneck speed and few of those words that get thrown around seem to refer to anything you can touch or see. There’s a feeling that you need to write about the latest developments NOW before they are superseded, but it’s hard to see where to even begin to decipher the strange things those AI researchers say. And of course you want to write something readable, and clickable, and you don’t have much time. It can’t be easy.


The Swedish Wikipedia is large. Outsized. Most things are well in hand. Today I met with something which needs an article! The concept of “majgreve”, which means “the Count of May”; a ceremonial feast title given someone worthy. The tiny preview of the NE (“the national encyclopedia”) notes that the term was used in the Danish cultural sphere. Tantalizing. 

Given to whom? Why? What did the ceremony or feast entail? 

All questions. 

So, now I call on folkloric experts and medievalists to right this wrong: we must have a majgreve article. 

The Stones of Venice

My friend J was at a large fika at my house, holding forth about the perennial mystery of Venice. I whispered the only thing I knew about the mystique of that place: some Englishman’s text about it. J winked and nodded, and knew it, of course.  I have not read this work, except as an escape. I’m a cheat, like that.

The Stones of Venice is a three-volume treatise on Venetian art and architecture by English art historian John Ruskin, first published from 1851 to 1853.


Now, you can read this massive thing, scanned at Archive.org. If, for some reason, you’re hiding behind your laptop somewhere boring, you could shield yourself with this. Sip long sentences, taking in the stretches of prose.

Or, if you’re not in a place with a laptop, perhaps with only a tiny screen at your disposal: fear not. You may be in for something better.

Read the same work in the Victorian Web’s translation/proof-reading effort. Great collaborative HTML project! They’ve put lots of reference notes in the side-bar, explaining things in the text, and taking us the extra mile in understanding this work’s impact.

Well, one day I hope to have a printed copy of this thing.

Until then, here’s some excellent – unrelated electronic music.

Reading The Morning Paper

You may already know, but there’s a person out there on the Internet making a lot of reading for you. They put out this publication (nearly) daily, which is called The Morning Paper. The eponymous “paper” is a computer science paper, and each report is a walk-through of its contents.

Brilliant stuff, and most of it pushes my mind in some direction. Learning and such is a lot about filling the mind with associations. For me.

Things I learned about during the last fortnight: guiding machine learning using assisted labelling techniques that parse natural language; a really fast JSON filter called Sparser; something about memory management & local reasoning in an upcoming OCaml memory management implementation. Tons of stuff, mostly-digested, for your scanning pleasure.

I enjoy scanning this. Some of it makes me dig out explanations and other thing are possible to scan along, for the thrill of it.

Revamping, again

Ha, the blogging. 

WordPress happens much quicker than I can follow it, which is completely wonderful. Quite a few innovations arrived today: a new editing interface, called Gutenberg.

a Malmö.rb logo
for no special reason
other than ease of uploads

The original critical hit table from the ancient roleplaying game Arduin

This is easy. And way more accessible. I might use it, even.

JRuby to support \K escape sequence in

Allow me to celebrate the JRuby team (and nearby efforts) in that the next patch release of it will include \K as a regular expression special character.

This GitHub Issue was just closed with a resolution in the Joni library: https://github.com/jruby/jruby/issues/4871

Its support is in a little select company, randomly listed at StackOverflow, which has such google-juice that it felt worth it to shout about JRuby on there.

I’ll repeat the example from the GitHub Issue:

$ irb
2.3.1 :001 > 'street'.match( /s\Kt/)
 => #<MatchData "t"> 

Travel report: MirageOS hack retreat in Marrakesh 2017

I am just back from a week off in Marrakesh.

Together with a hearty group of people from many places, I wrote and documented software in the heart of the medina. We also ascended the snow-covered mountain in the picture above.

A group around the ambitious MirageOS project gathered to enjoy community around the programming language OCaml.

The week was spent in an artsy hostel with a roof terrace and a cool riad. The sun baked during the day, the moon chilled the nights.

The week was a so-called hack retreat, with goals of making the MirageOS ecology of software better in some way. Some people brought their own agendas of what to make, and others, like me, found them when in place.

Most of this time was spent squinting at some screen or other: learning, listening, exploring. At work and in my spare time, I program Ruby in a Web setting, whereas here it was a systems programming language, in a system setting. But, I’m a dabbler at heart, and trying to keep a beginner’s mind.

Learning OCaml can be a hard slog, even if you know a few programming languages. Many alien concepts, and at times not much of a railing to hold on to. Many possibilities to describe things better for the new-comer. I was helped along by helpful and knowledgeable people. Sometimes, I could make a mental breakthrough by plowing through domain-specific jargon, translating it to something familiar. But more often it was by being near someone who was at the same place I was, the foreigner, the outsider, and we could quickly learn new things together.

I found a great collaborator in Matt, an English chap who had taken on an issue in the mirage-tcpip library. “There’s no need to use floating-point arithmetic here, we can change that to Int64 calculations on 64-bit integers instead.” I got to join him on this quest. To make the change, we read the section of the RFC over and over, made calculations on paper, authored unit tests (that became integration-like). And we fixed our mistakes in calculations on paper. At the end of the day, we had a Pull Request for the project, and were able to get some feedback. It felt great. And it was great. It even got merged.

Later, I collaborated on some package management issues in a SOCKS4 proxy library, which was improving a lot during the event.

The days were much the same: get up, clean up, have breakfast, continue programming, complain about slow the Internet. Suddenly: lunch, followed by some more programming, and then it was suddenly dinner.

At some points, the inviting organizer of the event made a “call” for talks, like: “Hey Spiros, I heard you would like to give a presentation of your parsing system Angstrom. Say at six o’clock?” Graciously, the speaker would then concede that this was a good time to present their work.

One of the talks was about solo5.  That is a “unikernel monitor”, a very thin thing to wrap the running of a unikernel. As a companion explainer, the presenter took care to link to this 5-page PDF of Williams and Koller’s conference paper from HotCloud16 (“Unikernel Monitors: Extending Minimalism Outside of the Box”). Check it out if minimalist systems is your thing.

We made a few outings, climbing the Atlas mountains and visiting a herbalist. But mostly we kept to the retreat itself.

Here is a short list of software projects I engaged with, however little:

Rating 10/10, A-plus, would learn to program OCaml with these people again.

Here is some Twitter extracts: