Check it out! Street view is now in Canada. I was having so much fun with this the other day.

Find your home:
Drag the orange man down to your street. Hope they blurred out your license plate.


This past week, Sybase hosted an internal competition called “Innovation Idol” (it’s supposed to be a spin-off of “American Idol”, but more techie). The description of the event reads:

Innovation Idol is a Sybase-sponsored, 3-hour event where Waterloo employees and co-ops showcase their ideas and innovations in an atmosphere of fun and friendly competition. Innovation Idol aims to foster a spirit of innovation and original thinking at Sybase, and to identify and promote promising innovations that could improve our workplace, our products, and the ways we work.

I was shocked by how much effort the folks here at Sybase put into the event, even the setup of the “stage” was really cool. When I walked into the cafeteria, I expected some chairs and maybe a projector for a slide show. But, to my surprise, they had closed all the blinds and turned off all the lights. There were these large speakers with a sound system borrowed from one of the staff who is a singer. Ambiance, anyone? A couple spotlights (read lamps) lit the judges (yes, there were judges =P) and the contestants. Also, three projectors provided video feeds of the contestant and the judges, and one more for the contestant’s presentation. Finally, they even played soundtracks at the beginning and end to enhance the game show experience.

However, it wasn’t just smoke and mirrors. The presenters had some really innovative and bright ideas. It would take too long to list and describe all the ideas, but the one intrigued me the most (and ended up winning) was given by Eric, titled “Using Ray Tracing to Create Rich Presentations and Marketing Materials”. You can read up more on ray tracing, but on a high level, it is an advanced technique used to render photorealistic computer graphics. Eric talked about how the architecture and infrastructure of computer systems can be very complicated and often shapes and lines don’t fully convey the overall interaction between individual components. With ray tracing, you can represent a complicated network setup of servers and software with a photo-realistic image. For example, a database store can be a water tank, water pipes can be used to show the connections between components, the water pipes can then have valves that turn on and off depending on the flow of data, a red fence can surround a server that has a firewall, etc. All this data is put into code and a very realistic photo is returned. This kind of graphical representation is not only well-pleasing to the eye, but also portrays a complicated computer set up in an easy to understand image.

From a marketing perspective, the benefits are obvious. These generated images are much nicer than a standard flow chart. Since our eyes are drawn to things that look nice, it is possible to create rich presentations and marketing materials that will grab a customer’s attention. Also, using more common objects to represent things like databases, communication, data flow and firewalls, gives customers a better understand complex architectures. It may be true that developers don’t need “pretty pictures”. However, I believe that the ray tracing technique would simplify the learning curve associated with understanding larger systems.

A picture speaks a thousand words. If we can visualize abstract pieces of software like databases and firewalls with concrete objects like water tanks, pipes and fences, it would help us understand a system setup better and thereby allow us to solve our problems more efficiently.

Zune HD vs. iPod Touch 3G

September 9, 2009

The time has come, time to look for a new portable media player (PMP). They used to just be called mp3 players, but now they can do everything. So one contestant is the Zune HD, I blogged about it before when it was still just a bunch of rumours. Now, it has been officially confirmed and the release date is less than a week away (Sept. 15)!

Right now, I’m using the iPod Nano 2G mainly because it came free with my MacBook. Compared to what’s out there now, it’s not outstanding. But it was revolutionary when it first came out and I haven’t encountered any major issues, so I’ve been also considering the iPod Touch as well… Apple has been dominating the mp3 player market, so would I be wrong to give them a look?

I was highly-anticipating the Apple event [this morning] because of some rumoured announcements (camera anyone?). What Apple announces could really be the deciding factor for me. I was holding my breath to see how Apple would respond to Microsoft’s Zune HD.

What new surprise did Apple unveil this morning? Well, not that much. Let’s just say that I expected more, everyone expected more. With rumours and photos flying around of an iPod Touch with a camera, the fact that there was no camera was a major disappointment. In fact, all they did was cut the price on an already expensive music player and made it a bit faster… and games. They kept going on about their vast selection of games compared to the PSP and Nintendo DS. I’m not much of a gamer, so this didn’t really impress me. All in all, not much can be said about the new and improved iPod Touch. Nothing that would tip the balance. At least, not for me.

I think the fact that the Zune HD is cheaper, offers HD radio, HD video output, a cheaper subscription service, OLED screen on top of what Apple offers (App Store, iTunes LP) is making me lean towards the Zune HD. Please don’t disappoint, Microsoft.

The one thing that’s holding me back is the fact that I need iSilo. Currently, there is no support for iSilo on the Zune HD, but there is for the iPod Touch. I hope that Microsoft will release an SDK for the Zune HD so that developers can get started on that iSilo application! I really want to get the Zune HD, but if it can’t run iSilo, I may have to turn to the iPod Touch (or iPhone) or a Windows Mobile smart phone (way more expensive). But that’s a different story.

In case you’re not constantly keeping track of my life and which school or co-op term I’m in… I thought that I’d just let you know that I have started another work term. I have once again chosen to return to Sybase (for those keeping count, this is my fourth term there). Many people have asked me why I keep returning to Sybase. The short answer is because the atmosphere is great, the work is challenging and as one who is familiar with the culture and services of the company, you get to work on more important projects. Some have argued that it is necessary to  try different jobs in order to discover what you really like. To some extent, that is true. However I really enjoy what I’m doing and in the software world, nothing is ever stagnant. The maturity of the product is always developing and the stage of  the “software life cycle” always changes as well. Contributing and being a part of different stages of the life cycle of one company and one product over a long period of time has definitely given me a broader understanding of how software is developed. It’s never a dull moment!

microsoft_silverlightRecently I had the chance to work with Microsoft Silverlight (web application framework) Essentially, I was asked to demo SQL Anywhere’s compatibility with Silverlight. So, I developed this application with Silverlight and incorporated as many new features as I could cram into it to push it to its limit. I truly believe that Silverlight has gone a long way since it’s first release which was mainly targeted at streaming video (like Flash). However, it has evolved into a fully-fledged web application framework that businesses can use to create professional data-driven web sites quickly and easily. I watched a lot of talks from MIX 09 and was thoroughly impressed at how simple it was to hook up our database to Silverlight using the ADO.NET Entity Framework. But, it didn’t just stop there. With the latest version, Silverlight 3, Microsoft developed something called the “Silverlight Navigation Framework”. I thought this was absolutely brilliant. It only took a couple hours to get a beautiful (not to mention customizable) site up and running connected to a database with all CRUD (create, read, update, delete) operations. The great thing about Silverlight is not only its ability to display data efficiently, but also in an elegant manner. I’m working on getting this demo wrapped up and still I’m finding new features to play with! I hope that developers would really give Silverlight a try because it has a lot to offer and potential to take a site to the next level.

After discussions this past week between Canada and Facebook, the social-networking giant has agreed to make changes to comply with the nation’s privacy laws. These changes are expected to take effect within one year and affect users worldwide.

Some of the changes include:

  • Third-party applications are now required to state explicitly what information is requested and users must also consent to share their information. That’s good because I always wondered what information these third-party applications had access to.
  • Upon de-activation, users will be given the option to delete their accounts so that all their data is gone.
  • Facebook will update its terms of service to better explain what it does with information about people who aren’t Facebook users.
  • I didn’t know this was possible, but apparently when a user passes away, their Facebook profile can become an online memorial. Friends can post pictures or write on their wall. Creepy. Anyway, Facebook will now better explain what happens to a user’s account when they pass away.

As more personal information is becoming easily accessible on the internet, I think these changes are necessary to protect users.  Hooray Canada!

Freedom feels great! I finished my final exam last Wednesday and have just been recuperating and relaxing these past few days. Yesterday, I brought my sister’s guitar in for repairs. We bought it way back in 2002, but no one really used it. Recently, I picked it up and noticed that the bridge was separating from the body! It was disappointing because the guitar actually sounds really nice. I decided to bring it in to Long and Mcquade to get an estimate on how much it would cost to fix it. I figured that if it was too expensive, I might as well just get a new guitar. The repair guy told us that the repairs would cost approximately $80 for the bridge and $40 for the setup. Also, he guessed that the Art & Lutherie guitar with a cutaway would cost around $240-$270. We didn’t believe him at first, so we went to check other guitars in the showroom and it turned out he was right!

[Side story]
As I walked into the showroom, the first guitar I laid my eyes on was a Taylor GS. It was just sitting there on the guitar stand in all its glory and splendor, staring back at me and begging to be played. I slowly approached it and picked it up, immediately I noticed that it was heavy… It was without doubt built solidly. When I was playing it, I definitely felt unworthy. It was definitely an *honour* to play a Taylor.

So back to my story, I gave in and decided to get the bridge fixed and setup with new strings. I decided to get a set of 12’s (medium-light), so as not to put too much tension on the new bridge. It’s going to sound beautiful! I haven’t changed the strings on that guitar since we purchased it. It’s supposed to take two to three weeks, can’t wait!

Need a break from exams?

August 6, 2009

I’m currently writing and studying for finals, so things have been quite hectic lately. I’m not really one for all-nighters, so I guess my schedule is a bit better than some of my classmates’.

After writing exams, I usually take a break to “recuperate”… don’t question whether that’s a good thing or not =P. And what better way to clear your mind than to hit the sand and play some beach volleyball!? (I say “sand” because it’s not really a beach… so I guess it can’t really be called “beach volleyball” either) There are these courts on campus beside FED hall which I’ve never been to. I like discovering these places on campus in my third year =P… just like that outdoor rink last winter. The courts are surprisingly really nice, soft sand with a strong firm net. The worst thing is playing with a flimsy net that droops down in the middle. Anyway, enough about the courts… myself and around a dozen of my classmates headed over after our ECE 325 (Microprocessor Systems and Interfacing) exam and played for about an hour. Though I hadn’t played volleyball in a long time, it was fun to get some fresh air and hit the ball around =). But now it’s time to hit the books again and study for the next exam… MTE 320.

I’ve had over a week now to test my MacBook’s new wireless card after being sending it in for repairs. For the record, this is actually the third time that I’ve had to get my MacBook fixed during the three years since I bought it. Boy, am I ever glad that I got the three-year extended Apple Care warranty! First, the LCD backlight started to flicker; next the keyboard chipped and most recently, the wireless card stopped working. Fortunately for me, I had an Apple-authorized repair shop right on campus. This definitely saved a lot of aggravation of having to find and get to an Apple store. Although, I am quite unhappy with the quality of their hardware, I am extremely happy with the service I received. I was never asked any questions and the turnaround time was really fast (two days in the case of my most recent incident). I cannot stress how convenient having a repair shop on campus was. If I had to drive to the local Apple Store, I think my sentiments would be completely different… so kudos to CHIP. Now, I’m just hoping that this wireless card will hold out for the remainder of my MacBook’s lifespan, and that nothing else breaks. I have just over a month left in my warranty >.<.

It was quite a long week. 5 exams in 5 days. Should that even be allowed? My week went as follows:

for(n=1; n<=5; n++)

Notice that there’s no time for a break? Well, that’s because the next one was less than 24 hours away! Okay, enough complaining. The point is, I’m done midterms for this term =).

In the midst of this crazy week, there were still some funny moments that arose. You know that time after every exam, when little groups form and everyone starts talking about how badly they did? (Unless your class talks about how well they all did… we usually don’t.) Although it was depressing, I found it somewhat funny hearing their comments and reactions. And it didn’t just stop there after the exam, a bunch of classmates echoed their sentiments on their Facebook status. Here are some of the best comments/replies that amused me:

After the first exam: “Round 1: Epic fail”

After the first 3 exams: “I wonder if the sum of my marks for the first three exams has exceeded 100% yet.”

“is invoking the mercy rule.”

Facebook status:
failed 325 harddddddddddddddd”
– “Who didn’t?”
– “Who didn’t x2 ?”
– “x3.”
– “0x04”
– “0x0F … it was so weird”
[ECE 325 is a course on “Microprocessor Systems & Interfaces”… so we had to work with Hexadecimals =P. Geek failure at its best.]

And a completely random, but hilarious one: “today I realized the word bed looks like a bed”

My class cracks me up =P. It’s good to know that while we’re all suffering, I can get a couple of chuckles.

Although exams are done, I’m still stuck in exam mode and that translates to my exam sleeping pattern… That explains why I’m still up at this insane hour (2:50 am). But seriously, I really need to fix this schedule. Great, I just realized that there’s a lab report due on Monday which means I’ll be spending tomorrow (today) working on it. When will this end!?

About a week ago, I sent my old Canon Powershot A75 back to Canon for repairs. The problem was that the LCD started flickering a purple-ish hue and displayed vertical lines across the creen. It only exhibited these symptoms when in the shooting mode, so captured photos came out distorted. However, the playback and menus worked fine. I was disappointed that my camera broke, but I figured it was about time… I bought it back in 2005 or 2006. But then, I remembered reading about a Canon A75 advisory notice a couple years ago. It was kind of far-fetched, imagining all the problems that could possibly arise… But, I thought that I would just check it out and see if it was related to the issue I was experiencing. To my surprise, it sounded very similar to my problem!

When the product is used in recording or playback mode, the LCD screen and/or electronic viewfinder may exhibit either a distorted image or no image at all.

Effective immediately, and regardless of warranty status, Canon will repair, free of charge, the products listed above exhibiting the above-mentioned malfunction if Canon determines that the malfunction is caused by the CCD image sensor.

I quickly called up Canon and the representative asked me to mail in my camera with a letter describing the problem. She told me that once they receive my camera, Canon will inspect it and decide whether it is covered by the advisory notice. So, I packaged it and sent it through Canada Post hoping for the best. I received an email from Canon a couple days later confirming the receipt of my camera. One week later, the fixed camera arrived at my door! I put the batteries back in my camera, and fired it back up… It works! Thank you Canon!

I am extremely pleased with Canon’s service, especially with the turnaround time and no-hassle repairs. The fact that they are still willing to fix a 3-4 year old camera (which is no longer covered by warranty) shows that they care about their customers and the quality of their products!