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, 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:
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”.
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.
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.
YAST at SuSE
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.
- 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.