Hello.

I'm @akx (twitter, reddit, keybase), a programmer generalist and general enthusiast from Finland.

I'm one of the maintainers of Babel, an internationalization library for Python.

My stuff

Here's a list of some of the stuff I've done. It most likely is not complete nor up-to-date. You can always check the repos page for more. :)

Audio

suppisyn

Stochastic sampling synthesizer from a friend's voice

veryloudsite

#radix_challenge hack for Junction 2016

chromon

Stochastic scale-based sequencing with a sampler

reascale-js

Reads Reascale files, outputs JavaScript. Built as a dependency of Chromon.

cosmicdrone

Subtly oscillating drone machine.

geoseq

Geometry-based web audio sequencer

maskin

A cross-modulating synth sequencer toy.

tune2youtube

Converts music to video with cover art, ready to upload to YouTube.

EFFTHATNOISE

A bytebeat livecoding environment.

stk-js

Hand-transforming the Synthesis ToolKit to JavaScript.

arpy

A Web MIDI arpeggiator/step sequencer thing.

spotify-tools

XXX: Missing description

python-portmidi

Some MIDI/OSC stuff

noisykeys

A little C# app that mutes microphones when noisy keyboards are abound.

Notifications

Some libre notification sounds.

fxfxfx

Old-skool noise/sound effect generator for Windows

chopshop

Chops WAV files into slices of equal count or duration

Data

nutritious

Normalized nutrition data

band-stars

Band Stars Data

bk-suomi-menu

A menu for a fast food chain that only serves their menus as images.

ant1gravity-hearthstone-tier-lists

Parses Ant1gravity's Hearthstone tier list spreadsheets into a more greppable form.

Development

cookiecutter-js-sketch

Cookiecutter template for live-reloading JS sketches

lepo

Contract-first REST APIs in Django

pyttipannu

Simple recipe aggregator project used for an internal training at Anders.

espy

Elasticsearch introspection utility

django-soft-choice-fields

Choice fields that don't record the actual choices lists in migrations.

django-i18nkit

Making Django internationalization a little easier

docker-mapnik

Mapnik Docker container with Node and Python bindings

foofdf

Simple tool to fill PDF forms based on FDF/XFDF/JSON

d2d

Data-to-Data transformer tool

mklocale

A small utility to download and combine translations

pytest-repeat

Repeat py.tests.

abyss

A statistical profiler and flamechart generator for Python

Games

words

A word finder.

evotd

EvoTD, my contribution to Ludum Dare 24 (2012)

Graphics

watercolour

Watercolour generator

gifify

A tiny Python script for making high-quality GIFs out of videos.

my-video

Dynamic kinetic typography video for Childish Gambino's Put It In My Video

circgen

"Circuit" image generator I once wrote for a friend.

ltag

Laser graffiti (L.A.S.E.R. Tag) software.

Built out of frustration with the architecture and performance of the GRL's software.

Includes support for single-touch TUIO input in addition to built-in OpenCV blob tracking.

GRL-LaserTag

Graffiti Research Labs' LASER Tag, with updates

glitch2

HTML5 Canvas glitch effect generator

tritri

Kinetic triangles in SVG

ix

Stack-based image processing toy language

mashed

Full screen JPEG glitch

islands

JavaScript island map generator (circa 2013)

glmr

Canvas trails/drawing hack.

qta

Pretty particle chamber simulation (Windows)

Internet

reddit-tv

Infinite distraction, powered by /r/youtubehaiku

IoT

iotlog

Tiny HTTP IoT data logger

homekit

Backend & frontend for a tablet-based home "automation" display

Libraries

dot3k-c

A C library for Pimoroni's Display-O-Tron 3000

gravelly-js

Object-oriented API for generating SVG path strings

minigradient-js

Mini-library for gradient interpolation

foamy

Simpler SOAP for Python.

Other stuff

neat

beta.eat.fi data visualizer (proof of concept that it doesn't have to be slow)

docker-chrome-dev

Headless Google Chrome! In a container! On a whale!

yle-kuntavaalit-2017-data

Data about the 2017 Finnish municipal elections, scraped from yle.fi

webpack-css-bundle-example

Webpack2 multiple entrypoint CSS extraction example for Koodiklinikka

tinydynip

Yet another DynIP updater

rahe

Retrospective personal budgeting

summarize-sync-io

Summarize Node.js --trace-sync-io logs

sshw

Goodifying terminals for SSH!

uni

Unicode map on the command line!

runway

Declarative budgeting

pizzeriat

Data about Finnish pizzerias

diskbunny

A :rabbit: for your :file_folder:

touchy

Node.js server to translate OSX touchpad data to web sockets

xerador

A name generator

slack-topical

Topic-augmenting bot for Slack

slacktrack

Lazy Slack archiver

peep

What if you could only see just a little bit of the web?

A bookmarklet I made for a friend who was working with visually impaired people, with the idea that you could show how hard it is to navigate the Internet if you can only see a tiny bit of each page.

Presentations

demystifying-webpack

Demystifying Webpack – presentation & code

Tools

s3-dupes

S3 duplicate object detector & deletor

billtag

Hackery bill splitting

funfun

Easing function generator and visualizer

Utilities

redwall

Download wallpapers from Reddit

mixdesk

Electron-based Mixcloud.com client

ttf-embed

A fork of Tom7's ttf-embed

npdeck

Extract "Now playing" from Winamp/Foobar2000 into text files and/or images.

Built for OBS-Studio, but could be useful for other uses.

tcd (aka tiny colorful dots)

Tiny Colorful Dots - a simple, small, fast light color picker

license-grep

Figure out licenses for the current Python/NPM/Bower environment

caldera

Utilities for distilling data from the Unicode CLDR

smh

just a little file-watcher-child-process-reloader.

unimap

An Unicode map in the browser!

duplica

A fast file duplicate finder in C#

git-kit

Some extension commands for git

bro-py

Unofficial Bropages.org Python client

Remote

Remote system session manager for Windows

requiem

Silliest Debian/Ubuntu provisioning toolkit

lauo

Incomplete yet functional fast file launcher (like Launchy) for Windows

Web

rd

Reddit downloader/video link detector

Webdev

picotable

Tiny, fast data grid built on Mithril.js

djembe

Django template toy environment (for learning!)

hayes

Simpler Elasticsearch (for Django, and otherwise)

stateside

Layer comps for HTML.