Codemotion Amsterdam 2018, day two

Back on the ferry to the north of Amsterdam I went, back for day two of Codemotion Amsterdam 2018.


Daniel Gebler from PicNic told us about what they are doing today to bring groceries home for people. I’ve seen two presentations by PicNic before and I could really see their progress from session to session.

Daniel explained how they use a recommender system to make it possible for customers to buy their most common groceries with one tap in the PicNic app. Which is actually hard. Even if you get 90% of precision of your prediction for one item, that means that for a set of 12 items you actually get 12% precision. So they really had to work to get a much better precision per item. They managed to do that by working with two dimensions of data: big and deep data.

Daniel Gebler from PicNic explaining problems with previous attempts at selling groceries online.

Recommender systems are not the only nut that PicNic is trying to crack. Many other companies are trying to automate picking, but according to Daniel that is only half the problem. They are working on using drones to count the inventory. And he said that there is no real solution for detecting broken goods yet. It’s a big opportunity.

PicNic introduced a leaderboard for code reviewing. People can collect coins for doing code reviews, which they exchange for gadgets and stuff. And he introduced where you can try to solve their challenges.

In the end he shared PicNic’s learnings. He advices to dream big, act small. Have a mission first and use data as support. His views on scale were interesting: launch first, scale second. “Half the projects die anyway, so why invest much time/resources to scale them beforehand?” And he concluded: great products come from small teams. Small teams allow you to focus on things that really matter. “Embrace lack of resources”


The State of Big Data

Dave Russell and Jhon Masschelein from the Roaring Elephant podcast did a live review of the state of Big Data. According to Dave and Jhon it’s safe to say that Big Data is here , commonplace and widespread. But don’t start Big Data in a “If you build it, they will come” kind of way. Then they won’t come.

Dave (left) and Jhon (right) from the Roaring Elephant podcast review the state of Big Data.

Big Data has grown recent years from just Hadoop to many connected technologies. (Presentations I’ve seen here at the conference reflect that idea). Hadoop is not dead, but how customers are using it, is changing.

In the great on premise vs cloud debate, Dave and Jhon told you actually have to take in account where your data comes from. “Data has gravity. You don’t want to move it around too much”. For example: when you do a lot of website scraping, you probably want to handle that in the cloud. But if you are producing a lot of data from systems in your network, on premise might be better.

Cloud has the advantage that you can spin up extra machines if necessary. “Burst into the cloud”, is a misleading advice they say. Again, your data gravity is often leading. And there also is hybrid cloud, where you can try to catch the best of both worlds. Hybrid could be a good idea for disaster recovery solutions for your on premise data lake.

Concerning security Jhon and Dave think that Kerberos still is here to stay, but it could be easier combined with LDAP solutions like Active Directory. About GDPR they told that data lakes are now actually setup as a measure for security and data governance. As a place where all the data needs to end up in your company.

They also said it’s still relatively easy (for employees) to get into Big Data. I’ve tested this and it’s true 🙂


Barbarians at the gate(way)

Dave Lewis form Akamai talked about DDOS attacks. About who gets attacked (about everyone), who attacks (in a range from bored kids to nation states) and how attacks are done.

Dave Lewis from Akamai on where most DDOS attacks come from and which are hit the most. USA is both main supplier and receiver of DDOS attacks.

And SQL injection is still by far the way attacks are done. “This is a completely solvable problem”, Dave said, “if you sanitize your user input”. Another solvable problem is NTP (Network Time Protocol) attacks. It’s a question of updating the NTP daemon. “Ask your network guys”.

He discussed the kinds of tools used by pentesters and attackers. Back when DDOS became popular people used Low Earth Ion Cannon, but they forgot you are completely tracable. Of course this lead to High Earth Ion Cannon and other DDOS tools that obfuscate you. Discussing modern IoT DDOS attacks, he showed the weak IoT passwords that were used by the Mirai bot. It was a regrettable list of root accounts with passwords like 123456, password, admin and the like. No wonder it was a popular platform for the attackers.

He also discussed the vulnerabilities these tools use. “Look at the dates of these vulnerabilites: 2008, 2009, 2012”. You should really have patched by now.


Advanced search for your legacy application

David Pilato from Elastic did a live coding session where he used Elasticsearch to unlock legacy data.

David Pilato live coded in Java during his session.

Java isn’t really my thing, but I got the gist of it. He used Elasticsearch to give the application a better, more relevant and faster search engine. Elasticsearch recently became my thing, so I managed to follow that part. Part of the solution was to use analyzers in the Elasticsearch index.


Self-organizing development at Springest with Holacracy and OKRs

Rik Matema from Springest explained what it’s really like to work in a holacracy. Springest is an international company of 30 people. They make a learning platform that is used by many companies. They adopted holacracy since 2012. This means that they work in self-organizing teams and they have no CEO.

Rik Matema talks about the holacracy at Springest.

They work in circles where all kind of roles are fulfilled. Each employee taking up a role, is manager of that role. And if you wonder what that looks like and what these roles are, you can actually look that up on their site: The key ingredient, says Rik, is tensions. These are “a gap between the current reality and the potential you sense”. People discuss the tensions that they see/feel in meetings.

And meetings are different too. You want everyone to give a voice, not one or two guys dominating them. So they have a rather strict meeting format. There is actually a video where you can see their tactical and their governance meetings and how that works:

As goals for their organization they use objectives & key results (OKR). Objectives must be difficult to acchieve, but not impossible. They use Asana, an open source version of Trello, to track these.

Springest is a data driven organization also. One thing they measure, is the happiness trend of the company. They have an app where people tell how they are feeling. It made me think of something we had when I worked for Origin in 1999. In the end, Rik says, holacracy brings less bullshit and less politics. And let’s face it, that is what most developers want.


It is already the future and JavaScript lets you type with your brain signals

The title of the talk by Armagan Amcalar is actually tongue in cheek, because, yes he managed typing with his brain, and no, as we’ll see, don’t throw away your keyboard yet.

This Brain-Computer Interface has 14 electrodes.

As Armagan starts by telling that there are 100 billion neurons in your brain. You can measure their activity with electrodes, but the interfaces with the most electrodes only have 256 of them. So that’s 400 million neurons per electrode. They more or less cancel each other out. So forget measuring what someone wants to type.

Armagan Amcalar’s ECG live at Codemotion. “It does not always work”.

But there is a weird effect that helps to find out what someone wants to type. If you flash a signal on a screen the brain registers that “surprise” 300 ms later. So when you have a keyboard on screen and you focus on the letter that you want to type, it is possible, with machine learning, to find out what that letter is from the ECG. But you need to focus for many seconds for it to register. “It can be boring”, Armagan said. Here is the video of him typing without keyboard:

Armagan’s JavaScript code is open source. It’s clear there is a lot to be done to get from raw ECG signal to actually detecting letters: you have to remove 1-12 Hz signals, remove unwanted signals, like peaks from eye blinking and other stuff. But in the end it is possible to read what you’re typing realtime with the brain. Funny to see that he starts to read the Brain-Computer Interface with the command

It’s not easy though: it takes hours of training, ECG’s change from person to person. You have to sit still, because even movements of your head can disturb the signals. Armagan expects it will take many years before you can really “type with the brain” on high speeds. And he ended with saying he really wanted to take off his BCI. “It’s starts hurting”. But for my picture he put it on one more time.


Active Learner – How developers keep learning

Dennis Nerush from HiredScore discussed his findings from interviewing 500+ candidates. “Even though they had impressive resumes, most of them failed”, he said. Mostly because they can’t explain the tools they use every day.

Dennis Nerush about what it means to be an active learner.

According to Dennis they are “Expert Beginners”: very opinionated about the products they use, because it worked for them, but how it works, they haven’t found out. (Sounds like the Dunning-Kruger Effect to me.) The read the book “Expert Vague Understanding of Computer Science“.

There are also people Dennis calls “The Wolf”, referring to the character in Pulp Fiction. The Wolf is someone who knows his/her stuff. He/she is the one who solves problems. The Wolf is an Active Learner. So what is active learning? Passive learning is when people just learn what other people tell them (or nothing when no one asks them). When they say they have 10 years of experience, it might as well be 1 year of experience times 10, which is not the same, Dennis says.

Active learning means doing three things.

  1. Read until you know. Don’t just copy from Stack Overflow.
  2. Share your knowledge. This doubles the impact.
  3. Do “after school activities”. Go to meetups. Contribute to open source. Answer Stack Overflow questions (these don’t answer themselves, you know).

Apart from that you need to know where you want to go. Consider yourself as a project.

I like that phrase “Active learner”. I think I will adopt/steal it. I will talk at a meetup at IT Next on May 29th how I became an Active Learner. That is, I think I am 🙂


I skipped the last keynote to be able to enjoy the beautiful weather on my racing bike that evening.

I must say I enjoyed this conference very much. This is a conference which goes all over the spectrum of being a developer. Very interesting to see what everyone is doing. And great that so many speakers shared not only the technical stuff, but also how they organize themselves, whether it be a DevOps team at the Dutch National Police or a company like Springest with 6 years experience as a holacracy. It really gives you new ideas about what is possible.

About Marcel-Jan Krijgsman

In 2017 I made the leap to Big Data after 20 years of experience with Oracle databases. I followed courses on Hadoop, Big Data Analytics, Machine Learning and Python, MongoDB and Elasticsearch.
This entry was posted in Conferences, Events and tagged , , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.