Travis-CI is an open source distrubuted build system to that provides a great means to add continous integration to your open source projects. While I have been using Jenkins running on an EC2 instance for my closed project, Travis-CI is a perfect solution for any project that you are currently hosting on GitHub.Read more...
Monday, December 26, 2011
Client-side TDD Using JsTestDriver and Jspackle
If you have been following my blog, you've probably gathered by now that I am a huge advocate of Test Driven Design (or development). Using TDD, you are able to define the behaviors and the interface of your application, ensure that your code does precisely what it needs to do, and give yourself the ability to refactor the guts of your code mercilessly without worrying about breaking existing features or accidentally changing your code's public interface.Read more...
Thursday, December 15, 2011
Stubble - a tool for testing node.js applications
If you write unit tests for you applications, then you know what a pain dealing with external environments can be. Our applications very rarely live in bubble, but generally interact with with world around them, such as reading and writing files to disk or interacting with other services over HTTP.Read more...
Sunday, November 20, 2011
Creating arrows / triangles completely in CSS
Any time you need to make something with a triangle, for example the arrow sticking out from the edge of a tooltip, you might be tempted to use an image. Here's a pretty awesome trick for doing it completely in CSS. Note: The only caveat of this is that it only works in browsers that support rgba, so based on your target audience, it might not be an option. Never the less, it's an interesting trick that developer/designer should have in their toolbox.Read more...
Sunday, November 6, 2011
Making a Case For CoffeeScript
Monday, October 31, 2011
tpt - Tiny PHP Tests
tpt is a BDD micro-framework for PHP - heavily inspired by BDD tools such as RSpec for
PHP for a few months, I needed to write a PHP class for a recent project and found myself really missing the RSpec / Jasmine style
of test writing.
tpt is a lightweight testing solution. While not as feature-rich and complex as more de-facto projects
tpt's small size and easy syntax makes it an ideal solution for quick and small projects.
Thursday, October 20, 2011
EC2 Continuous Integration Server (Part 3
Welcome to the continuation of my series on setting up a development server on EC2. In part 1, I showed you how to bring up a basic Ubuntu Lucid instance on Amazon's EC2 system, and install and configure Gitosis on that box. In part 2, I walked through installing the Jenkins continuous integration server. In this final part, I'm going to walk you through connecting your Jenkins installation with your Gitosis installation.Read more...
Monday, October 10, 2011
EC2 Continuous Integration Server (Part 2
Continuing this series on setting up a development server on EC2, I'm going to walk you through setting up a secure, private installation of Jenkins on your box.Read more...
Thursday, October 6, 2011
EC2 Continuous Integration Server (Part 1
I work on a lot of projects. A LOT of projects. From open source projects, to personal projects, to freelance work,
I have about 5 different projects that I bounce back and forth between during any given week. Obviously, version control
git and using TDD to ensure I have a complete test suite for all of my projects goes a long way towards
keeping me sane, but sometimes that's not enough.
Wednesday, September 7, 2011
Magic methods in PHP
PHP isn't often highly regarded as for it's abilities as an Object Oriented language. But that's not to say you cannot do some really cool things with the tools that the language has built into it. There many times where you run into situations where you may wanted to define a class that has dynamic properties. While it is simple enough to write / call accessor methods on your class, it doesn't always provide the cleanest interface.Read more...
Tuesday, August 23, 2011
bk - A simple Terminal bookmark manager
This is a tool I've been using for several months now just to make my life a little bit easier. After getting a few requests for it from friends and co-workers after having seen me use, it figured I'd throw it on GitHub and share it with the world.Read more...