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.

Resources

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.

Majgreve

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.

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.

Wikipedia

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.