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 […]
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. […]
Asynchronous JavaScript with Callbacks
This is a brief introduction to asynchronous JavaScript using Async.js and callbacks. Async.js is a very common library that makes it easier to do a variety of tasks using JavaScript.
My thoughts on software licenses
Whenever you release a piece of code, a library, or any other software package, you should include a license so that other people may legally use your software. You may not think it’s a big deal, but if you don’t include a license, a lot of people won’t be able to (or feel comfortable) using […]
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 […]
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 […]
Enhanced Varnish Dashboard
canada goose celine bags 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). celine bags I’ve been using Varnish Agent 2 + the ITLinuxCL dashboard, which is lacking […]
Before asking for help, make sure you understand your tools
I’m writing this blog post in response to Why Rockstar Developers don’t Ask for Help and So you want to be a Developer Rockstar?. Despite the use of the ridiculous term “Rockstar Developer” and quite a lot of humble bragging, I think the author is on to something, but just barely missed the mark. I […]
Understanding Arrays
celine bags 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 […]
Encrypted Malware Payloads
canada goose 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 […]