# Christoffer Stjernlöf

## (~kqr) a@xkqr.org *

If you like anything you see on this page, I'd love to hear from you so I can tell you more about myself and answer any questions you may have.

# Egōmet

Ever need someone who would love nothing more than to solve whatever your hardest problem is?

Ever need perspective on the whole system, from client to electron holes?

Ever need a human Wikipedia?

Ever need someone to explain something that just won't make sense?

I absorb knowledge like a sponge and I solve things like sodium stearate. (Incidentally, I also ensure my macros are hygienic.)

I have been doing software development almost daily since I was twelve. I have been involved in all aspects of computers and computing. I like applying my wide array of experiences to find existing solutions to tough problems. I also like throwing out previously unquestioned assumptions in order to find novel solutions that work even better.

# Experience

Systems Person The Loop54 Group Sept. 2018–ongoing

Building and maintaining the infrastructure and tooling around a machine learning core that provides possibly the first truly relevant product search engine for e-commerce.

Side duties include reliability engineering, data analysis, system architecture, leading continuous improvement of development processes, hosting training sessions with the team, and mentoring junior coworkers.

Responding to both customer requests as well as being on-call within the scope of managed hosting. Running both virtual and physical servers and clusters of servers with a DevOps mindset using configuration management tools like Ansible. Continuously improving workflows by, among other things, reducing false alarms and centralising log collection.

Teaching Assistant kth Royal Institute of Technology Dec. 2017–Apr. 2018

Giving students an opportunity to reevaluate their assumptions about confidentiality, integrity, networking, data validation, and other attack vectors by asking the right questions to expose the critical mechanisms from their individual perspectives.

Test Automation Engineer Ericsson May 2017–Aug. 2017

Took the words of McKittrick seriously, constructed software to take the men out of the loop. Automated testing improved release cycle times by several orders of magnitude. Done as a followup to our Bachelor's thesis work where the initial specification for the system was created.

Software Developer AGoodId Sept. 2014–Aug. 2016 Jan. 2017

Backend, frontend, Python, JavaScript, PHP, networking, server administration, you name it. Software developer role turned sort of a technical do-it-all. First during a two-year break in my studies, then for a shorter project in parallel with my studies.

Built and improved web systems, maintaining both the current and legacy versions of the in-house cms. Projects include developing a complete digital application process for Beckmans College of Design as well as creating a searchable public web interface to the grant database of Stiftelsen Lantbruksforskning.

Private Tutor independent Oct. 2014–Aug. 2016

During my break in studying I was no longer eligible for MyAcademy, but privately just had to keep up with what is probably one of the most rewarding jobs on Earth.

Private Tutor MyAcademy Oct. 2013–May 2015

Worked evenings converting free coffee into subject mastery for my students. It is incredibly satisfying to do experiments across time where

$$t_0$$ can be summarised with Don't expect too much of me. I hate $$x$$, and I have always been bad at it. I just want to pass the course, where $x \in \lbrace \mathrm{maths},\; \mathrm{physics},\; \mathrm{chemistry} \rbrace .$

$$t_1$$ can be summarised with Oh, wow. I never thought I'd say this but $$x$$ is actually fun! At least once you understand what's going on.

Junior IT Consultant Track 27 Technologies 2012

Administrator of small office networks. Computer cleaner for laptops used by sida.

# Education

Master of Science in Engineering kth Royal Institute of Technology Aug. 2011–May 2014 Aug. 2016–May 2018

Working toward a Masters degree with a focus on computer science. Taken master-level courses (and been a teaching assistant) in computer networking, computer security, and artificial intelligence.

Secondary Education Värmdö Gymnasium 2008–2011

Graduated with a focus on natural sciences, specialised in mathematics and computer science.

# Enterprises

Two-Wrongs

My primary outlet for technical writing, whenever I get the time. People like the design. And sometimes even the articles.

dev.xkqr.org

My personal Phabricator instance, where I keep some of my more recent pet projects. I do code review of my own code; that sounds sad, but it's not, because it actually works!

StackOverflow Profile

When I didn't have Two-Wrongs, I wrote some more and some less popular answers on StackOverflow. Thinking back on it, I think I have discovered a four-step plan to getting a bunch of rep. Feel free to ask me about it.

GitHub Account

This is where I used to put my personal projects. Code quality is all over the place.

Flickr Profile

I haven't updated in a while, but this is where I used to put some of my photography.

# Expertise

Programming

Be it in Haskell, Python, C#, Java, awk, Ada, C++, Common Lisp, or plain posix shell scripts, I can probably do it.

Systems

I am a firm believer in lean principles, optimising for being wrong, and continuous improvement. Since discovering Statistical Process Control, I have been more productive than ever; it is an amazing tool to separate signal from noise. I also think stamp happens to be a great framework for looking at system safety.

Over 12 years of experience running Linux (primarily Debian-based and rhel derivatives), both professionally and for my personal computers. Home server and network running Freebsd for the past few years. I happily analyse peformance issues with ebpf and dtrace.

Networking

I can give an impression of knowing what I am doing when it comes to firewall configuration (pf and iptables), setting up dhcp and caching/local dns servers (dnsmasq, bind), routing, vpn. Also some experience with email configuration (Postfix, spf, dkim etc.)

Services

I have many times configured web servers (mostly nginx but also Apache) with tls using Let's Encrypt certificates, as well as relational databases (mainly Postgresql but also Mysql when held at gunpoint.)

Miscellaneous

I am a great fan of asymmetric cryptography, pgp, and use Gnupg for my personal signing and encryption needs.

# Enthusiasm

Photography

My only socially acceptable outlet for creativity. Mostly digital, but there are very few things that beat the magic of the darkroom. Even if you don't care about photography, seeing a print develop under the safelight truly feels like magic.

Linguistics

There is something fascinating about picking apart the atoms of communication we take for granted, and figuring out how they came to be what they are. For example, Swedish programmers think of the word "stack" as an English word – but it can be traced back to Nordic origins! (See also: myrstack (anthill) and höstack (haystack), where the latter is probably how it ended up in English in the first place.)

Bicycling

Borrowing the words of Ivan Illich: Man on a bicycle can go three or four times faster than the pedestrian, but uses five times less energy in the process. He carries one gram of his weight over a kilometer of flat road at an expense of only 0.15 calories. The bicycle is the perfect transducer to match man’s metabolic energy to the impedance of locomotion. Equipped with this tool, man outstrips the efficiency of not only all machines but all other animals as well.

Data Visualisation

Good visualisations turn humans into highly efficient computers. There are some things evolution has taught humans to do really quickly, and we can exploit that ability if we can just create images out of data in the right way.

Running

Besides my curiosity for the biomechanics of running, it requires little to no equipment, and happens to be a very cost-effective type of exercise. It's also a great way to get around, learn an area, and see new things.

Shorthand

It looks beautiful, but it is also the way text should be written by hand. Latin letters are seriously complicated – so why keep using them? Shorthand lets you write faster, with less effort, and more frequently than longhand. Contrary to dictation, it also supports random access.

Go (game)

There are so many good reasons to like go (or weiqi, or baduk, or whatever you want to call it.) The importance of fundamentals, the value of true strategy, the power of flexibility. How it flows like water, how it relates to the constellations in the sky, how the history of a game is preserved on the board, how it appeals to intuition – yet remains mysteriously elusive.

Oh, and I love learning new things.