November 11th, 2008
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 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.
Continue reading “EllisLab hiring to the support team”. Posted in CodeIgniter, ExpressionEngine with 2 comments 
November 10th, 2008
Thank you for your brave and selfless sacrifice. It means more to me, Canada and the world then we usually say.
In Flanders Fields
In Flanders fields the poppies blow
Between the crosses, row on row,
That mark our place; and in the sky
The larks, still bravely singing, fly
Scarce heard amid the guns below.
We are the dead. Short days ago
We lived, felt dawn, saw sunset glow,
Loved, and were loved, and now we lie
In Flanders fields.
Take up our quarrel with the foe:
To you from failing hands we throw
The torch; be yours to hold it high.
If ye break faith with us who die
We shall not sleep, though poppies grow
In Flanders fields.
— Lt.-Col. John McCrae
Continue reading “In Flanders Fields”. Posted in Personal with no comments 
November 10th, 2008
What a fun holiday surprise! Linux Pro Magazine has a wonderful article in its December issue called Smooth Solution: BambooInvoice web-based invoicing solution, which is (not surprisingly) an article about one users experience installing and using BambooInvoice. Its wonderfully satisfying to see the popularity of Bamboo steadily climb - makes me feel like I’m on the right track.
Thank you to the author, Dmitri Popov. Your article really expressed what I try to make BambooInvoice; simple, uncomplicated, uncluttered. Also thanks to Linux Magazine, who have made the article freely available as a PDF online (but go buy an issue anyhow!). I hope this exposes many more people to Bamboo, and the article was certainly written in a way that will facilitate new users to come aboard. Dmitri walks through setting up a host, configuring Bamboo, and setting up your first client, as well as brief introductions to the process of invoice creation and reports (which I’m proud to hear he reports as “mostly self explanatory”).
I was also very pleased to read the final words of the article:
...the lack of a proper system in place can seriously disrupt your daily work and make the process of running your own business rather frustrating. BambooInvoice helps you avoid that by giving you simple yet effective tools for generating invoice and keeping tabs on them.
This is exactly why I developed Bamboo in the first place. The next version will be ready to go soon. Most of the changes are already made, and while they are mostly compatibility changes and UI adjustments, there are a few nice things in there that I think most people will welcome and enjoy. I’m also proud to say that the number of languages Bamboo is able to support is steadily growing, and it looks like Indonesian and Danish will be added shortly.
The project itself will continue to grow, as every few weeks I find new things that I’d like to see myself in a program like Bamboo. Additionally, as more and more coders are picking it up, it means that the number of people offering suggestions, enhancements and code is growing. It looks like very shortly Bamboo will hit “critical mass”, and become a self-sustaining project with a vibrant community and dedicated users. To all Bamboo users - thank you; and if you have a need to track invoices and haven’t yet checked it out, please consider giving it a shot!
Continue reading “BambooInvoice featured in December Linux Pro Magazine”. Posted in BambooInvoice with 3 comments 
October 29th, 2008
In no particular order, here are some things that I’ve found interesting, useful, or funny. Mostly useful.
Fluid
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 http://fluidapp.com/.
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
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.

Continue reading “Fluid, Campfire, DataMapper and useful links”. Posted in Browsers, CodeIgniter, ExpressionEngine, Mac with 10 comments 
October 28th, 2008
George Ornbo over at ShapeShed (an EE shop, go admire the majesty) wrote a cute introduction to the PHP "if" statment. If you can't have fun with your code... well, then you just plain can't have fun.
I get a fair few requests from designers asking for help with basic PHP. So I'm going to write a series on very basic PHP. It is not hard so let's start with a robot and the if statement.
Not normally worthy of a mention, but he uses robots to explain, and everyone knows I'm a fool for robots; but also offers this masterful bit of PHP code (slightly altered, for brevity).
if ($button == "pressed") {
echo "I am alive and will now perform Sex Machine by James Brown";
}
else {
echo "Malfunction! Broken, destroyed, smashed.";
}
Why do I get the sense that this title is going to get me banned from Google?
Continue reading “PHP if statement explained with Robots and James Brown’s Sex Machine”. Posted in How-To, PHP with 4 comments 
October 23rd, 2008
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.
Continue reading “CodeIgniter 1.7.0 Released”. Posted in CodeIgniter with 14 comments 
October 21st, 2008
For some work I’m doing right now I needed the current time output into the input field that the (excellent) jQuery datepicker uses, but I don’t need it selectable by the user. The default format is
mm/dd/yyyy
but can be formatted using the formatDate parameter. The list of formatting options is considerable, including predefined setups for ATOM, COOKIE, ISO_8601, various RFC dates, RSS, TIMESTAMP and even W3C. Unfortunately none of the predefined formats, nor the large list of date components includes time.
Read on for my solution to this dilemna.

Continue reading “Adding time to jQuery UI Datepicker”. Posted in How-To, Javascript with 8 comments 
October 08th, 2008
This one scares me. Click jacking essentially is where various vulnerabilities in browser, OS and the Flash player allow a malicious user to use your camera and microphone without your knowledge. There are many variations on it, but today Adobe released an advisory statement on the implications within the Flash player, and now the beans are officially spilled.
I first read about it via Jeremiah Grossman’s blog, and then quickly thereafter on ha.ckers.org. The definitive proof of concept can be found at guya.net, and all things considered I actually have a Post It note over my camera at the moment.
These sources cover it much better then I could, but let me just say that what scares me mostly is the variety with which this can be executed. Javascript, CSS, iFrames, known browser or OS vulnerabilities. The only current (practical) way to protect one’s self is to cripple plugins (in todays world of YouTube… I don’t see that happening) or to permanently change the security permissions of the Flash player (Adobe’s instructions), probably needing to cripple them, otherwise one could get clickjacked back into restoring them.
Even more terrifying is what a hacker would have seen and heard coming from my office this morning. I’ll spare you the visuals, but it would have sounded like “Meow, meow, meow, meeeeeeoooowwwwwww!“ and then “who’s a frisky girl… who’s a frisky girl”, followed by my cat making a nice big scratch under my eye…
Continue reading “Clickjacking: Web pages can see and hear you”. Posted in Noteworthy with 5 comments 
October 03rd, 2008
This is clearly one of the posts I write that belong in the “personal” category (where it is). If you’re looking for nerdly goodness and don’t give a flying-fadoo about my personal life (and honestly, who really does?) then feel free to skip this post and just hang tight watching the RSS feeds for my next post on “liberating” wireless from pretty much any airport in North America. If you want to know what I’ve been up to for a week, well then, by all means keep reading!
Continue reading “I’ve been gone for a week, I need home for a rest”. Posted in Personal with 4 comments 
September 28th, 2008
Well, the highly anticipated Vancouver EE Roadshow was on Friday. It was attended by (among many others) Rick Ellis, and a very secret guest… me! ;)
Before I even discuss the actual show, the community, or the wonderful city, I’d like to send out a few words of thanks to Kevin Shoesmith, Travis Smith, and Monique Trottier for putting on a killer event. It was very well organized, run, and attracted the type of folks who I love spending time with. Thanks all!
As to the show itself, it was an afternoon of connecting with a bunch of really smart people, who are passionate about what they do, and how they do it. All the sessions were worthwhile, and well done. First was Susannah Gardner, whose talk “Templates and Buckets” was well thought out, and a fantastic demonstration of the over-arching ideas behind any EE site. I wish I could have packed the room with EE-newbies for this one, as in 45 minutes she clearly laid out the flexibility, power, and utility of EE, as well as a few handy tricks and tips! Rick and I gave a talk following Susannah (more on that in a sec), and then after us was ExpressionEngine SEO (they’ve given me much to think about on my own site) and Justin Crawford and Travis Smith wrapped up the day by teaching me and Rick how to build extensions for EE ;) - truly, they did a great job, and while extension building is a bit on the “high-end” for most EE users, I spoke to several people during the (ample) beer drinking afterwards who told me they were inspired to start in on a few of their own extensions.
For our talk, Rick and I weren’t sure what we were going to do, since the conference attendees ranged from people who were only investigating EE, and haven’t even used it, to grizzled EE-veterans who have seen it all and done it all. We opted to give a glimpse into the future of ExpressionEngine, highlighting some of the new features of EE 2 that will allow administrators to customize the control-panel experience for their clients. After I clean up a few loose ends in the actual code, we’ll release another video showing some of this to the world.
The most fruitful part of the day came after the conference, as these things usually do. I was surprised at how engaged and passionate people really were. They view ExpressionEngine as “the home team”, and root for it, support it, and help to shape it into what it is today. I met people from Ottawa, Alaska, Cranbrook, and of course several Vancouver-ites. Each of them, people I’m happy to have gotten to know. Ray and Alli were 2 users who have been with ExpressionEngine since the 1.0 days! Wow!
Seriously, I want to take a moment to thank everyone. The community gives back to us as much as we try to give back to them. After the talk, and over beer, I had this conversation that I think sums up how we stand with respect to EE users:
So wait a minute. For this small conference, you sent Rick (President and bigcheese), and you, and you came thousands of kilometers, and gave up days of your time, and you brought all this (referring to t-shirts and swag) and gave away the EE licenses? I can’t think of any other company on the planet who’d do that.
And the truth is yeah, we did, and we loved it. I can’t wait for the next conference either. Selfishly, I really hope its in Canada also. Go Canada! Way to reprEEsent (oh, clever, clever play on words there - cheap shots at my lack of a humour bone are welcome in the comments).
Continue reading “EE Road Show Wrap Up”. Posted in ExpressionEngine with 8 comments 
1 2 3 > Last »