One of the things that I enjoy about the development and Open Data scene is the willingness to share knowledge and experiences at conferences and meetups. In the last couple of years I have given some talks at those gatherings. This page collects the topics I spoke about. It should give you an insight into what I find interesting and allow me to remember all the things I presented.
Workshop: Berliner Bäume-API - 500.000 Bäume durchsuchen, analysieren und visualisieren
Bits und Bäume was a conference in Berlin with the goal of bringing together the tech and the sustainability communites. In this workshop I presented the Tree-API that we have built at Code For Berlin a couple of years ago. The city of Berlin publishes a lot of data about most of the city’s trees (e.g. height, circumference, age). We downloaded this data and built and API around it to make it more easily usable. In the workshop I presented the data (which also serves as a good example for the things that can go wrong when collecting data), use cases from other cities and held a short Q&A. The main part of the workshop was smaller groups gathering ideas of what one could do with the data and the API. I took the results to Code For Berlin with the hope of us expanding on them and hopefully also building some nice tools.
Code for Germany - Digitale Werkzeuge für die Zivilgesellschaft
Bits und Bäume was a conference in Berlin with the goal of bringing together the tech and the sustainability communites. I gave a talk presenting our work with open data and on civic tech at Code For Germany. The talk went into what we consider open data, where to find it and examples of what we have built with it so far. It also briefly talked about the future that I envision for our community to work ever closer with other communities (such as the ones present) to build tools that ease them in their daily work. Note that in the slides I show the state of Hessen as having no Freedom Of Information law. This was actually not correct anymore at the time of the talk since Hessen passed a new law in April of 2018 bringing it a (comparably weak) FOI-law as well.
ISEMS: Making Solar Powered Mesh Networks Easy
Thanks to funding from the Prototypefund, Elektra and I were able to work on ISEMS for half a year. ISEMS is a project embedded in the mesh network community. The goal is to make it easier for people to set up their own independent, solar powered mesh networks. It does this by providing a combination of hardware and software that shows users the status of their networks. If there are poblems (e.g. a node’s battery capacity being too low), potential fixes are presented. In the talk, we summarized the scope of the project, the features of the current implementation and potential future steps.
Paper Presentation: On the criteria for decomposing systems into modules
At this edition of Papers We Love I presented another classic paper: On the criteria for decomposing systems into modules. David L Parnas begins the paper by stating that the programming community can agree that modulrization is a good idea. He does belive though that the common way of modularizing a systems is not the best one and proposes a different solution. What I liked best about this presentation was actually the discussion that followed it as people had quite passionate opinions as well as insightfull questions about the topic.
Offene Daten - Geschichte, Hintergründe, Anwendungen
The Think Big Data Camp was an event aimed at people between the ages of 15 and 25 that wanted to get into programming and build tools related to “big data”. My part was introducing them to the concept of open data (with the three pillars of government provided data, company provided data and data that has been gathered by the community) and the work that we do in the Code For Germany community. I presented some practical examples of datasets and tools that people have successfully built with open data to solve actual problems and improve their communities.
Paper Presentation: MENACE - Machine learning with matchboxes
Papers We Love is a meetup where people come together to talk about (computer science) papers that they read and liked. I talked about the paper Experiments on the mechanization of game learning in which Donald Michie describes how to build a self learning system that learns to play tic-tac-toe. The cool thing about this paper: It was written in the sixties and actually shows how to implement this system only with matchboxes and beads and does not require a computer. It is one of the first examples of machine reinforcement learning though.
Nationalist or Not - building a game with Wikidata
I have also given some Lightning Talks. Most of them at Berlin Hack and Tell which is a fun meetup where everyone is invited to demo their silly ideas that don't find a place at any other meetup.
Cowjokes and remembering tools
This was at a rather slow Hack and Tell, so I looked through my old code to see if I could present anything. I found a small script that I had written a while ago that was good for showcasing how to use the command line by combining many small tools. I also showed my small system for remembering tools that I discovered. People seemed to like these small hacks and awarded this Hack of the Month again. To say thank you I wrote two blogposts later: Cowjokes command line script, remembering tools
Wikidata Parliament SVG
This was right around the time of the German Parliament elections and I had been working with election data in Wikidata for a while. I always like to show people what kinds of cool questions Wikidata allows us to ask and answer now. I presented a small website I had built that used the excellent parliament-svg library to render parliamentary charts of any election period known to Wikidata. I showed that all data could be queried by just providing the election period - from count of party membership up to the actual hex-colors that the parties used.
Github License Check
I was working on a project and was looking into potential libraries that I could use. As often when looking for libraries I noticed that not everything that was published on Github also has a license. Github had introduced license recognition a while ago though and I figured that this might be a good chance to use it to check if all of my own projects were properly licensed. I had been wanting to build something with vue.js for a while so I hacked together this small web-app and presented it to the attendees.
Stadt, Land, Wikidata
There is a game that is often played on road-trips in Germany called Stadt, Land, Fluss where the goal is to find a city, country, river (etc) that start with a given letter. Whoever is fastest wins. I presented Stadt, Land, Wikidata which is an implementation of the game that I built with Wikidata. It picks a letter and lets the user enter their answers. Afterwards it makes a query to Wikidata to check if Wikidata knows the entry as a city (etc) or not. If no answer was given, it gives examples for correct answers. I showed how I built the query in SPARQL, the backend in Python and the frontend with vue.js. People seemed to like it and awarded it Hack of the month.
Introduction to Open Data and Code For Germany
Jugend Hackt is an event for people between the age of 12 and 18. It is run in part by the Open Knowledge Foundation Germany so the topic of Open Data is close the heart of the organizers. I gave a quick introduction into the background of Open Data and tools that we have built at Code For Germany.
Make Github Great Again
I gave this talk shortly after the presidential elections in the USA. Trump was widely covered in the media and his weird claim of Make America Great Again was omnipresent. At work, I realized that we were starting to write commit messages like
Make sorting great againand wanted to check if this was only happening to us or if other developers also picked up on it. To analyze this, I used the Github commit data on Google Bigtable. Check the source link for some graphs.
Python's Counter reimplemented
This was my first go at live coding. I introduced the attendees to Python’s
Countermodule - specifically to the fact that one is able to run
+=on any key, even if it was not previously initialized. I then wrote a test suite and the corresponding code to reimplement this feature using Python’s
__setitem__magic methods. The resulting code is different to the original Python source but I think it is still a good introduction into the topic.
Introduction to unisport.berlin
unisport.berlin is a website that allows people to find all the sports classes that universities offer in Berlin. I gave this talk right after finishing the first implementation of it and explained how I wrote the scrapers that collect the data. I also showed the pipeline from scraper through backend to the frontend and finally to the users.
Sierra Leone Bank Scraping
I used to run the Berlin chapter for Opencorporate’s Flashhacks. This was a series of events where people would come together to scrape company data from public registries to add it to the ever growing repository of world-wide company data that Opencorporates hosts. At Hack and Tell, I presented a scraper that I had built for scraping data about banks in Sierra Leone. The scraper was interesting because the original data was published as Word documents. The scraper that I then wrote would download the data, use libreoffice-headless to convert it to an html document and then use web-scraping technologies to extract the data from there. People seemed to like this hacky approach and this was awarded Hack of the Month.
I also usually present the work that we do at the Open Knowledge Lab Berlin once a month at our meetup. The presentation gives a general overview about the background of open data, its applications and the work that we in Berlin and the whole codefor.de community is doing with it. If this sounds interesting to you, you should totally come by.