Ken Collins

Recent Articles

My Projects


HomeMarks Logo HomeMarks was my first rails project when I was learning to program in both Ruby and JavaScript. It allows you to create a simple bookmark start page that organizes links into colored boxes sorted in columns. A common practice by all early web developers.

HomeMarks went thru its third rewrite a few months ago for Rails 3 and is currently deployed on Heroku. I also recently just finished my first native Objective-C iPhone app too. I am currently working on the native iPad version and will post updates here too. When that happens I will rewrite the rails application a 4th time using CoffeeScript & Spine.js.

MiniTest Spec Rails

The minitest-spec-rails gem makes it easy to use the MiniTest::Spec DSL within your existing Rails 2.3, 3.x or 4.x test suite. It does this by forcing ActiveSupport::TestCase to utilize the MiniTest::Spec::DSL. I strongly recommend anyone wanting to use the MiniTest spec DSL to use this gem. It is meant to evaporate when Rails 5.0 finally includes the spec DSL itself. Till then, keep your tests simple!

Rails & SQLServer

Recovered the SQL Server ActiveRecord Adapter project. After Rails 1.2.6 dropped support, this project languished in obscure forks. I rescued the project in 2008 and brought full support to ActiveRecord 2.2 and up! I did this by creating a community owned GitHub identity for all projects related to SQLServer and Rails while testing the adapter to all core ActiveRecord test cases.

The TinyTDS gem was my first ruby C extension. It provides a fast, efficient and native interface to FreeTDS. This provided Ruby SQLServer users with the first low level connection mode that properly handles client db encoding, ruby primitives, and string encodings under 1.9 and up.


Mocha.js is a feature-rich JavaScript test framework running on node and the browser. Along with the Chai assertion library they make an impressive combo. PhantomJS is a headless WebKit with a JavaScript/CoffeeScript API. It has fast and native support for various web standards like DOM handling, CSS selectors, JSON, Canvas, and SVG.

The mocha-phantomjs project provides a script file and extensions to drive PhantomJS while testing your HTML pages with Mocha from the console. It has an active and vibrant community and is even used by Walmart Labs.