Preventing Cross-site Scripting (XSS) with CakePHP 2.x

Without proper care, developers can leave their CakePHP website open to cross-site scripting attacks. Controllers using scaffold functions do not take care to sanitize data, and leaves the website vulnerable. When using the bake tool in the console, it generates controllers as simple as the scaffold version. Some suggest storing the unsanitized data and escape the dangerous characters on output. In a perfect world I would agree with this approach, but it is easy to forget to sanitize output every time, or for an amateur developer to be ignorant of the dangers.

Setting up CraftBukkit Minecraft Server

CraftBukkit is a modified version of the Minecraft Server that implements a framework for extending the server with plugins. We'll cover a good Bukkit Minecraft server setup in Debian/Ubuntu based distributions with a few words on maintenance and configuration with security in mind.

Check out our custom minecraft server available at

Getting Started with Vim

Beginners are often scared away from vi and vim from the start because the first thing they usually do is open it, try to start typing, and then see all kinds of random things happen, none of which type text to the screen. They even have trouble trying to quit! Well, fear no more, I've got the basics outlined here for you. For the record, vimtutor should come with your vim and it is the best place to start.

Customizing Gnome 3 Desktop Environment in Arch Linux

Arch Linux is known for being a lightweight do-it-yourself distribution. Unlike some other distributions like Ubuntu and Linux Mint that come with a preconfigured desktop and all the programs installed, Arch Linux let's you build things up from the ground up yourself. For the uninitiated this can be an intimidating task, but it's not that once you wrap your mind around it. I'm going to go over customizing a Gnome 3 desktop environment including icons, cursors, themes, wallpapers, etc.

Customizing Openbox Window Manager in Arch Linux

This article will walk through all the steps needed to create a unique and personalized desktop. I'll cover fonts, icons, mouse cursors, GTK themes, Openbox themes, Openbox menu generation, wallpaper and system monitors. In my example I will will make references to packages contained in Arch Linux. The same packages should be available for any popular Linux distribution, although the names may change slightly.

Installing, Configuring and Customizing Arch Linux

Arch Linux is a great distro that boasts bleeding edge up-to-date rolling releases as well as a very light and efficient base install. There is no graphical install and it expects you to have some basic Linux chops already just to perform the installation. Beginners shouldn't be scared away though because Arch Linux has a great wiki and awesome documentation.

Installing and Configuring FreeNAS 8.3.1

FreeNAS is a great option for home or enterprise level network attached storage(NAS.) It is based on FreeBSD so it benefits from many of the unique BSD tools like jails. Jails are a secure way of segmenting a process. The plugins available run in jails to help with security. Installing FreeNAS itself is as simple as following the prompts. I'm not going to cover the base installation because it is simple, but will focus more on the post-install configuration. Note that the drive you install FreeNAS to can't be shared over the network.

Node.js Href Scraper by Extension

This is a very simple script that takes two input arguments: a file extension and a URL. It will parse the given URL and output a list of all href's that point to the specified file extension. It is incredibly basic and meant mostly as an example. Note that cheerio and request packages are needed from npm. They can be installed using:

npm install request cheerio

For more information about what is going on, read this article Writing a Web Scraper in Node.js.