August 24 & 25 I got to 'MC' at EuRuko Vienna, the 35th EuRuKo conference and the year Ruby turned 25. I've summarized my highlights of the event below.
25 and counting
EuRuKo's keynote speaker hardly needs an introduction. Creator of the Ruby language, Yukihiro "Matz" Matsumoto, reflected on 25 years of 'developer happiness'.
"A newer version of software is always better in some aspect, but you want existing software to work with the newer software. When upgrading means your app will break, you will be angry. I made a lot of people angry (with Ruby 1.9)."
When working on a new release, Matz considers the compatibility, performance, and productivity of the new software components. "Without progress the community keeps using the old version", to avoid app breakage.
To find out what's in store for the language (and whether or not type annotation will be part of Ruby's future), check out the recording:
It wasn't until I heard Chris Salzberg's Metaprogramming for generalists for the second time, at the Amsterdam.rb meetup earlier this week, that I really got the subtleties. Highly recommend watching the video recording.
In Ruby in containers, Joannah Nanjekye shares how containers give us benefits in portability, productivity and scaling.
Joannah completed the Rails Girls Summer of Code program in 2016 and now works at Outreachy. She is the author of "Python 2 and 3 Compatibility” amd organizes a local Rails Girls chapter.
I really appreciated the part where Joannah urged the audience to create small container images, for better performance and security. A small image means a small surface area for vulnerability. Also: "install just what you need and clean up after yourself!"
In Tool belt of a seasoned bug hunter, Damir Zekić takes us with him while he tries to get to the bottom of a performance issue in a Rails application. Based on a true story of a particularly nasty bug, this got the audience's blood flowing again after lunch:
The broken promise of Open Source
Coraline Ada Ehmke held up a mirror to the audience with her talk, The broken promise of Open Source. Coraline is the creator of the Contributor Covenant, the most popular open source code of conduct in the world with over 40k adoptions. Coraline feels that the open source movement has fallen short of the idealism of its earliest proponents.
"Open source was founded on 4 principles: the free exchange of ideas; success through collaboration; shared ownership; and meritocracy. On the surface these 4 principles seemed reasonable and revolutionary. Open source imagines a marketplace of ideas that are freely exchanged between peers. But the organisation and operation of software projects sends signals to people about whether or not they’re welcome in this marketplace."
Systems used by Hacker News amplify these problems. "You get karma when people agree with you and you lose it when they disagree. The more karma you have, the more editorial power you have."
"The idea that in a meritocracy the best ideas win sounds like a good idea in principle, but the assumption of equality that is not actually present in our world." Coraline focuses on female participation as there is no or lacking statistics about open source participation for other marginalized groups. Women make up approx 20 percent of the development community, but only 2 percent of open source developers. According to analysis done a couple of years ago on 15,000 GitHub accounts, approximately 6 percent were female. They make fewer than 10 contributions a year, and they have a smaller number of personal projects than their male counterparts. "If meritocracy is true, that means thatches gender het(erosexual) white men are biologically predisposed to be the best developers", says Coraline.
What Coraline describes impacts a lot of fellow developers, yet there are "very few men that venture into the forbidden world of the soft talk, because soft talks are not considered as important as technical talks."
Understanding color blindness
In Ruby not red: color theory for the rest of us, Louisa Barrett, designer of 10 years and a developer for 4, shares practical tips on making the experience for ALL of your users better.
Louisa, who teaches a Front-End Engineering program at the Turing School of Software and Design in Colorado, helps us understand the different types of vision deficiencies (cones, rods, retina et al), and shares strategies for effective typography, accessible UI elements, tools and resources.
"It’s not actually blindness, it’s a vision deficiency. People are able to see things clearly but are unable to perceive certain or all colours." Colour blindness is more common than you might think. "It affects one in 12 men (~8%) and one in 200 women around the world. That means a significant amount of people are affected by it. It’s bit of a moving target but with 4.5% of the population affected, we’re talking about 13 million people in the US alone."
The number one rule is not to rely exclusively on color, and to leverage tone and value with the lightness and darkness of a colour. The London Underground map for instance, could use more visual differentiators than just colour. Like dotted lines. "The map is a classic design example and a great solution to a complex visual problem, but for users with visual impairments it’s losing information that is only communicated through colour."
Error messages in forms are a common place where businesses rely on red and green solely. "You’re setting those with colour-vision deficiency up for failure. A colour-blind person may not be able to see the difference and miss out on important pieces of information."
You can make data visualisation more accessible by adding text and texture to your graphs and charts. When figuring out where the inline links are, colour-blind users might look for the cursor pointer to change into the pointer finger. "Which is frustrating on a desktop and impossible on mobile, where hover isn’t available. The underline hyperlink is one of the most well established and widely understood conventions for the web, and it’s a really effective visual prompt for users. You don’t have to use the generic underlined HTML link, but it’s a well understood tool. Use it,"
More examples in Louisa's talk: