My blog

Monash website cleanup

Monash has launched a new website design. I’m not a fan. In particular, I find the navigation bar incredibly ugly. To make the website a bit more palatable for me, I’ve created a Greasemonkey script that tones down the worst parts. See the comments in the script for more details: monash-cleanup.user.js.

Gmail Uncluttered - Update

I’ve done a bit of cleanup work on Gmail Uncluttered as a result of some of the Gmail redesign changes and the addition of new features like the People Widget.

Get the updated script from my Gmail Uncluttered projects page.

Gmail Uncluttered

I find some of the layout in Gmail annoying, especially because I have my two screens in a portrait orientation. In particular, the ad bar when viewing a conversation takes up a lot of space and makes the email content very narrow. It gets worse with plain text emails as the narrow content area tends to break lines into a jagged mess. There aren’t even any ads in our Google Apps Education Edition accounts, so all I see is a large, useless blank space (Google should really fix this!).

So, I’ve been using a userscript (a.k.a. Greasemonkey script) to hide the ad bar and do some other tweaks to Gmail’s interface. I find many of the “minimal” Gmail scripts or extensions (e.g. Minimalist Gmail) tend to go overboard. I just wanted to maximise screen real-estate without losing functionality or dramatically changing the look and feel of Gmail. So I grabbed a script off that seemed like a good starting point and removed the bits I wasn’t interested in. I’ve been using this script for over a year and it’s been wonderful to reclaim that screen real-estate.

There were a few glitches with the script that I’ve managed to fix up in the last couple days. I also took the opportunity to add some additional tweaks. So, here’s my “Gmail Uncluttered” user script. I use it in Google Chrome and Safari (via GreaseKit), so I know it works in those browsers.

Install Gmail Uncluttered

  • Removes ads
  • Removes logo
  • Removes the “Search Mail” and “Search the Web” button
  • Removes button bar at bottom of message list
  • Removes quick reply box
  • Removes links and copyright notice at bottom, and repositions space and account activity information onto one line
  • Repositions labels in the conversation view above the subject line
  • Repositions the quick links in the conversation view horizontally as buttons across the top of the message
  • Other useful links (e.g. map and add to calendar suggestions) are put into a rollover activated by a small black box to the right of the quick links buttons
UPDATE [2011-02-01]: It now shrinks the top bar by 25px and moves the search box to the left to make room for message bubbles, which now appear to the right of the search box.

UPDATE [2011-02-12]: It looks like Google changed something in the header which breaks my attempts to shrink the top bar, so I’ve removed that feature for now.

UPDATE [2011-02-14]: Top bar shrinking is back. Also added a link to the Tasks canvas view in the top links bar.

I said shhhh!

Last week I was debating with friends whether there were 5 or 7 continents. After that fruitless debate, we then switched over to debating which language was the most difficult to learn. One was arguing that Polish would be up there on the list (because of the number of noun conjugations) while another friend was arguing that Chinese was considered the most difficult. We also discussed the Pirahã language and how they can’t count.

This all got me thinking about how many letter combinations produce the “sh” sound in Norwegian. It’s one of things that I think is a bit crazy about the language. There are actually two different “sh” sounds: “sj” and “kj”. The “sj” sound is the same as the “sh” sound in English (e.g. in the word “she”). The “kj” sound doesn’t really exist in English, though the start of the word “huge” comes close. (In some Norwegian dialects, the “kj” sound is pronounced more like “tch”.)

Last week I counted about 6 different letter combinations that produce the “sj” or “kj” sound, but when I poked around the net, I found a couple I had missed. I now count 9 different ways:

sk followed by an “i” or a “y” - sky (cloud)
skj - skje (spoon)
sj - sju (seven)
kj - kjole (skirt)
ki - kiosk (kiosk)
ky - kylling (chicken)
tj - tjue (twenty)
rs - norsk (Norwegian)
s followed by l [most dialects] - slott (castle)

There’s been some discussion that the “kj” sound is slowly being replaced by the “sh” sound and that within a generation, the “kj” sound will no longer exist in Norwegian. I’m not sure if it will be going away that quickly, but if it does, we’ll have some problems counting. The words sjuende (seventh) and tjuende (twentieth) are only distinguished by the difference in the “sj” and “kj” sounds. Sjuende is pronounced shoo-end-eh while tjuende is pronounced hu-end-eh (think of the first part of the word “huge”).

So does that make Norwegian the 7th most difficult language in the world ... or was it the 20th?

Nokia 6120 classic

I got a Nokia 6120 classic a year and a half ago. At the time, consolidating my phone and Internet connection onto the one device made financial sense, so I signed up for a pretty cheap 3 X-Series plan and the phone was free on the plan. I did some research around the web and most places said it was an OK phone and in fact actually really good value for money considering it was a “smartphone”. I have used Nokias before and generally found them to be OK, but I had never used an S60 device, nor a 3G device.

I was in for a disappointment.

The first thing I noticed with the phone was that it was hot! (No, not in the good sense.) It got unbearably hot to hold against my ear after a few minutes of conversation on the phone. Perhaps if I lived in Siberia, it could be considered a “feature”, but I think even the Siberians would find it hot. I took it back to the store thinking that I had a faulty device, but the salesperson told me that the phones run hot and that Nokia’s official word was that they were operating within normal parameters.

With that much heat being pumped out, I shouldn’t have been surprised that the battery life was appalling (at least compared to my old 2G phone). I can barely get 2 days out of the battery and usually only one day if I use it heavily.

The S60 user interface can best be described as “clunky”. In no particular order, here are my annoyances:
  • By default, incoming calls flash the backlight when the phone is set to the Silent profile. This makes the screen very hard to read, especially if I just want to quickly glance at the phone (like when driving). I fixed this problem by setting the volume control in the Silent profile to one notch above zero. The phone now does a very quiet “beep” when I get incoming calls in Silent mode.
  • The incoming call text is too small. The phone has a nice big screen, so I don’t see why it can’t use a bigger font.
  • The SMS message list display shows names with surname first and it can’t be changed. I want first names to appear first.
  • No Mac support, though this was fortunately fixed by hacking my own iSync plugin and finding a modem script at Ross Barkman’s website. I later found a better iSync plugin at Tao of Mac.
  • The clock screen saver is too small. Why not use the nice big screen to its full potential? I found a free app that works quite well called cClock. (At the time I downloaded it, I had to sign the app myself which was a bit of a pain. The latest version is pre-signed.)
  • The Standby screen (i.e. the default screen when the phone isn’t doing anything) has a date display, but the date is hidden and the profile name is displayed instead when a profile other than General is selected. There’s plenty of room on the screen, so I don’t see why this is necessary.
  • The themes are terrible. Some themes look nice, but it makes some of the text completely unreadable. I finally downloaded a theme called “Pearl White” that seems to fix most problems.
  • I could use the camera flash on my old Samsung phone as a flashlight as it would stay on for about half a minute, but not with this phone.
  • The phone has a standard mini-USB port, but it doesn’t charge through it. There is a separate power jack for charging. I often tether the phone to my computer to use the Internet, but to do that I have to find a power socket for the phone, otherwise the battery would be dead in less than 2 hours.
  • I use the raised four-way navigation button to orient the phone in my hand without looking (especially when grabbing the phone from my pocket). Unfortunately, the camera at the back of the phone has a very similar square raised edge around the lens, so I often find myself holding the phone backwards and upside-down.
  • The alarm flashes the backlight. This makes it hard to read which button to press to stop or snooze the alarm.
  • The calendar application icon always shows “30” regardless of what the date is in most of the Nokia themes.
  • A “Note: Active divert” message always appears when making calls. I really don’t need to be reminded that I have my voicemail activated every time I make a phone call.
  • When making a call, the right soft button acts as an “End call” button. Once the call is connected, the button becomes a “Loudspeaker” button (i.e. speakerphone). This is incredibly annoying when I want to make a speakerphone call (e.g. in a car) as I have to wait for the moment the call is connected. I have no idea why a second “End call” button is needed when the red hang-up button is more than sufficient.
  • There are keypad shortcuts for menu navigation, but only for the top levels. Keypad navigation stops working when I go into any of the phone settings menus.
  • The built-in mail app can’t see any folders other than your inbox.
  • The Standby screen displays to-do entries, but if I have any more than one to-do entry, it simply states: “X to-do notes not done”. This happens even when there is acres of empty white space on the Standby screen.
Despite the user interface being very annoying, I’ve become hooked on a lot of the features of the phone. I love being able to surf the web on my phone and you’ll often find me checking my Gmail account, catching up on RSS feeds in Google Reader and reading status messages on Facebook.

I also love having a decent calendar in the phone. I have my work calendar in Google Calendar. This syncs to iCal on my Mac which I then sync to the phone with iSync. I have a two-way sync for my personal calendar entries and a read-only view of my work calendar. Exactly what I need.

A friend pointed out a couple free books I could read online and I found I could download a version onto my phone from This worked surprisingly well and I’ve read a couple books now on my phone. It’s not the greatest reading experience, but it’s quite nice to be able to keep a couple books in my pocket and catch up on some reading when I’ve got a few moments to kill.

Version 2.0 of CSV-OpenAsText

I have just uploaded a new version of CSV-OpenAsText with some nice improvements. To do its tricks, the first version of CSV-OpenAsText (known as CSV-OpenText) opened and then immediately saved the CSV file. This meant that it didn’t work terribly well on read-only volumes and unfortunately it would corrupt CSV files that had multi-line data (i.e., data in a cell with newline characters).

The new version of CSV-OpenAsText does not modify the original CSV file and even better, it now works correctly with multi-line data in cells. I now have a safe way to open all CSV files in Excel without data being misinterpreted or corrupted. If I don’t find any problems with it over the next couple of weeks, I might just make it the default open mechanism for CSV files.

Head over to the Projects page to download a copy.

Gimme the cache!

Pronunciation is a funny thing. There are a lot of English accents in the world, but I’m generally OK with most accents as long as they are internally consistent. That’s a bit rich coming from me, as my accent is a strange mix of American and Australian (it rubs me up the wrong way to pronounce “r” as “ahh”). But I’m not talking about me here.

Few things irked me more when I arrived in Australia than people mispronouncing “cache”. It seems like almost everyone here pronounces it as “kaysh”—even my computer science lecturers at university! Ok everyone, listen very carefully ... “cache” is pronounced the same as “cash” ... m’kay? Not “kaysh” and definitely not “kashay”.

I’ve been pondering why the word is so commonly mispronounced. Perhaps people are applying that common pronunciation rule of thumb that when an “e” appears at the end of a word, you make the preceding vowel “long”. Perhaps people think that it can’t possibly be pronounced the same as “cash” because ... well, because ... it’s spelled differently. Perhaps they just think it sounds too American to say “cash” and therefore it can’t be right.

Whatever the reason, Australians, you’re mispronouncing the word. It’s from French; go look it up. When words are adopted from other languages, generally an attempt is made to pronounce the word as close to the original language as possible.

This is where we get back to accents. Some hypothetical people might say that that is simply the Australian accent. I would disagree with said hypothetical people, despite my accent being a mess. That would be like claiming that “eye-rack” (Iraq) and “nucular” (nuclear) are just simply the American accent. At least I mix correct pronunciations from two different accents.

To highlight the folly of my Australian brothers and sisters mispronouncing this word, I’ve decided to undertake an experiment. I will be pronouncing “cache” as “cake”—well, why not? ... how else would you pronounce “c” followed by “ache”?

I shall delight in saying phrases like “go into your browser settings and clear your cake” and “how much L2 cake is there in that box”.

Telstra and iPhone

I had an amusing day on Sunday. I went into a Telstra store on the weekend and asked about an iPhone. I had briefly read up on their plans, so I knew they were terrible, but it's often useful to chat to a real person. So I walked into the store and a guy asked if he could help. I got distracted at first because the guy's name was Brent (I don't meet too many Brents).

When I finally stopped being distracted, I found myself with a brochure that listed their plans. I found out I could mix and match plan features if I wanted, and he pointed out one plan that came with a $29 data bundle. I asked how much data that gets me. He said 80MB. I laughed. Hard. So I asked if there were any reasonable plans. He explained that their largest data bundle was 3GB. I asked how much that would cost me. He said $119. I laughed. Harder.

He then explained that the data bundles give me free Wi-Fi at Telstra Hot Spots and that if I wanted to browse, I should try to limit it to the Wi-Fi hotspots as much as possible.

Let's think about this for a minute ... here is a network provider trying to push data users away from their 3G infrastructure to Wi-Fi hotspots by overcharging for 3G data usage. This gives me the impression that Telstra's vaunted new NextG network has so little capacity that they have to compensate by deploying Wi-Fi hotspots.

There are going to be a lot of very surprised iPhone users out there when they see their first bill. Although I feel sorry for the poor suckers who get roped into a Telstra plan, it made my day to watch someone try to sell the absurd plans Telstra has on offer.

As for me, I think I'll just wait for 3 to start selling the iPhone. Optus' plans don't look too bad, but I'm currently on 3's $40 X-series plan which gives me 2GB. Not great, but it's far better than anything else.

Lotus Notes

I've got a new section here called "Lotus Notes". I've been toying with the idea of starting this section for a little while. As you'll soon see, it's will be mostly a series of posts about Lotus Notes' flaws. I've been hesitating because I wasn't sure if I wanted to be known as "that guy who keeps on griping about Lotus Notes", but it seems like I've already become infamous at work, so what have I got to lose?

I needed a space to vent, but I didn't want that to be the entire focus of this blog, so I've relegated Lotus Notes to a separate section. Once I'm done venting and there's no longer a use for the section, then perhaps I might remove it. But for the next couple of weeks, you'll probably see a post a day.

Excel and CSV files

I work in the Student Systems group at Monash University and we use CSV files quite extensively at work. Most of these CSV files come from our student database as that is its default export format. We usually use Excel to open and manipulate these files, but unfortunally Excel tends to be a bit overeager when it finds data that remotely looks like a date or a number. Just last week we had a case of a data upload failing because Excel converted the subject codes in the file into dates. The unfortunate subject code was "MAR11".

It would be great if there was a way to tweak the import process in Excel and dial back it's eagerness. The only way that Microsoft has provided is to open the files using Excel's Import Text Wizard. This gets tedious mighty fast.

I've managed to cook up one solution. It's a simple script that tells Excel to open a CSV file with all columns imported as text. Adding the script to the context menu (i.e. right-click menu) for CSV files means that it's now trivial to open up CSV files without having Excel mangle everything.

Check it out on my projects page.

A nice picture

So while you wait for me to write something intelligent, here's a photo you can enjoy while you pass the time. It was taken on the Nile in Luxor, Egypt on a trip with my dad in November 2006. After a long day of sightseeing, we decided it would be fun to take a take a sail-boat ride out on the Nile. We had a nice hour-long boat ride just at dusk, and I managed to capture this photo. With almost no breeze and a strong current, we only managed to travel about 100 meters upstream. Fortunately, distance was not the point of the ride.

Boat on the Nile

My first post

I've been lurking around the Internet for quite a few years now and have never felt compelled to publish my own blog. I was content to read. To digest. To absorb. Now I'm slowly feeling the urge to give back to the community, to write, to express myself and grace the world with my wisdom ... ahem ... unleash my ramblings on an unsuspecting world.

So, in other words, here's my first useless filler post. I may have more to say in other posts, but this in no way implies that brilliant and insightful comments will be forthcoming.