Category Archives: Tech


Like everything else online, the bots have invaded Twitter. Most of the time these are harmless but there are some spammy ones out there too. There seem to be two kinds of spam on twitter: the spam accounts that follow you hoping you’ll follow back, and the spam accounts that mention you in a tweet along with a link to their web site. Luckily, Twitter has a very easy way of dealing with either one – you can simply block the account and report it as spam, all in one simple click. I have no idea what happens after that but I don’t really care; once I’ve done that on a spam account, I never see tweets from it again.

There are thousands of bots out there scanning the millions of public tweets that stream by every minute looking for keywords. Say you have a business selling spatulas. You have a twitter account for your business, where you announce sales and new products and have discussions about current issues in the spatula industry. You obviously want to get as many followers as you can, and one way to do that is to follow as many people as you can. But who to follow? You can follow your friends and tell them to mention you in tweets and hope to get some followers that way, but that’s generally slow. An easier and more effective way is to set up a bot.

You’d create a bot to look for the word “spatula” in any tweets, and automatically follow the account that tweeted it. Once you do, there are basically three possibilities: 1. They mindlessly follow everyone who follows them, and so they follow you back. 2. They are interested in spatulas and follow you back. 3. They are not interested in spatulas and just included the word “spatula” in a one-off tweet (and really, who hasn’t?), and do not follow you back. Oh well.  This is a fine idea, and seems to work well for many businesses. I’ve got lots of followers who are obviously doing this (including at least three in the past week), since they are very specific business-related accounts that have nothing to do what I generally tweet about, but are related to a particular word or phrase that I used. Here are some of the more fun ones:

  • pronunciation – I posted a link to an article I wrote on how to pronounce a bunch of lacrosse players’ names, and a couple of hours later, I’m being followed by “a simple resource for everything related to pronunciation”.
  • fire suppression – I mentioned that a former lacrosse player now works in the “fire suppression” industry. I was shortly followed by a company that makes fire suppression equipment.
  • motorcycle helmet – A friend rides a motorcycle and I happened to use the phrase “motorcycle helmet” in a tweet. I’m soon followed by a motorcycle helmet store in California. I don’t ride a bike myself, and live several thousand miles away, so they are unlikely to get any business from me.
  • wind power – this was a while ago so I don’t remember the details, but I mentioned something about wind power and was subsequently followed by a company that specialized in wind power solutions. They must have gotten bored with me since they don’t follow me anymore.
  • homeopathy – I tweeted something about homeopathy (the word “bullshit” was likely included), and was followed by a couple of homeopathic practitioners. I think they immediately realized their mistake and unfollowed. I’m pretty sure the same thing has happened with “chiropractor” and “acupuncture”.
  • iPad – mention iPad in a tweet, and people wanting to “give” you or sell you iPads will come flying out of the woodwork.
  • domain name – I asked a friend in the business about how to acquire a no-longer-used domain name and was followed by a company that sells cheap domain names.
  • crossover – This is the funniest one. The National Lacrosse League has a new rule called the “crossover” rule. With the new rule, four teams from the East division and four teams from the West division make the playoffs unless the fifth place team in the West has a better record than the fourth place team in the East (there are only four teams in the East). In that case, the fifth place Western team “crosses over” into the Eastern division for the playoffs, taking the place of the fourth place Eastern team. I mentioned the new crossover rule in a couple of tweets, and was followed within minutes by at least three car dealerships. Only one still follows me.
  • perl – I mentioned perl in a tweet a couple of years ago and was instantly followed by an account for a perl blog. Oddly, one of the writers on that blog is named Graeme.

Last week, I started an experiment. I tweeted that I love spatulas to see if I would get followed by @spatulacentral, Your ultimate source for spatula news and information! No such luck.

Tweetdeck vs. MetroTwit vs. Seesmic

Twitter is one of the most popular web services anywhere, but once you become fairly active on it, I find the web site itself is impossible to use. If you follow lots of people (I follow a little over 300), one single stream of tweets is just too much, and trying to keep track of conversations or random people mentioning you is next to impossible. Luckily there are numerous applications out there designed to make this easier. Most allow you to separate your stream into multiple columns so you can put the people you’re following into various groups; for example, I have a group with techie people (Scott Hanselman, Joel Spolsky, Leo Laporte, and the like), another group with people I’ve “met” online through my interest in pro lacrosse, another one for other sports people (Bruce Arthur, Dave Hodge, Down Goes Brown), and so on. This makes it much easier to keep up. You can also add a column for direct messages or mentions so those are easy to see. This makes having a conversation with someone on Twitter possible, where replies to you from others don’t get lost in the deluge of tweets.

I tried three of the most popular such applications: Tweetdeck (now owned by Twitter itself), MetroTwit, and Seesmic, and made some notes on each. Note that there are lots of options in both Twitter and these applications that I never use (eg. tweeting from multiple accounts, trending topics, Foursquare, LinkedIn, etc.) so I can’t comment on those. For each one, advantages/drawbacks are ordered roughly in order of importance to me.

Tweetdeck and Seesmic also have web versions that allow you to do much the same things as the desktop apps, but through a web interface so there’s nothing to install. I didn’t investigate these at all.


Tweetdeck is the first Twitter application that I used, and I used it for about a year so it’s the one I’m most familiar with. It handles multiple Twitter accounts and you can add accounts from Facebook, Foursquare, LinkedIn, MySpace, and Google Buzz (why?) as well. I really only used Twitter. I occasionally updated my Facebook status through Tweetdeck, but only when I wanted to set my status to something and tweet it at the same time, which was rare.

Version: 0.38.2


  • A global filter hides tweets you don’t want to see based on hashtags, other content, user, or application. This makes it easy to ignore useless Foursquare tweets.
  • The colour scheme is nice – dark background (but not too dark) with white text
  • There are versions for Windows, Android, and iPhone.
  • Pops up a little window for images from twitpic, yfrog, lockerz, and others, as well as for youtube videos.
  • Easy to click on a user or tweet and jump to it in a browser if you want to
  • I like the little whistling sound it makes for notifications.
  • You can follow/unfollow people right from the interface and even modify Twitter lists.


  • Columns are not resizable. This means that you have a maximum of six columns on a 1920×1200 screen if the window is maximized (and you can’t see all of the sixth column). Any more than that and you have to start scrolling horizontally. I hate that.
  • Rearranging columns is silly – you have to click little arrow buttons to move columns right or left one position. You can’t just grab the top of the column and drag it to where you want it to be like you would expect. Dragging columns works in both MetroTwit and Seesmic.
  • To mark a tweet as read, you either click on a tiny little dot on the tweet, select “Mark tweet as seen” from level 3 of a nested menu on the tweet, or click the “Mark all as seen” button at the bottom of the column. Not at all intuitive. I got around this by simply clicking “Clear all” at the bottom once I’d read everything to mark then all as read and remove them from the column entirely – though once you’ve done that, you will never see those tweets again through Tweetdeck.
  • If you’ve marked all the tweets in a column as read but not cleared them, there is no obvious indication that there are new tweets. Unread ones have a little dot next to them, but it’s hard to see and not obvious at all. (This is why I clear out the whole thing.)
  • If you see a reply to someone but want to see the rest of the conversation, you can click on the “in response to” in the tweet (this feature was also not obvious). However, this link shows up on the same line as the username, date and time, and application used (eg. “Twitter for iPhone”) so it’s not always visible. If you can’t see the link, I have found no way to get Tweetdeck to show the conversation.

Drawback specific to the Android version:

  • If you haven’t updated in a while, you have to scroll through everything to get to the top. You can click on the title bar of a column to automatically scroll, but it still actually scrolls and if you have several days worth of tweets to scroll through, this can take a while. I couldn’t find an obvious way to simply jump to the top or mark everything as read.



A couple of weeks ago, I had a problem with Tweetdeck popping up a weird empty “Updating” window that never went away. (It got fixed the next day.) This was not a big deal at all, but I tweeted about it anyway. A friend responded and told me that he had tried MetroTwit and had never gone back, so I decided to give it a try as well. I had a tough time ordering the advantages below since the top six are excellent features.



  • Columns are resized as they are added so if you only have a couple, they’re wide but if you have lots, they’re narrower but still all fit on the screen – no horizontal scrolling. This is fabulous. I have seven columns and can see them all easily. I haven’t tried more but I assume if you have too many it will eventually either not let you add more or will be forced to make you scroll.
  • A big number appears at the top of each column telling you how many unread tweets are in that column, though I’ve occasionally seen situations where the number is off by one.
  • Clicking on a tweet marks all tweets below it as read, so you can mark an entire column as read by clicking the top one.
  • A mark appears in the scroll bar for each column indicating where the most recently read tweet is.
  • The most recently read tweet has a line and arrow at the top to indicate “you’ve read up to here”. Very nice.
  • You can have the application’s icon change to include a count of unread tweets or replies or messages or whatever. I have it set to replies only so I can glance at the icon on the taskbar to see if I have any unread replies.
  • If you hover over shortened links you will get a tooltip containing the real URL.
  • Images from yfrog, twitpic, etc. will pop up in the interface when you click on them. I prefer the way Tweetdeck pops up a window to display images, but this isn’t bad.
  • The link to see the rest of a conversation is always visible and obvious (i.e. it’s a link on its own line that says “View conversation”).
  • All three apps will autocomplete usernames when you type a ‘@’ but MetroTwit will also autocomplete #hashtags, choosing from those that you’ve previously used as well as current trending ones.



  • When you minimize the app, some more tweets come in, and then you restore the window, the columns sometimes show the latest tweet, sometimes they show the most recently read tweet, and sometimes they show some random tweet that may be in between the two, or one that may be days old. It seems random which one happens – consistency would be good. This happens when you close and restart the app as well.
  • No built-in filters, so no way to get rid of Foursquare tweets. There is a filter from something called, but I haven’t tried it yet.
  • The scroll bar is very narrow and it’s hard to grab the scroller thing.
  • You can follow/unfollow people but I couldn’t find a way to modify lists from the application. I generally do that from the web page anyway. I only list it here because Tweetdeck can do it.
  • Not quite as easy as Tweetdeck to click on a user and jump to that user’s page in a browser. It’s two clicks instead of one.
  • The dark colour scheme is very dark, and the white one is hard to read. I prefer Tweetdeck’s colours.
  • Twitter only. No support for Facebook, LinkedIn, etc.
  • Doesn’t handle multiple Twitter accounts. Apparently this is “coming soon” but may only be available in the not-free “Plus” version.
  • Windows only. No Mac/Linux version, and no mobile versions.
  • There is an ad (OH NOES! ADVERTIZING!) at the top of one column. It’s a different colour than other tweets and you can’t get rid of it, but it’s not really a huge deal. You can pay for the app ($14.95 Australian which is roughly the same in Canadian or US) to upgrade to “MetroTwit Plus” to make the ads go away.



I had nothing but problems with Seesmic. I installed it a few months ago and was less than impressed. I uninstalled it a day later. When I decided to write up this article, I couldn’t remember what I didn’t like about it, so I re-installed it and tried it for a while. “A while”, in this case, turned out to be about an hour. I’ve given it a few more chances since then but they’ve always been short and frustrating.

First off, there were authentication issues. I authenticated with Twitter, but when I stopped and restarted the app (required to disable most of the myriad of plug-ins that were automatically installed and enabled (grrrrrr…)), I had to authenticate again. But this time the authentication failed – numerous times. I tried shutting down the app and trying again with no luck. I checked to make sure the Twitter site itself was up, and it seemed fine. After about ten minutes I tried again and everything was fine. Note that I was copy-and-pasting my password from KeePass so it was not a case of simply mistyping the password. This hasn’t happened since then, so perhaps it was a one-time thing.

Version: They call it “Seesmic Desktop 2” but the version number was


  • It lists retweets other than my own. If a user I follow retweets a user that I don’t follow (i.e. a “real” Twitter retweet, not just adding “RT” in front of the text), I’ll see it in Seesmic but I don’t think I will in either MetroTwit or Tweetdeck.
  • You can create a Seesmic account and it will do extra stuff like be able to synchronize your configuration among machines. I did not do this, so I can’t comment on that feature.
  • Windows and Mac versions as well as Android and iPhone.


  • The columns don’t resize.
  • Each tweet that you haven’t read is marked with a little yellow circle, which goes away when you click on the tweet or select “Mark all as read” from the menu at the top of the column. But that’s the only way to mark things as read. Not quite as bad as Tweetdeck, but worse than MetroTwit. You can clear out the tweets marked as read (i.e. empty the column), but when you close the application and start it up again, they all come back.
  • There are two buttons in the bottom left panel with no indication of what they do. One looks like a solid rectangle, the other a series of smaller
    rectangles but when I click on either of them (they seem to be mutually exclusive toggles), there were no obvious changes anywhere. There are no tooltips or text anywhere to indicate what they’re for.

  • There didn’t seem to be any way of determining or controlling how often it refreshes the feed. I could find no way of manually causing a refresh either.
  • At one point I had a Home column (i.e. my entire Twitter feed) plus a Sports column, made from a list I have. Several users in the sports list had unread tweets in the Home column but not in the Sports column. The tweets did show up in the Sports column some time later, but it didn’t make sense to me that one column was updated while the other wasn’t.
  • If you right-click on a tweet, there is a large list of things you can do (i.e. reply, retweet, block user, etc.). There is a little menu at the top of each column but if you right-click there, you just get a small and useless Silverlight menu.
  • Bug – when I tried copy-and-pasting my Facebook password, it seemed to think I was pasting in several hundred or thousand characters, as the password field kept scrolling horizontally for 10-15 seconds. My password is 8 characters long and when I typed it rather than pasted it, it worked.
  • There were about 10-15 plug-ins automatically installed and enabled. I disabled all but about three of them.


On the desktop, I’ve moved over to MetroTwit. It has resizable columns, and tells you at a glance how many unread tweets you have in each column without having to clear the column, and changes the application icon to indicate how many replies are unread and makes it brain-dead easy to mark tweets as read. Lots of big plusses. However, I tend to keep my Twitter application open but minimized most of the time, and the scrolling behaviour I described earlier is annoying. Big minus. When I bring up the application (whether starting or de-minimizing), ideally I’d like the columns to automatically scroll, showing new tweets, until the most recently read tweet is visible at the bottom with the unread tweets above it, and then stop scrolling. This way I can instantly see the oldest ones I haven’t seen, and then continue to scroll up as I get to the newer ones. Actually I’m not sure what Tweetdeck does in this respect, since I always clear the column (because it’s not obvious which tweets I haven’t yet read).

I wouldn’t touch Seesmic with a 39 ½ foot pole. It seems like beta software that got released too early. Maybe I’ll try it again in a year or so to see how it’s improved.

I still use Tweetdeck on Android because there is no MetroTwit for Android (or iPhone).

Facebook changes and rumours

From Twitter:

Scientists: Hey, I think we discovered particles that travel faster than the speed of light. World: OMG new Facebook!

Facebook made some changes to their interface recently, and just like every other time they’ve done this, a bunch of people lost their minds. There were postings about how to get the old interface back by changing your locale to the UK, and I heard the tired old calls of “if it ain’t broke, don’t fix it”. There were even petitions demanding that Facebook change it back. These petitions will never work.

It’s not that Facebook doesn’t care what its users think, it’s just that they have so many users that they have to cater to the majority. If you make a petition telling Facebook that you hate the new format and demand that they change it back, and you get thirty five million people to sign it – the entire population of Canada – and print it out and drop it on Mark Zuckerberg’s desk, do you know what he’ll say? He’ll look at the 35 million signatures of people who hate the interface and say “This means that ninety five percent of our users love it! Success!”

Meet the new Facebook, same as the old Facebook

Of course, two days after the change, the postings all stop as people become accustomed to the new interface, realize that everything they’ve been used to is still there though perhaps in a different place, and that the new interface really isn’t so bad after all. Everything is once again fine in the Facebook world until the next time they make a change, at which time people will lose their minds once again – because Facebook has changed away from the interface they complained so bitterly about the last time.

Ever notice that the people that complain the most about the Facebook changes are those who update their status fifteen times a day and are the least likely people to leave Facebook? Facebook knows this, which is another reason they don’t worry about the complaints. I’m not making judgements about people who are on Facebook a lot – I am quite active on Facebook myself, as well as Twitter, and I have my own blog fer cryin’ out loud, so I’m not about to criticize others for wasting spending a lot of time online.

Regarding the “If it ain’t broke, don’t fix it” – do you really want Facebook to keep the same interface and features forever? That’s not the way the software industry works. We software engineers are always looking for ways to make our product better. Sometimes this comes from adding features that have been requested by customers, other times it’s stuff we come up with ourselves. (Make a note of that word “customer” – I’ll get back to that in a minute.) Facebook engineers are no different – they want to improve the customer experience. Their problem is that many people are using Facebook twenty times a day and become accustomed to how it looks and how to do things. When that changes, people are suddenly uncomfortable with something that they’ve been comfortable with for a long time. The fact that they have seven hundred million users also guarantees that no matter what change they make, millions of people won’t like it, and we all know that people who don’t like something are more likely to comment on it than those who do. How many postings did you see talking about the Facebook changes and how great they were?

Does Facebook have privacy problems? Sure they do. I used to know exactly what the defaults were and how all of that worked, but Facebook has added new features and changed things often enough that now I don’t know what happens by default. I have found in the past that once you change your security settings to be something different from the default, new features tend to be off or more private by default, while if you have never touched your settings, everything’s wide open by default. I don’t know if it’s still that way and that topic is beyond the scope of this article. I did want to mention it to acknowledge that Facebook is not perfect – for those people who read this article and think I’m some kind of Facebook fanboy who would never say anything negative about them.

You will never pay for it

Another rumour that I’ve seen a bunch of times is that Facebook is soon going to start charging people to use the site. I can guarantee you that these are rumours are false. Facebook will always be free. You will never need to worry about paying Facebook anything as a customer. Why? Because you’re not the customer. Facebook is not in the business of building a social network, they are in the business of selling advertising. They built a social network in order to attract people to their website, and they sell those pageviews to advertisers. You are the product Facebook sells. They make far more money selling advertising than they would charging people to use their web site, since they know that a large percentage of the well over half a billion users they have would not pay for the service. never understood this.

So don’t worry about rearranging your finances to have an extra few bucks a month for Facebook, and don’t worry about how you are going to keep in touch with your friends in Texas or Scotland or Italy or Japan without Facebook. Will it be around forever? Who knows. But it’s the most popular web site in the world right now, I don’t see it going away any time soon, and you’ll never have to pay for it.

Parental Control Software and Big Boobs

My kids (ages 11 and 9) are getting more and more familiar with the internet, and enjoy spending time on the computer. Mainly they play games and watch funny YouTube videos (“Simon’s Cat” is their favourite), but a few times Ryan has mentioned facebook and chat rooms and instant messaging and such, and they are both heavily into a game called Minecraft, which is all the rage these days. They have gone to message boards and watched videos on how to mod the games, and recently Nicky wanted help in downloading a mod which required modifying .jar files. There’s enough scary stuff on the internet that I’m getting less and less comfortable with them just perusing at their leisure, so I looked into various parental control software packages.

Step one was made a couple of years ago and was amazingly simple. I set up a free account on and changed my router to use it for DNS rather than my ISP. Not only is it faster, but they have controls that filter various categories, so I selected things like porn, nudity, adware, dating, gambling, hate, and a few others. It doesn’t mean that it’s impossible to get to these sites, just that if you try to get to, the DNS server will simply not tell you where it is. ( is just an example I grabbed chose at random. Not surprisingly, it turns out to be a real web site.) The DNS setting is done on the router, which means it applies not only to the computers, but the Wii, Ryan’s iPod Touch, and anything else we add in the future. That was a very easy first step and blocks a fair bit of the stuff I don’t need my kids seeing. As part of research for this article I actually went to to make sure OpenDNS was blocking it. It wasn’t, so I had to fix my OpenDNS settings. I guess I will have to visit periodically from now on, just to make sure everything is still working. With OpenDNS, I mean.

Step two has been ongoing for a while, though it seems to be at least temporarily solved. I’m looking for a software package that will allow me to monitor and limit my kids internet usage. I first tried a free solution from Blue Coat Software called K9 Web Protection. It looked pretty good, but I couldn’t make it work at all. I installed it, rebooted the machine, and got nothing. I wasn’t able to connect to the internet at all, and every time I tried to run the administrative program, it crashed. During the uninstall procedure, it brought up a window and asked me why I was uninstalling, so I told them. To their credit, a Blue Coat support guy responded via email within a day or two and sent me a newer version to try. It had the same problem only this time when I uninstalled it and replied to the original email, I got no response. Strike one.

The next one I tried was Kidswatch. I installed the trial version and it seemed pretty extensive. It allows you to limit exactly what times you are allowed to log on to the machine, what times you are allowed to use the internet, what web sites are blocked, what types of web sites are blocked (i.e. social media, online shopping, etc.), all kinds of stuff like that. The list of options is actually pretty impressive. It can also send you daily or weekly email reports of internet usage – which web sites were visited, how long was spent on each of them, stuff like that. It can send you immediate emails if a site is blocked or certain keywords are found on web sites, chat rooms, or IM sessions. This sounds great, but I started getting false positive reports all over the place – unless Ryan is doing google searches for “Megan Fox boobs” while sitting right next to me. It reported that he went to facebook when he didn’t, it reported all kinds of other web sites he didn’t visit and searches he didn’t perform. It ended up being more trouble than it was worth.

I had been using the free trial of Kidswatch for a week or two, not sure yet whether I wanted to buy it or not. It’s not that expensive – $45 allows you to install the software on up to three computers. But then I got an email saying “we’ve noticed you’ve downloaded our software but haven’t bought it. If you use this code, we’ll give you a $10 discount”. I know this is standard practice in many industries, but it seemed backwards to me — if I had originally been thrilled with the software and had bought it right away, I wouldn’t get the discount? It’s the same with banks – the loyal long-time customers who never consider switching banks pay the highest mortgage rates, while the people who threaten to move to another bank pay less. That doesn’t seem fair to your best customers. Anyway, I didn’t end up buying it because of all the false positives. Strike two.

There’s another package called NetNanny which is supposed to be good, but I haven’t looked at it. It’s the most expensive though – $40 per PC. I was almost ready to install this one when I asked around on Twitter and someone said that they were “just using the free Microsoft one”. I didn’t know there was such a thing, but there is – Windows Live Family Safety.

Vista and Windows 7 have parental controls built in, so you can limit when you can log in to particular user accounts as well as the total amount of time they are logged in per day or week. This package adds more stuff, allowing you to set up multiple computers to have the same limits, modify these limits from anywhere, as well as adding web filtering (general categories as well as specific sites), game and program restrictions (eg. I have Skype and the webcam software blocked) and contact management if your kid uses Windows Live. It can monitor IM activity if you use MSN Messenger, but not other IM software. It would be nice if you could allow the child to log onto the computer at certain times but not use the internet, but that doesn’t seem to be an option. You also can’t combine the time restrictions with the web restrictions, so you can’t say “Allow on weekends but not Monday-Friday”.

So this is what we’ve been using for a few months, and it’s pretty good. If I run into problems with the Windows Live stuff or I need more functionality than it provides I may give NetNanny a try, but I’d want it on at least two computers, and I’m going to have to be damned sure that it’s going to do what I want before I spend $80 on it.

Macs suck too

If you’re a Windows user who has ever been infected by malware, and you’ve posted about it on facebook, twitter, or a blog, some Apple fan-boi has likely told you “That wouldn’t have happened if you used a Mac!” There is some truth to that, but the implication that Macs are inherently safer or more secure than Windows machines is simply false.

Please don’t take any of this as a rant against Apple in general or Macs specifically, or believe that I think Windows is far safer than Mac OS X. I don’t own a Mac, but I love my several-year-old iPod as well as my son’s iPod Touch (way more than my wife’s Walkman). I’ve used Macs a number of times in the past few years and damn, they’re slick. Apple has by far the best visual design team in the world – things generally just work the way you expect them to and in some cases, even better.

I’m primarily a Windows developer, and I’ve written tons of software for Windows over the last twenty years. I am slightly less experienced when it comes to Macs, but I have plenty of experience on other unixes, and modern Macs aren’t that different. I have done some Mac work in recent years, and in my previous job I worked on NeXTStep, which was essentially the predecessor to Mac OS X. If you’re comparing the unix systems of the 90’s with Windows 95 or 98, then yes, you can certainly say that the Windows operating system itself is less secure, because security just wasn’t a consideration when those systems were created. Unix was built from the beginning to be a multi-user operating system, and so there had to be separation between different users on the same machine, and between normal uses and super users. But Windows was designed to be a single-user OS, so the assumption was that you were doing everything, and since this is your machine, you should have access to everything. Multiple users, administrative privileges, and even things like file permissions were added later and for a while, there were lots of things that just didn’t support these features very well. But over the years, more and more software was changed to use the new security features, and Microsoft gradually deprecated and then completely disabled the old insecure methods of doing things. I know we at Sybase had to make changes to our software to deal with security-related changes when new versions of Windows were released.

Right now, when it comes to spyware, viruses, worms, or things like that, I can’t really argue the fact that if you are using a Mac, you are less likely to get infected than if you are using a Windows machine. But the reasons for that have nothing to do with how safe the operating system is. There are two primary reasons:

  1. Macs are simply less popular than Windows. This doesn’t mean that they’re inferior, but if you look at market share, Windows machines make up almost 90% of all the machines out there. If you’re going to write a virus that will take over a machine for use in your botnet or have it scan a machine and send you somebody’s credit card information, why would you write your virus specifically for a computer that only 5% of all computers are running? You’d write it so that it could infect as many people as possible, and that means Windows. I know of no viruses (virii?) that affect the BeOS operating system, but is that because it’s completely secure? No, it’s because nobody uses it.
  2. Mac users are generally more computer-savvy than Windows users. We all have a brother or cousin or mom or Aunt Helen who knows nothing about computers but has one just for email and browsing facebook (and installing fifty browser toolbars). How many of those people own Macs?

Every year at the CanSecWest computer security show in Vancouver, they have a contest called “Pwn2Own” where contestants try to find and exploit security vulnerabilities in various pieces of software (usually browsers) on various platforms. The winner wins the hardware they broke (hence “Own” in the name) as well as cash. The contest began in 2007, and the only platform broken that year was the Mac, though it looks like it was a Mac-only thing at the time. Every year since, it’s definitely been a multi-platform contest, and every year (2008, 2009, 2010, 2011) the Mac is one of the first platforms cracked. In 2011, it took five seconds. It shouldn’t be surprising that Apple software developers are just as likely to write buggy software as the rest of us.

As the platform becomes more and more popular, people are indeed beginning to write viruses for the Mac. This one ironically poses as anti-malware software in order to get people to install it, just as many Windows malware programs do. This might be a good time to remind people that a web page cannot detect viruses on your computer. If you see a banner on a web site saying that your computer is infected (or your computer isn’t running as fast as it could) and you should click here to install something that will fix it, they are lying.

I find it ironic that Mac people keep advising their friends to get Macs in order to be safer. If people keep doing this, two things will happen: Apple’s market share will increase, and more and more non-techies will be using Macs. This will make Macs a bigger target, and more malware will end up being written for Macs. The act of telling people to use Macs for safety is actually making them less safe. So if you’re an Apple person who’s constantly telling all your friends that they should be using a Mac, it’s really in your own best interest to shut the hell up.

Cloud computing is like groovy, man

I downloaded a package from this morning and saw an advertisement for a whitepaper from IBM on cloud computing. This line in the ad intrigued me:


I wonder what kinds of cloud computing initiatives IBM was working on in 1971, when TCP/IP (the protocol used by the internet) hadn’t been invented yet?

Bye Bye Bell

During a recent conversation at work, a colleague (John) mentioned that his phone bills are usually under $10/month. I thought about our $60+ phone bills (not including mobile) and asked how on earth that was possible. He said that he uses VOIP and not only does he pay almost nothing, but he gets more features than Bell supplies. Again I asked how, and he pointed me at After a little research, I decided to try it out. It’s working now, but getting everything working was far from simple.

VOIP, for those of you who don’t know, is short for Voice Over IP, which basically means your telephone service is provided over your internet connection. As long as you have broadband always-on internet service, you can use it to provide telephone service as well. In my case, I pay $1.99 per phone number and then 0.5¢ per minute per call (both incoming and outgoing). Note that there are no long distance charges, so a call to friends around the corner costs the same as calling the other side of the country – but a one-hour call costs all of 30¢.

To make this work, I first needed to sign up for a account. This was free and very easy. Then you need something to convert your phone signals into internet traffic; in my case I bought an analog telephone adapter (ATA) from Linksys. My research for this purchase was not exactly extensive – it consisted entirely of asking John which one he bought, and then buying the same one. I plugged the device into my router and then plugged a phone into the adapter. Guess what? No dial tone. This made sense, since I hadn’t told the adapter how to get to the server, nor did it have a phone number for me to use, which means that I have some configuring to do.

(Attention technophobes – you might want to skip this paragraph.) The adapter supports both a web interface and a phone interface. The phone interface is minimal and cumbersome – I had to pick up the phone and dial * four times and that gave me a voice menu. The menu options (not many of them) are listed in the manual and everything seemed very cryptic. Luckily there is also a web-based interface, which would make life a lot easier, but getting that enabled was a bit of work as well. The adapter had already been assigned an IP address by DHCP, but to get the VOIP stuff working, I had to open ports in the firewall which requires a static IP address. I entered a key sequence to disable DHCP and another to assign a static IP address, and then another to enable the web interface. Then I hung up and went to the IP address in a browser. Success! Now I could modify all the settings. Except that there were a zillion different settings, each with meaningless (to me) acronyms, and I didn’t know what the settings were supposed to be.

The web interface was orders of magnitude easier than the phone interface, but even so, you’d be lost without a good knowledge of telephony terminology. Unfortunately, I don’t have such knowledge. I eventually found a description of how to configure my particular device on the page. Once that was done, things should have worked, in theory. To test it out, I ordered a new phone number (what they call a “DID”) from, which cost me $1.99 / month. It gave me a Waterdown number (area code 289) instantly, and I was able to make outgoing calls. Incoming calls required a little more configuration but with more help from John, I soon had that working. I then started the process of moving my existing phone number over from Bell, and a week and $25 later, that was done. I cancelled the temporary number, physically disconnected the Bell line, and away we went.

Cool options available with

  • You can set the name and number for call display. For example, when I call someone, I can set it so that their phone displays 867-5309 and “Jenny”.
  • I get emailed every time someone leaves a voicemail. A .wav file is attached containing the message. When I dial the number to get my voicemail from home, I don’t need to enter a PIN.
  • I can set up a dialing rule so that I don’t need to dial ‘905’ for local calls.
  • If there is no answer (after a time period that I choose), I can:
    • go to voicemail
    • forward the call to another number (for example, my cell phone)
    • play a recording
    • give a busy signal
    • hang up
    • give a “this number is not in service” message
    • give a “this number has been disconnected” message
    • do nothing
  • If the line is busy, I can choose any of the above options as well, and it doesn’t have to be the same as if there’s no answer.
  • I can set up any number of phone numbers that all ring on my phone. These numbers can be anywhere in North America, and it would be a local call for people there. For example, I can set up a phone number in Huntsville (for $1.99/month) that my parents and Gail’s dad could call locally, and it would ring here. Nobody would pay long distance for that call.
  • I can have the ring sound different depending on who’s calling or what number they dialled. In theory. John tried this, however, and couldn’t get it to work.
  • I can add numbers into my local address book for speed dial on any phone. If they call me, I can set the name that’s displayed. This is handy, for example, because our cell phones always show up as “Unknown name” and the boys don’t answer the phone unless they recognize the name. (They haven’t memorized our cell numbers yet.) So I added our numbers to the address book and now my cell comes up as “Graeme cell”.
  • I can set up multiple mailboxes and a “digital receptionist”. For example, I can say “Press 1 to leave a message for Graeme, 2 for Gail, 3 for Ryan, and 4 for Nicky”.
  • I can put calls into a calling queue, complete with hold music. “Your call is important to us, and is being held in priority sequence. Please hold for the first available Perrow family member.”
  • I can set up a “ring group” so that when a call comes in, both my home phone and my cell phone ring, and the first one to answer get it.
  • I can make rules for specific numbers, so that telemarketers get the “This number has been disconnected” message, or some go straight to voicemail without ringing the phone.
  • I can do almost anything above differently based on time of day. For example, I could say that between 11pm and 7am, only ring twice before going to voicemail, otherwise ring 5 times.
  • I can get a complete list of every incoming and outgoing call, and how long it was. There are a number of graphs available, showing things like call lengths and total cost.
  • 911 works, although it does not automatically forward our street address to the 911 operator. It also costs $1.99 / month extra.
  • Other than 911, all of the above options are free included in the price.


  • The 911 thing I mentioned. It works, but we have to tell the operator our address. Not a big deal.
  • No call waiting, but I don’t care. We didn’t have it for many years and only added it recently. I don’t remember why we even added it – we usually just let the second call go to voicemail.
  • If we’re doing a lot of internet stuff, like the boys are watching YouTube videos or I’m watching a lacrosse game, call quality could drop. John said he’s noticed this a few times but not often.

As I said, it was non-trivial to get everything set up, and the ATA device cost about $60, and moving the phone number cost $25. But if I end up with $10 monthly phone bills rather than $60+, those extra costs get covered pretty quickly. We’ve only been live for four days, but I have not noticed any drop in voice quality. And if nothing else, damn it’s cool.