EllisLab hiring to the support team

EllisLab is hiring an ExpressionEngine Technical Support Specialist. I won’t bore you with the job specifics (you can already follow a link and are literate) but I will say that 3 out of the 4 people doing development started in the support team (the forth fourth is Rick… who apparently founded the company or something), as well as the Director of Community Services.  I’ll also tell you that its fun, the EllisLab staff are awesome, and working on the product is rewarding.  If you are a CodeIgniter user and thinking about it, drop me a line, I’d be happy to answer questions.  The truth is, aptitude and attitude are universally more important then experience (although, that goes a long way to help). Its a part-time position, so you can get your foot in the door, and still keep freelancing if you wish.

Fluid, Campfire, DataMapper and useful links

In no particular order, here are some things that I’ve found interesting, useful, or funny.  Mostly useful.


A Site Specific Browser (SSB) that you can use to run web applications in.  I use it for BambooInvoice, ExpressionEngine and Campfire.  It rocks my socks.  Find it at

Growl Notifications with messages for campfire and fluid

I tried using Pyro as a client for Campfire, but it didn’t go so well.  It looks like promising software, but for now… wasn’t working.  Enter my favourite app from above, Fluid handles it like a champ, but one thing that was bugging me was the lack of Growl notifications (if you aren’t using Growl yet and are on a Mac, go install it right now).  First result in Google was Growl Notifications with messages for campfire and fluid.  :: sniff ::... its like they read my mind.

Also useful is the Fluid Icons Flickr group.  I’ve got to get one for BambooInvoice into there…


DataMapper is an Object Relational Mapper written in PHP for CodeIgniter. It is designed to map your Database tables into easy to work with objects, fully aware of the relationships between each other.  Well documented and with a loyal following, it looks like Simon Stenhouse has a real winner on his hands.  I’m hoping to find time to really sift through the code but so far haven’t had the chance.

[edit: And D’oh! I was a fool for not also mentioning IgnitedRecord at the same time!  Thanks for the comment m4rw3r.]

Sequel Pro

Sequel Pro  is a desktop program for managing your MySQL databases.  It runs beautifully, and I think I’ve mentioned it before, but was asked again recently about it.  The only catch I found is that with Mamp I needed to set the “socket” to “/Applications/MAMP/tmp/mysql/mysql.sock” when connecting.

ExpressionEngine Plugin: SS Friendly 404

The SS Friendly 404 plugin suggests relevant pages to users on your 404 page. It is used in your 404 template and returns suggested weblog entries based on the final segment of the 404 URL.  Well documented and cleanly implemented.  Well done!

jQuery Pumpkin

Found in the jQuery blog, the jQuery pumpkin had me smiling for 30 minutes.
jQuery pumpkin

CodeIgniter 1.7.0 Released

CodeIgniter 1.7.0 just released.  Get it while it’s hot!  New validation library, greatly enhanced form validation, some sexy loader enhancements and “whacks” of fixes including significant work in active record.  For a list of all changes please see the change log. My personal favourite is this bug which I was proud to squash:

Fixed an edit from 1.6.3 that made the $robots array in user_agents.php go poof.

“Poof” you see… is the technical word for what was experienced.  Now that’s good developin’ fella!  Official announcement is here… but its not nearly as colourful as this post.

Freakauth : community driven CodeIgniter authentication


It is often said, but one of the great things about the CodeIgniter project is the community that sprung up around it.  Hardworking, smart, insightful, patient people. A true “open source” community willing to share in their time, expertise and enthusiasm.  Too often these people don’t get the recognition they deserve.  I just wanted to take a moment to mention one that I’ve always admired - FreakAuth.

FreakAuth is mostly driven by danfreak and grahack.  The project is well documented, highly popular, and frankly, very useful.  The kind of project we’re lucky to have.  Show your appreciation by dropping them a “thank you” or as I did, make a small donation to a worthwhile project.

Thanks Dan and Grahack.

CodeIgniter session changes when using a database

An oft-requested feature has been implemented in CodeIgniter’s session class.  If you use a database to store your session info, then all user data will now be in the database, rather then an encrypted cookie.  From the subversion repository’s changelog

Updated the Sessions class so that any custom data being saved gets stored to a database rather than the session cookie (assuming you are using a database to store session data), permitting much more data to be saved.

More details available in the manual.  Please read the svn upgrading instructions, as a new field needs to be added to the database for this.

CodeIgniter Libraries in subfolders

Quietly last night CodeIgniter gained the oft-requested ability to load libraries from subfolders.

Added the ability to store libraries in subdirectories within either the main “libraries” or the local application “libraries” folder.

Many more good things abound in CI-land.

Where’s that file coming from?

Courtesy of PHP::Impact ( [str Blog] ), here's a detailed "map" of the CodeIgniter system's file structure when loading files. Its beautiful.

CodeIgniter File structure

Cool Stuff for Cool People

Man there’s good stuff on the net, and sometimes I even get a moment to read it!

CodeIgniter 1.6.3 & ExpressionEngine 1.6.4 released

Despite mad work going into ExpressionEngine 2 development, we’ve still be heavily focused on keeping our current products the best we can.  To that end, today we managed to eek both a new version of CI and EE out the door.  While relatively light on new features (there are some nifty ones in there though) the main thrust was a significant improvement to the Input library for both security and performance.  To this end, I’d like to publicly express my gratitude to Pascal Kriete (Inparo), whose tireless efforts helped us immensely.

jQuery hosted on Google and some implications for developers

I finally made the long discussed flip over to jQuery.  It took me about 4 and a half minutes.  It should have been a 30 second process, but I had a few lightbox images relationships named incompatibly.  Anyhow, all fixed up.  I also decided to implement the much talked about Google hosted Javascript library.  In a nutshell, Google is hosting some popular Javascript libraries.  The idea is that if enough people are using the hosted libraries, then there’s a good chance that your visitor has already locally cached the files, and your page will (give the illusion of) load faster.

As a handy extra, they take care of compressing and minifying for you, and are committed to keeping a library online permanently after it is hosted.

That said, I’m not sure how long I’ll keep it.  There are a few things that I think every responsible webmaster has to think about first.  Personally, I would only use it as part of an informed company strategy (I could see a savings on a big site like in terms of bandwidth and perceived load time).  But there are still some downsides I just haven’t fully reconciled yet.  Let me address the three most relevant ones that I see.