Tom's Blog - The pay's not great, but the work is hard
Tags
  • Unit testing with types

    2016-04-22

    I’m an incredibly sloppy programmer, and I lean on the compiler heavily to help me not be stupid. One of my favourite things is to use types to enforce properties of data. …

    #Haskell

  • Quick IPython shells with nix-shell

    2016-02-11

    I often want to quickly experiment with a Python package without the whole virtualenv shenanigans. For that I have an ipython-nix command in my .bashrc: …

    #Nix#Python

  • A lot of websockets in Haskell

    2015-11-05

    I really enjoyed reading how the phoenix-framework people managed to get to two million active websocket connections. I’ve heard some very smart people say that Haskell has an amazing runtime with very cheap threads. I have no reason to disbelieve them but we thought it’d be fun to see how Haskell fares in a comparable setup. …

    #Devops

  • The four horsemen of design

    2015-02-26

    As a fairly technical agency we do occasionally need help from our fantastic freelance designer to get a good looking product. You can read her take on design rules here. …

    #Misc

  • Experience report: Rocket lander in Elm

    2015-02-15

    Writing anything substantial in JavaScript is hard because JavaScript lacks many of the tools programmers expect these days, like a coherent and strong type system. …

  • How does a Dokku work?

    2015-01-19

    There are many implementations for running code in a way pioneered by Heroku which is basically this: …

    #Devops

  • Solving Sudoku with a SAT solver

    2013-10-06

  • Stuff I learned - 3

    2012-05-22

    #Misc

  • Stuff I learned - 2

    2012-04-17

    #Misc

  • Load balancing via iptables

    2012-03-09

    Traditionally balancing between web workers has been implemented with a prefork server. I.e. the controlling process opens a socket, forks a few workers who then accept on that socket. The kernel will distribute the load accordingly. …

    #Devops

  • 1
  • 2
  • 3
  • 4

Tom's Blog

Powered by Hugo and the Notepadium