Google Wave Swamps My PC

I’ve just been trying Google Wave after I was graciously invited by someone awesome, and it looks like it’s really hard on your computer’s system resources when you’re trying to view a big Wave. Here’s my browser, struggling to render a big Wave:

Google Wave, trying to render a big wave

Google Wave, trying to render a big wave

I was trying to read a random Wave that had 129 other users and 340+ wavelets, and it SMASHED my work laptop, which is fairly decent (Core 2 Duo with 2GB of RAM), so that I couldn’t even really read the Wave — it was too slow to respond.

Windows Task Manager while trying to use Google Wave

Windows Task Manager while trying to use Google Wave

I am using the Firefox 3.5.4 beta but it was unusable in Google’s own Chrome, as well. Firefox actually seemed better as it would allocate memory and then release it but Chrome would just eat more and more memory until the machine was paging like crazy. Check out my Task Manager screenshot above, you can see the memory going up and down and one of the CPU cores maxed out.

I’m keen to keep trying Wave out, but is Google doing a Microsoft (see Wirth’s Law), and just expecting that as Wave catches on, everyone will have enough horsepower to run it? Or is it just that it’s beta, and performance will get better with optimisation — including Javascript engine optimisations in the major browsers? I guess we’ll see…

Posted: October 15th, 2009
Categories: internet, Tech, Web
Tags: , ,
Comments: No Comments.

Colour Schemes from Nature

Linked from a Hacker News “Ask HN” post about how to pick colours for websites, I was inspired by this Flickr image showing how to create a colour scheme from a photo.

I decided I’d try this colour scheme from nature business, and because I’m lazy I took a picture with my phone without even getting up from my chair. Here’s what I came up with:

colour scheme from photo of my street

colour scheme from photo of my street

I haven’t tried it in a website yet but I think it might look alright, I’m going to try this next time I’m stuck.

Posted: October 5th, 2009
Categories: Web
Comments: No Comments.

Tips for Living In a Big City #1: How to Get Directions

If you’re lost in a big city like, say, New York City, a very effective way to be sure that strangers will help you find your way is to be a small, helpless, cute cardboard robot with a flag that has your destination written on it.

Tweenbots are human-dependent robots that navigate the city with the help of pedestrians they encounter. Rolling at a constant speed, in a straight line, Tweenbots have a destination displayed on a flag, and rely on people they meet to read this flag and to aim them in the right direction to reach their goal.

I love this. I love seeing the ways people conceive of using technology to make art. It’s not just that the technology exists, but that it’s affordable and readily available to be used by anyone who really wants to make it happen. The artist here “conceived the Tweenbots as disposable creatures which were more likely to struggle and die in the city than to reach their destination,” but it didn’t matter because they were cheap enough. She was also able to preserve the authenticity of the situation by having a video camera small enough to fit into her handbag, so it wasn’t obvious she was recording people’s interactions with the robots. Try hiding a camcorder from the 1980s in a handbag!

So remember: next time you’re lost in a big city, be a little cute cardboard robot.

Posted: May 16th, 2009
Categories: Tech
Tags: , ,
Comments: No Comments.

Make Money Sharecropping Your Face

It’s been two and a half years since Nicholas Carr wrote:

Web 2.0, by putting the means of production into the hands of the masses but withholding from those same masses any ownership over the product of their work, provides an incredibly efficient mechanism to harvest the economic value of the free labor provided by the very many and concentrate it into the hands of the very few.

sharecroppers working on a rented cotton field

He still has a point — it’s true that MySpace, Facebook, Youtube and others convert the free labour of their users into cash, by aggregating it on a huge scale and creating value in the form of an audience they can sell to advertisers. In the way that they’re selling an audience to advertisers they are analogous to conventional TV, radio and newspapers, who aggregate news and content to gather an audience whose consumption of the content is paid for, or at least subsidised, by advertising.

Carr argues that the “disturbing” difference is that the Web 2.0 companies are exploiting the free labour of their users’ contributions to an “attention economy” by converting it to their cash economy; i.e. sharecropping — the users are labouring to create value that somebody else controls. I agree that this seems disturbing.

But people are now using these websites to gain their own audience, and this gives them leverage. If you have a large enough audience, e.g. Youtube subscribers, you then have the capacity to start converting your contributions to cash for yourself.

An example I’ve noticed recently is Philip DeFranco aka sxephil, who has gathered an audience of 379,621 subscribers at the time of writing, and 14,279,986 video views since September 2006.

Phil has just recently begun a daily VLog in addition to his normal show in which he has promised to do a video per day for a year. It would appear that he’s making some cash – in his video from 26th April he gratuitously discusses how he loves shaving with his Gillette razor and how superior it is to an electric razor, did he mention that it’s Gillette?

And in the newest episode, Phil goes to New York City to meet his ‘friend’ Katie, who just happens to be the star of an impending Youtube show called Green Eyed World. In Phil’s video they frolick around in a park being best buddies and filming each other with cameras and some other stuff. I’m not saying there’s anything wrong with this, but the show looks very produced, with all its graphics and Sprite as its sponsor and FullSIX, an enormous marketing company on board.

To me, this is a demonstration of how it’s possible to use the social media sites to put in time and effort to gain currency in the attention economy, and when you have enough, you can cash in, with sponsors and by sharing your audience with others who are willing to pay.

In effect, the barrier to entry for building an audience is lower than ever — distribution costs are zero and your only production costs are what it takes to film, edit and upload a video to Youtube. It’s sharecropping, but you can make some real money!

Posted: April 30th, 2009
Categories: internet, online marketing, video
Tags: , , ,
Comments: No Comments.

Best Business Cards Ever

Check out Steve Martin‘s business card:
Steve Martin's business card

This guy’s pretty convinced about his own business card too – it took him 25 years to design it! Love the quote: “I build crowds – guaranteed! What do you do guaranteed?” Hahaha.

Edit: Oh I want to choose more quotes but there’s too many! “It doesn’t fit in a rolodex because it doesn’t belong in a rolodex.”

The business card of W. W. Green of “Enterprises Un Ltd.” also deserves a mention, it’s pretty creative.

Posted: April 30th, 2009
Categories: Super Interesting
Tags: , , ,
Comments: No Comments.

Play MP3s from the command line on Mac OS X

For maybe a year on and off I’ve been using a command-line music player from Hieper software called Play.

play icon

It’s not always what you want, like if you want to browse your music and pick one song at a time to play, or if you want to build a custom playlist. But if you want to play all songs in a directory, or a bunch of songs with some word (e.g. band or album name) in the file name, it’s great because you can be playing the song in about 5 seconds, without starting up iTunes and doing a search within the GUI.

Here’s how I’m using it at the moment, to play all the songs I have by Foals:

cd ~/Music
find . -type f |grep -i foals|play -vr

First I change directory to my music directory, then use find with grep to find all files that have the word ‘foals’ in their filename; and then just pipe that list to play -vr. Pretty quick, pretty simple.

The command line options -vr are “v” to display the name of the song currently playing, and “r” to play the list in a random order.


I became bored with typing all that find and grep guff, so I thought I would take a few minutes and quickly write a shell script that does it for me, all I wanted to have to do is type play search1 search2 and it would go.

A couple of hours of feature creep later, it now lists and counts the songs before playing them, and you can put an -r argument before or after the search keywords for a randomly ordered playlist. Here’s the script source:

So now, with the script in my path and a symlink named path, if I want to hear, say, Day ‘N’ Nite by Kid Cudi, I can just type:
play cudi.*nite
It’s still pretty nerdy cause you have to do regex-style search expressions. If I want to hear every song with “bass” in the title in random order, I do:
play bass -r

Here’s an example of it in use playing some British India:
playing MP3s

Posted: April 27th, 2009
Categories: Mac OSX
Tags: , , ,
Comments: No Comments.

External USB Hard Disk Performance

I’ve got a 320GB 7200RPM drive in an external USB housing that I use for extra storage and backup with my 15″ Macbook Pro. I also use Parallels a fair bit because I do ASP and ASP.NET web development, so I was wondering if it’d be faster to run the Parallels VM off the external hard disk, so that the internal one could be reserved for OS X duties including virtual memory paging.

I read a blog post that advises not to use an external USB hard disk to host your Parallels VM, but it’s mainly theory based on bus speeds and whatnot. In theory, there is no difference between theory and practice. But, in practice, there is.

So I thought I’d write a C program to write a fairly large file to both the local hard disk and the USB disk, and time them to see which one is faster. Here are the results:

USB drive (Seagate 3.5″ 320GB 7200rpm with 8MB cache):

real 0m10.278s
user 0m0.396s
sys 0m0.386s

Internal drive (Fujitsu 2.5″ 120GB 5400rpm with 8MB cache):

real 0m2.480s
user 0m0.233s
sys 0m0.414s

As you can see, a huge difference in the real time taken to write the file. There’s not much difference in the amount of CPU time (0.18 seconds) which is not surprising, as most of the time would be spent waiting for the data to transmit across the USB cable, and the SATA bus is very fast. I should really have run this multiple times and taken the average, but I can’t be bothered so instead I’ve just run it a bunch of times and taken a result that looks typical to me :)

This is hardly an exhaustive test — I didn’t even try reading from the disk or doing random access, because I just wanted a rough idea how big the differences are. Nevertheless, here is my code and the bash script I wrote to run this

C code: (at

To compile:
gcc writeperf.c -o writeperf

To run (you’ll need to change the paths to suit your filesystem, obviously):
while true; do time ./writeperf /Volumes/EVERYTHING_/writeperf.txt; time ./writeperf ~/Documents/Code/C/writeperf.txt ; done

I take no responsibility for anything you damage with this code :)

Posted: April 20th, 2009
Categories: Super Interesting
Comments: No Comments.

Currency Exchange Rate Comparison Charts

Since moving to London a couple of months ago I’ve been taking a strong interest in foreign exchange rates, because I’m now always either spending Australian pesos dollars hand over fist and doing a quick mental calculation every time I see a price tag (then having a minor panic attack at paying nearly $20 AUD for a cup of coffee and a snack) or I’m gleefully calculating my effective hourly rate in Australian dollars.

graphs of currency exchange rates

My currency exchange rates charts page

In my travels I found that foreign exchange traders OzForex (aka UKForex) have charts on their site that you can hotlink to. I thought it’d be interesting to have a view of lots of different currency rates all together so you can compare visually their trends against one another, so I created this page that shows the US Dollar, Australian Dollar, UK Pound Sterling and the Euro on charts against each other.

Each currency is on its own horizontal row and vertical row, and where the currency would overlap itself (i.e. AUD/AUD) I have overlaid the graphs so that you can compare all three other currencies against one another.

I think it’s pretty interesting; it highlights the strength or weakness of a currency more effectively than comparing it against just one other currency; an example is that the AUD takes a dive against the USD around November 21, 2008; you can easily see that the AUD dipped against the EUR and GBP as well, although the USD spiked upwards slightly at the same time which made the AUD appear even weaker.

I’ve also just noticed that OzForex have spot rates charts too which would be a lot more useful for actual currency trading, if you wanted to try and get the best rate on a given day, so I’ll have to get around to creating a similar page using those.

Posted: December 20th, 2008
Categories: money
Comments: No Comments.

Online Scams In Plain English

This video from the guys at CommonCraft does a great job of explaining what Phishing scams are and how they work:

Posted: December 17th, 2008
Categories: email, internet, Web
Tags: , , , ,
Comments: No Comments.

Stupid Website Content “DRM”

Today somebody sent me a link to MIS Australia’s article about some ridiculous filters the ever-paternalistic Australian government is trying to foist on the Australian public for our own protection. Like, thanks you guys.

Anyway I got feisty when I realised that you can’t cut and paste from the Australian Financial Review’s MISAustralia website. As soon as you highlight text on the site, it becomes all garbled. My first, knee-jerk reaction when somebody does something on their website to make it less useful for users (like disabling right-click) is along the lines of “Errr you MORONS! WHY would you BOTHER DOING THIS?” Which is not exactly constructive criticism, but I really can’t see how doing this kind of dumb stuff on your website is a good idea.

If you don’t want your content on the web, don’t publish it there!

I can somewhat understand the mindset of fear at work here. Site owners feel that their content is sitting out there on the web ready to be copied and exploited by anyone. But here are a bunch of reasons why it’s dumb to use lame “DRM” or “copy protection” methods on your website:

You’re making it HARDER for people to share your stuff with their friends
In my case with this article, a guy at work tried to send me the link and a relevant quote from the article — but couldn’t! He could only send me the link. If a busy person can’t just quickly cut and paste the written equivalent of a soundbite to somebody else, they might not bother at all — it’s annoying and confusing. Not only that, but I might not visit your site because it’s just a boring link – there’s no snippet to pique my interest. This means less traffic for your website.
Your site will be LESS POPULAR because it’s HARDER TO FIND
Having garbled content is bad for search engine rankings. Don’t believe me? Try this search — it’s searching for the phrase “opponents of isp-level filtering” on Google — but restricted to ONLY on the MIS Australia website. Whaddya know, it returns ZERO results! That’s because the “protected” content makes NO SENSE to search engines. Not being searchable means missing out on A LOT of potential search traffic.
Your site will be LESS POPULAR because it’s not SHARING INFORMATION – what the web is built on
The most successful websites actively share their content to attract more users/readers using something called RSS. What RSS does is lets you share your content so freely that computers can find new stuff on your site and do the job of spreading it around for you! The only way people are going to know that your site has great content is by showing it to them. Hiding your content away is going to help nobody — not readers, because they can’t find you, and not you, because you’ll have no readers.

I can appreciate that people may be fearful about their content being stolen by web scraping. But this is actually not that big of a problem. Google knows how to deal with web scraping and has methods of determining who should be rewarded as the original publisher of content. Some kid stealing your articles and posting them on his own site isn’t going to take away all of your traffic!

You’re making your website WORSE TO USE.
So many sites that prevent me from right-clicking an image make me angry, because usually I’m just trying to see a higher-resolution version of the picture that they’ve scaled down to fit their page using HTML, but the pic is really a big, colourful picture with lots of detail that I’m missing out on. That sucks. Or maybe I want to send the picture to a friend, saying “Hey, look at this great site, they have heaps more cool pics like this one!” — just saying “hey check out this site they have cool pics” is way less powerful.

And that’s just disabling right-click. MIS Australia’s effort actually makes the site look TERRIBLE -- they have to use a fixed width font because their lame content “DRM” just uses two layers of content, one beneath the other! If you used a variable-width font the text on the two layers would never line up, and you would just get a jumble of letters. So that’s why MIS Australia’s articles look like they were typed out in the 1940s, even on a beautiful screen with font smoothing.

Speaking of a jumble of letters, that’s also what any visually-impaired person’s screen reader is going to see when it tries to read out the page. Way to discriminate against the disabled, yeah!

Your lame system can be easily circumvented ANYWAY – so why bother?
Especially the sites that deny the ability to right-click. There’s so many ways around this that it’s just pointless and makes your site annoying. If you really don’t want people to steal your images, use low-resolution pics with a watermark, because your right-click prevention just won’t work. If you really don’t want people to steal your website code, the best you can do is to obfuscate it — or don’t publish it at all! Web programmers are crafty — and often still in high-school, so they have lots of time to work around your tricks! :P

In the case of the MIS Australia website, to get the text of any of their articles is as easy as using /g, %27\n\n%27).replace(/< [^>]*>/g,%27%27)); })();”>this link and choose “Bookmark this link” or “Add to Favorites” and save the link to your bookmarks/favorites.

  • Now read an article on and if you like it, click your bookmark/favorite you have just added.
  • Presto! The article contents will be pasted into the comments box at the bottom of the page for you to cut and paste at your leisure.
  • I’ll say it again. If you’re going to go to the trouble of putting your content on the web, why hamstring your efforts? Put it out there and SHARE IT, and more importantly, LET OTHER PEOPLE SHARE IT — that’s what your website is for, and that’s how you get popular!

    Posted: August 1st, 2008
    Categories: online marketing, rants, seo, Web
    Comments: No Comments.