Link: on TLA+ command-line support

This was a pointer to whet your appetite for more TLA+. It also mentions Hillel Wayne’s book on using the system.

Now following @bellmar!

Malmö.rb November meetup report

This is an after-action report about the very small November meetup of the Malmö Ruby Brigade group.

We had invited a game designer to come and hold forth about what makes rules come together to form a game.

Talk: Thomas, the board-game designer

Tomas Widgren, a game designer, arrived, and presented his ideas on language and presentation.

Flavor isn’t something separate from the rules, it needs to be embedded within the words of the rules.

You can see some pictures of Thomas’ story-telling skirmish game Mutant: Kriget.

Or, some pictures of Thomas’ game about mechs.

Activity: Try out text generation tools

We had found some tools which seemed good for game-related text generation. Markov chains and other “automatic writing”. Going through the finds, nothing much proved useful. We did see the potential for a deeper dig.

So, sorry, not much link-wise, here.

Malmö.rb October meetup: Ruby and Linux Signals explained, modular synthesizers explored

This is an after-action report about a meetup with the Malmö Ruby Brigade.

Malmo.rb meetup sign.

Yesterday, I had the great pleasure of introducing my friends, new and old, of Malmö.rb to the presenters of the day. We convened, as always, at FooCafe, which is a “conference which is on every day”.

I had been stressing about logistics, trains were running late, and people were filtering in, finding the room. People were giddy, and did not seem to mind the event starting later; they were ogling the amazing boxes which were on the tables at the front. After the flood of text messages to make this happen, this was now… happening.

Modular synthesizers in their cases, and operators smiling
Three operators & builders of modular synthesizers showed up with their cumbersome gear. Thanks, co-organizer Lars, who drove them there and back again!

First, as I had requested, Stephen from Copenhagen.rb ran a clear and wonderful set of code examples of using UNIX signals in Ruby programs. It was a strong introduction to the topic.

Ruby code in vim, on a screen in a dark room
“Can you please make the window smaller, there are synthesizers in the way.”

There were at least two new faces at the meetup, and I had been given a hint by Morgan about the article Breaking Cliques at Events. In it, a method for reminding people that the longer they’ve been in a group, the more responsibility they have to welcome newcomers to it: “Take the number of years you’ve been in the group. That number is how many new people you say hello to at a meetup.”

When the tech talk was done, I asked Niklas, Christian and Philip to talk about the synthesizer hobby/life-style. “Do you want me to explain the 60s?” And I said: “I don’t care about what happened in the 60s, I’m curious about how you came to begin with this!”

Personal anecdotes, and good perspectives on being an explorer of sound were followed by a pretty intense diagramming of a so-called “patch”. A patch is a set of configuration of modules, and Philip used the whiteboard wall to draw while explaining. (“Wait, is that a whiteboard pen? – Uh, yes. Is this a whiteboard?”)

Lars is exploring the diagram, which features waveforms, ADSR envelopes, inputs and outputs.

The connections on the synths is done using cables. The cables connect inputs and outputs on modules. The voltages on the cables control.. things. Each connection does something. Without names for the connections – in programming, in contrast, most everything is named – it’s possible to do things, and not recall afterwards how a configuration came to be. A cognitive ceiling.

Modular synthesizer being photographed.
The operators were kind and helpful and full of pedagogy when explaining what was going on with the signals being sent through the cables. The voltages.

When the presentation of concept was finished, we had a pizza break – thanks, FooCafe! – and then went on to turn knobs and move cables on our own. The operators explained what was going on at all times, which gave me a lot of respect for their craft: modeling the signal at all times, what it “does now”, is a big task.

Well, if you took any pictures of this event, I’d be happy to add them to this place.


Wikipedia’s entry on Modular Synth has pictures, histories, links, etc. All the things about the Sixties that I wanted to keep out of this more hands-on workshop.

Malmö.rb homepage has contact information for the group.

I usually tag content with the #malmorb hashtag.

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. 

Allow Leslie Lamport to explain to you what TLA+ is

Sat down with a good friend who’s in math + economic history.

He’d taken me to school at the gym, introducing the Thai boxing exercise “kick the heavy bag” 45-seconds-per-leg. Brutal. Loud. I can perhaps recommend it. Afterwards at Nobes, enjoying a traditional meal of potatoes, gravy and vegan kålpudding, he asked me whether math is any use to career programmers.

I hemmed, I hawed. Most programmer activity is not about math. Statistics? Algorithms? Graph theory?

And then I tried to explain TLA+. I failed hard at that, so this short note is a link to better material than I was able to mumble up during eating.

TLA+ is:

a formal specification language developed by Leslie Lamport. It is used to design, model, document, and verify concurrent systems.

the TLA+ wikipedia article

The wikipedia article is good. Turns out, Lamport did us one better, he put together a full video course:

“This is the first lecture of the TLA+ video course”, a sun-kissed Lamport intones in the first few seconds. Excellent!

Then, he warns the viewer, that they should consume this course together with the multimedia he has created, at his website. TLA+ Course Lecture 1.

He’s right.

Having watched a few of these caring, teaching, and (mildly) funny videos, I’m becoming a fan. Well-made timed multimedia cues are great. Being told when to stop watching, and downloading a paper, or learning something else – it works well.

(The material is darn interesting.)

Resources made by Lamport on TLA+ abound, and I’m not doing you a service by trying recommend anything less than the real video thing. Any other code repository or tooling he’ll tell you about. He’ll tell you about it while dressed in clown clothes and corny outfits.

For the very interested, and text-oriented, there’s also the hyperbook. A series of interlinked PDF resources, which one can peruse to learn about TLA+. I read a bit of that first, and then switched over to the video presentation. Both are good.

Now, I hope this small note has alerted you to the existence of tons of TLA+ material online, and that you enjoy a whiff of that at some point.