/  pdf

Daniel Lublin – Software developer & factotum

contact: d at lublin dot se

Skills & knowledge

I have extensive hands-on experience of software development and all sorts of information systems. As a generalist, I move freely between technologies. Comfortable in diverse, changing environments and enjoying interdisciplinary work. With a pragmatic and problem-solving orientation.

Social and communicative, with much experience of working together with new people. Our systems are often built in cooperation, and should in any case be constructed to be cared for collectively. Prefer simple and readable solutions, promoting reliable and maintainable software.

I am not afraid to try new things, to experiment and tinker. Iterate until success. Always learning and sharing the knowledge.

My competences spans all the way from systems design and development in various languages, on diverse platforms and at various levels of the stack – onto deployment and server administration. Striving for correctness and efficiency. Leveraging suitable tools and practices for working productively, also in distributed teams.

Service integrations, using APIs over suitable channels, or talking IPC. Metrics, data collection, processing, and database storage. Version control, code-review and issue-tracking systems. Tooling, build systems, integrations, and testing. Automation all around.

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.

Selected assignments

Tillitis, 2022–

Mullvad, 2022

Briar, 2021–

closed project, 2020–

Kastelo, 2019–2020

Axis Communications, Lund, 2016–2017

Beijer Electronics, Malmö, 2016

Netnod Internet Exchange, Stockholm, 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.

Talkative section

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.

I have much experience of networking, Internet services and infrastructure, and I’m 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 & nameservers, HTTP(S), SMTP, DHCP, IRC, XMPP, NTP/NTS. SSH, VPNs, TLS, certificates and CAs, …

I write text that is version-controlled and readable, often in Markdown, and use Pandoc to convert it to other formats. I even built an artist portfolio using Pandoc templates and some shell script: samanehroghani.com. A static site, with just a little Javascript for gallery navigation.

I’ve spent some time exploring Rust. There is a lot to learn about the language, but there is a lot of good documentation, and the compiler is very friendly. So far, I’ve used it to write a few lines of code to display the time on a 7-segment display hooked up over I2C to an old Raspberry Pi. I also tried using it to solve some of 2018’s Advent of Code challenges, before time got eaten. I’m also maintaining a small IRC bot that utters the titles of mentioned URLs, fetched over Tor.

Projects

Selection of community projects that I’m involved in.

Fruktkartan.se

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.

Mumla

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.

ntsclient

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 up to date as the IETF draft evolves. NTP, now also secure! And hopefully immune to abuse for amplifying of DDoS attacks.

Pjodd.se

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 was the OpenWrt-based Gluon. 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 projcet is now defunct.