I have extensive hands-on experience of software development and all sorts of information systems. As a generalist I move freely between technologies. With a pragmatic and problem-solving orientation. Comfortable in diverse and dynamic environments, enjoying interdisciplinary work.
Social and communicative, with much experience of working together with new people. Our systems are often built in cooperation, and designed to be collectively cared for. Striving for correctness and clarity, promoting reliable and maintainable software.
My competences include systems design and development in multiple programming languages, on diverse platforms and at various levels of the stack. Never afraid to try new things, to experiment and tinker. Iterate until success. Always learning and sharing the knowledge.
Working as a contractor/consultant from office in Malmö, and remote.
IVPN, 2023–
Tillitis, 2022–2023
Mullvad, 2022
Briar, 2021–2022
Remotive Labs, 2020–2023
Kastelo, 2019–2020
Axis Communications, Lund, 2016–2017
Beijer Electronics, Malmö, 2016
Netnod Internet Exchange, 2015
During 2003–2011 I undertook, among other things, several longer journeys. Large parts of these by hitchhiking, but that’s way too many stories for a cv.
I was previously a C++ hacker and general factotum for an online RPG in Göteborg. Before that I was hacking at Roxen in Linköping, makers of early web servers.
I do development around, not limited to: text-, network- and web-oriented systems, standardized and own protocols and APIs, databases, automation, data processing, system integrations. Both lower and higher levels of the stack. Adaptation, integration and new solutions – often based on free and open-source software.
Much knowledge of networking, Internet services and infrastructure. Familiar with various protocols and server implementations, both professionally, and from running services privately, hacking on code, reading RFCs. Buzz: TCP/IP, IPv6, iproute2, iptables, ARP, DNS & name servers, HTTP(S), SMTP, DHCP, IRC, XMPP, NTP/NTS. SSH, VPNs, TLS, certificates and CAs, …
Writing text that is version-controlled and readable, often in Markdown with automatic conversion to other formats. I even built an artist’s portfolio using Pandoc templates and some shell script. A static site, with just a little Javascript for gallery navigation.
I like to see development as a craft. As a practitioner of this craft, I know the importance of being familiar with my tools. I get a lot of things done on the command-line, which leans itself well to automation.
Selection of community projects that I’m involved in.
I’ve written a plugin for Filippo Valsorda’s encryption tool age for keeping keys on a TKey. It uses my device app for doing X25519 (ECDH key agreement on Curve25519) using Monocypher. One goal is to provide a stable, general purpose TKey device app for X25519.
In the autumn of 2019, I took the initiative to revive and rebuild Fruktkartan (“The Fruit Map”), which is a collaborative map of fruit trees on the common lands which are free to harvest. Built using Leaflet, Vuejs, Nodejs, PostgreSQL with PostGIS, and some Python. The development is a collaborative effort. The new website was launched in 2020.
Since 2020 I’m maintaining an Android app for Mumble, the free and open-source voice conference system. It’s a fork of the old Plumble, which had been abandoned by the author a few years earlier. Written in Java, embeds some native audio libraries written C, uses Protocol Buffers for server communication.
A Go implementation of Network Time Security (NTS) extensions for the Network Time Protocol (NTPv4). Beginning in 2019, I’m hacking on this client with some friends. Trying to keep it inter-operating with other implementations as the IETF draft evolves. NTP, now also secure! And hopefully immune to abuse for amplifying of DDoS attacks. Thanks to rough consensus and running code, the NTS draft eventually became RFC 8915.
Beginning in 2017, I was helping out to run a mesh-network that provides free WLAN Internet-access on the streets of Malmö. The firmware used was Gluon/OpenWrt. To help us build the network, I built a tool using D3js for graphing the mesh connections. I was also looking at metrics collection and visualization using tools like Prometheus and Grafana. The project is now defunct.
2024-12-09T18:13:32 UTC