Quick Tip: Gist From the Command Line

Many a time while working it is convenient to quickly show someone else code or a chunk of output from some command. The easiest way to do this is through a pastebin service. It’s also pretty much mandated on IRC to use a service like this and there are literally thousands out there to choose from. The gist service on github is actually fairly convenient especially if you have a github account since it keeps an archive of all of your previous gists. [Read More]

Using Mongo and Map Reduce on Apache Access Logs

Introduction With more and more traffic pouring into websites, it has become necessary to come up with creative ways to parse and analyze large data sets. One of the popular ways to do that lately is using MapReduce which is a framework used across distributed systems to help make sense of large data sets. There are lots of implementations of the map/reduce framework but an easy way to get started is by using MongoDB. [Read More]

Deploying A Catalyst App on Private Hosting

Intro In the last post I wrote about deploying Catalyst on shared hosting. While shared hosting may seem attractive pricewise, you’ll quickly grow out of it, and it makes sense to move to hosting with some more control if you are serious about your website. There are lots of choices when it comes to where you may want to host, and if you are looking for virtual options, Slicehost, Linode, prgmr, or even Amazon EC2 are great choices. [Read More]

Deploying a Catalyst App on Shared Hosting

Intro People have long complained that one of the tricky things about perl is the deployment phase, much because of the intricacies of mod_perl and its unfriendliness towards shared environments. In fact, I would highly recommend FastCGI over mod_perl since it is quite easy to understand and configure. This post is going to focus on smaller shared hosting environments, and how easy it can be to quickly deploy a Catalyst web app. [Read More]

Using DBIx::Class to Version Your Schema

Intro to DBIx::Class In my opinion DBIx::Class is one of the best ORM solutions out there. Not only can it model your database, including mapping out any foreign key relationships, it can also be used as a canonical point of reference for your schema. This means we can use it not only as an application layer interface to the database, but can also define a versioned database structure using the code, where if you add a field into your result class, you can generate a version of alter statements and a DDL just by running a simple script. [Read More]

Make Browsing Code Easier with Ack and Ctags

Intro When working with open source software, its essential to know how to navigate large code bases, perhaps unfamiliar and quite large. There are a few tools I use to do this that should be part of any developers arsenal, and they are: ack and ctags. Ack can be thought of as a faster and more powerful grep. It searches recursively by default, ignores binary files and most version control files (think . [Read More]
ack  c++  ctags  java  perl  php 

Using SQLT to Create Database Diffs

Overview Database diffs can be useful for a variety of use cases, from outputting the differences in your development versus production schema to full blown database versioning systems. A database diff is similar in nature to a file diff, but instead of outputting the differences between two files, it will output the set of alterations to be made to bring one databases schema in sync with another. There are a variety of tools that will accomplish this for you, but I am going to use a tool called SQL::Translator. [Read More]