Hosting Trac with Passenger and nginx

As well as being able to host Ruby applications with Rack, Phusion Passenger can also host Python applications with WSGI. This article shows how I set up Trac on Debian with nginx and Passenger.

Read more

Custom meshes in Ogre3D

Recently I have been working on a small project using the Ogre3D rendering engine and needed to dynamically create a mesh at runtime. There is an example on the Ogre3D wiki but it assumes you have some underlying knowledge on the way meshes are represented by lower-level APIs such as OpenGL and Direct3D so I decided to write this blog post to give some more detail.

Read more

Elementary cellular automata in Ruby

Stephen Wolfram’s elementary cellular automata are something I read about a while ago and thought looked quite cool. Cellular automata, in general, are grids of cells which evolve over time without any external input. I decided to write a small Ruby program that would be capable of calculating a new generation for any elementary cellular automaton given an initial state.

Read more

IP over DNS with Iodine

If there are any two services your school or workplace allows through their firewall, you can be almost sure they are HTTP and DNS. Unfortunately, HTTP access is usually filtered, and if your network admins are anything like mine, lots of useful, legitimate websites get blocked for no reason. I used to abuse the CONNECT method to establish a TCP connection to my SSH server and from there would tunnel traffic using SOCKS over the SSH connection to be able to browse properly again.

Read more

Generating sitemaps with Rails

Sitemaps are XML files sitting on your web server that are used to give hints to search engines about the existence of new pages, how often pages change and the priority a search engine should give to each page.

Read more