Software engineer @stripe; I write books and code.
Studies: LPCUWC → U. Helsinki → Aalto U.
Work: Finnish Defense Forces → Own company → Zendesk → Trifacta → Stripe!
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