PolyConf experience report

Yesterday morning, the ISS was resupplied, in a textbook example of a great space-station docking. I had just woken up, and saw the last 2 minute of the docking. Very exciting. Then I began trying to finish this conference overview. It’s more stream-of-consciousness than report. You’ve been warned.

So, outside the bubble of conference again. My tweeting will be less frequent. The friendly #polyconf hashtag has lots of tweets. The weather will be less scorching.

The place: Poznan is getting better and better every time. Weather, shopping, eating.

People, a very small sample:

Felix and Karolina. My people. Conferences are meeting points, folded in spacetime, so that when you meet again, it’s as if no time has passed. (Terms and Conditions apply.) Cheers, you magical unicorns.

Robert Virding. Gave me a short personal Get Started tutorial with LFE (in Swedish) after we’d lunched, and ruminated on How Much We Got Right when defining the core principles of Erlang (when he was designing the language). A generous, thinking, caring community member.

Virding runs the LFE – Lisp-Flavored Erlang – project. So, the small community of people using Erlang, cut to a smaller piece by removing anyone who wouldn’t use Lisp – those people must love this language. And I believe they do. Being confident about your choices and tradeoffs, is a wonderful thing.

(There are more little on-top-of the Erlang-VM languages. Some of them even go outside the Erlang semantics, against the grain. Luerl, for one. Wow, I didn’t realise that was his project, too. And Erlog, too. Wow.)

Alban & Julien. On the evening of the last day, we got to talking about films. The two Frenchmen with their real French accents, me with my Cahiers du Cinéma fake accent. Tips of movies to watch: Raise the red lantern, Still the waters, Departures, and The Saddest Music In The World. We talked of Jodorowsky, Virginie Despentes and Gaspard Noé. How some films make you angry.

Stefan Karpinski. A friendly programming languages person who could speak Swedish. Also part of making Julia. A pierogi-eater. Much exciting is going on with the Julia language, which is a quite modern way to write fast programs. It was interesting to hear about the formation of the Julia company. Heady times.

Stefan just before his talk
Stefan just before his talk

Brendon McLean. A pierogi-eater. Great story-teller with a big heart. His work involves some scientific computing. He made a show-and-tell of his S-expression-based communications channel between Ruby and Python, by way of IPython Notebooks. Very grounded, calm in his presentation, but a very lively and present human being in conversation.

“My four-finger swipe isn’t so good with this thing on my finger.”

Brendon lives in beautiful Cape Town, where he sits in front of a computer all day.

Alex P. A pierogi-eater and monoid monger. Fine Clojure talk on timeseries work.

Alex, explaining this image

Pierre-Yves Ritschard. A pierogi-eater and maker of cluster management software around Mesos. Programmatic access to the cluster made easier using Clojure. “mesos interaction in idiomatic Clojure” as the repository succinctly states. Great slogan: mesomatic: the cluster is a library.

Amir Chaudhry. Not a confirmed pierogi-eater. MirageOS’er who introduced that ecology of tools. Slides from his talk can probably tell you some of the story. We had friends in common, and said hello over the ether to them.

The very pleasant and generous miniKanren evangelist William E Byrd: a home computer hacker. We talked of the Commodore 64 and of the 1541 (William described with disgust the design failures of that drive; read the details in the wiki article). He also shared insight on racing the beam programming in the Atari 2600. And, his 3-hour miniKanren tutorial was just stellar. The people in the room got the hang of the lingo, the thinking, the machinery, just by following along Will’s session. Quite a feat.

On Will’s generosity: every Sunday, he records an “uncourse” Hangout, which he publishes for free.

(Interesting: A CoffeeScript miniKanren – in literate CoffeeScript! Written in 2013 by fogus, with a name to honour Will.)

I guess I now need to put the Reasoned Schemer onto my book list.


Conference apps must be offline Web apps. No more fiddly App Store have-to-update-app-to-update-schedule. Hoodie could be used to kick off that Web app.

About marketing: Make Tweets linking to your website more visible: Any content surfaced as shareable links should have a Summary Large Image Twitter Card to be more visible. Perhaps something for public software documentation, too.


Different fantasy: Dying Earth quote

The typical inhabitant of the Dying Earth speaks and behaves differently from characters in other fantasy series or people in real life. He is arrogant, greedy, indolent, and rakish. He loves fine food to excess and can’t resist the urge to correct others on obscure points of fact. Your character will differ from the norm only if you spend creation points on Resistance ratings. A Resistance rating allows the character to disregard one of these universal temptations. Each of the six major temptations requires its own rating.

Sleep was overrated, the welcoming amazing

Thanks Nukomeet, for a chatty pre-conference event!

Thanks Alexander, Lukasz, Agnieska, Alban, Zaiste, Arsenia, Marcin, Johanna. And Robert and Christoffer. You are awesome, welcoming and interesting.

(Quickly ordering rhubarb desserts just before the kitchen closed – top of my good-life game. The place with the kitchen open was Nifty No 20.)

PolyConf 2015 Travelogue

Dear reader, this whole note is a travelogue.

Flight finished. Able to avoid the coffee, which I think they even ask 20 DKK for. Their bottled water was better.

Spied @chvest (business card title: “Dragon Keeper”) and @jankrag (“Continuous Improvement Engineer”) at the baggage claim. Rode a cab with them to our hotel. Told them a story about how C and I’d seen John Hughes at this airport six months before. And, damn it, I think I saw him through a glass wall today, too.

Having arrived at Hotel Ikar, I found the wifi connection, and C went to sleep immediately. Power-napper, while I unpack, and log a little in my Leuchtturm1917 notebook.

Oh, a matrix of dots! I have the plain version, with only the page number.

Someone claimed there was a pre-conference event (aka sponsored open bar) at seven o’clock. (Web searching.) Oh, I see the sponsor is the Nukomeet company (with Alban and Zaiste in it) and that the event is not far from my location. Perhaps sleep will have to wait.

Looking forward to PolyConf 2015

On Wednesday, I once again journey south, to Poznan in Central Europe, to participate in the PolyConf programming conference.

Poznan Glowny

As every year, it is about getting new perspective on things, from happy and grumpy people in the field. The field of computering.

I’m lucky to see some familiar faces in the list of people going there, and I’m travelling with qerub, a good friend. (Now, by visiting his website, I saw this wonderfully Acme-hacking project: an S-expression interface to his iTunes library. It’s a year old. I feel like a bad friend for not having seen it before. And, his casing utility camel-snake-kebab has a nicely communicative README.)

Last year, some major themes that stayed with me were property-based testing, functional everything and formal verification (software proofs).

People I met were curious about things, curious about history, curious about sub-fields near their own special field of interest.

To be able to catch the ideas and whims of this three-day madness festival, I will bring a Leuchtturm note-taking book. I’m pretty excited about using it. You may see photos of it on here. Update: inspiration from Bocoups blog, which is covering CSSConf using art.

You’ll hear more from me.

Child themes and repairing them

Meta-blogging, again. It took quite a long time, and had some fits and starts, but now this blog runs on a so-called Child Theme of a freely available WordPress theme.

The trick is that I get to fiddle with small necessary things (like repairing the missing link to jQuery and some Twitter-needed meta tag) in files that are not updated and outdated when the theme gets an update.

|-- functions.php
|-- screenshot.png
`-- style.css

Something like that is enough. The automatically-included functions.php file makes it easy to do things the WordPress way, using their hooks-and-actions concept.

All this, and I really only wanted to install Known, the Indieweb blogging engine that supports webmentions.

PolyConf 2014, talks from day 2

Here are the follow-up notes from my visit to the PolyConf event in Poznan, Poland.

Due to the high speed of talks, I was not able to keep up with commentary, so these are my fragments.

States And Nomads: Handling Software Complexity

The nature of complexity – both as Deleuze & Guattari rhizomes, and as scientific logging in Prussia and Le Corbusier’s replaceable oppressive city visions.

Christopher Alexander

Christopher Alexander, Photo by John Midgley.

A very fine talk by Clojure compiler hacker Zach Tellman.

Phoenix web framework

Darko Fabijan’s been working with Semaphore, a build server SaaS company.

He got interested in distributed computing. Which led him to Erlang.

By way of Elixir, he began using the Phoenix web framework, which can be thought of as Ruby on Rails for Elixir.

The stack uses Cowboy (in place of Ruby’s Rack).

Side-note: I was the hero of the moment, noting a quite subtle typo. I piped up, and muttered “Uneducate yuor quotes. You have smart quotes.” The speaker thanked me.

Use React and ClojureScript to build the Snake game

Alexander Solovyov, software gardener, was an enthusiastic speaker!

In order for you to feel you missed something, here is a sampler of his style on stage:

  • “This magic, I don’t know how it works, but it’s very good”
  • “Uh, I forgot… how to speak.”
  • “A bit of magic, look at that.” Enters keycodes. “I trained like thirty times.”
  • “Initially, it is not dead, right. Let it live. Um, if it is not dead, it is not dead, right.”

Also, he asked for two more minutes, he didn’t just run over time.

He uses up that time.

“I can do eating fruits, in like two minutes.”

“There is a fruit but we do not see it. Which is not exactly Pokemon.”

Mr Solovyov keeps the website Open Source Game Clones which catalogs game projects.

FlowHub: supporting new languages in components

Finnish Berliner Henri Bergius talked yesterday about the FlowHub system. In fiery conversation, he explained which WebRTC things that are needed to make a FlowHub Component live editable. These are all supported in web browsers. The browser experience of WebRTC has full two-way video and audio.

But the FlowHub protocol for live editability only uses “two-way data only sessions”.

To use WebRTC for non-Web browser platforms, the programmer is in a worse place. Much of the systems used are not ported to, say Python or Java.

Extract from the draft that describes use-cases for SDP (Session Description protocol, RFC4566). I believe is the use-case relevant for FlowHub: two parties that want to exchange regular old data.

5.2.3.  Two-Way Data Only Session

This scenario illustrates SDP negotiated to setup a data-only session
based on SCTP Data Channel, thus enabling use-cases such as file-
transfer for example.

Lunch: meeting Wojciech

During eating a sandwich, I had an animated conversation with an Erlang user and Coq proofs enthusiast.

Proofs are constructed using induction. Either, from the bottom up (from axioms up to the theorem) or top-down (picking apart the theorem into sub-pieces, that we can build axioms for).

He explained his interest in formal methods: “I made broken software for twenty years – I don’t want to do it anymore.”

Links of interest:

Per Martin-Löf

This photo of Per Martin-Löf was shot by wikipedia user Txa, a hero to the people. He seems like an interesting person, as well.

Lessons from Erlang (an introductory talk)

Erlang was started in 1987, making it just 5 years older than Ruby.

“Frankly, development is just a fraction of the lifetime of a system.”

Supervisors, behaviors, remote observing tools. Tracing in the VM.

Sadly, I got no “lessons learned” section in this presentation. Practical knowledge-sharing and story-telling is important to me, an OTP fan.

On Ruby (an introductory talk)

There are lots of Rubies: Opal, RubyMotion, mruby. Each of them can be seen as a consumer, like in the ports-and-adapters architecture. The talk suggested a way of portioning one’s software architecture so that relevant part could be re-used on different “hexagon edges”.

Lightning talks

Introducing Pyladies, Poland

PyLadies is a global mentorship group for women in Python. 50+ locations around the world.

Introducing DjangoGirls Poland

Translate the DjangoGirls Tutorial.

Introducing C

txus, a Barcelona joker, makes fun of enthusiastic new-language talks, by introducing C.

But, this joker is not anti-intellectual. He’s quite the thinker.

He has developed Kleisli, a Ruby monads library together with a friend.

txus blog was a pleasant surprise. I hope to follow it for a long time.

He resembled a Danish friend very much.


The installer team at SuSE had a problem: an in-house custom language called YCP.

YaST stands for Yet Another Setup Tool.

  • 600KLOCs of YCP.
  • Custom in-house language.
  • Procedural.
  • 12 years old.
  • 12 people know it.

Needed to rewrite it. Solution: transpiler to re-do it all into Ruby.

Six people, on and off, for six months. Project name: ycp-killer. The resulting Ruby code-base was 700KLOCs.

Links that got away

jstepien’s ints library.

Wikipedia on Mutation Testing and mutant, which txus was involved with.

RailsLTS – Rails LTS is a commercially supported fork of Rails 2.3 and Rails 3.0 that continues to receive security patches now that official support has ended.

PolyConf 2014, a travelogue, part 2

PolyConf 2014 – Talks from Day 1

Morning began with fine cappuccino coffee and honey-spread bread. After initial difficulty to find the venue, me and my companion made it to the large school building where the conference was hosted. Here is an image of us failing to walk into the right building:

Failing to get into the conference

Talks began immediately.

I choose to present some of my notes from the talks here.

Audience participation in the talk hall was not so edifying. As always: “Don’t be that guy.”

The Value Of Diversity And Other Lessons From Biology

Garret Smith, an American Erlang man, (wearing a meme garment saying “utterly terrifying”) wanted us to compare the Paul Valéry evolution steps with making software. The steps are two:

  • Gather Options (“combinations”)
  • Pick the fittest Option

“The Valéry Method” of programming. Mr Smith described it a little like a decision-making tool, for cool heads. I like this.

Garret also went into some basic genetics. He was a character.

Flow-Based Programming For JavaScript

Henri Bergius is a skilled entertainer, presenting flow-based system NoFlo many times a week. While the delivery is low-key, his enthusiasm is strong.

The KickStarter that created an editor for FlowHub

Henri being Bilbo

Cross-Platform Functional Programming With F#

Michal Lusiak of Tretton37 talked about F# – described the eco-system, the deployment situation. “I mostly build apps for iOS and Windows Phone.” He went on to list some greatest hits of the platform.

  • Pattern matching (“OCaml or Haskell people will say it’s stolen from them, and they are right.”)
  • Units of Measure
  • Type Providers, read up JSON into a statically-typed object you can intellisense on. “Dot-driven development”. Type Providers for SQL, for instance. “Strongly-typed SQL”. Traverse your Facebook friend tree.

Honza Kral on ElasticSearch

The search infrastructure ElasticSearch has many clients. They’re well made, and Honza Kral told us what quality work goes into them.

In summary:

Bonus: Word used today include knowledge worker, multimedia, weblog.