Category Archives: Tech

Tool review: Aeries for twitter

A bunch of years ago, I did some comparisons between popular twitter applications. My choice at the time was MetroTwit, which looked great and had lots of well-thought-out features. I eventually paid for the “Plus” version which removed all advertising and allowed you to deal with multiple twitter accounts.

But a few years ago, the guys who developed MetroTwit suddenly quit due to changes in Twitter’s policies on users. Luckily the app continued to work, but new features supported by twitter were not integrated into the application. So when Twitter started removing links and user account names from the 140 limit, MetroTwit tried to handle it as best it could but sometimes I had to go directly to the Twitter web site to see the full text of a tweet or continue a conversation. It would also notify me of mentions but sometimes I didn’t get notified of retweets. None of these problems was a big deal and I continued to use MetroTwit.

But recently, Twitter expanded the tweet length to 280 characters from 140, and now a much larger percentage of the tweets I see in MetroTwit are truncated with a link to the web site to see the rest. This has made the app basically unusable, so I need a replacement. Using the twitter web page directly isn’t as bad as it used to be, but being able to split the timeline into columns is invaluable so I really need an app.

After some googling, I came across one called Aeries, described simply as “the best Twitter client for Windows”. One of the first drawbacks of this app is the lack of any trial software, meaning that in order to see what it’s like you have to buy it. It’s $3 or something, so not a big deal, but it would have been nice to try it out first.

One of Aries’s features is the ability to customize how it looks – font size, image size, colours, stuff like that. But it seems to me that basic functionality was skipped while they worked on customization.


  • It does look great and the ability to customize font and image sizes and such is very nice. I just don’t think that should come at the expense of basic functionality.
  • When you leave the app running for a while, or minimize it, it keeps each column (roughly) where it was when you last looked, and updates the unread count for each one as new tweets arrive. You can then scroll up to see new stuff and the unread count drops as you see new stuff.


  • No autocomplete of twitter handles. This should be an absolute requirement of any twitter app.
  • The app crashes every time I switch users
  • Cannot re-order columns. There’s an up/down arrow icon in the setup page but clicking on it or grabbing and dragging it does nothing.
  • You can have a column containing all of your lists (with a small menu at the top for switching between them) but not just one column with a single list
  • You change the contents of columns and add and remove them, but you have to restart the app to see the changes
  • There’s a way to see all the tweets that I’ve liked but no way to be notified when someone likes my tweets
  • The columns are all the same width and cannot be resized
  • There are no tooltips on any buttons. Some are obvious but others aren’t and there’s no way to find out what one does without clicking on it
  • It doesn’t yet handle display or posting >140 character tweets. This is not a big deal (yet) since that ability is very new. But it better show up within a week or two (Update: two weeks later, still nothing.)
  • Clicking a link in a tweet does nothing
  • I have one column with all my lists. In the menu bar thing on the left, each list is shown with an unread count. But each list shows the unread count for the list being displayed, so they all have the same number.
  • Retweets may show up in two columns (i.e. “Home” and a list), but they sometimes look different. If the original tweet had an image, sometimes you see it, sometimes not, or they may be displayed differently.
  • No way I could find to check for updates to the app.
  • I tweeted a couple of questions to @AeriesWindows and got no response.

It’s been a couple of weeks since I originally downloaded Aeries and I have since gone back to the “unusable” MetroTwit. Long tweets are not directly supported, but they show up truncated with a link to Some of them I just ignore, but for others I click on the link and read it on the twitter web site. Other than one check this morning to see if it had updated with 280-character support (nope), I haven’t even launched the Aeries app in a week. Meanwhile the Aeries team has my money.


Phone reviews: Samsung Galaxy S4 vs. HTC Sensation

I recently upgraded my phone from the HTC Sensation I’ve had for three years to a new Samsung Galaxy S4. To say I’m pleased with my new phone is the understatement to end all understatements. Of course comparing the two phones directly is not really fair – we’re comparing new technology in the S4 (actually not that new; the phone was released over a year ago, but it’s new-to-me technology) against a phone that’s well over three years old. In the cell phone industry, three years is a lifetime.

The old phone had a dual-core processor; the new one has a quad-core. It also has more than twice the memory (2 GB vs. 768 MB) and an amazing eight times the storage space. The HTC had 4 GB with 1 GB available while the Samsung has 16GB with 8GB available. This is good since I was to the point of removing one app in order to have enough space to install a new one. The camera is an unbelievable 13 MP (only 8 MP on the HTC) and the front-facing camera is 2 MB while the HTC front camera is a pathetic 0.3 MP. Yay, better selfies! Oh wait, I never take selfies.

Samsung Galaxy S4

And the battery! Holy crap, the battery. I have yet to see the battery drop below about 45% charge, even if I’m twittering and facebooking and cameraing and even watching streaming video. I haven’t tried the GPS (i.e. driving directions), but I know that really sucked the battery dry on my old phone. I do charge it overnight every night but I did that with the HTC as well and if I was using it a lot and not being careful, it’d be dead by dinner.

It turns out that taking a picture of your phone with your phone is a challenge, and I couldn’t take one with my old phone because I moved the SD card to the new phone, so I found a picture online. This is probably a better picture anyway. And yes, I did get the red one though I have a black case.

Don’t get me wrong, I was very happy with my HTC phone. It was my first smartphone, so I didn’t really have anything to compare it to, but it did pretty much everything I wanted it to. It did have its problems, which either weren’t there or I didn’t notice for the first year or two. Google search was really slow – if I entered something in the search box, it took at least 20-30 seconds before the search results came up, and I don’t think it was the search itself that took so long. The 3G network would sometimes just drop and not reconnect. I’d disable the mobile data entirely and then re-enable it and that frequently worked, but other times a reboot was necessary. Very occasionally I had to take the back off and remove the battery for a few seconds. I must have rebooted the phone at least once or twice a week just to try to speed it up.

I had no real problems with phone part of the HTC. It didn’t drop calls often, the call quality was fine, I could bring up the keypad easily while talking, and I could put the caller on speaker and check email or whatever at the same time (though I think I did that twice in three years). But the call quality on the Samsung is great. I was at Nicky’s soccer game the other day and Gail called me. It was quite windy but despite not doing anything to block the wind, I could clearly hear her and she could clearly hear me. I asked her if the wind was a problem and she didn’t even hear it.

Both phones have an “auto-brightness” feature, where the phone adjusts the brightness of the display based on how bright it is where you are. I enabled this on the HTC but it didn’t work very well and I had to continually turn the brightness up manually until I ended up turning the auto thing off and leaving it on full 24/7. That probably didn’t help the battery life. The Samsung auto-brightness thing is outstanding, and the screen is really clear. It’s a bit bigger (5 inch display vs. 4.3 inch), so that helps too.

One thing that I absolutely LOVE LOVE LOVE is the slidey keyboard. It’s not actually a Samsung thing at all, it’s an app called SwiftKey. Rather than typing each character individually, you put your finger down on the first letter of the word, then just slide it to the second, third, fourth, etc. until you’ve entered the entire word. Not only is that much faster than typing the word, but the word prediction and auto-correct is excellent. It turns out that this app actually was available on my old phone, though I didn’t know it. I never got good at dual-thumb typing on my HTC, I always stuck to the right index finger so it wasn’t terribly fast. With SwiftKey, I still stick to the one finger but it’s much faster.

The only thing that I prefer with the HTC is the lock screen. I had to swipe and then enter the PIN to unlock the device. But if the device had been locked for a short time (under a minute I think), you didn’t have to enter the PIN again, just swipe. The new lock screen doesn’t require the swipe, just the PIN so whether I locked it 5 seconds or 12 hours ago, I still have to enter the PIN. Slightly inconvenient if I lock the device and then remember that I needed to do something else right away.

Oh no, wait, there’s one other thing I don’t like about the Samsung. When dialing the phone, it has a setting for whether hitting the number buttons makes a sound, but there’s no way (I can find) to change what the sound is. I don’t like the “drip” sound it makes but I can’t figure out how to change it. But I think I’ll survive.

Maybe once I’ve had this phone for a few years I’ll decide it has problems too, and then the next new phone I get (with 8 processors, 32 GB of RAM and a terabyte of storage) will be awesome compared to this thing. But for now, I’m very happy with this thing.

I am Two-Face to Maynard James Keenan’s Joker

Last week, I bought a few music CDs. Like, CDs with music already on them. And not MP3s. I know, totally old school, but I’m an old school kind of guy. Anyway, a couple of them were from a band called A Perfect Circle which features Maynard James Keenan, the lead singer of Tool. I had never heard any music by this band, but I like Tool and Keenan has a distinctive and strong voice so I took a chance. But the band isn’t what this is about.

A Perfect Circle - Thirteenth StepThe CDs I got were their first and second albums Mer de Noms and Thirteenth Step. On the back of the Thirteenth Step CD case, it says “Copy Controlled”, which I assumed was some technology to prevent people from making copies of the disk. It never occurred to me that this would prevent the tracks on the disk from being ripped by programs like iTunes, because everyone uses iTunes or Windows Media Player or something like that, right? I mean, considering the number of iPods and other MP3 players out there (recent surveys say there are approximately 4.23 gazillion of them), no record company in their right mind would knowingly put technology on an audio CD that prevented it from being imported into iTunes. Would they? Yes. Yes, they would.

(Note that I’m giving the record companies the benefit of the doubt here. It’s possible that they’ve done this so that people who wanted MP3 copies would be forced to buy the album twice. I’m going to assume that the copy protection is there solely to prevent piracy and not as a way to rip off consumers.)

Neither iTunes nor Windows Media Player can read the disk at all. I can’t even play the disk on my computer. So now I have an audio CD that I legally own and yet I cannot listen to it on my computer or iPod. If I’m in the car, I could use the CD there (if it works on that player), but that means either leaving it in the car all the time or deciding in advance what music I’m going to listen to when driving. That’s a pain, and avoiding that is the reason I bought an iPod in the first place. I sometimes listen to music at work through my iPod, but this album would be unavailable. The other A Perfect Circle album rips and plays fine. Keenan’s voice is obviously a big part of it, but the songs are shorter than Tool, and a little more mainstream. There is far less ambient stuff – one of the songs on Undertow (a Tool album I also bought) (and successfully ripped) contains almost ten minutes of near-silence. But the band isn’t what this is about.

So what are my alternatives? I’ve searched the internet and have found some instructions on how to rip such CDs, so I may try one of those. I could just buy the album digitally, but that means paying for it twice and since I haven’t even been able to listen to it yet, I’m a little reluctant to pay again. But there’s another alternative.

I could steal it.

Music pirate

I could probably search the internet and find an illegal copy of the album someplace and download it in ten minutes. Make no mistake, I realize that this is theft, but I already paid for the album, so the band / record company is not really losing out on anything if I download it. At least, I could use that logic to justify it to myself. But I’m not a music pirate.

I work in the software industry. The software package I work on is not a huge piracy target, but the concept is clear – people downloading SQL Anywhere and not paying for it are stealing from my company. Similarly, downloading A Perfect Circle would be stealing from the record company and, indirectly, the band members themselves.

I’m also a little gun-shy. A few years ago, I downloaded some torrents of TV shows (just episodes I missed of CSI or something from network TV, not PPV or anything), and I got an email from my ISP saying “we’ve been told that you’re downloading copyrighted material. You’d better stop.” I did stop, and so if I decide to look for A Perfect Circle’s album online, I’m a little concerned that I’ll get caught and they’ll cut off my internet.

So integrity and fear means that I probably won’t steal it. If the methods I’ve found of ripping the CD don’t work, I’ll probably just buy the damn thing online. I’ll grumble and I’ll complain, but I’ll fork over the $10. And I’ll probably buy their third album as well. But the thought of downloading a pirated copy of the album did cross my mind, and not just for a few seconds. I seriously considered it.

The record industry is trying to prevent piracy, but the method they’ve chosen (this type of copy protection) is making a non-pirate like me consider stealing the album. They have taken a law-abiding citizen who is against piracy and turned him into a potential criminal.

Talk about unintended consequences.

My first business trip: Elizabethtown, PA

I have loved programming computers since I wrote my first program on my Commodore VIC-20 back in grade 9 (that would be 1982 – damn I’m old). I also got pretty good at it, which explains why I’m still doing it over 30 years later. Being a programmer has had many rewards for me over the years, and one of the perks (before Sybase/SAP, anyway) was travel. I worked for Microsoft in Redmond, Washington for four months on my last university co-op work term, and flew out there again a few months later for grad interviews. While working for Corel, I went to New York City for a day. I was only at Comnetix for three years, but while I was there I went to Boston countless times (roughly once a month for those three years, sometimes for weeks at a time), Washington DC, New York City (again, for a day), Ottawa, San Francisco twice, Naples Florida, and I would have gone to Spain for a project if I hadn’t already had a vacation booked at the time. In my sixteen years at Sybase, I’ve only been on three business trips, all to Baltimore, but now that I have a family, I’m fine with that.

But my very first programming-related trip was to Elizabethtown, Pennsylvania. Now I know the programmers among you are wondering “Damn, Graeme, how did you score that?” This is a place that I would wager very few of you have ventured. And if you actually used the term score, you have definitely never been.*

When I was in grade 12 (this would be the spring of 1986), a few of us were asked by our computer science teacher Miss Gray if we wanted to participate in a programming contest run by the American Computer Science League. We would be given a few questions, and we’d have a limited amount of time to write programs to answer the questions. This sounded like fun, so we entered and did really well – well enough to garner a trip to the finals. And not just the Canadian finals, this was for high school students across Canada and the US. (Actually, another guy that went, Faisal, reminded me that we didn’t actually make the finals, but some other team wasn’t able to make the trip so we took their place.) The finals were held in, you guessed it, Elizabethtown, Pennsylvania. Five of us were chosen to go: me, Faisal, Glen M., Glen F., and Paul. Miss Gray and our school principal Mr. Peleschak came too.

Mr. Peleschak was an interesting guy. He was the principal of the school for our entire five years there. He was an older gentleman, very friendly, almost grandfatherly. He had a full grey beard and always wore a smile. Back in the politically incorrect past, every school day began with a recording of O Canada followed by the Lord’s Prayer. (I remember being a defiant atheist and not bowing my head during the prayer. I was such a rebel.) There were numerous different recordings of the Lord’s Prayer, all done by Mr. Peleschak himself, and all different in some way. For example, in some he said “forgive us our trespasses”, others had “forgive us our sins”, and still others had “forgive us our debts”. His various forms of prayer earned him the nickname “The Pope”. Note that this was not a Catholic school.

We all drove down in Mr. Peleschak’s van, and I think I remember more about the trip down and back than the contest itself. iPods were still 15 years away, so a few of us brought tapes and Walkmans (Walkmen?) to listen to music. Mr. Peleschak said he would put our tapes in the van’s tape player so we could all listen, but we’d have to alternate – one of our tapes, then one of his. This was OK with us, except that all of his were John Denver. I wasn’t much of a John Denver fan at the time and after that trip, I’m still not. But I don’t think Mr. Peleschak was much of a Triumph or Van Halen fan, so I guess we were all even. Mr. Peleschak also smoked a pipe, so now and again the van was filled with pipe smoke (though I believe he opened a window when he lit it). Certainly by the end of the drive I was sick of the smell, but I did have to admit it was better than cigar or cigarette smoke.

The contest was being held at Elizabethtown College, and all the competitors stayed in residences there. Faisal and I were in one room (foreshadowing our time at the University of Waterloo, when we were roommates or housemates for almost four years), the two Glens were in another, and Paul was the lucky one who got to bunk with Mr. Peleschak. Miss Gray got her own room. I have no memory of what we did for food, or even how many nights we were there. Everyone got a welcome package, though the only thing I remember it including was a baby blue frisbee with “American Computer Science League” on it. Outside the residence where we were staying was a large open area. I don’t remember if it was a football field or just a big green space but much of the time we were there, there were blue frisbees flying all over the place. Twenty-seven years later, I still have mine (pictured above). The words have faded a little, but it’s still functional. It takes a lot to break a frisbee, when you think about it.

The contest itself was a complete disaster for our team. Each team could request the types of computers they needed, and we asked for Commodore PETs, which were the computers we were using at school. When we arrived, we found that they had provided us with the right machines though an older model. But the problem was that they had a different language installed. The machines shipped with a version of the BASIC language, but our school computers were using Waterloo Structured BASIC**, which was BASIC with extra stuff added. We were forced to adapt to using regular BASIC, and while not a huge disadvantage, it was certainly frustrating and distracting. I don’t remember where we finished exactly, but I have a feeling we might have had full solutions for one or maybe two of the five questions, and partial solutions for the rest. And I think “partial solution” is pretty generous. In short, we got smoked.

The way home should have been memorable, since we stopped at Hersheypark in nearby Hershey for a day of fun. But the only thing I remember about that part of the trip were the street lights in town (shaped like Hershey Kisses) and the fact that many of the street names were chocolate-related. I have no memories of the park itself, though apparently we played mini-golf, since Miss Gray wrote something in my grade 12 yearbook about that.

About a year and a half after this contest, I began my studies at the University of Waterloo, though I didn’t choose computer science as a major until second year. I guess my next computer-related trip was to Seattle in 1991 to work at Microsoft. That trip was pretty memorable as well, but you always remember your first.

* – That was just a joke, really. I have no negative memories of Elizabethtown itself, though we made fun of the place while we were there because it was so small. We lived in a town of about 50,000 just outside of Toronto, a city of 4 million. Elizabethtown had a few thousand people and wasn’t close to anything big. At one point we saw three people walking together and Faisal said “hey look, an Elizabethtown gang!”

** – This ended up being an interesting coincidence years later. Waterloo Structured Basic was developed by a company called Waterloo Computing Systems, which later renamed itself WATCOM. In 1994, WATCOM was acquired by Powersoft, and a year later Powersoft was acquired by Sybase. I started working for Sybase, in the same office where WATCOM was located and with many of the same people, in 1997. We’ve moved buildings but I’m still there, and some of the people who were on the languages team in the ’80s are also still there though many have moved on and some have retired.

Facebook advertising

This is hardly a revelation but ads on Facebook are targeted, which means that Facebook looks over your profile and shows you ads that it thinks you’ll be interested in. For the most part, it does a pretty decent job. I’ve seen ads for Rush and the Tragically Hip, both of which I like. I even once clicked on an ad for a musician that I had never heard of because the ad said he was similar to Dream Theater, which I also like. I’ve seen ads for programming jobs (I’m a programmer), guitar lessons (I play guitar – sort of), books that are along the lines of what I might read, and games that I might play if I were into video games at all.

The other day I saw an ad for a golf video game and another for golf equipment (I like golf), another about Blackberry tips (I’m an Android guy myself, but given my technical job and interests this is a good guess), one that said “Western graduate?” (yup), and another that said “Star Trek fan?” (yup) – all on the same page at the same time. I have to say I was pretty impressed with the ad selection.

I’ve even seen ads for lacrosse-related things. You may or may not be aware of my interest in lacrosse.


Just the other day, I posted a status about my garage door spring having died. A day later, I saw an ad for a company that services garage doors in my area. Neither Home Depot (where we bought the door) nor Rona service garage doors, so seeing this ad was perfectly timely. I gave the guy a call and he came out on Saturday to give me a quote. Thanks Facebook.


But it doesn’t always work. I frequently see ads for “Find Mature Love – for Singles over 40”. My status is clearly “married”, so I’m not sure why it decides to show me that. I wonder if it takes into account the fact that my wife is not on Facebook.

Some of the ads are premium and show up regardless of whether they match anything in your profile, like these ones from a group that tries to get pardons for convicted criminals. I’m OK with this idea in general – if someone commits a crime, pays his or her debt to society, and is unlikely to re-offend, in certain cases granting a pardon may be reasonable. But the advertising people in this group may want to re-think the pictures they choose. I know this is totally judging a book by its cover, but I’m not sure I want these scary-looking people who have already committed crimes walking the streets:


I found it interesting that each of the ads (captured at different times) has a different “deadline”. I’m not saying these deadlines are all meaningless and fake, but… oh wait, yes I am.

Many people complain about advertising on the web, but we all know that Facebook and Google and Microsoft and all these other companies aren’t providing all of these services for free just because they’re nice people. They’re in it to make money. They can do it in a number of ways but the easiest two are (a) sell advertising, and (b) charge users to use their services. Most companies choose (a) because if you charge people directly to use your services, your services better be useful, reliable, easy to use, aesthetically pleasing, and popular, not to mention either unique (i.e. nobody else offers such a service) or the best available, otherwise who’s gonna pay for it? But lots of people will use a web site that’s free, even if it isn’t the absolute best available. And having to sign into your account in order to do things like web searches is a pain (to say nothing of privacy concerns) so people won’t do it.

But the only way a company is going to allow you to do stuff for free is if someone else is paying for it. You don’t pay to listen to the radio, do you? Nope, because there are advertisers. TV used to work the same way, but now you pay the cable and satellite companies. Technically, they’ll tell you you’re paying for the delivery mechanism and not the TV content, so I guess it kinda still does work the same way. But anyway, if some advertising is what lets me use gmail and blogger and google and twitter and facebook and the majority of the rest of the web for free, I’m OK with that. As much as I like facebook, I’m not going to pay for it.

Yahoo decides this mobile thing is a fad

According to All Things D, Yahoo has made a change to their company policy on working remotely. The new policy is, in a nutshell, don’t. Employees who currently work remotely will have to either move so they can work in a Yahoo office or resign. This seems to apply to workers who work 100% remotely as well as those who work from home one or two days a week. Does Yahoo really not understand mobile yet? The entire point of the mobile industry is to allow people to do stuff wherever they happen to be – you don’t have to go to your bank to do your banking. You can shop without going to a store. You can send email, surf the web, watch TV and movies, and listen to whatever music you want from anywhere. But Yahoo employees must be physically located in their offices in order to be productive? Really?

The reasoning Yahoo has given for making this decision makes little sense: they had lots of people who worked remotely and weren’t productive. So instead of firing the unproductive workers or making them come into the office, they decide to punish all of the productive remote workers as well.

Many tech companies talk about hiring the brightest and the best. Google is notorious for their hiring conservatism; they’d much rather pass on someone good than hire someone who turns out to be a bad fit. Yahoo is obviously not concerned with this. It sounds like they’d rather hire someone who lives physically close to a Yahoo office (or is willing to move) than someone awesome who doesn’t (and isn’t). Maybe they have great people up the wazoo and have decided they can afford to lose some of them, which they will. Maybe this is a cheap way of getting rid of some employees without having to pay them severance. That strategy would only work if the remote employees are the ones you want to get rid of and you don’t mind having some that you’d rather keep quit.

I work from home at least once a week (and more if there’s nasty weather), and have for ten years. Even though I don’t work for Yahoo, I take it personally when I read stuff like “Speed and quality are often sacrificed when we work from home”. I obviously can’t speak for everyone who works at home, but it’s quite the contrary for me. I frequently get a fair bit done at home – at least partially to avoid this very stereotype. If my manager decides that I don’t get as much done at home as in the office, he may decide to revoke this privilege, and that’s a privilege I greatly appreciate and don’t take for granted. I certainly have the occasional work at home day where I don’t get much done, but I also have the occasional work in the office day where I don’t get much done. I also have days both at home and in the office where I’m very productive. And this is all ignoring the fact that I work at least two hours longer when I work at home since I’m not driving to Waterloo and back.

I’ve done work in a number of different rooms in my house. I’ve brought my laptop and gotten work done in mechanic’s waiting rooms, doctor’s and dentist’s offices, hotel rooms, friends’ houses, my parents’ and in-laws’ places up north, and even a couple of Tim Horton’s. Every SAP employee worldwide is given a laptop so that they can work remotely if necessary. If I worked for Yahoo, their company policy would ensure that none of that would ever happen again.

Dear SAP/Sybase: I’d advise against this strategy. The goodwill that you’d lose from your employees would vastly outweigh any potential (and purely theoretical) productivity gains. Not only does it limit the people you can hire in the future, but I know of a few people who’d likely quit. In fact, I know of one brilliant engineer who you’d lose because he lives far away from the office and works from home a lot. And trust me, you really don’t want to lose this guy.

Yes, that’s right – you’d lose Ivan. Oh, and I’d probably be outta there too.

Disclaimer: I am not speaking for Ivan, nor am I making any kind of ultimatum to SAP/Sybase. Just saying that I disagree with this policy.

Dumbest spam ever

I received a spam email this morning with the subject “Summary of junk emails blocked – 1 Junk Emails Blocked”. It was ironically intended to look like a report from some kind of spam filter saying that an email was blocked. There were a number of links on the page for how to manage lists or configure your settings for this non-existent application. I knew it was spam because (a) it didn’t mention what spam application or web site it was using (I’d expect that in big letters across the top), (b) I have never signed up for any such service, (c) my company used to have a similar service but stopped it a few years ago (and this wasn’t it), and (d) the email was sent to an old email address of mine that I no longer use but still works.

But the real giveaway that this was fake was that all of the links in the email go to the address Any address beginning with 192.168 is what’s known as a private address, which means that it’s a special address that’s only accessible from another machine on the same network. By “network” I don’t mean the Internet, I mean, basically, the collection of computers connected to your local router. My machine currently has the IP address Posting your IP address on the internet for all to see might be considered a security risk, but there is no security problem with posting private addresses because unless you are connected to my network, you can’t get there. Not because I’m clever and have set up fancy rules or anything, just because that’s the way TCP/IP addressing works.

So if I were to click on a link in this spam email, first of all you’d have my permission to come to my house and smack me upside the head. Secondly, nothing bad would happen in this case, because for it to work, there would have to be a machine inside my network with that address, with an HTTP server listening on non-standard port 10080. The odds of there being a machine on my network that just happens to have that IP address and just happens to have an HTTP server listening on that port and just happens to have evil software running on it are beyond remote. The only other possibility is that some hacker has already penetrated my network, set up a machine with that IP address and an HTTP server complete with malware, and then sent me a spam email to get me to visit that machine. This is unlikely as well – you’ve already broken in, why bother with the spam? This is like breaking into a bank in the middle of the night, then calling a bank employee from the inside, and while pretending to be the bank manager, asking him to unlock the front door. You don’t need the front door unlocked, you’re already inside.


The most likely scenario is that the people who created the spam email are idiots. They set up a server on the internet that they wanted you to connect to (that had malware or whatever on it). Since they set up the server in the first place, it’s likely on their local network and the way they connect to it is through the 192.168 address. That’s not the way the rest of the world would get to it, but they didn’t know that. The result is that they have sent out this spam email (and likely paid to do it) and will never get any hits, even from people who do foolishly click on the links.

Couldn’t happen to a nicer bunch of guys.


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.