Hire Toby

June 22nd, 2007

I can offer over 10 years of commercial experience in web application development.

I’ve worked with a range of technologies, and many different clients from small business to big business and government.

I am committed to the user-experience and in creating elegant, sophisticated interfaces.

I am available for Project work.

Contact me for more information and a complete CV.


Examples of my Recent Work:

Tradelaneway
An all-singing, all-dancing, AJAX-ified Social Network and Content Management System. WebImprints is designed as is the simpest possible CMS and intended as an entry point for Small Business users. The software is developed with PHP, MySQL, Scriptaculous and Prototype and is integrated with Amazon S3 for image storage and designed to scale to 100,000′s of users. Currently rolling out an installation of 10,000 sites.

AutoTwit
AutoTwit allows you to update Twitter automatically. Simply write a post and schedule an update. The site was developed with Ruby on Rails, MySQL, Scriptaculous and Prototype and uses the Twitter API to post scheduuled updates.


Technologies

  • Ruby On Rails
  • PHP 4/5
  • AJAX, Javascript, JSON, Prototype, Scriptaculous
  • API Integration
    • Amazon Web Services (S3, SQS)
    • eBay
    • Twitter
    • WordPress
    • Google Maps
    • Google Feed API
    • Adwords
  • HTML, CSS, XHTML, DHTML, XML, XSLT
  • MySQL 3+
  • REST Web Services, SOAP, Hessian, XML-RPC
  • RSS & Atom Syndication
  • Java (including J2EE, EJB, JDBC, threading, reflection, Swing)
  • EJB 1.1 / 2.0 (JBoss Application Server, Sun Server Platform)
  • Subversion, CVS
  • Linux
  • And many more …

Facebook as the new uber-app

June 20th, 2007

Facebook is fast becoming my uber-application … it now can assimilate just about  everything. I Twitter from Facebook, I play Chess in Facebook, and I am now looking for something to hook WordPress up (or I might develop that myself) then I can blog from Facebook as well.

One app to bring them all and in the darkness bind them.

And better yet, I put a notice in the Marketplace looking for some freelance development work and within an hour had a response.

Which reminds m, if you need some project work, I’m available. 10 years of experience developing web apllications with a host of technologies.

My favourite Ruby Gem is Magic

June 19th, 2007

On Ruby asks in June’s Blogging Contest:

“Other than Rails, what is your favorite Ruby Gem, and why?”

My favourite Ruby Gem is Dr Nics Magic Models.

Magic Models weaves a dark spell on your code that makes your ActiveRecord Models just disappear. It’s glorious for demonstrating to the skeptical the possibilites affored by Ruby, and it makes prototyping and development even more efficient. As Dr Nic says:

In a way, MM works like scaffolding does at the controller level – it lets you get your application “working” faster even though you’ll probably rewrite it in the end anyway.

Starting with Magic Models is a matter of installing the Gem and requiring it in your application:

gem install dr_nic_magic_models
require 'dr_nic_magic_models'

Now you have Models that appear based on your defined database tables, no other code required. So if you have a People Table, you automagically have a Person Model with attributes matching the columns defined in the table.

If you crack open the gem, you find the Magic isn’t so magic after all. The crucial action occurs in const_missing.

def const_missing(class_id)
  begin
    return normal_const_missing(class_id)
  rescue
  end
  @magic_schema ||= DrNicMagicModels::Schema.new self
  unless table_name = @magic_schema.models[class_id]
    raise NameError.new("uninitialized constant #{class_id}")
      if @magic_schema.models.enquired? class_id
  end
  superklass = @magic_schema.superklass || ActiveRecord::Base
  klass = create_class(class_id, superklass) do
    set_table_name table_name
    # include DrNicMagicModels::MagicModel
    # extend DrNicMagicModels::Validations
  end
  klass.generate_validations
  @magic_schema.inflector.post_class_creation klass
  klass
end

const_missing is called when the Ruby Interpreter cannot find a constant. In the example above, if we call the Person model (using Person.find, for example), const_missing is called and Magic Models goes into action – checking the database for a corresponding table and creating a class with the appropriate attributes and validations. The rest writes itself.

Magic Models looks like magic to those uninitiated in the wonders of a truly dynamic language.

I use them to get a leg-up on new development. I have also used them to demonstrate to some colleagues the things that are possible with Rails – scaffolding for free, testing baked-in, easy AJAX and code that isn’t there but works anyway.

It’s worth learning, just to see the expression on the PHP and Java guy’s faces.

If you’re looking for more:

About Toby

June 17th, 2007

This blog belongs to Toby Hede.

Some RandomThings about Toby:

  1. He lives in Melbourne, Australia.
  2. He runs his own software development business in between playing music, cutting code and creating games.
  3. He works as a consultant software engineer for a small web company to pay the bills.
  4. He is increasingly obsessed with Rails, Prototype and Scriptaculous.
  5. Toby has 1337 hacking skills in Ruby/Rails PHP and Java.
  6. He is available for project work.

Hello world!

June 17th, 2007

Welcome. My name is Toby Hede. I am a software developer and enterepreneur living in Melbourne Australia. I work predominately with Ruby on Rails, but pay the rent with my 1337 PHP and Java skills.

This is my space for collecting any random, and probably technical, thoughts I have that don’t fit in the million other spaces I have on the web.