Wednesday, March 16, 2005

The other day, Don Box announced the availability of the Indigo Community Technology Preview docs.  Now the builds are available on MSDN! (I suppose only to MSDN subscribers)  I've been looking forward to this for a while now.  I'm definitely going to be playing with it this evening.  I suppose I'll have to give up some Halo time.

For those who don't know what Indigo is, it's the unified programming model for building message-based, service-oriented applications.  It abstracts all the trickiness from you.  I won't get too much into it because the documentation does a fairly impressive job of explaining what it is.

posted on Wednesday, March 16, 2005 2:49:50 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Wednesday, March 09, 2005

CRW_1896Next in the backwards march through all my old photos is a huge set of photos of our trip to Busch Gardens in Tampa, Florida.  This was my first big trip with my digital rebel, so I was a little trigger happy.  Check out the photoset.

Since I moved to a hosting company, I took down my old photo gallery to reduce bandwidth and disk space. This is significant, because one of the most frequent search hits I get is for pictures of Busch Gardens. Now they can actually see them again.

 

posted on Wednesday, March 09, 2005 5:50:50 PM (Pacific Standard Time, UTC-08:00)  #    Comments [4]
 Tuesday, March 08, 2005

CRW_2080I'm slowly backfilling Flickr with photos, trying not to use up all my bandwidth before the month is over.  The latest is a photoset from last year's Florida vacation where Becky and I met up with her family for her brother Ben's wedding (look for those pictures soon).  We had a great time.  After the wedding, we visited the Florida Aquarium in Tampa.  Check out the photoset!

I've just about got my digital workflow down.  I've got a basic batch job to do the standard things to pictures (auto-contrast using levels, unsharp mask, etc).  I've figured out how to tweak the RAW settings to correct color issues and actually SAVE the settings for when I open that picture next time (which I had to do alot in the aquarium pictures because of the interesting stuff water does to color).  And I've got a process for tweaking individual pictures with things like pulling the details out of shadows (which works fantastically when working in 16-bits per channel).

posted on Tuesday, March 08, 2005 9:54:10 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

CRW_2778Becky and I spent this weekend in Victoria Texas.  Why you ask?  Becky was playing in the Victoria Symphony!  I was really impressed with the fine arts culture of the small town.  Becky did a great job, and got to play one of the most famous 2nd horn excerpts (Beethoven's 3rd Symphony).  I got a "comp" ticket, and was basically the closest person to the stage.  I had stayed up all night Friday playing Halo 2, so I was overly tired at the concert.  I was enjoying the music quite a bit, but fighting hard to keep my eyes open.  It was very strange.  It was like my brain wanted to shut down all unecessary cycles except for listening.  I never fell asleep, but I did listen to much of the second half with my eyes closed, employing the standard techniques to not look as though I was sleeping of course.  Becky did great.  Perhaps she'll get the permanent gig!

CRW_2784CRW_2783After the concert, we went to the Sonic.  They had a credit/debit card machine built into the menu, which also conveyed useful information like "your order is being prepared" and "your order is being delivered".  It was really useful.  No fumbling coins in the food exchange.  It was sweet.  I hadn't seen those before anywhere, and I didn't expect to find it in a small texas town.  Bravo.

posted on Tuesday, March 08, 2005 9:40:47 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Saturday, March 05, 2005

For the last 2 months, I've been having a blast playing Halo 2 with my buddies online. (except Jeff, who for some reason refuses to get on despite having all the necessary ingredients) It has worked reasonably well, with the exception of some weird incompatibilities with certain people.  If they were the party leaders, I'd get the famous "We are experiencing network issues." message.  Bungie says that this is almost always caused by NAT incompatibilities.  This didn't get in the way too much because we could usually juggle around the party leader until everyone could join.

At first, I attributed this to my out-of-the-norm network configuration.  I have VoIP, so I have several routers.  When I first started playing, I had the VoIP box as the outer-most router, followed by the venerable WRT54G.  So I was doing a double NAT.  The last several weeks, I've been trying to reduce my incompatibilities.  First, I managed to set up the VoIP router inside the firewall (I have AT&T CallVantage).  This involved....absolutely nothing.  It simply worked.  I did set up QoS on the Linksys to ensure the phone would always have enough bandwidth.  This fixed some of my incompatibilities, but other issues began to crop up, like being unable to hear everyone in the game lobby sometimes.

I had been running the wifibox firmware on the Linksys, and decided to upgrade it to a more recent, official firmware. So I upgraded to the Live-certified firmware version.  This didn't help.  Then, after changing nothing, I began having problems joining people that I had never had trouble with before.  Last night, after putting the XBox in the DMZ and still having problems, I got fed up and systematically hunted down the issue.  It was definitely something with the router, which didn't make sense since it was XBox Live certified, and I was having trouble with other people who had the same router and they didn't have problems.  It just didn't add up.

So, I broke down and got a new router, and it fixed everything.  I played until 2:00 this morning without a single problem.  VoIP still works. Wireless works.  All the PCs work.  All without any additional port forwarding, DMZ settings, or other configuration besides the QoS.  It just works now.  And do you want to know the most bizarre part?  I got the exact same model of router.

My conclusion is that the wifi-box firmware screwed it up somehow.  It's the only variable left in the equation.  I'm curious if anyone else who is running 3rd party firmware has had problems like that. Perhaps I'll link to someone that I know does, and see if that generates any discussion from his previous post.

posted on Saturday, March 05, 2005 7:59:19 AM (Pacific Standard Time, UTC-08:00)  #    Comments [3]
 Tuesday, March 01, 2005

Well, it's the first of the month, and I've got another gig available to upload to Flickr.  Last month, I used up my limit in the first few hours after I enabled my pro account.  Then, I was essentially locked out for the rest of the month.  This month, my strategy will be to upload new pictures only and use up the remainder at the end of the month.  I've been playing with Photoshop and have greatly improved my processing scripts, so the photos should look quite a bit better. (not to mention including the original EXIF data this time)

Look for some new pictures tonight, although I don't think I've taken any really interesting ones since the last upload.  There's plenty in the backlog though.

posted on Tuesday, March 01, 2005 2:51:03 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]
 Monday, February 28, 2005

I've been toying with ECMAScript for the past week or so, mostly to update some dynamic user interface elements in a web application we have.  Every time I use it, I'm always impressed at the cool things I can do with it.  It also makes me wish that Microsoft had not messed with it as part of the CLR (JScript.NET).  Their newest version of JScript seems to merely make it into an alternate syntax, and not really take advantage of what it could do as a prototype-driven language with closure support.

I found this article that claims that it is the world's most misunderstood language.  I think I agree.  It's incredibly powerful, but very underutilized because of the confusion surrounding it.  Closures coupled with prototypes can yield some very slick code if you understand what you're doing (and I guess maybe that's the problem).  All you really need is a nice IDE to help you manage your objects and their prototype chain.

I'm also getting more into Python and Ruby, which are also very slick.  I'm just not sure how they should fit into a project.  In general, a project with fewer languages is more maintainable.  But imagine trying to build a skyscraper when your only tool is a hammer that works really well. (OK, maybe hammer is not the best analogy.  Maybe a blowtorch?  I don't know)

[UPDATE] I just had to include this link, where the author shows us how to do lot of different code reuse patterns, including multiple inheritance in Javascript.  My favorite quote:

This large set of code reuse patterns comes from a language which is considered smaller and simpler than Java

posted on Monday, February 28, 2005 10:56:23 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Sunday, February 27, 2005

I've been playing with the Flickr API alot, experimenting with some different things that I have planned for the future.  One of the things I'd like to do is to create context sensitive image collages on the fly for my blog entries.  Thought I'd show you this cool example from a first-pass collage creator.

collage creator.jpg

Of course most collages wouldn't have this many pictures, but I thought it was cool.  I need to do some randomizing.  I'm filling from the upper left corner in diagonals for reasons you'll see when I get it working the way I want.

I've also been playing with some client-side Flickr stuff using XmlHTTPRequest to dynamically load images for a slide show type thing like MSN spaces has.  I might upload an example of that later.

posted on Sunday, February 27, 2005 6:46:19 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Friday, February 18, 2005

I just got back from Brad's talk at the Austin .NET User's Group meeting.  It was my first meeting, and I felt a little bad about not being a more active part of the local community.  It was a solid, interesting talk, even though I was pretty familiar with both topics (exceptions and memory management).  I managed to ask an intelligent question about a change in Whidbey regarding unhandled exceptions on all threads terminating the app rather than on the main thread only.  My question was on the ThreadAbortException, which seemed like a monkey wrench in that plan.  Turns out that there's nothing to worry about there as that exception is already pretty special.

Despite the great technical content, these were my favorite quotes (emailed to myself via my mobile so I wouldn't forget them:

  • Everyone should be using ... using (referring to C#'s using blocks)
  • It's like feeding peanut butter to a dog (referring to using some of the new GC (garbage collector) methods to help in memory management.)

I'm always really impressed with the CLR team's desire to do the right thing with the framework and to help developers do the right thing. Thanks for adding Austin to your "world tour", Brad. BTW, the slide template seemed like the right choice to me.

posted on Friday, February 18, 2005 6:35:46 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Thursday, February 17, 2005

Since my last rant about vending machine prices, they've raised the price to 70 cents for 12 oz. cans here at work.  Ridiculous.  I only wish I knew who "they" was so I could complain.

posted on Thursday, February 17, 2005 10:34:23 AM (Pacific Standard Time, UTC-08:00)  #    Comments [3]