• Development
  • Tmux vs Screen

    Here are some reasons why I recommend Tmux over Screen. Some are personal preference, some are not. If you’re a screen user, I recommend giving Tmux a try and making up your own mind (I have another post on how to setup Tmux, it won’t take long!). The status bar is much easier to configure […]

  • Development
  • Tmux & Cygwin

    Using Tmux & Cygwin together is the best console combination on Windows, if you ask me. I’ve been using this setup for over a year now, and my productivity is measurably better, my workspace more organized, and it looks cool to boot! I’ve also converted most of the developers at my workplace to this setup. […]

  • DevOps
  • How do S3 permissions work?

    Amazon S3 is a great (and cheap) content storage and delivery service, used by millions of websites and applications around the world. However, their permissions system can be opaque to new users, and difficult to understand, due to the variety of ways you can set permissions, and inconsistent terminology in different UIs. This post aims […]

  • Development
  • How does Git rebase work?

    I use git’s rebase command daily, it’s an invaluable tool for maintaining a clean and sane Git history. However, most people find it difficult to understand, or use it incorrectly, as it’s not the clearest command to use. The first thing to understand, is that rebasing typically refers to two different (but similar) operations: “Rebasing […]

  • My Projects
  • Enhanced Varnish Dashboard

    I run Varnish on a number of servers, and I don’t always have a full metrics setup (e.g. Graphite/Statsd/Collectd) setup. Also, sometimes I just want a real time dashboard to watch traffic (or my clients do). I’ve been using Varnish Agent 2 + the ITLinuxCL dashboard, which is lacking to say the least. The dashboard […]

  • Development
  • Understanding Arrays

    Arrays & hash maps are one of the cornerstones of modern computer programming. It’s almost impossible to write a useful program without them, so it’s critical that you understand them when you’re getting started with programming. In this post, I’ll explain arrays & hash maps, how they work, their differences, and when to use them.

  • Development
  • Encrypted Malware Payloads

    Recently, I was reading an article on the recently discovered hacker group dubbed the Equation Group[1], I stumbled across an interesting concept: encrypted malware payloads. Most server admins will inevitably have the experience of dealing with a comprised system, especially if you host sites running WordPress[2][3], IPB[4], vBulletin[5], Drupal[6], or a host of other systems […]