Killer app for iPads
Trying to justify getting yourself a new iPad3? My favourite use for my iPad lately has been watching quality screencasts by Gary Bernhardt (Destroy All Software) and Ryan Bates (RailsCasts). Each offer a premium subscription model where you pay $9 a month for access to their full catalog along with all new videos.
I’ve never really been into Screencasts but I’ve only recently discovered the secret seems to be in keeping them short. Here are two I’ve been really getting into.
Worth Paying For
How much do you earn each month from your craft? I wouldn’t think twice about paying $9 a month to the individuals who create such valuable art. To be honest I think we’re getting it cheap.
Destroy All Software
Gary Bernhardt has a communication style I can only describe it as “performance vim”. You spend most of the ten or so minutes watching him make text dance in a full screen terminal. It’s like pairing with someone you can really learn something from. The iPad is just the right size to make it work.
RailsCasts
Ryan Bates has been producing short (5-12 minute) screencasts covering all manner of topics of interest to “Ruby People” for years now and making them available for free. Ryan makes his screencasts available via RSS which means they automatically find their way to my iPad.
Too many in our community give of themselves without making it easy enough for us to give back. I contacted Ryan a while back to ask how I could donate. I’m glad he has now made restructured things to make his ongoing work sustainable.
More

Manual

Automated
This morning I woke up with two images in my mind illustrating why we automate system tasks.
Rethinking Fanboyism
Two years after replacing my Apple Macbook Pro laptop with a Dell running Ubuntu Linux I’m going back to Apple. I moved away from Apple for a mixture of philosophical and practical reasons. One of the main reasons was my belief in the importance of a viable linux desktop operating system. The backflip came about because I feel happier when using Apple products. In my attempts to get away from Apple I think I’ve learned more about why they have been so successful.
Android was the Catalyst
I didn’t get a smartphone until mid 2011 and even then it was mainly because the battery on my Nokia was needing to be charged nightly. I picked up an HTC Sensation and began hating it almost immediately. I’m usually pretty good at pointing out flaws but the HTC was a bit of a mystery to me. While I can list a few flaws (battery not lasting a day is one!) I just didn’t like using it. After three months I decided to buy my first iPhone.
I Feel Love
So this is the fucked up thing. Within 30 minutes I was texting people to tell them how much I love my new iPhone. It may make me sound like a total fanboy but even while I was in the store I was bonding with the device. It feels wrong saying I love a machine but at the same time I’m curious how it could elicit such emotions. I can only put it down to the design of both hardware and software.
The Cathedral and The Bazaar
Steve Jobs was the high priest at Apple. We’re told he was obsessive about detail and that it was his way or the highway. Part of the reason I avoided getting an iPhone was the control exerted over the distribution of Apps through the App Store. I was surprised and disappointed by my first experience of the Android Marketplace. A search for “shopping list” returned hundreds of apps with no indication which were most downloaded or highly rated. Maybe you can’t design an OS or phone by committee?
Get Out of my Way
If I’m going to be iPhone boy then life would be easier if I used OSX on my desktop.
It’s been about 4 years since I last bought a new Macbook Pro. My efforts to avoid vendor lockin are now being replaced by efforts to avoid unproductive work (like debugging problems printing from Ubuntu 11.10). I want to get on with the fun stuff and OSX just seems to make the fun stuff so much easier.
So What Now for Freedom?
I was shocked earlier this year to hear a techie say he wouldn’t care if the linux desktop went away because he’s happy with OSX. My issue is that Apple could make OSX unpleasant at some point in the future and without a viable alternative to switch to we would just have to accept it.
I don’t think me going back to Apple is going to make an ounce of difference to Linux but what would the world be like if everyone followed this path? I guess I’m no longer willing to sacrifice my own happiness trying to support this particular ideal.
Well Done Steve (and Company)
The iPhone and Macbook Pro are masterpieces. (I didn’t mention I’ve had an iPad for the past 12 months and love it to bits). I tried to extract myself from this web of awesome production but have failed because they are so well designed. I would love to create something as compelling.
[Update] The ABC have acknowledged that the Lost Dogs Home does actually get funding from government.
Lost Dogs Home Receive Millions from Government
You’re possibly already funding The Lost Dogs Home through your Council rates. As a provider of pound services to Victorian Councils they receive government money to impound the majority of animals coming into their “care”. Of the animals not reclaimed by their owners in time last year, most were killed (13,594 in total).
They are also contracted to provide Animal Control Officers to Councils. They have the power to hand out fines and seize people’s pets.
Yet They Claim to Receive No Government Funding?
The Lost Dogs Home repeated claims to receive no government funding despite the fact that local government pays them to impound the majority of the animals.
The home, founded by a group of animal lovers in 1911, gets no government funding. However, Dr Smith revealed that in the past year – apart from Mr Samways’s gift – it had received more than $6 million in bequests and donations.
“$3m benefactor Frank Samways is a dog’s – and the Lost Dogs Home’s – best friend” - The Age, 29 July 2011
Here Graeme Smith is reported to have made the claim personally,
The Lost Dogs Home’s Graeme Smith said the organisation did not receive any government funding, unlike the RSPCA. ”Tenders are judged on many factors. These include financial, ability to deliver, customer service, management, quality, etc,” Mr Smith said.
“Pound kill rate sparks concern” The Age 1 May, 2011
This week Graeme Smith stood by and made no effort to correct a television reporter who claimed his company “relies solely on the public’s generosity to get by financially”. The ABC have since issued a correction to the story after a viewer complaint. Why does it take a concerned member of the public to notify them when Graeme Smith was standing right beside the reporter?
LDH get $3 mil donation from Goodfordogs on Vimeo.
The Public are Being Misled
If you live in Melbourne there’s a reasonable chance you’re already paying The Lost Dogs Home to impound cats and dogs through your Council rates. The majority of animals not claimed by owners are being killed.
It appears the media are being told a very different story and are not checking the facts.
Members of the public deserve to know the truth about where their money is going.
The same message applies to the Cat Protection Society of Victoria.
[update] Aussie Rubyists are discussing this on rails-oceania@googlegroups.com
I’m a relative newcomer to Ruby Version Manager (RVM) because I haven’t needed it till now. Last week I started work on a project that uses JRuby and RVM is now a part of my tool chain.
“RVM is a command line tool which allows us to easily install, manage and work with multiple ruby environments from interpreters to sets of gems.”
I think it’s a pretty amazing project and Wayne E. Seguin deserves respect for gifting us with such a great tool. I think it’s great for dev but…
I’m just not sure I want RVM in Production
As I said, I’m new to RVM. I don’t know it that well yet so I’m not qualified to speak about it with any degree of authority. The idea of running rvm on production servers seems wrong to me because it seems to dump a load of non-standard complexity onto sysadmins while ignoring the unix idioms and conventions they know.
Do we really need to be so specific about versions?
In an age of virtualisation and cloud computing, a production server probably shouldn’t need to have more than one version of Ruby installed. RVM makes it easy for devs to specify that this web app uses ruby-1.9.2-p180 while that one uses ruby-1.9.2-p290. I’m just not sure they should be expecting operations to be providing them with such specificity.
Don’t sysadmins have enough to deal with already?
Developers may spend months or years in the same cosy environment working on software they know backwards. Sysadmins deal with chaos everyday. They put out fires, multitask and deal with hundreds of different bits of software. What makes this possible is conventions within the unix world. Logs go here, start scripts there, this is the library load path, etc… System administration can be like working in a busy kitchen. Special off menu orders make their work harder and are not appreciated!
I just wonder whether developers demanding specific Ruby patch levels will come across like the folks ordering coffee from LA Story?
[Update] I was running into a few difficulties using RVM so at least for now, I’ve settled on a very simple use for RVM on my workstation. Bundler does a great job managing my gems so I’ve set RVM to use system Ruby and I’ll only use a .rvmrc in projects that are not using my default of ruby-1.9.2.
Do you like mysteries? Want to help solve one?
[UPDATE] The identity of the anonymous sender has been revealed! He trusted someone he shouldn’t have. Still deliberating on the best thing to do with this info.
A Very Strange Email
A couple of weeks ago I received an email from an anonymous sender making some pretty outrageous claims about The Lost Dogs Home. He wrote that they had hired someone with slaughterhouse experience to be their new operations manager. The “evidence” provided was a LinkedIn profile that looked potentially fake.
A Very Strange Profile
Someone obviously spent a lot of time creating the profile but as was pointed out to me by a Linkedin user, it’s quite possibly a fake.
- it doesn’t link to The Lost Dogs’ Home’s real Linkedin profile.
- Anyone can say they worked anywhere on Linkedin!
Linkedin Is Not Reliable Evidence!
Anyone can say they work at LDH. It took me all of 2 minutes to update my profile to say I was a ‘Voice of Reason’ at LDH. It’s simply not credible evidence is it?
So What’s The Big Deal?
Truth is important! Serious claims like the ones sent to me should not be made (or accepted) without evidence. Ideally the authenticity of that evidence is available to be verified by anyone. That’s not possible with the Linkedin profile I was sent. Sometimes evidence consists of the testimonial of a trusted person. My anonymous emailer did not meet that criteria.
What’s Really Going On Here?
The person who sent me the original email was annoyed when I didn’t write about it. I don’t know why he was going to so much trouble to get me to spread the story. It was suggested that someone may be attempting to discredit some animal welfare advocates. There are now a small number of Facebook accounts who are spreading the Linkedin profile by posting it on other people’s walls (68 since Thursday).
This post is intended as a reminder that we should not believe everything we read on the Internet. We only serve to discredit ourselves when we succumb to intellectual laziness or worse yet, the arrogance of willful ignorance.
While I couldn’t make it to this year’s O’Reilly Velocity 2011 I’m excited so the videos are available to watch for free. My favourite talk from last year was John Rauser’s “TCP and the Lower Bound of Web Performance“.
This year John delivered an excellent talk on entitles look at your data. He demonstrated how looking at averages hides a lot of what’s really going on and identifies how toolmakers might improve their offerings.
“Modern monitoring software makes it easy to plot a statistic like
average latency every minute — too easy. Fancy dashboards of time
series plots often lull us into a false sense of security. Underneath
every point on those plots is a distribution, and underneath that
distribution is a series of individuals: your customers.”
[Update] Kate Hoelter is not among the more than 550 people who have Like’d this post on Facebook! We’re still waiting for her to come back with a figure for the number of animals they fostered out last year.
An animal pound contractor in Australia has discovered that selling themselves as a loving protector of animals can bring millions in donations. The problem is, their business model is based around adopting out a few of the unclaimed animals and killing the rest.
Management at The Lost Dogs Home must be fans of the TV series Mad Men, which featured 50′s ad men trying to sell people on cigarettes in the wake of a Reader’s Digest report that smoking will lead to various health issues including lung cancer.
The following comment was made by Lost Dogs’ Home fundraising staffer Kate Hoelter on the public Facebook Page of one of their ‘Ambassadors’, comedian Claire Hooper. I doubt Claire was ever told the organisation using her face killed 13,594 cats and dogs while reporting a $2.7 mil profit in 2010. Kate’s comment was posted in response to me pointing this fact out to Claire.
Let’s Break It Down Shall We?
The Lost Dogs’ Home does a lot of good work for dogs and cats.
You kill most of them Kate.
We work hard to reunite lost pets with their owners
You refuse to put photos of lost pets on the Internet to make it easier for owners to find them.
and find loving new homes for those who are not claimed.
You killed 6 out of 10 unclaimed dogs last year without ever making them available for adoption.
You close at lunchtime on Sundays even though weekends are the busiest time for adoption.
We run an extensive foster care program
and a behaviour modification program for dogs so they can be rehomed.
How many dogs that failed your temperament test passed after being placed in this program in 2010?
The surplus income was spent on building new facilities
such as The Lost Cats’ Home,
This is a warehouse next door that doesn’t even have an adoption section.
Sick and Injured Shelter
Indoor kennels…
and Training and Education Centre.
you mean to say you’ve been killing pets to save money to build a classroom?
Plans are under way to further improve facilities that will increase our ability to care for and rehome more pets.
The Home runs many proactive services such as the National Pet Register which is responsible for reuniting over 19,000 lost dogs and cats with their owners every year through their microchip and free tag service.
Online pet Licence helps educate new pet owners.
Once again, this has nothing to do with your decision to kill so many of the animals entrusted to your care.
The Home is run by a team of compassionate and dedicated people.
Statistics taken from The Lost Dogs Home Annual Report 2010
See also:
Pound Kill Rate Sparks Concern, The Sunday Age [May 1, 2011]
One way to make different versions of a web service available from the same webserver is to allow clients to prepend a version identifier to the URI path. There’s some discussion about the best way to use this but I like to default to no version identifier in URIs.
Passenger makes it easy to run different versions of your Rails web api alongside each other.
http://brandish.local/customers.json
http://brandish.local/v1/customers.json
http://brandish.local/v2/customers.json
Update Your Webserver Config
Passenger allows you to direct traffic to different instances of your app. Here I’m serving brandish_v2 if no version identified is included in the URI.
# /etc/apache2/sites-available/brandish <VirtualHost *:80> ServerName brandish.local CustomLog /var/log/apache2/brandish_access_log combined RackEnv development DocumentRoot /srv/brandish_v2/public RackBaseURI /v1 RackBaseURI /v2 <Directory /srv/brandish_v2/public/v1> Options -MultiViews </Directory> <Directory /srv/brandish_v2/public/v2> Options -MultiViews </Directory> </VirtualHost>
Symlink public/ into your DocumentRoot
This is the only tricky bit. Passenger expects the RackBaseURI’s you used in the web config to point at symlinks to the public/ directories of the different versions of your apps.
ln -s /srv/brandish_v1/public -> /srv/brandish_v2/public/v1 ln -s /srv/brandish_v2/public -> /srv/brandish_v2/public/v2
Note Passenger was failing for me because it expected application.rb to be in controllers directory. I fixed it by creating a symlink from application_controller.rb to application.rb. I’m a bit confused as I thought that had been fixed in recent versions of Passenger. Maybe the RailsBaseURI code is not up to date.
I’m glad Qantas don’t design planes because frankly I don’t think they would fly.
Web based flight bookings are money. They’ve changed the way we travel. Why would Australia’s national airline have such a poorly designed user interface for their booking website?
We don’t always read what’s on the buttons at the bottom of forms unless there are two together. I’d love to see click rates of a the dummy buttons below.
Harder to book
I’m guessing someone in marketing thought the best place to advertise their ‘points and pay’ offering was by linking to it from a submit button on the search form. This button is larger and brighter than the button that submits that takes you to your flight search results. It’s simply a link that opens up this page talking about their ‘points and pay‘ scheme. Fail.
Just to be clear, clicking the bottom on the left does not submit the form!
Harder to pay
At the end of the booking process they provide a dangerous little button sitting on it’s own that discards your input. Fail. How many people in a hurry click this when meaning to submit the form?










