tag:blogger.com,1999:blog-30921110021209234662009-07-03T23:32:17.777-07:00Steven Chui, Software DeveloperInsights of a Software Developer in Vancouver.About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.comBlogger17125tag:blogger.com,1999:blog-3092111002120923466.post-13516331760644312262009-06-27T00:20:00.000-07:002009-06-27T16:45:09.237-07:00USB Flash Drive and TestDiskUSB Flash Drives certainly have become very popular in the last couple of years. I have read in various places that I need to use the safely remove hardware device feature in Windows before removing the flash drive. My expectation was if I were to yank out the drive without going through the safely remove hardware device feature, the worse that could happen was the file I worked on becoming corrupt.<br /><br />Boy was I ever wrong.<br /><br />Today, when I plugged my USB Flash Drive to my computer, I got a very unsettling message explaining that the device is unformatted. I was shocked: how can this technology be so fragile? I have some files on the drive that, while not irreplaceable or very important, took me time to put together. Long story short, I found a forum message that suggest someone with a similar problem to mine to try a software called <a href="http://www.cgsecurity.org/wiki/TestDisk">TestDisk</a>. It is a software "designed to help recover lost partitions and/or make non-booting disks bootable again". It's also free!<br /><br />With a text-based UI, while it's not the prettest software in the world, I was able to easily use it to recover the missing FAT16 partition on my USB Drive quickly without any trouble.<br /><br />USB Flash Drives may be convenient, they are also surprising prone to corruption. While ideally, you would want to use the safely remove hardware device feature every time, sometimes things happen and TestDisk may be able to save your files.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-1351633176064431226?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-5479645702429250552009-06-11T14:56:00.000-07:002009-06-13T01:06:10.200-07:00Microsoft Money DiscontinuedMicrosoft has announced the discontinuation of Microsoft Money. Now, I understand that they have been reducing investment in Money for some time now. They don't even make versions for Canada and other countries anymore. Still, I originally chose Money based on the (mistaken) belief that Microsoft will support it and not leave me out in the cold. There's also the issue of Quicken (back then) being extremely annoying in an attempt to get people to upgrade.<br /><br />I wouldn't say I miss Microsoft money. It has never been super convenient. It doesn't automatically download transactions from any of my banks except ING Direct. I know Microsoft Money still works fine as is, but at some point, I will have to move on. But what choices are there? Quicken? Mint.com? GnuCash?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-547964570242925055?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-36991957784579900822009-05-29T00:27:00.000-07:002009-05-29T01:11:04.027-07:00Live BrandingLive is a Microsoft brand name that is applied to products or services that are web enabled. Services such as Windows Live Mail, Xbox Live, and Windows Live Account are examples of such. Unfortunately, Microsoft also applied the brand name to non-internet enabled products such as Windows Live Movie Maker and Windows Live Photo Gallery. Those products were split from the operating system and bundled together as Windows Live Essential. Presumably, it is so Microsoft could updates those software independantly and respond to competitive threats. I think with a little work, the Live Essential bundle can be good enough to have its own brand name similar to Apple's iLife. Perhaps they should call it Windows Entertainment Pack, Windows Nifty Pack, or just Windows Essential.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-3699195778457990082?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-499808398233098762009-02-19T01:12:00.000-08:002009-03-13T22:57:06.801-07:00Poor Map Data in Google MapsGoogle Maps has a really useful feature that provides driving direction between two locations. The feature, through, is rendered essentially useless in Vancouver, BC by the route data. I don't know what's going on with Tele Altas, the provider of the map data. City of Vancouver classify roads into primary arteries, secondary arteries, collectors streets, and local small street. From what I can tell, the map shows all secondary arteries, collector streets, <span style="font-weight: bold;">and random streets</span> in the road network as local small streets.<br /><br />East broadway, one of the busiest East-West street in Vancouver, is apparently shown connected by small street. I didn't know small streets have 2 lanes + a dedicated HOV lane for bikes and buses in each direction.<br /><img src="http://maps.google.com/staticmap?center=49.265956297867014,-123.10961723327637&amp;markers=49.262307,-123.067932,red&amp;zoom=14&amp;size=475x240&amp;key=ABQIAAAAzBIC_wxmje-aKLT3RzZx7BQFk1cXV-t8vQsDjFX6X7KZv96YRxSFucHgmE5u4oZ5fuzOrPHpaB_Z2w" /><br /><br />And here we have a highway apparently being routed directly onto Oak Street, represented by a small street. Oak Street has 3 lanes in each direction.<br /><img src="http://maps.google.com/staticmap?center=49.211654008157325,-123.13133239746094&amp;markers=49.262307,-123.067932,red&amp;zoom=14&amp;size=475x240&amp;key=ABQIAAAAzBIC_wxmje-aKLT3RzZx7BQFk1cXV-t8vQsDjFX6X7KZv96YRxSFucHgmE5u4oZ5fuzOrPHpaB_Z2w" /><br /><br />Same problem in Richmond, BC. On the other hand, it's easier to visually identify the major road.<br /><img src="file:///C:/Users/Steven/AppData/Local/Temp/moz-screenshot.jpg" alt="" /><img src="file:///C:/Users/Steven/AppData/Local/Temp/moz-screenshot-1.jpg" alt="" /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_svaNPT5Vcko/SbtG_rDIXFI/AAAAAAAAAIU/5Qufef_NVzQ/s1600-h/map.png"><img style="cursor: pointer; width: 400px; height: 252px;" src="http://4.bp.blogspot.com/_svaNPT5Vcko/SbtG_rDIXFI/AAAAAAAAAIU/5Qufef_NVzQ/s400/map.png" alt="" id="BLOGGER_PHOTO_ID_5312918245115190354" border="0" /></a><br /><br />Those of us who live locally knows about the road network better, but anyone attempting to use Google Map for local navigation will be driving longer than the necessary.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-49980839823309876?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-22347253757713083162008-12-06T01:18:00.000-08:002008-12-06T14:52:35.839-08:00C# Protected InternalIn Microsoft's C# programming language, members that are marked "protected internal" acts as protected <span style="font-weight: bold;">OR</span> internal. Many developers believe "protected internal" acts as protected <span style="font-weight: bold;">AND</span> internal, meaning that the members could be accessed from a derived class within the same assembly only. In fact, I did a search on Google on this and it yielded two forum messages from MSDN where the first person who posted an answer got it wrong. Thankfully, helpful individuals later gave the correct answer.<br /><br />The access modifier "protected internal" actually means the member could be accessed from a derived class <span style="font-weight: bold;">OR</span> any other class in the same assembly.<br /><br />Both definitions don't feel right for the following reason:<br />-The incorrect definition means there is a base class that exposes different members or methods depending on whatever the derived class is in the same assembly.<br /><br />-The correct definition means the method that is used by any other classes in the same assembly and derived class in another assembly.<br /><br />I really have trouble visualizing a use for this. If the method is used by other classes in the same assembly, why not let other classes in a different assembly use it too? Why couldn't the class/method be refactored out? It just seems to add complexity.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-2234725375771308316?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-30269535272802607292008-11-26T22:15:00.000-08:002009-01-17T16:47:48.913-08:00Real Estate DownfallThis is a very well done sub of the 'Downfall' video clip. It very neatly summaries the events leading up to this Real Estate bubble. I especially enjoy how it identifies the arguments used to justify the price of Real Estate before the bubble bursts.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/bNmcf4Y3lGM&amp;hl=en&amp;fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/bNmcf4Y3lGM&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-3026953527280260729?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-31095584488899758932008-08-10T18:00:00.000-07:002008-08-10T21:08:58.158-07:00Bathroom Tissue downsizingYears ago, a double roll toilet paper (Wikipedia calls it 'toilet paper', and 'bathroom tissue' just doesn't sound right) has 400 plys. Somewhere along the way, some clever person decided to reduce that to 351 plys, saving 12.5% of material. Today, I was horrified to find that Purex (R) is now selling double roll toilet paper with 280 plys. This represent a further decrease of 20%. Are people going to miss such a decrease? Or are they just increasing the price by 20% in a stealth way?<br /><br />I am now looking forward to the day when the old single roll (with 200 ply) would be equivalent to the new double roll. Two more changes, and we'll be there!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-3109558448889975893?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-70725807348869507022008-05-23T20:30:00.000-07:002008-05-23T20:37:21.659-07:00Food InflationThe rise in the price of rice has hit the retailers. A few months ago, the same rice cost $20.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_svaNPT5Vcko/SDeMMkZUqaI/AAAAAAAAAC0/BbPw3Yji3IU/s1600-h/DSC00023.JPG"><img style="cursor: pointer;" src="http://bp3.blogger.com/_svaNPT5Vcko/SDeMMkZUqaI/AAAAAAAAAC0/BbPw3Yji3IU/s320/DSC00023.JPG" alt="" id="BLOGGER_PHOTO_ID_5203782042006104482" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-7072580734886950702?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-87602651235745265802008-05-12T23:33:00.000-07:002008-05-12T23:41:37.304-07:00Vista SP1 BugEver since I upgraded to Vista SP1, there has been a few instances where windows and the task bar don't response to my mouse clicks. Closer examination shows that they are not frozen. I solved it by locking the computer (Windows key + L) and unlocking it.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-8760265123574526580?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-51253570768400284522008-02-29T23:55:00.000-08:002008-03-01T00:11:40.401-08:00Hardware Manufacture's Cost CuttingLG, apparently in a mad desire to cut cost, decided to cut in the wrong thing. LG makes pretty nice LCD monitor, and they are shipped with a courtesy VGA cable. The problem? The monitor itself is capable of displaying in 1680x1050, but the cable is not capable of displaying a stable picture at the native resolution. Instead, I see rolling lines on the monitor that would cause most people to believe the monitor is cheap/defective. This is not a good way to make a good initial impression. Furthermore, the average user probably wouldn't be swapping cables to try to fix it.<br /><br />Someone is clearly not thinking when they decided to bundle a thinner than normal VGA cable.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-5125357076840028452?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-54554360166653035642008-01-17T18:31:00.000-08:002008-01-25T14:41:09.104-08:00I joined the Firefox bandwagonOver the last several years, just out of curiosity, I would regularly try out several of the major browsers on the market. For several years, I have always returned to Maxthon, an IE-based browser shell that was developed in China. Although Firefox is quite nice compared to IE 6, the user interface wasn't really that revolutionary when compared to other modern browsers like Opera or IE shells like Maxthon.<br /><br />Since last December, I have switched to Firefox for one simple reason: Facebook advertisements. One of the advertising method of Facebook is putting embedded Ads within the Newsfeed. It's a very excellent place for ads as users would tend to read the Newsfeed line by line and would unavoidably read the ads as well. I have searched long and hard for a way to tame those ads and that's when I found Greasemonkey. Greasemonkey is a plugin for Firefox that is capable of injecting javascript, thus altering a web page. That means you could use it to remove annoying elements of a web page. I promptly installed a Facebook ad removal script and I was happy. Greasemonkey alone is enough for me to pick Firefox from other browsers.<br /><br />By no mean an I implying that Greasemonkey is a killer app for the Firefox platform; it is simply too complicated for the average people to use safely and effectively. The most user friendly way of removing ads from specific site would still be through Firefox plugin.<br /><br />Note: I have actually began to see those newsfeed ads again, perhaps the script needs an update.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-5455436016665303564?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-18812247736156963052007-12-18T17:09:00.000-08:002008-01-25T14:42:33.949-08:00Resident Evil: The Umbrella Chronicles - Mini ReviewAfter I finished my last exam on December 12, I had much more free time available. I had an opportunity to try out Resident Evil: The Umbrella Chronicles on the Nintendo Wii. I had always been fascinated by the Nintendo Wiimote's apparent ability to replicate the Arcade light gun experience in the comfort of the living room and I was able to see if it lives up to the expectation.<br /><br />I was quite impressed by the game and its use of the Wiimote. The Wiimote's pointer is quite natural for pointing and shooting the zombies that appear in the game. It wasn't awkward at all to "aim the pointer" instead of aim the monster. In several parts of the game, there is action button sequence where the player has to press a button or wiggle the controller in order to dodge an attack. Those sequences add excitement to the game play as the player cannot rest while the game is in progress. The only drawback is that the button that needs to be pressed appears to be random. There are several time where the player has to wiggle the Wiimote, but the action performed on screen had nothing to do with "wiggle".<br /><br />Resident Evil: The Umbrella Chronicles is a great game that shows off the unique feature of the Nintendo Wii.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-1881224773615696305?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-41827825260274999332007-11-18T22:40:00.000-08:002008-01-25T14:42:27.668-08:00First Impression of Nintendo Wii Controller<div>One of the facinating aspect about the Nintendo Wii is the motion sensing controller called Wiimote. Before the console's release, many people had had high expectation about the controller's capabilities (ex. lightsaber). Last week, I had the opportunity to try out the console at a friend's house. I was able to test out one of expectations that I had regarding the Wiimote.<br /><br />One of the minigame in The Legend of Zelda: Twilight Princess involves controlling a flying dragon using the Wii's pointer capability. Even before I tried using the pointing capability, I already know that the controller derives the point relative to the Wii LED emitters. What I did not expect, however, is that it requires more thoughts than anticipated to keep the controller pointing at the screen. Whenever I need to reoriented the dragon quickly, I have a tendency to overtilt the controller. This is because, unlike the analog nob, the pointer does not provide any tactile feedback. As a result, the game would prompt me to point the Wiimote at the screen. I would be interested to know if the Gamecube version of Zelda provides more intuitive control for that minigame.<br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-4182782526027499933?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-43888600090505654972007-11-06T21:12:00.000-08:002007-11-13T13:45:55.044-08:00Infowave Software going out of businessInfowave Software announced that they are going out of business. I guess they couldn't make enough money in this field with mostly professional service and maintenance revenue. My heart goes out to those who will lose their job as a result.<br /><br /><a href="http://www.marketwire.com/mw/release.do?id=789467">http://www.marketwire.com/mw/release.do?id=789467</a><br /><br />I believe the company's business registration will survive through this due to the accumulated tax loss.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-4388860009050565497?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-59073697503282639432007-09-21T21:55:00.000-07:002007-09-30T11:08:20.453-07:00View from ICICS, 7th floorThe view from the 7th floor of ICICS is truly a thing of beauty. It allows you to appreciate how beautiful natural environment around the campus.<br /><a href="http://bp1.blogger.com/_svaNPT5Vcko/RvSgeT56fwI/AAAAAAAAABA/iwe-tuPiGco/s1600-h/DSC00057.JPG"><img id="BLOGGER_PHOTO_ID_5112887919572057858" style="CURSOR: hand" alt="" src="http://bp1.blogger.com/_svaNPT5Vcko/RvSgeT56fwI/AAAAAAAAABA/iwe-tuPiGco/s320/DSC00057.JPG" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-5907369750328263943?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-52233077761380427942007-09-21T21:29:00.000-07:002007-09-30T11:08:20.453-07:00UBC Parking Signs<a href="http://bp2.blogger.com/_svaNPT5Vcko/RvSa-j56fvI/AAAAAAAAAA4/rzJfiVR0ZWk/s1600-h/DSC00058.JPG"><img id="BLOGGER_PHOTO_ID_5112881876553072370" style="CURSOR: hand" alt="" src="http://bp2.blogger.com/_svaNPT5Vcko/RvSa-j56fvI/AAAAAAAAAA4/rzJfiVR0ZWk/s320/DSC00058.JPG" border="0" /></a><br />In UBC, this sign is placed in the major roadways around the Thunderbird parkade and is designed to encourage people to park there at $6.00 per day. Unfortunately, they neglected to mention that the B-1 surface-lot right next to the parkade charges $4.50 per day instead of $6.00. <br /><br /><a href="http://bp0.blogger.com/_svaNPT5Vcko/RvSasD56fuI/AAAAAAAAAAw/0flOwZpaark/s1600-h/DSC00054.JPG"><img id="BLOGGER_PHOTO_ID_5112881558725492450" style="CURSOR: hand" alt="" src="http://bp0.blogger.com/_svaNPT5Vcko/RvSasD56fuI/AAAAAAAAAAw/0flOwZpaark/s320/DSC00054.JPG" border="0" /></a><br /><br /><div>This sign is place all over the UBC campus by UBC Parking to promote FlexPass. FlexPass appears to be a wireless device designed to allow access to some of the parkade. Permission to access various parkades is determined by the prepaid packages that is purchased. Since I don't generally drive to UBC, I don't know much about it. But you could imagine my confusion when I first saw this and immediately I thought of Adobe Flex instead.</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-5223307776138042794?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0tag:blogger.com,1999:blog-3092111002120923466.post-80083851793060448032007-04-30T23:16:00.000-07:002007-09-30T11:08:42.939-07:00www.netfile.gc.caIt's amazing how fast the CRA Netfile site is even during the 2 hours before the deadline.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3092111002120923466-8008385179306044803?l=www.stevenchui.net'/></div>About Stevenhttp://www.blogger.com/profile/13779571628533123350noreply@blogger.com0