You are currently browsing the archives for the Tech category.



Toronto Bike Map

By Mike Lin

My new iPhone app is out:
Toronto Bike Map

It’s made using Toronto’s new bikeways data set that was released on July 15th. I completely didn’t realize this when I decided to make the app over the weekend of July 17th-18th. I just googled for it, found the data, and made the app! I don’t think I’ve ever been so timely in my life :P

With the help of some twitterers It’s been getting some decent buzz and it even got posted on Torontoist! Unlike my last app, which has potential users throughout the English speaking world, this one targets iPhone owners, in Toronto that also bike. With such a small demographic I’m reasonably pleased with the 160 downloads in the first day.

A confession to make. There were supposed to be ads on it. Feeling adventurous I tried to incorporate iAd, Apple’s new ad network, but it turns out they aren’t serving ads for Canada yet, so the app is currently ad free. I may switch to another ad network in the future.



iPhone: Splitting images into tiles for faster loading with ImageMagick

By Mike Lin

iPhone developers! I found an easy and automated way to cut an image up into tiles at different zoom scales for the purpose of UIScrollView image tiling as shown in Apple’s ScrollViewSuite sample code!

Just get imageMagick, a command line image editor you can get from MacPorts. I made a bash script to automatically resize and tile at 100%, 50% and 25% resolutions.
function tile() {
convert $file -scale ${s}%x -crop 256x256 \
-set filename:tile "%[fx:page.x/256]_%[fx:page.y/256]" \
+repage +adjoin "${file%.*}_${s}_%[filename:tile].${file#*.}"

If you run: bigimage.jpg it’ll dump out 256×256 sized tiles called bigimage_100_0_0.jpg, bigimage_100_0_1.jpg etc for each tile at 100% scale, as well as bigimage_50_0_0.jpg et al at 50% scale etc.



USB stick randomly ejects on Mac

By Mike Lin

One more Mac thing. My biggest problem thus far with the switch to Mac has been my USB stick randomly disconnecting (32GB OCZ Rally2), with the error message “The disk was not ejected properly”. It works fine on other computers so I was worried it’s a hardware problem. Then I found out that Spotlight also indexes removable disks (seems like a bad idea to me), so I turned off spotlight and it seems fine now. To turn off Spotlight run the following in a terminal:

sudo mdutil -a -i off

As for losing Spotlight’s funtionality, I’m hoping Quicksilver will fill in the gap.

Mac error message from randomly ejecting usb stick.

Mac error message from randomly self-ejecting usb stick.



Adapting to MacBook

By Mike Lin

I’m a long time Windows and Linux user. I’ve been on XP for the last 3 years, with linux virtual machines (VMs), and before that it was Ubuntu Linux for 2 years with an XP VM, and before that XP again. Anyway, just got a MacBook, and thought for myself and others I’d list the customizations to make me comfortable, based on my background:

Turn off startup sound. Unlikely to reboot often, but when I do I know it’ll be in a library or other public place. I don’t want people to shush me.

No disk activity light, and the SSD I got is silent, so I can’t tell if it’s active. It’s useful to know when your disk is active so you can tell when you’re out of memory. MenuMeters puts disk and cpu etc indicators in the menu bar (systray).

No forward delete?! remap right option key to forward delete with keyremap4macbook.

Eject key is kind of useless. Remap that also to forward delete with same (I really like forward delete).

Caps Lock -> Command in keyboard prefs. The 2 most accessible modifier keys are now both command. This isn’t ideal. I’d rather have one be command and one be alt, but I tried that and it messes up other things.

OpenTerminalHere. It’s like Open Command Prompt here on Windows.

Change fonts in terminal and dev to Dejavu sans mono. I just like it better ok?

Tried and failed to find a way to make firefox fullscreen.

QuickSilver. It’s like command line on the desktop. Like Launchy on Windows.

I still miss pageup/pagedown and an accessible alt key. Also, I’ve lost a few of my favourite Eclipse hotkeys, and of course I need more VMs than ever, but I think with a little tenacity I’ll make it.



Wireless Providers’ Reactions to Number Portability

By Mike Lin

The cell phone market in Canada is going through some interesting times. Number portability has been here for 2 weeks, making it possible to keep your phone number when you change providers. The most visible result of the consumer favourable change has been a shitstorm of advertising. Telus for example, bought the entirety of Toronto’s central St. George subway station. Every billboard, every pillar, and even the floor in some places is covered with Telus branding. Apart from branding the only new message they’ve put out is ‘Take your number and move on up‘, the idea probably being that if you didn’t already know about number portability you wouldn’t get it.

Telus ads

Bell has taken a similar approach, taking large portions of several stations. The picture below is from Osgoode station. The billboards mention that it is now possible to watch Spider Man 2 on a Bell cellphone. Don’t ask who in their right mind would want to watch a movie like Spider Man 2 on their cell phone.

Bell ads

The irony of the situation, of course, is that cell phones don’t even work in the Toronto underground, unlike, I hope, most other subway systems in the world (they work in Taipei’s at least). As for other media, I don’t do TV or radio, but I’d think a similar approach is being applied there.

The larger companies, like Telus and Bell, have the conflicting goals of 1) trying not to inform their customers about number portability, lest they be lured away, and 2) trying to steal away some of the newly freed masses from their competitors, and apparently their marketing departments have decided the optimal solution is to vomit branding everywhere. Nothing to see here with regards to pricing etc.

The interesting stuff is happening at newcomer Virgin Mobile. Previously offering prepaid by-the-minute only service, in anticipation of number portability, they introduced in January a few low minute monthly plans comparable to those offered by other providers. Check out this comparison of 200 minute/month plans. They seem about the same: 200 minutes for $20. But if you look closer, Virgin doesn’t charge a $6.95 ‘system access fee’, nor does it charge $8 for voicemail and caller id. So if you work it out, Virgin’s plan is actually a staggering 44% cheaper.

The small number of cell phone providers in Canada, as well as customer lock-in through lack of number portability, locked phones and long term contracts has resulted in Canada having the most expensive cell phone service in the developed world. Hopefully number portability and Virgin’s refreshing approach are the first steps towards rectifying this dishonour.