Charlie Harvey

Geekery

110 Geekery articles in total, showing 11 to 20

  • Why sum and product types?

    Why sum and product types? cover image

    When reasoning about functional types it sometimes helps to take a step away from the compiler and delvelop some informal intuitions about why things work the way that they do.When I read about algebraic data types they seemed rather complex notions. Algebraic data types, I discovered from wikiped

  • Tip: Jitsi main screen blank on xmonad

    Tip: Jitsi main screen blank on xmonad cover image

    I was just having a very headscratchy problem running Jitsi on debian on top of my xmonad windowmanager. I am adding this super quick tip in case anyone else encounters the same issue.When running jitsi, the main interface screen is completely blank. A big grey nothing. After a

  • SSH: to change port or not to change port

    SSH: to change port or not to change port cover image

    There are strong opinions on whether to run your SSH daemon on ports other than the default 22. On the pro side, the argument is that most automated tools only check port 22, so you reduce your exposure to random script kiddies by not running it there. That’s just security by obscurity say t

  • OpenTech 2015: My Highlights

    OpenTech 2015: My Highlights cover image

    This year, it was 10 years since the first OpenTech event. I’ve been to a fair number of the events and I rate it as one of the best tech conferences going. It is cheap (a fiver for the day), has reasonably good politics and a good percentage of the speakers are women -- unfortunately a rare t


  • Why is Math.max() less than Math.min()?

    Why is Math.max() less than Math.min()? cover image

    A while back I wrote a post called Javascript: the Weird parts primarily for my own amusement. It listed some of my personal favourite wtfjs-type Javascript idiosyncracies. In this post I want to look in more depth at one of those idiosyncracies. I want to investigate exactly why Math.max() is les

  • Video: Guy Steele’s Growing a Language Talk

    Video: Guy Steele’s Growing a Language Talk cover image

    I recently chanced across a truly wonderful talk by Guy Steele, one of the creators of the Scheme programming language. He gave the talk at the 1998 ACM OOPSLA conference, but it touches on some timeless themes in communicating with computers.The talk focusses on the need for us to build languages

  • Quick tip: Making files immutable on GNU/Linux

    Quick tip: Making files immutable on GNU/Linux cover image

    The other day, I was having some problems with Network Manager (I only ever have problems with it to be honest). It kept overwriting my /etc/resolv.conf — the file where you configure what nameservers your system will use. Even after I uninstalled Network Manger, on rebooot I would find my