Saturday, July 16, 2005
Eclipse Ruins Then Saves
Imagine, if you will, the following frightening developer horror story:
I open Eclipse. I select some dirs to check-in. I try to commit them but I get an error. I look into a folder and think perhaps the cause is an object folder that has been bothersome (and should never be in CVS anyway). I think I select such a folder but really I select a folder containing new source code. I press delete and reflexively hit the enter button on the delete confirmation dialog.
I notice my error and panic, but only slightly. I search on Google for recovery software. I download two such tools PC Inspector File Recovery, which seemed OK but didn't find my newly deleted C# code and Restoration, which really blew and didn't find my source code files either.
Ack, now I'm getting more panicky.
I remember that Eclipse saves a local history of files. I wonder to self if Eclipse could be written such that, upon file/folder deletion through its interface, it would do one last local history backup. To calm my expectations, I figure that, nah that's probably not possible particularly when I only open the Eclipse IDE momentarily to checkin my files and not as a development environment.
I was wrong.
Eclipse saves the day. I open the local history browser and wahlah, my files! Again, stay calm. I make sure that these files are, in fact, the newly modified files and not some old, worthless version... ah, I see a new method, I see two new methods, I see all my new methods.*
Relief!
*I am a big geek.
Wednesday, July 13, 2005
XML Newbie
This link from XML.com explains it all.
Sunday, July 10, 2005
Prescription for a Queasy Stomach
Here is a listing of health inspection reports for restaurants on University Ave. in the University District at UW (note that the listing spans multiple pages). Be forewarned, however, that such listing could impact your desire to eat on the Ave. ever again. Below, I will review some of my favorite restaurants on the Ave. and their records of inspection.
But first, a briefing on the way these inspection reports supposedly work.
Inspections Overview
Inspections are based on regulations to eliminate risk factors for food borne disease. Every violation of these regulations is color coded and has a numerical value based on the amount of risk they create.
The red violations are the highest risk and pertain to things that cause food borne diseas, and the blue violations relate to maintenance and cleanliness of the restaurant. Most importantly, there is a scoring system (note that the lower the score the better).
- 35 or more red critical violation points require a re-inspection within 14 days.
- 75 or more red critical violation points require the establishment be closed.
- 101 or more total (red & blue) points also requires the establishment be closed.
Those restaurants that are forced closed are allowed to reopen when they "have remedied the conditions that have led to closure" -- Whew, that's a relief!
Interesting Finds
What I've noticed from my brief investigations is that American food places tend to do very well (e.g. Schultzy's, Big Time Brewery, even Jack in the Box), each maintaing a near perfect health inspection report (no score over 10). Schultzy's is one of my favorite places on the Ave. so I am fairly relieved there and many of my fellow Grad students hang out/eat at Big Time Brewery. Cheers to them as well.
The most common citation among all restaurants was "Food worker cards not available or current," which presumably means that (a) the restaurant is not keeping good records of their employees or (b) restaurants are hiring illegal immigrants. Admittedly (b) would be more likely in California.
Disgusting Finds (e.g. Point Winners)
- Honeybee's Cafe back in February '04 was cited with "Ineffective measures to control pests," a 13 point penalty (apparently). I'm not sure what this means exactly, but it cannot be good. It sort of has this implication that there is a pest problem to control.
- Ichiro Teriyaki scored a resounding 49 points on their last routine inspection. Cited for, among other things, improper refrigeration of food, poor handwashing facilities, unclean food contact surfaces, and, our favorite, ineffective measures to control pests.
- Never one to be out done, Aladdin Gyro-cery & Deli one-upped Ichiro Teriyaki by 7 points, scoring 56 points in 02/11/2004 for inadequate toilet facilities, unsanitary wiping clothes, improper refrigeration, inaccurate thermometers in refrigerators (the latter point here perhaps the cause of the former?). Of course, Aladdin really didn't learn much from that inspection given that one year later (02/10/2005), the restaurant scored 46 points. I hate to say it, but anyone who has eaten at Aladdin's (I have multiple times) probably isn't surprised by such a record. I'm not being perfidious, just honest.
- China Express has scored above 37 three times (see Worst Restaurants Section)
- Batavia just opened on the Ave and already received a 48 (see Worst Restaurants Section).
- Tokyo Garden. One of the few places mentioned in this blog post that I have never eaten at and perhaps for good reason. Tokyo Garden received a score of 58 points on 02/18/2005 for not storing utensils properly, poor handwashing facilities, food storage.
My all time favorite restaurant on the Ave is actually on Brooklyn Ave. Cedars offers a fantastic selection of Indian and Mediterranean food -- a seemingly strange mix, but works quite well. I really like Indian food and this is the place to do it in the U. District. The only bad part about Cedars is the table wait on weekend evenings... and their apparent "presence of pests" which are "not controlled." Cedars consistently scores in the 10-20 range in their health inspection report, most recently because of said pest issue and because of separation of living quarters/employee area, inaccurate refrigerator thermometers, etc.
My two favorite Mexican places on the Ave are, Pepes and Chipotle (yes, I know it's owned by McDonalds, shhhhh I like to eat corporate food sometimes, ok?), both of which have flawless health inspection reports never scoring even one point.
Thai food on the Ave. is fairly popular only second in prominence to Teriyaki places. I like, in order of preference: Thai 65 (just opened in early 2005), Thai Tom, Thai Spice, Thaiger Room. Overall, I am not a huge fan of Thai food (it tends to be too sweet and I don't like peanut sauce) but it's hard to avoid on the Ave.
IMO, Worst Restaurants on the Ave. (and how they fared)
The worst restaurant on the Ave is a relatively new addition to the U. District and goes by the name Batavia, which tries to pass as an authentic Indonesian restaurant. Now, I've never been to Indonesia but I hope for their sake that Batavia's version of authentic is a bit skewed. The portions are incredibly small but the food is so bad, that's actually a blessing. I went there one time and that was more than enough. Batavia received a score of a 48, which is, imo, 27 points too small. It would seem that there is some people who disagree with me on Citysearch. My guess would be, however, that those reviews were written by the owners themselves (or their kin).
The second worst restaurant on the Ave goes to Hawaii BBQ Restaurant, which managed to give myself and two others digestion problems for an entire afternoon. I went to Hawaii BBQ for the benefit of a friend who wanted to try it out and when I saw the pictures of their food on the menu posted by the door, I had difficulty staying. But I did and soon regreted it. I'm not sure what Hawaii BBQ is supposed to mean but they appeared to only have three or four authentic Hawaiin dishes -- the rest was your standard Teriyaki offering found at a dime a dozen on the Ave. But I digress, they scored a 39 at their worst inspection and an 18 (most recent) at their best.
The third worst restaurant on the Ave goes to China First, which offers a $3.50 lunch making it almost worth it suffering through their cuisine. The food here is standard Americanized Chinese food, not necessarily bad but just not good. China First has quite the health inspection report though receiving 50, 43, 38 respectively for such things as: food stored on floor, floors not properly cleaned (maybe because there was food in the way?), room temperature storage dangerous (at highest bacteria breeding temperature)
Conclusion
I feel a slight sense of guilt actually typing up these health inspection reports and publishing them on my blog. I realize that many of the restaurants on the Ave are owned and operated by families and that they are doing the best they can. It is a difficult environment, lot's of competition and little pricing flexibility. An overwhelming portion of patrons are students and, therefore, there is only so many foods and preparations that can be offered at the $6-10 range.
Fremont Outdoor Movies
My apologies to the geeks I've offended everywhere. This is yet more mounting evidence that I do not have what it takes to be a true computer scientist (dare I admit to not liking Star Trek or seeing any of those movies).
I will say, though, that I thoroughly enjoy the idea of outdoor movies. I wish that it were in a park in Fremont (perhaps a grassy knoll) rather than a parking lot. But I suppose we can't have everything -- especially when the price of admission is a suggested donation (ala The Art Institute of Chicago Museum)
* I cannot believe that Monty Python and the Holy Grail received 8.4/10 votes, beating out Braveheart, The Deer Hunter, Sixth Sense, The Graduate, Saving Private Ryan, Hotel Rwanda, The Sting, and even the Wizard of Oz (to name a few). That is blashemy and a testament of the influence that geeks have on imdb.com.
Thursday, July 07, 2005
Update: Australian Calling Rates
Well, I tried SkypeOut as well as another calling card company called Pincity, which came highly recommended to me from a friend who uses it to call Asia.
Although SkypeOut offers the cheapest calling rates of any other technology I looked into (other than computer-to-computer of course), my experience with SkypeOut was absolutely horrible. SkypeOut from Seattle, WA to an Australian cell phone costs 2 cents a minute but it is hardly worth it (rates). The audio quality was bad but the delay (over 5 seconds) was worse -- paired together, SkypeOut to Australia was unusuable. *Given that SkypeOut is essentially Voice over IP, I imagine that they will improve.
My Sprint International Calling Card that I got from Sam's club was out of minutes, so rather than recharging it I decided to try Pincity. Pincity offers incredible global calling rates to nearly everywhere in the world (rates). Calling an Australian land line costs an incredibly low $0.05 a minute; however, calling an Australian cell phone is nearly 5 times as much ($0.23 a minute). Nonetheless, I opted to try out Pincity and purchased a 10 dollar card online. Unfortunately, not only is the Australian mobile phone rate twice as high as Sprint's, the sound quality was diminished by that digitized feedback and a 2 second delay.
As soon as my Pincity account runs out (I have roughly 35 minutes left), I'm back to Sprint.
* If you're curious, SkypeOut is able to provide insanely low call rates because it uses the internet to carry most of the call to its destination and then there is only a local charge to make the call to a regular phone (link).
Tuesday, July 05, 2005
Independence Day @ Gasworks


Monday, July 04, 2005
You Have a Right to Scream
Sunday, July 03, 2005
Canon S200 on Last Legs?
Which fortunately is just a picture of my Dad and not, say, an expose of Brad kissing Angelina... but you get the idea. For like a week, every picture I took with my S200 looked basically like this. Here's another one of my cousins and I at at my grandfather's house.
In some ways, I can understand why my camera would be a bit tired -- 11,173 is a lot of pictures. BEyond that it has survived two falls off a countertop onto the floor, being carried for 2 years in the front pocket of my backpack, camping trips, etc. Overall, it's been a wonderful camera - I can't really criticize it - definitely one of the best pieces of technology I've ever owned (robust, easy to use, and typically did exactly what I wanted when I wanted).
Saturday, July 02, 2005
Candy Ambivalence
My girlfriend left them here so I ate them. I've never particularly liked Charleston Chews, yet I consumed them contently. I gravitated to them only because they were in my room staring at me and because I felt like something sweet; now I feel guilty (one serving is 19% of my daily saturated fat and 23 grams of sugar). I may have had three or four servings -- hard to tell given how voraciously I swallowed them down.
Data Loss Paranoia
Ideally my backup solution would be at some offsite location so that in the case of a fire or robbery, I would still have my data. Since I'm not a business or even a working professional, I don't have the cash to purchase a backup service over the internet. However, I'm thinking I might be able to do this on my own. Right now I'm looking at the following external USB hard drives on amazon.com:
1. $189.88 Maxtor OneTouch II Hard Drive 250 GB Hi-Speed USB (1.31 GB/dollar)
2. $189.99 SimpleTech SimpleDrive 250 GB External USB 2.0 Hard Drive (1.31 GB/dollar)
3. $220.99 LaCie 250 GB d2 External Hard Drive Extreme w/USB 2.0 (1.13 GB/dollar)
4. $244.99 Maxtor OneTouch II 300 GB USB 2.0 External Hard Drive (1.22 GB/dollar)
My plan right now is to purchase one of the above hard drives, attach it to my home computer and make an initial backup (which would be quite large), unattach the drive and then hook it up to my office computer at school. A twice a week backup would hopefully then only be incremental and therefore require little bandwidth to synchronize over the internet (e.g. from my home machine to school). I'm not sure, however, that the backup software that ships with any of these computers is capable of such an effort. I could probably use some 3rd party application like rsync...
Thursday, June 30, 2005
Tuesday, June 28, 2005
Australian Calling Rates
First, note that when calling Australia via a calling card the recipients phone line type is factored into the calling rate. Calling an Australian land line tends to be much cheaper than calling an Australian mobile (cellular) phone line. The type of telecom technology used for the originating phone call (e.g. the phone that places the call) has no impact.
Second, if the calling card is not specifically an international calling card it will most likely have a listed number of minutes. These minutes are usually for domestic nationwide long distance and NOT for international calls. You must check with the calling card company (as I did for the three examples below) to get exact rates to the region of the world you want to call. The domestic cards will then tell you the ratio of minutes charged to actual minutes talked. For example, calling Australia with one AT&T domestic phone card is charged at a 6:1 ratio. That is, for every one minute of talk time, six minutes are actually deducted from your bank of minutes.
Third, some calling cards round up to the minute others round to the second. Obviously the latter is preferred but watch out for connection fees, cards that round to the second often charge you a buck or two every time a phone call is successfully connected.
Three phone cards I investigated re: Australian rates
- $14.99 - 150 domestic long distance AT&T ($0.09 a minute)
From: Best Buy
Rate 1: 6:1 minutes ratio for USA to Australian cell phone ($0.60 a minute)
Rate 2: 3:1 minutes ratio for USA to Australian land line ($0.30 a minute) - $21.95 - 600 domestic long distance AT&T ($0.04 a minute)
From: Sam's Club
Rate 1: 12:1 minutes ratio for USA to Australian cell phone ($0.44 a minute)
Rate 2: 4:1 minutes ratio for USA to Australian land line ($0.15 a minute) - $19.98 - Sprint International Calling Card
From: Sam's Club
Rate 1: $0.11 a minute for USA to Australian cell phone
Rate 2: I'm not sure what the rate difference is to call an Australian land line.
I have been quite happy with the Sprint calling card. The line quality is good and there is no connection fee. By the way, the Australian country code is 61.
Sunday, June 26, 2005
VS2005 Visual C# Enhancements
Uses change tracking visualization concept similar to what I proposed in the Augur Eclipse plugin.
Saturday, June 25, 2005
Towering Pines
Sydney, Australia
Friday, June 17, 2005
Land O'Lakes
In Minnesota's defense, this same professor showed that humble Minnesota actually has upwards of 100,000 lakes. And, I suppose if you were to break it down density-wise, Minnesota would most definitely have Texas beat. However, there is little defense against coming in 7th out of 50 (yes, there are now 50 states in the union!) particularly because we lost to such winning states as Kansas and Oklahoma.
Of course, one argument is that many states are actually artificially increasing their lake count via reservoirs and other man-made bodies of water. They say this is for aesthetic or water irrigation reasons, I say it's because they want to beat Minnesota. Fat chance of that happening, we have Moose (Meese?).
(link)
Thursday, June 16, 2005
Morphing
Steps I used in SqirlzMorph:
1. Resize images in Adobe Photoshop taking careful note to line up the morphable object between all images -- this is essential. You can resize the images in SqirlzMorph too I think but it doesn't give you as much control to crop images so that the objects are in the same place across multiple images.
2. Open SqirlzMorph, drag your first two morph images into the interface. Maximize the SqirlzMorph interface.
3. Click the icon that shows six blue tiles in the toolbox on the left side of the SqirlzMorph interface. This will arrange your images to fill up the SqirlzMorph window.
4. OK, now we're ready to begin setting morph points. Morph points tell the software algorithm where one set of pixels in the first image translates to one set of pixels in the second image. The more morph points you place and the more accurate you place them, the better the morph will look. All morphing software that I found, used this same basic concept. Go back to that toolbox on the left side of the SqirlzMorph window, and select the icon with the black arrow AND the green plus. This will allow you to both lay down a morph point on the first picture and move its corresponding point on the second picture. Note that the red minus sign removes dots.
5. Set your first morph point on the first picture. Note that the corresponding morph point shows up on the second picture, move that second point to where it should be.
6. Do step 5 as many times as you would like -- usually the more, the better -- though this has some exceptions, particularly when your morph points don't follow some simple linear pattern for translation.
7. After your morph points are set. Go to the Morph menu in the File Menu. Select the type of Morph you want. I used One Way morph with the Mix - 1 morph algorithm.
8. Also in the Morph menu, set the Period. I used 500 frames per cycle (the more frames, the more fluid the morph).
9 . Now click on the avi icon in the toolbar on the top of the SqirlzMorph interface. Select a filename for your morph and your avi frame rate (i used 30 fps because that's what speed my video was using).
10. You've done it!
Other morphing software that I used had a much better interaction mechanism for placing, moving, and removing morph points. This is my one major criticism of SqirlzMorph.
Wednesday, June 15, 2005
Apple Places High Value on My Opinion

As a valued customer, your opinions are very important to us. That's why we would greatly appreciate your feedback regarding your iPod. Your participation in this survey will help us to better meet the needs of customers like you.Please click the link below to take the survey. This will take you to an external site hosted by Advanis, an independent marketing research firm we have engaged to perform this study. The information gathered will be for research purposes only, is strictly confidential, and will be used only by Apple. Your personal information and responses will not be shared with anyone.
The survey asked, among other things, the one thing I would like changed about my iPod, how many accessories I've purchased for my iPod, what kind of car I drive, what I think about being able to control my iPod through the steering wheel, the number of iPods in my household, if purchasing/using an iPod made me feel better about Apple, if purchasing/using an iPod made me more likely to buy an Apple computer, how I sync my iPod to my computer, how many songs I have on my iPod, how many songs I have on my computer, the number of songs I have purchased from the iTunes music store, the types of accessories I've purchased for my iPod, how I received my iPod, how I learned to use my iPod, the percentage of music that comes from downloading from the internet (not iTunes music store), ripping from CD, purchasing from iTunes music store, or other.
The survey probably took about 15 minutes and I flew through the questions. If you're curious, the only free form response question asked "what one thing would you change about the iPod?" and I said something like "The menu navigation to shuffle/repeat. The number of required menu traversals to toggle shuffle/repeat is quite high. What's most frustrating is when I am playing a song via a playlist and I want to start shuffle, I have to traverse back-up to the top level to set shuffle and then reverse traverse back down to where I was to the currently playing song (and playlist menu)."
Other things I would like to see:
* be able to play my iPod on many different computers without having to switch the iPod into "manually manage songs and playlists" mode. Ideally, I could play my iPod directly through iTunes on my work and school computers all the while keeping the iPod synched to my home computer. Note that the metadata would then stay up to date and consistent.
* when I play songs on my computer and the same songs on my iPod. The synchronizer should be smart enough to do an intelligent merge of the metadata (e.g. playcount, last played, ratings) and not just an overwrite.
* embed my ratings data (and perhaps other metadata) inside my music files themselves (mp3 id3 tags for instance)
* be able to stream my home computer iTunes library to one other computer at a time with login access.
Thursday, June 02, 2005
Adobe Premiere Success
I will say that despite the obvious advantages of using a professional-level movie editing program like Adobe Premiere over, say, freeware like Microsoft Movie Maker, the latter still has its place (at least on Windows boxes). Microsoft Movie Maker, for whatever reason, seems like it supports more formats than Adobe Premiere. I saw this when I was working off of DVD .VOB files converted into AVIs, I saw this when working with Canon S200 .avi movies, etc. All seemed to work flawlessly in Microsoft Movie Maker, but in Adobe Premiere, it took some tinkering.





