- Seven steps to remarkable customer service from Joel on Software. The best article I’ve ever read about customer service, which I, as a developer, don’t really care before.
- So Beautiful, So Disturbing. So what if Vista was a woman? Really funny.
I own a first generation MacBook. But I don’t think I’m a hardcore Mac fanboy. So I’m gonna admit that there is an annoying problem that has been bothering me (although it’s pretty much the only complain I have). The problem is that the Airport will drop wireless connection from time to time when the MacBook is running on battery. After a couple of months of researching, I found this forum thread. Two of the tricks mentioned in the thread worked for me. First I tried switching to WPA2 pre-shared key only and using TKIP+AES algorithm. It worked perfectly for the MacBook. But I have other two stone age laptops with prehistoric 802.11b wireless cards which don’t support WPA2. That left me with the second option: ping some host (hey, what about www.google.com) every 5 seconds. It’s super lame but it does serve the purpose. Now I just wish I knew some OS X programming so that I could start or stop the ping depending on whether the laptop is plugged in or not.
It’s worth mentioning that the problem seems to only exist with consumer grade routers. When I was at Vancouver airport, I was able to use its wireless network without interruption for hours.
I came across this blog post when I googled rails data type. Below is part of the post:
And what’s the difference between datetime and timestamp? Or binary and boolean? Any database gurus read this?
And one of the comments from the original author:
Ooooh yeah. Duh. Of course binary == storing files in the DB. I guess I was just stuck on “binary†being 0s and 1s and boolean being either a 0 or a 1.
I think we all know it doesn’t take a database guru to answer the question. It’s scary how little computer science knowledge you need to do some “programming”.
This is year 2007. If for some unfortunate reason you are still using IE viewing this site, you will be welcomed by a page with a top section showing the latest post and a two column lower section with an awfully long left column. Well, the fact is that IE is always the worst when it comes to follow the standard. I’ve tried view the page in Firefox, Safari and even Opera (wow, has it been 6 or 7 years since the last time I used Opera?). They looked identical. So I have no intention to change the page to display correctly in IE. For more information on this issue, please take a look at the Acid2 Broswer Test.
Do you remember going to a concert and there are always those booths selling overpriced T-shirts or CDs? I don’t what you do but I always ignore them. So I did the same thing at the Barenaked Ladies Are Me concert last Thursday. One of my coworkers, on the other hand, stood in line and bought a USB drive. Well, that’s at least better than T-shirts for our geeks, right? The only catch is that the drive will only be available 20 minutes after the show. So he waited for 20 minutes after show. Guess what? He got a USB drive with the mp3 of the show in it! Now that’s a band who don’t give a shit about DRM and know what they can do with technology. Check out their website.
This is kind of a repost. Some of you might have read this entry from the old feed. But it doesn’t exist in the new blog yet.
I’ve been using both Last.fm and Pandora (they are two most popular music recommendation services in case you don’t already know) for a while now. I feel it’s been long enough so that I can do a little comparison.
The biggest difference between them is their music recommendation mechanism. Pandora’s recommendation, which utilizes the revolutionary The Music Genome Project, is based on the characteristic of the music. From the project’s page:
Each song in the Music Genome Project is analyzed using up to 400 distinct musical characteristics by a trained music analyst. These attributes capture not only the musical identity of a song, but also the many significant qualities that are relevant to understanding the musical preferences of listeners. The typical music analyst working on the Music Genome Project has a four-year degree in music theory, composition or performance, has passed through a selective screening process and has completed intensive training in the Music Genome’s rigorous and precise methodology and procedures. To qualify for the work, analysts must have a firm grounding in music theory, including familiarity with a wide range of styles and sounds. All analysis is done on location.
So if I like Sex Pistols, Pandora will probably recommend something like Ramones or The Clash to me. The more time you spend building your profile, the more accurate the recommendation will be. After spending some time (maybe a couple of weeks of total listening time) building my profile, it rarely disappoints me now. The only trouble I have is when it comes to hip hop music. I don’t like hip hop generally except the music by The Streets and Beastie Boys. But these two artists are considered similar to gangsta rap which I absolutely hates. This shouldn’t count as a downside because it’s just me being picky.
Last.fm’s recommendation, on the other side, is totally community based. You listen to what other people have been listening to. So if somebody likes Sex Pistols and Last.fm happens to pick my profile to make recommendation, the next song could be by Dido (yes, I do like Dido). It’s cases like this make me like Pandora more. Although Last.fm does have some features that’s missing in Pandora such as a very helpful artist Wiki.
After all these blabbing, I think I should tell you that I actually don’t use either one of them directly. That’s right. I use PandoraFM. It uses Pandora as the player and recommendation service, submits the songs you listened to Last.fm and also grabs the artist bio and other meta info from Last.fm and displays them at the bottom of the page. I guess you CAN get the best out of both worlds sometimes.
Happy listening.
Just want to remind everybody that you are not recommended to subscribe to my old Atom and RSS2.0 feeds any more. Please use the FeedBurner feed instead. Currently I have the two old feeds redirected to the new one. But eventually I’ll remove them. The location of the new feed is http://feeds.feedburner.com/simonlin.
I like trying out new stuff. That’s why I chose Typo as my blog engine. It’s Ruby on Rails, has fancy themes and is all Ajaxed up. Well, I learned my lesson again. I’ve been using Typo for almost half a year and ended up spending several hours every month fixing it. At first I thought it’s a good opportunity to get familiar with Rails. But it keeps getting worse. Every upgrade broke the theme I was using. Sometime I got Rails application error accessing the home page. Just when I thought the situation will be better as more people start using it, I found out everybody is moving to Mephisto which is yet another Rails based blog engine. Finally my Typo installation was FUBARed a couple of days ago. This time I didn’t even do anything. No upgrade or whatsoever. It’s just DEAD! After a chat with Jeff, I decided that I have better things to do than babysitting my blog. So here it is. Simonlin.ca is powered by WordPress now. It took me about an hour to move the whole thing over while sitting on the couch watching TV thank to the script from Stuart.
To whoever subscribes to my feeds if you are lucky enough to see this post:
Please update your subscription to use the new FeedBurner feeds. I promise I won’t change the feeds again as long as FeedBurner doesn’t go out of business.
Guess what? Dr. Venkat Subramaniam, my favourite presenter at NFJS, has just bought a MacBook Pro! I always think that Dr. Venkat should be a kind of guy using a Mac instead of a Dell Lattitude ever since I saw him at the symposium last year. Now he finally did it. Guess we will see more Macs at this year’s NFJS. Although it doesn’t seem that they have it scheduled for Calgary yet. Not good.
The link to Dr. Venkat’s blog entry seems to have some problem. It shows you a blank page when you click it. If you are using Firefox, just go to the address bar and press ‘Enter’. If you are using IE, use Firefox instead.
I didn’t expect it to be a difficult task. Well, it wasn’t very difficult to do in Ruby. But it was annoying. Not because of Typo or Ruby, but because of Blogger’s crappy API and limited functionality. The following is the steps that I had to go through to make it work:
- Migrate my old Blogger account to the new one because the old one uses Blogger’s Atom 0.3 API, which is a piece of junk. It doesn’t have the creation date of the post. Therefore it’s impossible to preserve the time when the posts are created. The new Google Data API, on the other hand, has a lot more meta information in it.
- Change the Allow Blog Feed option in Blogger settings to Full. You can only specify Short or Full but not both for this setting. If you select Short, you can only get the summary in the feed.
- Now comes the most annoying part. Blogger doesn’t support Markdown so it outputs straight HTML in its feed! Some of the HTML tags caused casting of method parameters to fail when I posted to Typo using metaWeblog API. It took quite a few gsub() to replace those tags with Markdown.
In the end, I was able to migrate all the posts successfully. So Vlad, are you ready to move to Typo now?