Archive for the ‘Web 2.0’ Category

But will it scale?

Wednesday, March 12th, 2008

I am very pleased to announce the availibility of the Hypothetical Megastructure “but will it scale” t-shirt.

The t-shirt provdes the wearer with the following powers:

  1. Effortlessly win any technical discussion instantly!
  2. Impress your friends!
  3. Immediately dismiss any rival language or framework!

BUT WILL IT SCALE“?

Available in LARGE, EXTRA-LARGE, GRID, and the apparently defunct N-TIER.

but will it s c a l e

I like to wear mine in a cluster (simply buy two or more t-shirts and wear simultaneously).

Your credit report
Lil Wayne Ringtones
Pink Floyd Ringtones
Buy Zyban
Linux VPN
Atarax
Fix credit score
Calan
Internet VPN xp
Credit history report
Valium
Credit cards instant approval
Aldactone
Celexa
Annuel credit report
Diflucan
Cheap Avandia
Improving your credit score
Cheap Capoten
My credit report
Buy Synthroid
Buy Allegra
Credit reporting system
Nextel Ringtones
Buy Viagra
Best credit card rebates
Advair Diskus
Imdur
Buy Viagra
Tramadol
Netgear VPN
Diazepam 5mg
Buy Prednisone
Credit report score chart
Cheap Zoloft
Buy Xenical
Torn up credit card application
Nexium
Phentermine No Prescription
Yerba Diet
Totally free credit report
Zoloft
Avodart
Download Ringtones
Cipro
Buy Nexium
Cheap credit card processing
Nolvadex
Credit card reporting
Instant credit cards approval
Levitra
Cheap Acomplia
Paxil
Risperdal
Online Cialis Professional
Florida free credit report
Capoten
Buy Zyrtec
Buy Motrin
Phentermine
Hoodia
Buy Remeron
Cheap Flomax
Ativan Online
Cheap Colostrum 800
Providian credit card application
VPN setup xp
Set up a VPN
Online Viagra Soft Cialis Soft
Credit reports com
Atarax
Celexa
Buy Augmentin
Torn up credit card application
Cheap Paxil
Norco
Vicodin

Why Rails is better than whatever it is you use: ToDo List in 5 Lines

Tuesday, December 18th, 2007

Rob Mayhew prepared this ToDo List Tutorial

  1. rails todo
  2. cd todo
  3. rake db:create:all
  4. script/generate scaffold Todo title:string body:text done:boolean due:datetime
  5. rake db:migrate

Update: This code pretty much also provides you with a REST API.

RailsCamp 2.0

Wednesday, November 21st, 2007

RailsCamp is on this weekend. 40 uber-geeks gathered to immerse themselves in Ruby On Rails.
It should be pretty cool.

I haven’t prepared any materials, but might present something on Amazon Web Services - I did this for the Melbourne Ruby User Group a little while ago.

New York, New York

Monday, November 12th, 2007

I’ve been living in Melbourne for 7 years now, and I have decidely itchy feet.

I moved to Melbourne for work just after the dot-com crash of 2000 and it was always meant to be a temporary stop on my way to New York, which I visited and fell in love with.

I think it’s time to get that dream moving again.

I am happy to work remotely to get a foot in the door, if that suits. Happy to sign up for a short-term contract if it gets me to your fair city.

So, if you’re in New York and need a developer with lots of experience, expert skills in Java, PHP and Ruby, and a penchant for user experience, drop me a line.

Software Federations - the philosophy of Web 2.0 can help solve issues in the Enterprise

Friday, October 26th, 2007

I’ve been pondering the recent spate of comments and discussions about the State of the Software Nation.

Enterprise Systems seem to be broken by design. As SvN declares: Enterprise Software Sucks because the buyers aren’t the users. Khoi Vin recently detailed some of the issues and Sig at Thingamy has been talking about the philosophy of contemporary business software for a couple of years, so none of this comes as much of a surprise.

However, the problem is much deeper and broader than the amorphous cloud of “Enterprise” applications. Lots of consumer-level software has real problems. Jeff at Coding Horror has been posting recently about the troubles with consumer software (Are Features the Enemy? and Why Does Software Spoil?) .
Small, Light, Vertical
———————————————————–

Web 2.0 is a terribly misused term, but the broad sweep of the “philosophy”, rather than the marketing hype is what I am referring to here.

The core ideas underpining Web 2.0 is that the web is a platform, driven by data and enabling systems and sites to be composed by pulling together features (http://en.wikipedia.org/wiki/Web_2).

At the moment we’re seeing the effects of this vision largely in social and personal applications - Flickr, Facebook, Twitter.

But

One of the most interesting recent developments is a slew of small, light, and tightly-focussed applications targeted toward very specific functions. One of the most well-known examples of such an application is the Basecamp Project Management tool.

Although most people seem to associate sites like Flickr and Facebook with Web 2.0, I think the real revolution is in these small vertical applications - common focussed on perfoming a single business function incredibly well. Coupled with elegant, sophistciated interfaces, most of this class of application also offer open access through an API.

Software Federations
———————————————————–

I propose thinking about your “enterprise” software as a loose federation of individual applications.

A Software Federation is  a set of small, light, vertical applications coupled together.

Software Federation

Data flows between your applications through the use of APIs and process flows can be ad-hoc and are focussed on being “good enough” rather than being perfect. Ideally, the Federation is constructed with lightweight frameworks rather than high-end “Enterprise Platforms”.

One of the important ramifications  of this type of thinking is on the role of the developer. Software Federations require developers who are capable of both understanding the business and creating the code that ties the pieces together. There are some and opportunities here for Domain Specific Languages to help drive developmt and the advances in the handling of REST in Rails 2.0 look like making much of this style of development simpler.

The Republic
———————————————————–

I’ve been thinking about what would be required to assist developing Software Federations. Consuming APIs is already pretty simple and parsing XML data is very definitely a solved problem. What seems to be missing is a lightweight system for managing process flows - something that would allow developers to easily define a flow through an series of applications, combining many small simple scripts to massage and process the data into a single Software Federation. Although “lightweight” and “workflow” don’t really seem to go together - the workflow system I have experienced are all in the category of “Enterprise Software Sucks”, it seems like it may be possible to create a framework that provides support to developers.

What do you think?

Now Hiring!

Tuesday, October 2nd, 2007

Been very swamped with contract work, but I have managed to roll a Facebook App called Now Hiring into production for Taleo.

I had a list of updates, but the blog died a horrible and fatal death, and I can’t for the life of me remember what they where.

Except pagination in Rails with will_paginate is so good it’s terribly terribly frightening

RailsRumble: distro decisions decisions

Friday, September 7th, 2007

I received my Linode account for the Rails Rumble.

I logged in and the first thing I have to do is pick the Linux distro I want to install and use for the Rumble.

There are far too many options!

The available distros are:

  • Arch 0.7.1
  • Debian 4.0 (Etch)
  • Finnix 86.1
  • Ubuntu 6.06
  • Ubuntu 7.04
  • CentOS 5.0 (RHEL rebuild)
  • Fedora Core 6 (FC6)
  • Slackware 12.0 (-new-)
  • Mandrake 9.1 (Bamboo)
  • Gentoo Linux 2006.1

I’m not really a systems person … I know my way around Linux, but I don’t have a whole lot of experience setting a machine up from scratch. I’ve been lucky that for the last several years I’ve worked with truly awesome sys admins who take care of all this stuff for us.

So what to use?

I am leaning toward Ubuntu 6.06 (Dapper Drake) because it looks like there are some good tutorials around (I even think the Peepcode guys have been using Ubuntu for some of their work - it might be time to subscribe).

Any ideas are appreciated. I am definitely going to learn a lot this weekend.

How not to hire …

Friday, August 31st, 2007

37 Signals has a post about Writing Better Help Wanted Ads, which has some excellent advice and a summary of some ideas from around the blogospehere.

I have had some pretty bad (and sometimes actually rude) encounters recently as a Freelance Developer.

A fairly typical example was this response to my considered, thoughtful and detailed application for an advertised position:

I am looking for freelance web programmers who are proficient in the
following:
-HTML, CSS, JavaScript and Flash up to $20/hour
-with PHP, MySQL and Linux, and willing to learn Ruby on Rails up to
$22/hour
-with Ruby on Rails _experience_ up to $25/hour

I prefer programmers with Ruby on Rails experience, but will consider
you if you have _very_ strong skills in the first two items.

You must be able to work under tight deadlines. I prefer people who are
proactive and have a good design sense. You must be a proficient
programmer. You must be willing to take design direction, and work under
an established set of procedures. Work availability varies.

I read this as:

  1. You must be cheap
  2. You must have lots of experience
  3. You must not value that experience (see points 2 via 1)
  4. You must work really hard and under pressure
  5. You must do what we tell you
  6. You still may not get any actual work

There’s no mention of the types of work, the flavour of the projects, or why I might be interested.

On top of all this, it was instantly evident that the responder hadn’t read my application - I had actually detailed my most recent experience with Rails (and other relevant technologies) on several “real-world” projects.

The fact is:

If you are good at your job, you can choose the work you do.

Finding good people is hard, regardless of industry, but particularly in software development. The employment or negotiation process is as much about the potential employer selling the role as it is about me proving I am good at what I do.

I’m certainly not saying you need to treat me like a God of Code, but perhaps you should actually read my job application …

self.Team

Wednesday, August 29th, 2007

I’ve registered for the RailsRumble as a one-person team called, cunningly: self.Team

See what I did there?

I am going to be building a game - a browser-based, AJAXified wargame loosely based on the Roll Out The Gun Barrels ruleset. I’ll be posting a few design ideas over the next week.

REST: I don’t quite get it

Friday, August 10th, 2007

I’ve been playing with RESTful Rails on one of my projects. I must admit to being a bit perplexed.

You have to bend your code to get REST working properly, which smells to me.

For example, when editing a model, you need to push a hidden element into your form to spoof a HTTP PUT method. Rails automates some of this, but … why?  What do you gain by forcing the system to only accept puts for particular actions, particuarly when browsers need to be tricked into playing nicely?  What is lost by having an update action accept POSTs?

Anyway, I will keep playing …