Kings of Code

Backend track

In the backend track of the kings of code conference day we had it all. The speakers filled the day from 9:15 until 17:00 with interesting talks about infrastructure, real-time programming and modern languages, scalable architectures, good and bad coding techniques and databases.

Hacking with reality

Early in the morning, Martyn Davies (SendGrid) opened the backend-track with his presentation with title "Hacking with reality". His talk was about real-time application and how you can easily hack (or mashup) one, in a few hours, just by using Node.js and one of the many available applications' APIs. He mentioned of course the dangers of developing a real-time web app (scaling issues, expenses, openness) and how you could avoid it. He finally, introduced "pushing" services such us Pusher, Faye and Slanger.

Chef as a Devops Enabler

Stephen-Nelson Smith (Strategic Blue) explained what is "Chef", a framework for building and configuring your infrastructure with code instead of commands and specified scripts. He also talked about the possibilities that can bring in a company, eliminating waste (everything that doesn't add value) and by aligning Developers and System Operators, especially during the deployment.

Go Do

Peter Bougnon from SoundCloud, except of reminding us the basics of software engineering, "to design, develop and maintain software, with a look in the future, in order to have a reliable and efficient outcome that satisfies all the requirements of the customer", he also introduced the programming language Go. According to Peter Go has all the necessary to accomplish the above. The talk was mostly focused on the concurrency capabilities of the language and he showed us many code examples, for writing more efficient code, with Go, step by step.

*the presentation

MySQL Replication

Sven Sandberg, from MySQL, showed us how we can apply Master-Slave(s) replications to our MySQL database and how we can make this database crash tolerant. Furthermore, he talked about MySQL 5.6 and how easier is to perform the above with its new features.

My Mom told me that Git doesn't scale

Vincent Marti (Github) gave a presentation on the evolution of Github and how did they manage to scale it up, while they had to deal with Git that "people" says that doesn't scale, by creating the libgit initially and the libgit2 recently. He presented the different architectures that they followed, the problems that occurred and in a high level, how did they managed to overcome these problems, with not being afraid of changing completely something that doesn't work well enough. Finally, he mentioned the staged deployment that they are using and the new "Github" to come.

* the presentation

Why does my code sucks?

Rafael Dohms, from WEBclusive, talked about Object Calisthenics (OC). OC are 9 rules for writing readable, maintainable, reusable and testable code. These rules were initially written by Jeff Bay for the Java language, but Rafael modified them and applied them in PHP. His presentation had multiple examples on the following rules.

OC #1 :Only one level of indentation (you avoid complexity)
OC #2: Do not use the "else" keyword
OC #3: Wrap primitives types and strings
OC #4: Only one "->" per line
OC #5: Do not abbreviate
OC #6: Keep your classes small
OC #7: Limit the number of instance variables in a class (2 to 5)
OC #8: Use first class collections
OC #9: Do not use accessors (getter/setter). Use them if you code in PHP.
OC #10(bonus): Document your code. General documentation and inline documentation. Don't document bad code, fix it and then document. Refactor is the solution!

Sympatric Speciation in Software Organisms. Also: killer whales.

Tim Anglade (apigee), talked about Backend as a Service (BaaS) and about killer whales. The second part had to do with his hobby, but as it matters the first part he explained how web and mobile apps can be developed and live together in an easy way, by having a thick client (frontend) and instead of building the backend piece by piece to use it as a service.

* the presentation

The Kings of code backend track had scheduled one more speaker, who unfortunately didn't make it from the US. Guillermo Rauch, from learnboost, is the inventor of socket.io and he was going to talked about it.