Software engineer @stripe; I write books and code.

Studies: LPCUWCU. HelsinkiAalto U.

Work: Finnish Defense Forces → Own company → ZendeskTrifactaStripe!

Social media: Twitter, Github

Books I've written

Learn CSS Layout the pedantic way (2015)

Walks you through every major concept in CSS layout, without trying to simplify away the underlying mechanisms described in the CSS 2.1 and flexbox specs.

Alternative formats: Github, Single HTML page, PDF.

Distributed systems: for fun and profit (2013)

An introduction to distributed systems.

Alternative formats: Github, Single HTML page, Kindle .mobi, PDF and .epub.

Single page apps in depth (2013)

Single page web apps and good practices around writing single page apps.

Alternative formats: Github, Single HTML page, Kindle .mobi, PDF and .epub.

Mixu's Node book (2012)

Node.js patterns and core libraries, JS gotchas, control flow and Socket.io.

Alternative formats: Single HTML page, Kindle .mobi, PDF and .epub.

Popular Github projects

nwm

Tiling window manager for X11 written in Node.js

markdown-styles

Markdown to HTML generator and multiple CSS themes for Markdown

npm_lazy

A lazy local cache for NPM to make your local deploys faster

minilog

Lightweight client & server-side logging with Stream-API backends.

gluejs

Build CommonJS modules for the browser via a chainable API

radar

High level API and backend for writing web apps that use push messaging

Unpopular but fun projects

electroshot

Capture website screenshots with optional device and network emulation as jpg, png or pdf (with web fonts!) using Electron / Chrome.

markdown-styles-lambda

Automatic static site generation on git push using AWS Lambda and markdown-styles using a Gulp-style API.

pipe-iterators

Like underscore for Node streams. Functions for iterating over object mode streams: forEach, map, mapKey, reduce, filter, fromArray, toArray, devnull, pipe, head, tail, through, thru, writable, readable, duplex, pipeline.

datalog.js

A trivial Datalog with top-down and bottom up evaluation written in Javascript to learn how Datalog evaluation works.

gr

Multiple git repository management tool

ghost-render

Render static blog sites from Markdown using Ghost themes

archey.js

Archey.js is a system information tool written in JS (based on Archey)

nplay

Console-based mp3 player with Winamp key bindings and jump-to-file

tmux-cpu

Display CPU usage in your tmux status bar or in the terminal.

tmux-mem

Display memory usage in your tmux status bar or in the terminal.

microee

A tiny client and server -side EventEmitter for routing events.

token

Time-limited, HMAC-based authentication token generation

snapshot

Serialize circular references, custom objects and other types not supported by JSON

vectorclock

A simple implementation of vector clocks in Javascript.

espresso

Syntax highlighting theme for Sublime Text.


Talks

  • On single page apps at HTML5Conf 2012 in SF
  • On real-time at larger scale at NodeConf 2012 in Portland
  • On Node and Socket.io at Zendesk at Node.js Club SF on November 30th 2011 in San Francisco
  • On Node.js at Frontend.fi on May 11th 2011 in Helsinki