Thursday, December 21, 2006

Don Box on Google Search API

Don Box weighs in on Google deprecating their SOAP search API and releasing an AJAX one. Choice snippet:

In my mind, this is a significant step backwards.

It's one thing to say move from SOAP to POX or even XML to JSON - the former move trades off extensibility in the spirit of YAGNI, and the latter move trades off SGML synergy for a better impedance match to most people's programming languages.

It's another thing entirely to require someone to use a specific language, runtime, and even local API to get at your service.

No matter how you define "web service," I don't think this newest offering qualifies.

I'm hoping this is just an anomaly and not a trend, lest we all fall back into the world of opaque/closed protocols.

Been there, done that.

Yes, this is Microsoft advocating openness...and Google advocating proprietary-ness. Right on, Microsoft.

Hello World

Check out how convoluted this Hello World is using an anonymous method in C# 2.0:

using System;
using System.Collections.Generic;
using System.Text;

namespace HelloWorld
    /// Declare a delegate that will do something with a string.
    public delegate void AcceptString(string s);

    public class Program
        static void Main(string[] args)
            //create the delegate using an anonymous method
            //in other words, this object is really a method
            AcceptString writeConsole = delegate(string s)

            //call the object/method
            writeConsole("Hello World!");

Tuesday, December 12, 2006

xt9 on the T-Mobile Dash

To switch between xt9 and abc input modes on the Dash, hit [alt], [space].

xt9 is an completion-assist engine for text input. If you start typing "da" it will suggest da, day, damn, dan etc. This can be helpful, except that its behavior can be erratic. In some programs, space selects. And in some programs, the currently selected word is the first suggestion, not the letters you've just typed. This means that you'll hit space on "da" because you mean to insert a space, but instead, since the first selected word is day, day gets inserted, and no space gets inserted since it was used to select. You then end up backspacing, or always glancing at the screen to see what's selected before hitting space, or hitting space space to select and then insert a space. If you switch to abc mode, you can just type, and the letters you push are the letters that show up. Nice and simple.

Friday, December 08, 2006

Symbolic links in Vista

Windows Vista includes a new command, mklink, for creating symbolic links on NTFS. More info. Very cool... although the linux guy buried inside me is quietly sighing, finally.

Thursday, November 23, 2006

Dash Startup/Shutdown sounds

The T-Mobile Dash has an obnoxious startup and shutdown sound. To disable it, browse to the registry key HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Shutdown and Startup and delete the value WAV. You'll still have the T-Mobile animation, but at least it won't make any noise.

Happy Thanksgiving everybody!

Wednesday, November 15, 2006

DIY T-Mobile Dash headphone adapter

Step-by-step photos of my little project to make a headphone adapter for my new phone (it has a custom headphone plug).

Sunday, November 12, 2006

T-Mobile Dash and Media Center goodness

Ok, this is cool. Really, really cool. Long story short: I can automatically synchronize TV shows recorded on my Media Center box to my Windows Mobile smartphone. Read on.

Friday I picked up a T-Mobile Dash. If you're not familiar with this device, it is the Windows Mobile device to have right now. It's slim, sleek, usable and downright sexy to hold in your hand.

The first thing I did was hack the registry to restore the JOGGR functionality that T-Mo deprecated. Then I plugged it into my PC and synced up an album through Media Player 11. It worked as expected, copied album art and everything. Cool.

Then I tried syncing up a TV show I had recorded. It worked, except the resolution of the transcoded file was 160x120, which dumbfounded me because the device has a 320x240 display. After some searching, I finally found a newsgroup post linking to this answer. In summary, the device reports is capabilities to Media Center through a protocol called MTP. These capabilities are stored on the device in an easily-edited XML document (\Windows\WMSyncCaps.xml). Once I changed that, deleted and recreated the partnership in Media Player, everything started working great. The right resolution, good bitrate. Bonita! A half-hour show ends up being about 30 MB.

Back in Media Player, I created an auto playlist that holds the two most recent episodes of The Daily Show. When I plug in my Dash, the file gets transcoded and transferred to the phone's media library. (I have a 1GB micro-SD card, which might not suffice now that I see how capable of a media player this is.)

If I continue doing this, I'll plug my phone in at night, it will sync that night's Daily Show automatically while I sleep. Then on the train ride to the office, I'll be able to (have the option to) watch last night's Daily Show on my commute. How cool is that? Now I just need to pick up the headphone adapter...but it's out of stock right now.

Saturday, November 11, 2006


I went to Ikea today and got a few things for the condo. A bookshelf, four stackable chairs (to save space), and a set of big wine glasses (great for reds that need to breathe). The bookshelf is key: it will let me unpack a few more boxes and finally get the last of my stuff put away and unpacked. At last. Pictures will come after that.

Saturday, November 04, 2006

I'm back

I got my cable modem installed today and just updated my DNS entry to the new IP. This new place is starting to feel like home :)

Monday, September 25, 2006

Upcoming downtime

This server will go down for a couple of weeks starting sometime this week. That means this blog, the subversion repository and the wiki will be down. Sorry, but them's the breaks when you host at home and you move.

Saturday, September 23, 2006

Moving in, Part 1

I started moving into my new condo today. Except the floors weren't done. They needed to be sanded and get the final coat of polyurethane or varnish or whatever. When I had the walk-through on Tuesday, I was told that the floor would be finished that night, well in time for me to move in on Saturday. Oops. I asked some of the laborers what to do, and they helped me track down the general contractor, Kevin. He apologized, started explaining why, and cut himself off, saying, "I'm not going to make excuses. Let's make this right." Gotta respect that attitude. He proposed that we put my furniture in a neighboring unit that's still under construction while he got the floor done today. Seemed fair enough. And sure enough, about an hour later, the carpenter was there finishing the last of the trim. I talked to him, he said he'd get the floor done tonight. That gave me more confidence, getting a promise from the person actually doing the work!

All this means is that my tasks got shuffled a little bit. I was going to move in/unpack this weekend and come back to my old apartment on weeknights this week to clean. Instead I'm cleaning this weekend and I'll be moving the last little bit and unpacking this week. Sigh. Not a big deal, just kind of a pain. I'm glad Kevin readily admitted that he was in the wrong. I'm not going to start flamethrowing; I need him to be my ally in getting the rest of the items on the punch list completed. Tomorrow I'll go over and unpack my laundry into the chest of drawers...considering that the only clothes I have available are those on my back and dress clothes hanging in the closet. Hmmm. Immagonna stink tomorrow.

Tuesday, September 19, 2006

Walk through

I had the inspection/walk through at my condo this morning. It was pretty fun; neat to see all my choices and how they work together. The place is pretty small (but I knew that already), or I guess I should say cozy. But it has some nice finishes that make it feel very "grown up." I'm pretty jazzed. I'll post pics sometime after closing/before move in. Today gave me a fresh burst of excitement about the had grown a little stale over the months since we had an agreed upon offer. Yay!

Monday, September 18, 2006

Little Miss Sunshine

I want to encourage everyone out there to go see Little Miss Sunshine. It's a fantastic film, filled with laughter, sorrow, empathy and happiness. It'll break your heart, make you laugh and cry at the same time. Definitely the best film I've seen in a while.

Wednesday, September 06, 2006

San Francisco

I went to San Francisco last weekend to visit some friends, Chris and Katie, that moved out there this past spring. It was a short trip. I flew in Friday (arrived around 5pm), and flew out Sunday mid-afternoon. All in all it was a great trip. I ate at a few great restaurants (Greens was my favorite of the weekend, though the quality of the sushi I ate on Saturday was bordering on life-changing). On Saturday, we took a self-guided walking tour. Along Haight street, up Buena Vista Park, bus over to Fisherman's Warf, walking around Russian Hill, Telegraph Hill/Coit Tower, Washington Square Park. It was a great day, and I'm looking forward to my next visit! See my pictures.

Saturday, August 26, 2006

Why I need to get rid of my car.

I drive it once a week and it costs me this much:
Pie chart of transport expenses
Note that "car" includes subcategories not shown: payments, gas, insurance, repair, etc.

Friday, August 25, 2006

Wrong train

Dangit, I got on the wrong train this morning. I was reading the paper when a Purple line pulled in. Not paying attention and just assuming it was Brown, I got on. And then when we were crossing the river into the Loop, the voice told me that Clark and Lake was next. My first thought was, that's funny, the voice is wrong. Wierd. Oops.

Sunday, August 20, 2006

2006 Chicago Air Show

I walked over to the lake today and found a patch of sand with a friend to watch the 2006 Chicago Air and Water Show. Last year I just peeked out on my balcony and observed a bit. This year I made it to the lake. I loved it! Those military jets are so cool. So, so cool. I had to use my point-and-shoot camera because my good digital SLR is in for service :( Man...the pictures I could have taken with my big lens and a tripod a mile closer than last year! Oh well, I got some great snaps!


Do you ever build up a big sleep debt? I just paid some back, and hopefully put some in the bank. I went to bed on Saturday at 9pm and woke up Sunday morning at 9am. It was awesome.

Thursday, August 17, 2006

Cold shower!

I had no hot water this morning. I mean none. Not like the hot water tank was drained but still trickling lukewarm water. No. Icy cold.

I went out last night, so I had to shower—I had the stench of bar on me.

So I steadied myself and plunged in for short bursts. On the plus side, the cold seemed to cut through my hangover. On the down side, I don't think I got the bar stench completely washed off.

And then I had to shave. I microwaved a bowl of water so I could do that with warm water. Totally worth it.

Monday, August 14, 2006

More on Oddmuse

I left a comment on the Oddumse wiki with a feature request on Saturday. Alex replied about three hours later agreeing. It got checked into revision 1.701 about 45 minutes later. How cool is that?

Sunday, August 13, 2006

2003 Bodegones del Sur Tannat

Last night I bought a bottle of 2003 Bodegones del Sur Tannat to a party. The wine comes from Uruguay and is made from the Tannat grape. The wine is a very dry, full bodied red with a smooth finish. At $13 a bottle, it's a must-try.

This is part of my ongoing effort to not buy wines without trying them first. Sam's Wine makes this easy by having informal tastings on weekends. Just show up at the store and there will be a broad spectrum of wines you can try, usually about twenty or thirty different wines in total. While you're there, be sure to listen to and absorb the knowledge from the servers.

Wiki fever

I was recently introduced to Oddmuse, a simple Wiki engine written in Perl. I initially set it up for a side software project I'm working on with friends (we needed a simple way to capture and share requirements and ideas). After that, I made use it. One thing about it that appeals to me is that it's so easy to set up. Literally drop the script in, change one config value, and it works. You can tweak (which I've done), but there are no dependencies on databases or anything (it's filesystem-based). Nice job, Alex.

Wednesday, August 02, 2006

So much content

I was thinking about all of the places on the Internet where I create content: blogs, photos, restaurant reviews. The list seems to keep growing. Here's the list and their RSS feeds, as of now:

Monday, July 31, 2006

2004 Mary Michelle Cyntiana

This past weekend, I tried a bottle of 2004 Mary Michelle Cyntiana. It's a wine created right here in Illinois. The Cyntiana grape (a.k.a. the Norton grape), grows well in the southern Illinois climate. The wine is a light-bodied, medium-dry red with a fruity (but not sweet) flavor and a clean finish. At $10 a bottle, it's a great value. Try one out and support the Illinois wine industry!

Thursday, July 27, 2006

Nikon D70 Troubles

A few months ago, I turned on my D70 and the little green disk activity light blinked, blinked, blinked, and kept blinking until the battery died. I couldn't get into the menus, either, because every time the menu blinked, the device reset. There was pretty much nothing I could do. At first I thought the microdrive had failed (it is a spinning hard drive, after all). But replacing it for a solid state CF card disproved that theory.

Since then, I've had "call Nikon" on various TODO lists, but it always made me kind of sick to think that I had to send the camera in for service. Well, today I decided to actually do the first step of that TODO—find the number to call.

Lo and behold, I added "d70" to one of my Google queries (not just "nikon service") and found a service advisory. Apparently this is a known issue, and for whatever reason, they're offering "complimentary service." Sweet! (Sweet relatively speaking, since I'd rather not have any problems.) Good to know they stand behind their products.

In other camera news, I recently ordered the Canon SD700IS. I have the D70 (or, will have it again soon) and a crappy camera on my phone. I've wanted a pocket-sized point-and-shoot model for social shots, etc, when I don't want or need the quality of the D70. I should get it tomorrow!

Wednesday, July 26, 2006

Mapopolis Transformer

I mentioned earlier the tool I wrote to view my GPS trail in 3D on Google Earth. I cleaned up the program, added some comments, documentation, error handling, logging, etc, and released it. Download Mapopolis Transformer. Run it and hit F1 to see the help doc. I don't know if anyone will really use this program, but I thought it would be fun to release it.

Wednesday, July 19, 2006

Great run

After spending a week at altitude (around 8000 or 9000 feet), my body started to get acclimated to the reduced oxygen. Plus I got quite a bit of physical exercise with all the hiking. There was also the uphill sprint, where David, Ryan and I sprinted up a 60-degree rocky grade, cutting each other off and sliding for about 60 vertical feet. Man, we all panted when we stopped and could not catch our breath.

Anyway, I went for a run yesterday for 3.6 miles, plus a little walking to cool down brought me to 4 miles. I think that's my best run yet since probably track in high school! Go me! Or, go extra red blood cells! (Or is it an increase in 2,3-bisphosphoglycerate? I love clicking around Wikipedia.)

Tuesday, July 18, 2006

My vacation in 3D

Last week I went on vacation to Angel Fire, NM (a ski valley outside of Taos) with my family. I went on a lot of hikes and brought along my GPS unit. Check out what a little code to transform the log file into KML brought out. Install Google Earth, and then open the KML of my trip. Make sure you have 3D terrain enabled. You can see some of the pictures I took (sorry—cameraphone only) in the exact location where I took them. I'll make the code available to transform from Mapopolis to KML upon request (or when I polish it up a little first).

Edit: By request, here's a screenshot. So now if you're Mike and you don't want to install Google Earth, you can still get a feel for the end result.

Sunday, July 02, 2006

Is Jon Stewart a danger?

Check out this video clip from Scarborough Country. Good times. The study claims that the host of the fake news show is a danger to American democracy because he makes voters more cynical and thus less likely to vote.

Friday, June 16, 2006


I'm playing in a softball league this summer that my brother in-law Mike put together. When I was living in Champaign, I remember being up in Chicago and hearing Mike and my other brother in-law Paul talk about their softball league. I was more than a little jealous. It seemed like so much fun to hang out with friends and family and play some softball!

Now that I'm living in Chicago (and staffed locally), I'm able to take part. It's been fun so far. We have a pretty strong team (our record is 3-1). It turns out that I'm a pretty solid base-hit producer. And even though I'm playing right field to minimize my defensive impact, I managed to catch a fly ball last night. Good times.

Thursday, June 15, 2006

Copa Mundial 2006

Since I don't have cable, the only channel that I can watch the World Cup on is the local Univision affiliate, D66.1. I'm more dissapointed that it's in SD than I am that it's in Spanish. But hey, at least I can watch a few matches!

Edit: I take that back. ABC D7.1 will air world cup matches in HD on Saturday and Sunday. Record series: done.

Daily Show Videos

My new favorite RSS feed.

Saturday, June 10, 2006

World Naked Bike Ride

I heard a bunch of hooting and hollering outside of my window. I looked out and—much to my surprise—saw hundreds of bikes being ridden by naked and scantily-clad people. A little digging on the Internet turned up the World Naked Bike Ride event. You know how I see it? I saw some boobies: my Saturday night has been a success. :)

Monday, May 29, 2006

Great weekend

Three day weekends rock. I went out each night, Friday, Saturday and Sunday, the Cubs game on Saturday afternoon, a BBQ Sunday afternoon and to the X-Men movie this afternoon. So much activity! Good times. And the best part? This coming week is only four days long.

Wednesday, May 24, 2006


At a meeting yesterday (that I can't say too much about due to NDA), one of the presenters gave a great quote: "I firmly believe that God creates opportunity for those who step up and take opportunity."

Umar Saleemi

Umar Saleemi asked me to help his page rank.

Thursday, May 11, 2006

Honeyboy Edwards

Last night I went to see Honeyboy Edwards at a show hosted by the Old Town School of Folk Music (where I take guitar classes). This guy is a blues guitar legend. He'll turn 91 years old this July. 91! Unreal. One thing that makes him so special is that he's one of the last living links to Robert Johnson, a founder of Delta Blues who died in 1938. Honeyboy was even with Johnson on the night he died. Johnson is cited as an influence by tons of famous musicians, including Eric Clapton, Led Zeppelin and U2, to name a few. The show was solid. He's old and slowed down some, but he still plays deliberately and with precision, with a raspy hollow voice. It was definitely worth seeing. You can catch him at the Chicago Blues Festival this June 8-11.

Wednesday, May 10, 2006

Indentured Servitude

Yes folks, I'm entering the 21st century world of indentured servitude: I'm taking out a mortgage and buying property.

Kidding aside, assuming everything goes through I'll move this summer to a condo in Lakeview. It's a gut rehab, so everything inside will be new and fairly high-end (hardwood floors, granite counters, stainless appliances, washer and dryer in unit). I'm pretty jazzed!

Wednesday, April 26, 2006

Gas Prices

I welcome high gas prices. In fact, I hope gas prices keep rising. High gas prices will impact consumers enough to demand fuel efficient automobiles and the advent of alternative fuel sources. This is good for the earth and consumers in the long run.

This is evidenced by the advertising that's been making the rounds lately. Just the other day I saw an ad for the Toyota Yaris, touting its 40 MPG rating. Look at the number of hybrid cars on the market. The tide is turning, my friends, and high gas prices are the reason why. (Let's be honest. Most people won't buy a hybrid solely because it's good for the earth. They need a little pocketbook motivation, so to speak.)

I don't feel the hurt of high gas prices, as I'm an urban dweller in Chicago. I take public transportation as often as possible. I have about a third of a tank in my car right now and I haven't filled up in about two months. My transportations costs are relatively fixed and are independent of gas price swings.

Let 'em rise, folks. In the long run, it will be for the best.

Wednesday, March 29, 2006

Vacuum Pot Brewer

About a week ago, I picked up a Bodum Santos Electric Vacuum Coffee Maker. It rocks! This replaces my french press and a manual pourover process (boil water in a kettle and then pour it over the beans—I used a plastic filtercone and a Swissgold filter).

The problem with most automatic drip brewers is that the water doesn't get hot enough to fully extract the goodness from the beans. (Most serious coffee critics agree that ideal is between about 195 and 205 degrees F. Those that do it right approach the $200 price tag.

One problem with a french press is the disassembly and cleanup. Plus it takes too much interactive time. Start the boil—but don't go far! Start the brew—but it'll be done soon! The same is true for manual pourover: you have to sit there and pour the water over the beans. (Pourover was very easy to clean, however.)

An auto-drip is easy. Fill it up, turn it on, and walk away. I needed to balance convenience and quality, and this vacuum pot is it!

The vacuum pot is the best coffee maker I've used. The brew time (how long water is in contact with the beans) is perfect. The clean up isn't bad (though not as easy as throwing away a paper filter). And it's fully automatic. Fill it up, turn it on, and walk away. (Actually, this one has a timer feature, so it'll finish brewing right as I wake up. I know, you sacrifice a little with an 8-hour-old grind. But I'm trying to strike a balance here.)

The vacuum pot is based on cool science, too. Visit the product page, if you didn't before, and click on the "view product demo" link to see a video. The summary is that when water heats in the bottom chamber, increased pressure forces the slightly-less-than-boiling hot water up into the top brew chamber through the spout. When the bottom heat turns off, the pressure decreases and the coffee drains back down to the bottom pitcher through the nylon filter at the base of the brew chamber/spout. The result is an exceptional and clean cup!

The Santos Electric required an easy mod in order to get a proper brew time. But so far, I'm very happy with the product!

Thursday, March 09, 2006

On Trader Joe's

I'm a big fan of the products found at Trader Joe's. A recent New York Times article sheds some light into the process of how products make it to store shelves. It's a pretty interesting read. They seem like a very passionate bunch of food lovers over there.

Thursday, February 23, 2006

A request

Dear guy peeing in the urinal next to me,

Please take a moment to hang up your cell phone before approaching the urinal.

Thank you. Your friend,


Sunday, February 12, 2006

Farewell, Bluths

At the risk of turning this blog into an Arrested Development fan page, I have to comment on a subtlety from Friday's finale (which Fox billed as a season finale, despite it being a series finale): Gob's puppet Franklin was wearing a shirt that read, "George Bush doesn't care about Black Puppets." Man, that cracked me up! Farewell, Bluths.

Sunday, January 08, 2006

Good food, music

On Saturday, I went to The Chicago Diner at 3411 N Halsted with some friends for dinner. It's a vegan/vegetarian place and it was really good! We were all in awe at the choices. Chris and Katie are both veggies; Dan (Katie's brother) and I still eat meat, though less now that we used to. It was hard to decide! For appetizers we had mushroom and spinach quesadillas and some nachos with fake-meat chorizo. For the entree, I settled on a red pepper ravioli that was quite delicious. Others ordered seitan burgers and a pulled seitan BBQ sandwich. It was all really good, and I'll definitely be back!

After the delicious meal, Chris and I went to Kingston Mines, a blues club that's been around since 1968. Quality music, I'll tell you. Watching those guitarists play so effortlessly made me so, so jealous. The place is clean and orderly, not super expensive and they have an air filtration system that works wonders. It was a good weekend :)