Open Source Summit Europe 2017

For three days I enjoyed the Open Source Summit conference in Prague. These are some of the things I learned from attending the presentations and discussing with presenters and fellow attendees.

OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague OSS Summit Prague


Focus on workflows, not technology.

because it changes.

Describe how it feels to use the software.


Openstack's identify management and service catalogue. Openstack is a Python project.


Python has a constraints file, same as dependency management in Maven. Otherwise, pip will install possibly multiple or wrong versions of transitive dependencies from requirements.txt.

Data dog

Cannot know where you're going if don't measure what you're doing. We all are going to crash sometime, no matter how honest you think your software is.



A kubernetes pod is two or more containers that share an IP.

The kernel doesn't define what a container is at all. A container, something that has a pid namespace, needs an init binary. Otherwise there's no way to spawn or reap processes and reassign their children. Pid namespaces are hierarchical.


Rex-ray container storage.

Fancy files, containers

"People end up just using the same shit everywhere"

Same versions of host and container OSes." Because of breakages in kernel and user land.

Google Reader

We all mourn Google Reader —Novotny

First spontaneous applaus at OSS summit. People are messy.


The file command has a magic file in usr share:


Open API, Swagger

Swagger can generate definition from bare JAX-RS. Has JSON schema as definition format for models.

Server less

Server less is about not caring about servers. For one off, sporadic requests. With java, you should make regular requests to keep the jvm in the lambda container warm.


Lambda doesn't have versioning of source code.

Can't access, must upload zip or edit code in online editor.


Chalice, easy creation of lambdas. Lets you script uploading lambdas → integrate with your local VC.

Worth a look

OpenWhisk, openfaas


Logs. Good for use known unknowns. New logging platforms like elk and dagadog are only good for known metrics.


Makes new stable release every 3 months.


spdx, describes licences of source code, possible to automate license compliance. Test cases in python to test if a build image will run at all., new licences for big data.

Multi licence projects

Fossology. Not even the kernel is 100% one licence. Think of licences like an architectural property. GPL readme, remove "or later". SPDX, tool for automatically check source code.

Internet of Things - IoT

Hacking: Internet of threats. Great presentation. Live hack of toy cars demos.



Form habits with repetition.

Takes 66 days to develop habits → The first two months extremely important for new employees.


No automatic thank you email.

Code of conduct

Assholes don't read code of conduct.


It's the intangible world that makes us happy.


Set several goals, your own. Not only your mentor's. Embrace the fear, laugh at your own mistakes.

Code analysis

perf counts various OS metrics. It found that it's much faster to traverse a bitmap by row instead of by column!



Semi sync replication. At least one slave gets the write. You don't always want fully synchronous replication.

Alibaba Cloud

Alibaba cloud. SQL injection alarms. Cheap outside of China.

Cloud hosted databases like RDS

Many features are disabled as default. Like thread pools.

Cloud locations

Google cloud SQL has a zone in Taiwan.

DB monitoring

Percona has an open source monitoring tool. Can connect to RDS.

MariaDB instead of RDS

Many people run mariadb in ec2 instead of RDS.

Auto tune database

Ottertune. Auto configure a database.


Amazon pricing varies between regions.

File systems

GlusterFS, mounted, but not working. Manually remounting to get data. High CPU. Fuse driver has a limit on the number of small operations. Dependency injection in apps put stress on fs. Negative caching beneficial on anything dynamic.


MooseFS looks very promising. Reliable multi master, meta data and chunk servers, nice gui, flexible replication per directory.


BeeGFS traded performance over consistency.


OrangeFS very easy to break, no built-in redundancy, adding more nodes must stop the whole cluster.


NFS, very important to cache both hits and misses. Important to tune network card kernel settings. As well as IPv4.

Live patching the kernel

Noop markers replaced. Call redirection. cat /proc/cmdline. Per thread migration of new kernel. Lazy migration inside methods whose code never exit for the runtime of the kernel. Atomic replace. Revert preceding, stacked patches.


Talked to RedHat about KeyCloak and the request for adding SCIM support.

Open source development

Siemens focus on upstream development both for internal and external developers. It's otherwise too hard to maintain the systems, because you in effect have a fork of the software.


Testing is the only way to catch all bugs. —Linus. (as opposed to reading code ).

Start coding early

If you were ten or eleven when you started programming, you are probably a good programmer. It takes a decade to be good at something. Anything.


The streaming platform. Real time hadoop, real time analysis of data.

exit 0

Licensed under CC BY Creative Commons License ~ ✉ torstein.k.johansen @ gmail ~ 🐘 ~ 🐦 @torsteinkrause