« Older Home
Loading Newer »

So You Want to Become a Consultant

On the macsb mailing list someone asked for advice becoming a consultant. I started to type up a reply but it grew so large that I decided it would be better to just post it here.

There are two very different forms of software consulting:

  • project based consulting — a developer bids jobs, works independently, and delivers a finished product
  • hourly consulting — a developer works for firms at an hourly rate

I have done both, and I much preferred hourly consulting.
>> Continue reading ‘So You Want to Become a Consultant’…

The Value of Design, pt. 1

For some time now I have wanted to post about the value of creativity and original design in software development. Much has been written in the last couple years about the importance of presentation in the Mac community. Forget lickable, nowadays a good Mac app needs to be downright delicious. But less has been said about the value of higher level of design — that more ephemeral quality that captures application flow and feel. Fortunately, Google’s recent HuddleChat debacle provides a perfect context for such a discussion.

Google burns Campfire

In case you missed it, earlier this week Google created a big stir by announcing a new application called HuddleChat during one of their campfire sessions. It was intended as a working demo for their new App Engine service, but it quickly created an uproar from many in the development community who felt that Google developers had blatantly ripped off another application. As irony would have it, that application’s name happened to be Campfire, and it was created by some company called 37Signals (never heard of them, but apparently they’re big in the mining transportation industry). Anyhow, sensitive to the bad PR they were suddenly generating, Google quickly yanked the cord on HuddleChat.

That should have been the end of the story, but it wasn’t.

>> Continue reading ‘The Value of Design, pt. 1′…

Automated battery monitor

Woot is all charged up over 4/1.

Antidote:

#!/usr/bin/ruby

require "hpricot"
require "open-uri"

def growl ( title, message )
    system "growlnotify", "-m", message, "-t", title
end

while (1)
    begin
        doc = Hpricot( open("http://www.woot.com/") )
        item = (doc/"h3#ctl00_ContentPlaceHolder_TitleHeader").text
        raise "Failed to parse title" if item == ""

        if not item =~ /Decker/
            growl "Woot!", item
            system "open -g http://www.woot.com/"
            break
        end
        sleep 30
    rescue
        growl "Ruby Error!", $!
    end
end

Shaking the dust off

It’s time to start blogging again.

When I started this blog, I planned to primarily explore areas like bioinformatics where medicine and technology come together. However, over the past year my interests in programming and medicine have remained on distinctly parallel paths. They just have not come together.

Currently I am hard at work on a Mac app that should be out this summer (WWDC with any luck) and have had lots of ideas for strictly Mac programming posts. So for the near future this blog will primarily focus on Mac application coding.