December 17, 2007

gears.google.com

For a while, before I was in-the-know, I tried different RSS aggregators under Windows and OSX, including Outlook 2007, Vienna and netNewsWire. They're pretty nice, but then I found Google Reader. Like everything else Google these days, it's a Web 2.0 application and since most of the time you're online when you're wanting to look through your plethora of RSS feeds, it's very convenient. No more worrying about synchronization and cross-platform feed settings. You can even import and export OPML files to and from Google Reader in case you still want to synchronize your Reader and non-reader feeds.

So, as per typical google style, you can easily search through all of your feeds, it supports keyboard shortcuts for quick and dirty navigation, and even trends what you read.

It constantly recommends other feeds that you might find interesting too, and my feed list has been growing because of it.

One of the really cool features is integration with Google Gears, which allows you to even use reader in "offline" mode. You can click the "offline" mode button in reader, and it will download the most recent 2000 feed items for your viewing pleasure in a disconnected state.

September 4, 2007

You Know Those Technical Support Stories?

We bought a new ceiling fan from HomeDepot the other day. The remote only allows you to dim the light once it's on, but you can't start from light off and gradually increase light levels.

I sent the company an email because I saw that there was another remote that had seperate controls for both light level down, and up.

Here's what I sent (at the very bottom) and what I got back:


Dear Adrian,

Thank you for your email. The Stonebridge is a remote controlled fan. A receiver and hand-held transmitter were included in the box with the fan. You cannot add another type of remote or wall control to this fan. Model 27187 is not compatible to this fan. Model 27148 is for a fan that does not come with a remote control.

If a receiver and hand-held transmitter were not included in the box with the fan, please let us know.

When calling from Canada, please phone toll free 866-268-1936 for missing parts. Our hours are 7:00am -7:00pm (Central) on weekdays and 8:00am -5:00pm on Saturdays. Any representative can assist you.

Our non-peak hours are between 7am-9am CST.

Sincerely,

Tara W.
Technical Support Representative
Hunter Fan Company


-----Original Message-----
From: Adrian Chung [mailto:ad..com]
Sent: Wednesday, August 22, 2007 10:58 PM
To: Batts, Larry
Cc: Technical Support
Subject: Dimmer control question for Hunter Stonebridge Fan.

Hi there,

We recently bought a Hunter Stonebridge Fan from HomeDepot here in
Toronto, Canada.

One thing we're disappointed about is that the light dimming functionality
only allows for maximum brightness on, then dim-to-off, but there's no way
to go from off to increasing light levels -- at least not with the
packaged 27187 remote.

The wall switch where the fan is connected is a two-wire only control, so
that limits our options in terms of separating fan and light controls with
a wall switch.

I notice that for the Prestige line of fans, and specifically for remote
27148, there is an ability to control light levels in both directions,
both up and down.

Question is, can this remote be used with the Stonebridge 60" fan I bought
(model 27575A) to provide the functionality we're looking for?

Or does the 27148 remote need to be paired with a different type of
receiver that can't fit inside the Stonebridge canopy housing?

Reason I ask is that the manual for the 27148 remote says "not recommended
for use with Hunter Original Fans", but not that it won't work.

Thanks!

I later called the number and spoke to someone else who told me that it should work to increase light levels, and that if it doesn't likely the receiver unit in the fan is malfunctioning. Which is odd, because the manual clearly states that the remote only dims, and doesn't do the opposite.

The person on the phone however, does think that the 27148 remote with both up and down light-level controls will work just fine.

Now to find one.

July 10, 2007

The Legend of Trixie.

Our dog Lucy, who's now 6 and a half years old was rescued from the Ottawa Humane Society. When it comes to food, Lucy doesn't mess around -- she finishes everything, eats anything and is done before you can look twice. If ever food kernels end up missing the bowl on the delivery, she makes sure she finds them all and takes care of them.

We're spending a couple of days in Sarnia, with both Lucy and Ella. At the dinner table tonight, Kelly and her folks were talking about their late dog Trixie, who Lucy apparently bears quite a resemblance to. Specifically, when it came to food, Trixie would always eat when the rest of the family ate, and she'd always leave two or three kernels of food in her bowl for a rainy day. Kelly and I were mentioning how funny it was that Trixie would do that, since Lucy would never leave a fallen kernel behind.

So we watched Lucy eat, with her water and food bowls situated in the same place Trixie's used to be -- and lo and behold, Lucy left two kernels of food behind in her bowl, then went and lay down.

Go figure.

June 13, 2007

The Curve.

As an early birthday present, Kelly bought me a new BlackBerry Curve. It replaced my old 8700R which was a great device for the year and a half or so that I had it. The Curve feels like much more than a BlackBerry. Its got expandable storage in the form of a MicroSD socket, and a media player which can manage fullscreen video in a variety of formats, MP3s, ringtones and the multitude of photos captured with the built-in 2MP camera.

One personally long awaited feature over the 8700R is the Curve's Bluetooth Dial-Up Networking profile, which finally allows me to wirelessly tether my laptop and use the Curve as a modem to connect to the Internet when on the run, or train as the case often happens to be.

The upgrade itself from the 8700R to the Curve was surprisingly easy and painless -- having our own BlackBerry Enterprise Server means that besides our Outlook email, contacts, calendars, memos and tasks synchronizing wirelessly in near realtime, after activating the new device even call logs and settings were synchronized.

Pleasantly, the Curve also acts as a USB Mass Storage Device when a MicroSD card is installed. No special DRM software is required for importing or converting MP3s prior to transferring them onto the device, simple drag-and-drop works for MP3s, ringtones (which can be MP3s), video and photos. The media player also reads ID3 tags, and organizes your tunes by genre, artist and album. There's even a 3.5" stereo headphone jack, the first of it's kind on a BlackBerry.

We're still getting acquainted with each other, but so far, so good!

May 21, 2007

Announcing: Ella Jade Chung

Born at 23:45 on May 18th, 2007 and weighing in at a compact 7lbs, 8oz and 20 inches long.

Mom, Dad and Ella are home safe and sound, doing our best to get her used to her new surroundings.

Her latest images can be found here

April 26, 2007

To Terminate Or Not To Terminate?

In my work life, I'm involved in the design and architecture of systems and network solutions; I'm also primarily tasked with the implementation of these solutions. In all but rare instances, there's always more than one way to accommodate requirements and choosing the best option becomes the real challenge.

I personally favour options which provide the customer with the most flexibility and control; and it should go without saying that choosing the right tools for the job goes a long way to providing this.

Lots of applications which are Internet facing, or primarily web-based utilize load balancing to distribute load across a farm of servers. This provides fault-tolerance and higher performance. Dedicated hardware load balancers usually perform the role of monitoring the servers in the farm, and distributing incoming requests across them; they can also provide HTTPS and SSL offloading so that the servers in the farm don't have to deal with the processing overhead of generating session keys for encryption. This is a good thing for reasons including but not limited to:

  • It allows the server farm to concentrate on serving web requests and not on performing encryption which is processor intensive, increasing overall application performance
  • It simplifies SSL configuration for websites by centralizing SSL certificates on the load balancer instead of on every server in the farm
  • Wherever security policy allows an HTTPS connection can be terminated on the load balancer, and then sent over HTTP to the server farm, allowing for Intrusion Detection/Prevention systems to inspect the request for malicious content and potentially prevent the server farm from being compromised
  • Since the load balancer can see the unencrypted request, it has a greater variety of options available to it to accomplish sticky or persistent style configurations where an application requires that a particular web client or browser is always served by the same server in the farm

Because the load balancer is translating HTTPS requests into HTTP requests, the servers in the farm don't know whether the original client request was HTTP or HTTPS. For applications that are security sensitive, this can be an issue.

Some common workarounds:

  1. Stop terminating SSL on the load balancer, and instead pass it through to the server farm
  2. Have the load balancer send a redirect to an HTTPS version of the same URL if the original request was to an HTTP URL
  3. Have the server send a redirect to an HTTPS version of the same URL if the original request was to an HTTP URL

1) Should be used as a last resort, since it negates all of the aforementioned benefits of offloading SSL.

2) Isn't always possible depending on what type of hardware load balancer is used. It's convenient, but moves control and responsibility away from the customer's application logic to the load balancer. In many hosted customer environments, load balancers are not under direct customer administration.

3) Is marginally more difficult because the server can't tell whether or not the original request was HTTP or HTTPS. This can be fixed easily by having the load balancer insert a custom HTTP header when the request is an HTTPS request, and having the server-side application logic check for the header and send a redirect if it isn't present. It's about 3 lines of code.

Since the decision to have to redirect is based on application-driven security requirements, and the customer is responsible for the application, it would seem to make the most sense to perform and code the redirect logic at the application level.

In the real world, this isn't a common perspective.

April 15, 2007

T-Minus 3.5 Weeks and Counting!

It's almost game time -- another 3 and a half weeks, and if everyone's on the money, Tony and Rob will have someone else to contend with on their birthday. And a girl, no less! Unless of course, the ultrasounds are wrong.

We've been busily getting the nursery ready and assembling all manner of baby gadgetry and furniture; though Facebook is managing to consume way too much time for both Kelly and I. It's so addictive in fact that I had to finally bite the bullet and move my blog from a home-grown solution to MovableType just so that I can import blog entries into my facebook profile like Anthony does. It's been a long time coming though, MovableType is really well designed, and has all the things my blog's needed like trackbacks, permalinks, comments, and of course RSS/ATOM.

February 27, 2007

To Someone Special: Chances Are.

Chances are you'll find me
Somewhere on your road tonight
Seems I always end up driving by
Ever since I've known you
It seems you're on my way

All the rules of logic don't apply
I long to see you in the night
Be with you 'til morning light

I remember clearly how you looked
The night we met
I recall your laughter and your smile
I remember how you made me
Feel so at ease

I remember all your grace and your style

And now you're all I long to see
You've come to mean so much to me

Chances are I'll see you
In my dreams tonight
You'll be smiling like the night we met
Chances are I'll hold you and I'll offer
All I have

You're the only one I can't forget
Baby you're the best I've ever met

And I'll be dreaming of the future
And hoping you'll be by my side
And in the morning I'll be longing for the night
For the night

Chances are I'll see you
Somewhere in my dreams tonight
You'll be smiling like the night we met
Chances are I'll hold you and I'll offer
All I have

You're the only one I can't forget
Baby you're the best I've ever met

January 17, 2007

The Sky IS Falling.

  • Lately, it has been quite disheartening to witness evidence of a significant decline in common sense in the general population. Personally, I can't help but think that evolutionary processes have shifted into reverse, and in tens of millions of years to come we will once again be reduced to single-cell organisms. Truth be told, I'm quite certain that this re-evolution is a requirement for survival and it has become apparent that as an allegedly intelligent species we are becoming more incapable of rational thought and action, yet excel at programmed and reactive behaviours. To further the notion of re-evolution, albeit with little to no scientific studies, I'm almost certain that a rising percentage of our species already operate with the arguably decreased mental capacity of an amoeba; there are of course those who would argue that amoebas are more "fit" and actually have an increased mental capacity with relation to a subset of our species. Let's examine some real-world examples:
  • Once Upon A Child:
    Someone recommended we check out this chain of stores, which specialize in "gently" used and new goods for babies and children. So, we went to check it out. The store isn't bad, your typical run of the mill used store, with lots of clothes, toys, strollers, etc. I checked out their website which had a couple of items that caught my attention. The first was a moonlight madness advertisement which says something about 10% off, and lists store hours during which items are discounted to different amounts. There's no date. The second was a 10% coupon which you can print out and bring to the store. Good until end of January 2007 sometime. We'd seen a glider and ottoman for a decent price at the store, and decided to go back and pick it up. So I printed out the coupon, forgot to get it from the printer, and then while we were out, we decided to drop in at the store. There were two women working at the store, and realizing I'd forgotten to bring the coupon, I explained to them that I'd printed out the coupon, and forgotten to bring it, did we really need to drive all the way home to pick it up and come back, or could they just print one out. Of course, the answer was, you need to bring the coupon in. As we're leaving the store, the second woman wanted to confirm where the coupon was from, and we told her it was from the website. So she answers, "yes, that's valid". Off we go, back home to pick up the coupon. Later, back at the store, we hand in the coupon to get our 10% off, and they ask if we can print a name on the coupon and sign it. There's no spot on the printed coupon to do this, so you need to randomly pick a spot and sign your name. I imagine this is for the "limit one coupon per customer". The coupon is readily available on the website. There's nothing special about it. It's a big page you print out that says "save 10%". Anyone could print it. In fact, I could have printed it right in the store had I had a bluetooth printer to connect my blackberry to, since I could easily bring it up on my blackberry. But brains work best in small boxes. I'll remember to print out a 500-page stack of coupons and leave them in the store if we ever decide to go back.
  • The CRA:
    The Federal Government has a wonderful online service called MyAccount. Using it, you can check on the status of your tax return, change your address with the CRA, check to see what your RRSP deduction limit is, and perform some other useful administrative items. Putting aside the fact that the Ontario Government just last year saw it appropriate to stop using social insurance numbers as employee identification numbers, the Federal Goverment sees security and confidentiality as an issue not to be taken lightly. MyAccount requires what the government calls an "ePass" -- it's a fancy term given to the idea of throwing lots of money at a commercial product which promises security. After signing up for an ePass, you need to wait for a security code to be sent to you in the mail. The security code then gives you full access to the services behind MyAccount. I must have signed up for ePass accounts for both Kelly and I just prior to us moving back in March. So, we never received Kelly's CRA security code. Figuring it pertinent to change her address on file with the CRA, I decided I'd try and find out what we'd need to do to have the security code reissued in the mail and her address updated. To save some time, while realizing that ultimately she'd need to be the one to call in the make the request, I called the CRA's MyAccount helpdesk.
    • "Hi there, I'm calling on behalf of my wife, who needs her authorization code reissued. I'm not asking for you to make any changes, or for any information with regard to her account, just wanting to know what she needs to do to get this done"
    • "Well, for one, she needs to call in to make the request. And why is it that you don't have the authorization code? Did you move? Lost it?"
    • "I think we moved shortly after requesting the account be created, and Canada Post chooses to redirect only certain items that you guys send."
    • "Canada Post isn't supposed to redirect anything we send."
    • "Ok, so to change our address and get it reissued, do we need to call that other 800 number?"
    • "First, your wife needs to call to make the request and we'll ask her some security questions. We can change the address here."
    • "Okay, great. So when she calls in later, is there any particular information or documentation she should have on hand that you guys might require aside from a SIN number?"
    • "Sir, I can't tell you what answers she's going to be asked to give because that would be a breach of confidentiality."
    • "I'm not asking for the questions you're going to ask, but for example, is she going to require last years tax return?"
    • "I can't tell you that sir, but it might be handy to have."
  • So they won't tell you what information you should have at your disposal. Suppose she'd called in and they'd asked for line 247 from last years tax return -- that's about a 20 minute job to find. Moreover, if she doesn't do the taxes, what are the chances she even knows what they're asking for? And why is it confidential that you might need last years tax return? Identity theft is on the up and up, and yet the Federal Government thinks a tax return is going to protect someone?
  • We decide to call in after work since the line is open till 8PM, and obviously, Kelly needed to make the call. So Kelly put the phone on speaker, and called in. A representative answered eventually, and Kelly proceeds to tell her that she needs to change her address and also have the authorization code reissued. The representative says that they don't do that at this number. So I said I'm looking at the webpage and it says to call this number to have the security code reissued. The individual then tells Kelly that she needs to get off the speaker phone, or I need to leave the room for security purposes. So Kelly switches off the speaker phone and then proceeds to give the woman some information which I'd deem common knowledge even for people outside of our household, and the woman tells us that the code should come in the mail to the address we just gave her in about a week. Turns out the address was already up to date in any case.
  • RBC VISA:
    When I ordered my laptop, Lenovo told me that the credit card validation wouldn't succeed if the ship to address didn't match what the bank had on file; they recommend that if you are shipping to an address that differs from your address on file with the bank, you call the bank and have the additional address added to the card. So, just to be sure I didn't have to wait any longer for my laptop due to payment delays, I made sure I did this. Not only did the bank manage to add the additional address to the account, they've actually made it the primary address, and now my statements all go to that address too. Nevermind that the registered address for the credit card as appears in online banking is our proper home address.
  • Sears:
    We spent the weekend registering for baby gifts. One would think that a store that stands to make hundreds of dollars, perhaps even thousands just by virtue of the fact that someone has chosen your store to register with would have the foresight to dedicate some staff to those wanting to open or update their registry. Instead, there is one staff member working in the baby section on a Sunday. There are 5 others behind the customer service desk, which is in the baby section, none of whom are offering to help customers. So, there's a huge line of people waiting to speak to the single staff member who is going into grave detail about each and every product she's asked about. Great if you're the one asking the question, not great if you're waiting in line. We were waiting to ask how you register for particular colours of clothing items and blankets when the SKU is exactly the same regardless of the colour. Apparently you don't. You get whatever random colours people decide you want. My favourite recollection of this particular experience is when someone approaches one of the staff members behind the customer service desk and asks if they can help: they continue to rifle through whatever paperwork they're immersed in and say that someone else will help. Welcome to retail. You are in customer service. Service the customer, your paperwork isn't going anywhere.
  • Home Depot:
    • "Would you like cashback with your purchase?"
    • "Yes please, how about $100?" <cash register opens>
    • "Oh, not many people have been paying with cash today. I hope you like change."
    • "You're kidding right? Can't you get change from someone else?" <proceeds to count out $60 in 5s and 10s, then proceeds to start counting out $40 in twoonies>
    • "No, unfortunately we're all responsible for our own tills."
  • I left the store with $60 in 5s and 10s and 22 twoonies. I didn't complain.
  • Seagate Technologies: I decided to buy Seagate hard drives recently for our PVR solely because they have 5 year manufacturer warranties. Little did I know that Seagate, unlike Western Digital, has no advanced exchange program. So unlike Western Digital who will ship you a drive in a couple of days and ask you to ship the old drive back in the new packaging, Seagate expects you to send them your old drive first, to very exacting packaging specifications. They then process your RMA and say that within 3-5 days after receiving your drive, they'll send you a replacement.
  • Drive failed on 2006/12/27. They received it at their warehouse on 2007/01/03. As of today, I still haven't received the replacement, although their online RMA system says the replacement has been ready to ship for a week and a half. I called them today, and they say that they don't have any of these drives in stock. Nice of them to let me know. They expect them next week sometime, and then within 3-5 days after that, they'll ship it out to me. So that's almost an entire month for a replacement drive.

January 2, 2007

Happy GNU Year!

  • Happy New Year! We spent the new year in Guelph with some friends, had a pretty low-key evening and played Cranium. There are pictures, but Tony's red eyes still need to be edited, so they'll follow shortly. Update: They're here.
  • I was looking for something unrelated recently, and came across the transcript from a small claims case back in 2000. The case was actually between me and a guy named Alen Bubic. It is a very funny transcript if you can make it through the whole thing, it's 43 pages long.
  • The abridged version is that I picked up a summer job coding for a guy who knew nothing, refused to pay, counter-sued, and then hired a lawyer to represent him in small claims court. He'd originally subcontracted me to work with him on contract to another company 701.com, which is now a Torstar subsidiary. Shortly after initiation of the contract, he started as CTO at 701.com, shortly after which he left.
  • Interestingly, it looks like he's currently behind a TV show on the Comedy Network named "Keys to the VIP" all about teaching guys how to pick up chicks, probably still about the only thing he thinks he's capable of.