JavaScript for Hackers

A Successful Git Branching Model - Nvie

Devtools Console, From Novice to Ninja - Adnane Belmadiaf

Code Life a Chef: Work Clean - Greg Bauges

Installing Tmux in CentOS

I’ve recently started a job at Simple Simple Advertising, and have spent my first week optimizing servers and configuring proper dev environments, all of which are CentOS. While CentOS is a rock-solid OS, I’m not particularly fond of the 100% binary compatibility concept, since I don’t try to run 100% of the available software on a single server, and test my stacks before they reach production. I’m far more interested in having semi-recent packages with security fixes, and tools that make my life easier. Tools like my Dotfiles and the configurations that they contain, along with tmux and Zsh for managing multiple windows within a single ssh connection. Sadly, CentOS’ version of Tmux does not work. More specifically, tmux won’t start with the Zsh config I’ve built, so I built a more recent version from source.

Read on →

Dotfiles - a ~/ Away From ~/

I’ve built out a nice little environment for myself, that I bring to each server I’m regularly working on through the use of Dotfiles. At its core, Zsh provides an attractive and helpful prompt, while Tmux provides panes, windows, and session resumption. There are Vim and Irssi configs as well, since I make heavy use of both.

The process of bringing an entire repository of config files to a new server, and then keeping all (1, 5, 10, 100) servers’ configs in sync is a daunting task. Thankfully, there are tools that exist to handle the heavy lifting, and setting up your environment takes just a few minutes.

Read on →

Prevent Server Version Leaks in MediaWiki’s Special:Version

Setting up a knowledge base or wiki is a great way of keeping people (coworkers, clients, strangers, and anyone else you can think of) informed about certain topics, and MediaWiki is one of the most popular choices for this. It powers Wikipedia, the worlds largest general reference work, and thousands of other wikis on a variety of subjects.

While obscuring version information should never be your only form of security, it makes life slightly harder for anyone looking to vandalize or penetrate your webserver. By default, MediaWiki will tell anyone who will listen what software you’re running (example), and there is no obvious way of disabling this. The solution? Let’s dig into the code behind this page, and cut it off at the source.

Read on →

Securing a Linux Server

It is a rarity to watch someone secure a freshly installed server right off the bat, yet the world we live in makes this a necessity. So why do so many people put it off until the end, if at all? I’ve done the exact same thing, and it often comes down to wanting to get right into the fun stuff. Hopefully this post will show that it is far easier than you think to secure a server, and can be quite entertaining to look down from your fortress, when the attacks begin to flow.

This post is written for Ubuntu 12.04.2 LTS, however you can do similar things on any other Linux distribution.

Read on →

Setting Up NSD3 for DNS

There are two major players in the Domain Name System server market: Bind and NSD. The former has been around since the 1980s and makes up a majority of the installations in use today, while the latter saw its first release around the turn of the century, and is designed to be purely authoritative (incapable of recursive DNS queries). While selecting a DNS server for Ambrose University College, NSD’s ability to easily run from a Chroot, and its lightweight footprint (currently using 69MB of RAM for the entire server), easily won our vote. Furthermore, NSD can make use of BIND’s zonefiles, and the migration from our old server was complete in a matter of minutes.

Read on →

Testing, 1 2 3. This Is a Test.

I’ve decided to give Octopress a chance, and so far I’m enjoying it far more than Drupal. While a content management framework is great, I’ve always found that there is far too much bloat for it to be used as a blogging platform. On top of that, Markdown is a fantastic language, and being able to easily write beautiful code through it is extremely enticing.

Only time will tell if this results in me posting more frequently, but I’m optimistic.