Kod.io Linz took place last weekend at the Ars Electronica Center in Linz. Being one of the incredibly proud co-organizers of this developer conference, my recap might come across a little biased, but I tried to keep the amazing‘s to an absolute minimum. We’ve collected all slides and pictures, and can’t wait for Confreaks to publish the talks.
Table of Contents
CSS secrets and platform-native app development
The conference day started with 2 keynotes in our separate tracks. In the Seminarraum Lea Verou explained in ‘The Chroma Zone – Engineering Color on the Web’ how color works on the screen. How? Well… White pixels make up of 3 RGB subpixels, which can have a different order and different subpixel intensities for different colors. She elaborated on the workings of RGB, HSL and relative luminance. Hinting what CSS4 will bring us, Lea mentioned the new gray value(xx%) – unsupported now, but can be poly-filled with sass – and new adjustors: tint, shade, blend.
Steve Scott talked about the benefits of platform-native application development and explained why RemObjects have made the choices they have in producing their cross platform native tools. He also took the opportunity to announce the release of RemObjects C# – a brand new tool for native C# development on mobile platforms.
AngularJS and Data Visualization
Pascal Precht was all Skrillex and air-squads. And AngularJS. And i18n. Pascal: “AngularJS allows you to design as if HTML had been designed for apps.” Talking two way data binding, declarative views and routes, Pascal explaines that AngularJS is built with testability in mind. He went on to introduce angular-translate for internationalization purposes. AngularJS supports datetime, numbers, currency, ngPluralize and $locale service (from ngLocale)… but unfortunately, that’s it. It can’t translate all strings. Angular-translate can in fact change the language at runtime with simple controller method!
More women in Tech and Continuous Translation
Anika Lindtner (Travis Foundation; Rails Girls Summer of Code main organizer) is determined to get more women in to the wonderful world of Open Source. “We know arguments like ‘they’re just not so good at it‘ or ‘they’re just not interested‘ are simply not true.” (And if you don’t, just look at the incredibly powerful Rails Girls movement). So where can we start introducing them to tech topics? Anika encourages to talk to beginners, tell them why you love what you do, and to support and inspire others. To raise your children to follow their dreams, regardless of gender. And to get involved in organizing workshops that get people excited about code.
In the other room, Burak Yiğit Kaya talked about I18n in agile projects. “Translations, or rather internationalization in projects, are usually a ‘post-release’ step and managing them was always quite a burden.” Treating translations as a part of your CI stack is the answer. Burak shared his experiences getting the distributed social network Disqus available in more than 28 languages.
Optimizing ALL the tools
In ‘Fly, You Tools!’, Piotr Szotkowski (Warsaw University of Technology) shared some high level Git commands and Postgres tips for fun and profit. The Git command that struck me as extremely useful (having worked with people who love to ‘prettify’ indentation) is
git diff --ignore-all-space or simply
git diff -w. Viewing diffs without whitespace on Github can be achieved by attaching
?w=1 to the end of a Github diff url. Funniest command-line hack:
alias computer, = 'sudo'. Try it!
Meanwhile, Joshua Ballanco introduced his audience to the wonderful community around RubyMotion, where developers ‘actually have fun building libraries, coming up with new ways to design apps, and sharing what they’ve learned with each other’!
How to become a better developer
Both Mike Adolphs and Markus Prinz spend a great deal of thinking what makes one a better developer. Where Mike mentions doing support for the users of your product, Markus looks more at the psychological side of things. To systematically develop your skills, Markus believes practice (both solo practice and in collaboration with a mentor) and rest, make perfect. Quoting scientific research & findings, he showed how a system to improve your skills would look like. I for one will try and follow his advice.
Mike Adolphs shared how at GitHub developers help out with support on a regular basis. Mike firmly believes it makes you better at writing code. Why? First, your customers help you test your service and thus create stable software. Plus: it reminds you who you are really working for (the whole user-base, not upper management). You learn tons. For instance about empathy. Just look at Mike. Doing support turned him from an angry sysadmin into a socializing human being (his words, not mine).
Docker and Vagrant
First up after lunch were Mitchel Hashimoto and Andreas Tiefenthaler. The latter introduced his audience to Docker, an open-source engine that automates the deployment of any application as a self-sufficient container (that will run virtually anywhere). Although Docker is still under heavy development – and thus should not be used in production (yet) – Andreas highly recommend playing around with its features. There was a lot of talk about the future of Docker, as a 1.0 release seems to be approaching quickly.
Mitchell Hashimoto explored the features of Vagrant, Packer, Serf in the track upstairs. Being the creator of all three DevOps tools, I guess one could say Mitchell is generally interested in making the development life-cycle easier. Vagrant is a tool for building complete development environments. Packer is an open source tool for creating identical machine images for multiple platforms from a single source configuration. Mitchell stresses how Packer automates the creation of any type of machine image. SERF is a decentralized solution for service discovery and orchestration and can as such detect node failures and notify the rest of a cluster.
Web Services and Objective-C
Arne Brasseur shared in ‘2004-2024 : Two Decades of Web Services, A Retrospective’ how, with the rise of mobile phones and browsers as application platforms, web API’s are something we simply can’t get around anymore. Going over the many changes in the past decade, the benefits of hypermedia (being non hardcoded, and backwards compatible, to name a few) and the future of Web Services, Arne preserved a hilarious Back to the Future inspired slidedeck.
In ‘Objective-C for Rubyists’, Mikael Konutgan warned that Objective-C might look like a crazy, complex and verbose language to the seasoned Rubyist. But in reality, Mikael says they share many features, syntax and semantics.
Python and HTML
If one would ask, Muhammet Sena Aydın would say that SQLAlchemy is the ‘ultimate Python database toolkit’. A high performing, mature, easy, non-opinionated database toolkit, SQLAlchemy does exactly what you command it to do. You can turn it into a highly usable ORM or use it as an impressive SQL abstraction toolkit. And Muhammet is just the guy if you need a run-through of its workings.
bgcolor="MrT" is the blackest black you can get? And
bgcolor="chucknorris" translates to the bloodred of Norris’ enemies. Try for yourself. More random facts? The ampersand notation in HTML is invalid without the semicolon. And you can actually omit the quotes around white-space-separated font-family names in CSS.
Quadcopters and the opera-singer-turned-developer
Chris Bruckmayr brought one of his ‘Spaxels’ – a 3D LED ‘pixel’ – from the Ars Electronica Quadcopter Swarm. The Ars Electronica Futurelab has created its Spaxels based on quadcopter-technology, and they have proven their skills to paint logos and animations into the sky a number of times, as Chris showed.
In ‘Doctor, Lawyer, Poker Player, Physicist; The Best Engineers We’re Not Competing To Hire Yet’, Carina C. Zona stressed how hiring for only CS degrees misses exceptional opportunities. “Unconventional backgrounds breed great developers. Homogeneity boxes us in. Diverse teams are more productive, more profitable, and more excited about what they’re accomplishing.”
Indeed a lot of fields have dedication and skills necessary in software engineering. Above anything else, coding is a work ethic. Therefore, you should hire people with this work ethic, not ‘rock stars’.
During the closing talk yours truly shared some stats and notes from our crazy organization (team). It was truly a bliss working together with Uğur Özyılmazel (webbox.io) and partly Viennese, part Turkish team. As an organizer I couldn’t have been happier seeing speakers hug each other goodbye at the after-party. We specifically designed Kod.io with the thought of building interdisciplinary bridges. Observing CSS guru Lea explain floats to backend guy Andreas and others nerd over Vagrant as a result of Mitchell’s talk, was intensely gratifying. And yes – to answer the questions on many a attendees lips – we will do this again, someday soon!