Saturday, May 20, 2017

Impressions from Voxxed days Athens

After Voxxed day Thessaloniki, it was the turn of Athens to host the event. The bar was set very high because of the enormous success of the first Voxxed days in Greece. As i walked through the venue and talked with my fellow engineers i could notice that almost everyone was anxious for the talks and had absolutely no concern about the various organizational aspects. They expected everything to be just fine and so it was.

The event was sold out and the venue was full of IT professionals. The sponsors had their own place to present themselves, answer questions and discuss potential collaborations and prospects with people interested in their work. The most impressive was stoiximan  who had an installation of the VR project they made with the Greek football champion Olympiakos. It was really impressive to see it and more impressive to live it. You can see it on youtube

I was very happy to see many Greek colleagues that now work abroad and came to Athens for the event. Looks like Voxxed has become a pan-European meeting place.

The venue was OK for the talks but the rooms for socializing and networking were a bit small and were always very crowded. The food was fine, not as good as in Thessaloniki but honestly no Greek city has better food than Thessaloniki.

And now the interesting part

The talks


There were 3 tracks with a total of 17 talks and also 2 common keynotes, the opening and the closing ones. That way you could attend at most 8 talks. My choices were:

The Art of Visualising Software Architecture by Simon Brown


The opening keynote of the event was a small workshop about notations and diagrams for software architecture. This topic reminds me of a Dilbert strip, obviously inspired from real life


but fortunately the talk had a very solid base also inspired from real life. It discussed various abstractions and notations for modeling the software architecture and presented many examples both good and bad. Architecture Visualization  is very important but most engineers use their own custom notation and not a common vocabulary. This hinter communication, understanding and eventually evolution of systems. Simon also presented his own model of software architecture, called C4 for Context, Containers, Components, Code, and structurizr his tools for expressing and visualizing architecture. You can find his presentations, tools and much more at https://structurizr.com/ A very interesting talk that reminded us the obvious we always forget, that a software system is much much more that the code

Implementing binary protocols with Elixir by Ole Michaelis


I attended the http2 talk by Ole at Voxxed Thessaloniki and i liked his lively presenting style, so i decided to attend his talk. This time he presented an elixir implementation of an http2 request parser. I have a good picture of elixir, mostly by following the blog of my friend Dimitris. I can understand code snippets in elixir but still can't use it. You see the book i bought at Fossdem is still in the bag :-(


Nevertheless Ole explained the features he used each time and it was easy for us to keep in touch with his ideas. He implemented the parser using pattern matching. To oversimplify, it is a mechanism that instructs the compiler to decide at runtime which function to call based on the values of the arguments. With this mechanism he "almost" embedded the http2 request format in the signatures of the functions and the compiler practically unraveled the parser flow during the runtime. It seems magical, and elixir pattern matching is indeed magical. I am not a fan of such exotic features, they are like the songs of the sirens and i prefer explicit function calls. However i really enjoy such talks from hackers to hackers presenting good hacks. I liked this talk and probably i will take the book from the bag.

Security issues and challenges when building novel web applications by Barbara Vieria and Theodoor Scholte


A talk for systems security based on the speaker's experience from auditing and reviewing software systems. They presented common areas of errors, statistics about failures and some of the features of ISO 25010 Then they proceeded to describe a very common system architecture, a typical 3tier with angular.js and mongodb and discussed many of the security errors and pitfalls like unauthorized access, code injection, XSS, output escaping and many more. A very useful talk for engineers without a proper background on software security. The also presented a tool that can help you with code and security. You can find it at https://bettercodehub.com/

Continuous learning of Tech Professionals in an evolving world by Dimitris Livas


One thing is sure in the IT industry: Nothing is steady, everything moves very fast. You cannot rely on today's knowledge to take you very far. Technology evolves with a very fast rate: Tools, practices and even whole platforms that are relevant today may not even exist in 10 years. Industry also evolves with a very fast rate: You cannot predict what kind of jobs will be high in-demand in the future. Business evolves: The business models keep changing. We have witnessed the internet effect and we are now seeing the AI effect. Finally people evolve too: They have ambitions, goals and needs. In such a world continuous learning is a necessity. Dimitris presented a methodology for it that he calls "the scrumification of personal development process". In a nutshell each individual is the product owner of the most valuable product, himself, and he can apply scrum and agile methodologies to evolve personally. The values the process are having a purpose, being adventurous, being agile, respecting colleagues and trust. You can find more about his methodology at the web site of his company, Agile Actors

The topic of continuous learning is a very interesting one. It is not simple however. It always depends on the context. It is very difficult to decide what to learn next and when and to make the decision proactively before you are forced to. It is always better to be prepared for the future that trying to catch up with it. The "scrumification" seems mostly a proposal for IT companies to adapt such a process so that they can evolve together with their personnel. An individual of course can embrace it but it is not clear how it can work in this case. Anyway it was a very nice talk about a very topical issue.

Create a JEE Test Automation Framework with Cucumber.io and Selenium Webdriver by Vangelis Ghiossis


A talk about the internal test infrastructure of Advantage FSE. They develop mission critical systems for banking and payments and it is of great importance to ensure the quality of their deliverables. They presented to us how they test their products. They assembled a stack for testing using maven, gitlab, nexus, ansible, docker, cucumber, selenium, appium and acunetix and configured it for their needs. This stack helps them test quickly and reliable applications on different mobile devices and on different OS/browser configurations. The specifications written in cucumber in a human like language are under QA and version control and the whole stack uses Jira and slack to communicate the results with the engineers. They also made a live demo of the stack testing the voxxed Athens page.

A good talk. Objectively there are many ways to assemble such a stack and each company has it's own variant but it is of great help that companies share such knowledge and in a way teach and urge engineers to build and use them.

Elixir: scaling for the future using 30 year old tech by Manos Emmanouilidis


The second talk about elixir today. This was an 101 talk but the purpose was not to demonstrate the language vigorously. It was an overview of the history of erlang and elixir, the design motivation for the new language and a tour of the features. The goal was to urge the audience to have a look at elixir and expunge the fear of erlang both the VM and the language. A very nice motivational talk indeed.

A language that supports concurrency must be in every developer's arsenal. There are many good choices available like clojure, scala, go (my favorite) and elixir. If you are a fan of ruby you should try elixir right away, it has the same feel.

To get a glimpse of elixir in a real production environment check this blog post by Manos on "Binary data over Phoenix sockets"

Costs of the Cult of Expertise by Jessica Rose


Who is an expert? Who has exceptional skills? Is expertise and skills related? How can we spot them? Can we pass an incompetent for expert and vice versa?


A great talk about managing people and expunging the myths of expertise. The talk had 4 sections:
  1. Definition of expertise and skills in various contexts
  2. Teams and expertise - the part about hiring an expert
  3. Community and expertise - the part about identifying and acknowledging an expert
  4. Individual expertise - how can you become an expert if you already aren't

The talk was full of interesting stories from her experience about geniuses and jerks, experts and incompetents. Moreover the talk was very lively as she talked with the audience for opinions and experiences. Very nice and thought provoking talk. Kudos to Jessica for it.

Numbers by Douglas Crockford


The closing keynote was by Douglas Crockford of javascript and json fame. He made a very interesting talk about numbers, how they evolved historically from ancient Sumerians to Greeks and Arabs. How they served civilization faithfully for many centuries until we integrated them badly in programming languages. Then we started having problems with integer overflows and floating point rounding errors. He believes that the solution is a single numeric type that is always correct. This is his DEC64 project that he presented to us.

An exciting talk about low level computer arithmetic and programming language design. It remains to be seen if his ideas will be accepted by new language designers.

The talk had many historical references and a tribute to great mathematicians of the past. I will only reference Tahuti, the inventor of writing who later become an Egyptian God. As Mr Crockford said, "in a sense we are his children"

Aftermath

Voxxed Athens was a great experience. All the people i talked afterwards liked it very much and renounced the meeting for Thessaloniki. We are very happy because we now have 2 great conferences for developers in Greece and we are looking forward to attend them every year.



No comments:

Post a Comment