/  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 knowledge 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 in a cooperative manner. No stranger to working remotely, 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.

Buzzwords for that:

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 do get a lot of things done on the command-line, which leans itself well to automation.

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 common, free 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.

Selected assignments

Briar, 2021–

closed project, 2020–

Kastelo, remote, 2019–2020

Volvo Cars, Lund, 2017–2018

Axis Communications, Lund, 2016–2017

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.

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

An Android app for Mumble, the free and open-source voice conference system. In 2020, I forked the old app Plumble – abandoned by the author a few years earlier – to begin maintaining it. It’s written in Java, embeds some native audio libraries written C, and 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

Since 2017 I’m helping out to run a mesh-network that provides free WLAN Internet-access on the streets of Malmö. The firmware is the OpenWrt-based Gluon. To help us build the network, I built a tool using D3js to graph the mesh connections. I’m also looking at metrics collection and visualization using tools like Prometheus and Grafana.