# Sunday, January 09, 2005

So Tivo finally announced their TivoToGo service… with it, you can transfer recorded shows to your laptop to watch “on the go”. Later this month, they’re supposed to have an app available that lets you burn those shows to DVD as well. It’s a slick service that’s been in the works for a while.

In order for it to work, Tivo has to roll out a software upgrade to all their Series 2 boxes. And their web site says that this can take several weeks! I understand that rolling out an upgrade to that many boxes is a big deal, but that still seems like a really long time. There are some reports of people getting it already, but no such luck here. Tivo put up a “get on the priority list” page, but who knows what effect that has.

I just know I want it now. Patience is not one of my virtues.

posted on Sunday, January 09, 2005 10:55 AM Mountain Standard Time  #    Comments [0]

Glad to hear that all is well with Justin Rogers. He hadn’t blogged or been in touch with anyone since mid-November, so Darren Neimke tracked him down. Justin’s been one of the more prolific bloggers that I read regularly and is the only .NET blogger whose name is a folder of its own in my Firefox bookmarks (too hard to categorize his articles!).

Anyway, I’m glad that all’s well and I hope Justin will be blogging again soon.

posted on Sunday, January 09, 2005 10:45 AM Mountain Standard Time  #    Comments [0]

… is hard. It’s easy to come up with a list of all the things I want to do, change, start, finish, or otherwise commit to. It’s hard to make a list that has a chance at getting done. After all, a year is a long time and who can say how things will move up or down in importance.

Instead, I think I’m going to try to come up with quarterly resolutions. This way, the timeframe is smaller and I can take on more manageable goals. That’s my approach to development projects as well… make a list of components. Prioritize them. Take the top few and break them into tasks. Prioritize those. Get to work. That’s how you eat an elephant.

So here’s my list of goals for Q1 2005:

  • Exercise at least 3 times a week — using the bike when I have to be indoors, playing soccer more when the weather’s good.
  • Read more fiction, starting with Cryptonomicon.
  • Begin development on a side project that’s been kicking around in my head for a while. I’d like to have the database done, the DAL created, and start the framework.
  • Take more pictures with our new camera, particularly with the camera in Manual mode.
  • Improve this site, including a new layout, a photos section, at least one article, and more useful links.
  • Blog more — at least 4 times a week.
  • Complete another retrospective video for Allie (I’ve got lots of raw footage).

With luck, I’ll make a good dent on all of these… maybe posting them here will keep me honest.

posted on Sunday, January 09, 2005 10:39 AM Mountain Standard Time  #    Comments [0]
# Friday, January 07, 2005

Hard to believe that my blog, which hasn’t seen any attention by me in over a month, was picked up by comment spammers but sure enough — a bunch of cheeseball comment spam in the last few days.

Rather than delete it all by hand on-going, I’ve disabled comments for now. As it turns out, one of my to-do items for this weekend is to do some work on the blog. I’ve got a bunch of entries I want to add, possibly switch skins, add some stuff to the Links section, etc. Basically, regular blogging is one of my New Years resolutions and it has to start with cleaning up the place. Looks like adding a CAPTCHA capability for comments is on the list now also.

posted on Friday, January 07, 2005 10:50 AM Mountain Standard Time  #    Comments [0]
# Monday, November 22, 2004

Christopher Hawkins addresses a post from Joel On Software's discussion groups. The author isn't happy with his job because he's involved with technical sales, building proposals, and other non-coding activities.

I tend to agree with Christopher's response on this. As nice as it might be some days to just put on some music and sling code, that task doesn't have the value in the market that it used to. Can you find that job? Sure, but there are fewer of them and the pay won't be what it could be if you're adding value elsewhere in the process also.

I liken to to mowing the lawn or raking leaves. I actually find those tasks to be enjoyable and relaxing (though not exactly stimulating). But how much are those tasks worth if I'm paying someone else to do them? Not much. On the other hand, what if you're a landscape designer who can come up with the whole yard's design, coordinate with various vendors to get the materials, and then execute on the design as part of a team? You've got more value and maybe every now and then you can pick up the rake. Meanwhile, your employer can find just about anyone to push the mower or rake the leaves.

Note that this is not about the complexity or difficulty of yardwork versus writing code. It's about adding value to an entire process, instead of being one cog in one particular wheel in one part of the whole device.

And mostly, it's about employability. Add value in a way that someone else (and these days, someone somewhere else) can't and your job is no longer just a commodity. Show that you're a key part of the whole process. Get involved in figuring out what's being built. Get involved in the architecture and design work. Get involved in the sales support process. Be the "go-to" person.

I can't remember where I read it, but someone earlier this year put it well in a blog post (paraphrasing from memory): Those programmers who want to sit in a cube, limiting themselves to just writing code, and waiting for a complete spec doc to get tossed over the wall, are going to be in for a surprise. They may come in and find that the doc was shipped overseas instead.

posted on Monday, November 22, 2004 3:41 AM Mountain Standard Time  #    Comments [0]
# Saturday, November 13, 2004

I didn't realize how far behind I am with blogging things. I've got several .NET posts kicking around in my head, as well as a rant or two... but for some reason it's not yet "habit" to fire up BlogJet and fire off a post. I wonder how the more prolific bloggers turn that corner.

 

posted on Saturday, November 13, 2004 4:50 PM Mountain Standard Time  #    Comments [0]

Ok... so is this a typo, or is CompUSA cashing in on all the breathless Halo2 hype? I happened to be surfing http://www.compusa.com tonight and saw that price. I did a double-take before realizing that it was a data entry error (11/09/04 was the Halo2 release date).Is there a coupon? Oops

Speaking of Halo2 -- well, I can't speak of it because I don't yet have it. I'm hot-and-cold when it comes to video games. Sometimes I'm into it, other times I go weeks or months without playing much.

I did get two-thirds of the way through the first Halo before I got sidetracked by work, the soccer season, Madden and FIFA 2005, and so on.

So I made a decision to NOT buy Halo2 until I finished the campaign in the first Halo. I did that this afternoon and wished I'd done it sooner... that final challenge in the final chapter (destroying the core and the Warthog "joyride") were so intense! It was a lot of fun (and it took me a while before I could make it through).

So now I can go get Halo2, get my butt kicked online, and enjoy all the cool multiplayer/online stuff they've added.

posted on Saturday, November 13, 2004 4:47 PM Mountain Standard Time  #    Comments [0]
# Sunday, October 24, 2004

As an amateur musician and recording geek, I've been following the recent "podcasting" discussions with some interest. I think it's interesting for two reasons -- one reason is the application of an existing technology (RSS or syndicated news feeds) for a new purpose (binary enclosures, usually some form of audio). While this is merely evolutionary (nowhere near revolutionary), it has the potential to be one of those watershed points when the average schmoe gains the ability "to be heard". It happened in the 80's with desktop publishing programs. It happened in the 90's with inexpensive digital recording gear and the proliferation of MP3 as a "universal audio format". More recently, it's happening with blogs.

But with podcasting, how much is really new? What barrier to entry has been lowered? What long, cumbersome process has been overhauled? The ability to record audio? Nope... if you're on the go, you can get a handheld digital recorder dirt cheap these days and many PDAs have the ability to record audio and put it in your computer for upload. For the less mobile, a cheapo microphone plugged into your soundcard and a free audio program does the trick.

Is it the ability to get your audio out to a wide audience? Nah, anyone can put up a web page for free these days and make audio files available for download (some even get sued for it when the files they post don't belong to them). You could argue that it's hard for would-be consumers of that content to find the producers that interest them -- but that hasn't changed here. I still have to go out and find the podcaster or audio-blogger I'm interested in. And we can look back to the late 90's incarnation of mp3.com as a better example of bringing producers together and making it easier for consumers to find what interests them.

So what is new? From my perspective, the "new" part is combining RSS (a pull mechanism wherein I subscribe to what interests me) with portable audio players that continue to drop in price while features and capacity rise. With podcasting, I can get the audio content I want when it becomes available. No more reminders to check a web site. No more subscribing to email newsletters and then surfing to a download site. It just gets to where I want it, as soon as it's available.

For me, Rory Blyth describes it well when he says that it's just a way to syndicate binary content -- a description I completely agree with. And in that sense, I think the name "podcasting" does this "next step for content" a disservice because it focuses on audio. The enclosure tag that makes binary content possible could just as well contain pictures (piccasting? gifcasting?), video content (vidcasting? porncasting?), or chapters of an e-book (novelcasting? fictcasting?). In each case, I can think of an example that excites me more than "the audio blog":

PicCasting - There are some great photographers and amazing digital artists out there. I'd love to subscribe to a few "image feeds" that highlights their latest work on a regular basis. Even if your intent is to sell them, put up a feed with smaller images or subtle watermarks.

VidCasting - Please, Mr. Scoble, let me subscribe to a Channel 9 video-only feed. As the Channel 9 crew puts out a new video, my aggregator pulls down the WMV and jams it into a local directory. As prevalent as high-speed access is, sometimes the streaming video just isn't practical. Later: Woo hoo, looks like the feed on the Videos page does have <enclosure> tags!

BookCasting - Again, there are a lot of great writers out there who do some amazing short stories and/or in-depth technical articles. Turn your novel into a series of PDF chapters and let me subscribe... if it's good, I'll watch my aggregator anxiously for the next chapter.

Ok, so the "casting" suffix has run its course.

Finally... back at the top of this post I mentioned that the podcasting "phenomenon" interests me for two reasons and, no, I didn't forget the second reason -- it's the hype. It's the breathless regurgitation of how THIS is the next big thing! THIS is going to change the playing field! THIS is going to start a revolution! Ugh... just when the bubble-hangover was subsiding.

Here's where my interest really starts to wane. Scott Hanselman, prior to being called a Luddite, puts it well when he says "you can't speak as fast as I read." I think the blogs (or other content) that DO work well as audio are few and far-between.

Understand that I've been downloading .NET Rocks and listening during my commute since its infancy. That show works and I plan to listen to the new one as well -- for the content. I tried a couple of episodes of Adam Curry's "Daily Source Code" recently -- that show doesn't. As Greg Hughes said in this posta medium that talks about itself feels a lot like MLM (multi-level marketing). For whatever media reputation Adam Curry brings to the plate, the Daily Source Code comes across as a guy sitting in his basement talking to, and about, his own personal ecosystem. Well, except for when his wife walks in to tell him dinner's ready. Or the dog barks because it has to go out and piss. In between, we're treated to an echo chamber wherein the media's podcasting darling talks about... well, podcasting.

So yeah, I think podcasting syndicating binary content has a lot of value... for now, it's largely unrealized value.

posted on Sunday, October 24, 2004 3:17 PM Mountain Daylight Time  #    Comments [0]
# Tuesday, October 19, 2004

Ed Yourdon has an op-ed piece in SD Times that essentially tells IT professionals to cowboy up and stop the whining. Ask textile or auto workers from the 80s how effective politicians, unions, and trade organizations are in preventing globalization for commodity work.

I've said it before, but adding value is the only way to create job security -- go beyond being a "coding commodity". Be indispensable. Like it or not, plain old "gimme the specs and I'll code it" programmers are a dime-a-dozen.

Speaking of which, if you're up to it, we are hiring.

posted on Tuesday, October 19, 2004 5:19 AM Mountain Daylight Time  #    Comments [0]

With last week's announcement that Edit and Continue would be supported for C# in VS 2005, there was an initial cry of 'hallelujah' from many developer blogs. I've opted not to link to any for fear of having someone feel singled out, but in my aggregator this past weekend, I must have browsed past a couple dozen posts about how great this announcement was.

Now that a few days have passed, reality sets in and a few different voices have stepped up to suggest that E&C isn't a silver bullet for developers. It's interesting to watch the reactions play out in the blog posts, which usually go like this:

.NET VoR (Voice of Reason): Edit and Continue makes it to easy to screw things up and get sloppy with your development. You should be taking a reasoned approach to your debugging, use unit tests to confirm your approach, and not fix bugs based on a specific condition that exists at that particular runtime.

.NET E&CE (Edit & Continue Evangelist): Just because it's possible to screw up with E&C doesn't mean it should be pulled out! Would you also suggest that [insert analogy of tool mis-use here]?!

I guess what I find interesting about it is that the E&C evangelist types seem to think it's an all or nothing proposition. Unless I've missed it, none of the people arguing against E&C are suggesting that it should completely be removed from the product. Rather, they're suggesting that it should be used with great care because of the ability to fix bugs with small, one-off fixes in code instead of shutting down the debugger and fully thinking through the problem.

I recall Juval Lowy talking about this on .NET Rocks at some point last year (probably around the PDC when it was announced for VB.NET). His comment was along the lines of E&C being somewhat incompatible with the "C# personality". That personality, which often comes to C# via C++ or Java and tends to be component-focused, is different than the VB.NET personality, which comes from a more RAD place and tends to be more app-focused. As he put it, when the C# personality is faced with a bug, (paraphrasing) "they lean back in their chair, stare at the ceiling, go get some coffee, ponder a solution, and THEN they lean forward to hit F10 and move to the next line." :) For those people, E&C isn't as attractive as other features that focus more on code quality, profiling, performance, and so on.

Sure, it's great that you can fix things like a typo in a string literal or some other no-brainer quick fix. But bugs that involve an application's logic or workflow aren't the type of thing that should be fixed while sitting on a breakpoint at runtime.

It's also worth noting that the inclusion of E&C is a good example of Microsoft's newfound community awareness and desire to work closely with its developer customers. No question -- it shows responsiveness.

I guess the two thoughts that come to mind for me in all of this are:

  • E&C can be handy in some scenarios -- but it's not a panacea, it can be easily misused, and I think few would argue that its use is a "best practice" for professional developers. My hope is that the .NET developer community comes up with some collective guidelines or general agreement on where/how it makes sense to use or avoid E&C.
  • I also hope that many of the other things that are being worked on for the 2005 release aren't scaled back because of the work on E&C. Even Microsoft has limited resources and time when it comes to development. Sam Gentile's post about refactorings being missing is a good point -- let's hope that the inclusion of E&C doesn't come at the expense of refactorings or other features that do promote best practices.

 

posted on Tuesday, October 19, 2004 5:11 AM Mountain Daylight Time  #    Comments [0]
# Saturday, October 09, 2004
The MSDN Webcasts team is coming out with another big series of webcasts, this time focused on ASP.NET. My current gig is pretty much Winforms (with some web-services work), but we've got more ASP.NET coming down the pipe. The timing of this webcast series is great! Hopefully it's of the same high quality we've been seeing with the Winforms series.
posted on Saturday, October 09, 2004 12:58 PM Mountain Daylight Time  #    Comments [0]
Jeff Key, the guy who gave the world SnippetCompiler, just put up a cool looking NCover analysis tool. I've just started toying with NCover within the last few days and this looks like a slick way to make sense of the results. He also has a ton of other .NET related tools and sample code. Thanks, Jeff!
posted on Saturday, October 09, 2004 11:17 AM Mountain Daylight Time  #    Comments [0]

A couple times a month, I get a Plaxo email from someone asking me to fill in my current contact information -- usually from someone I worked with in the past and with whom I haven't really stayed in touch. Plaxo is a service that lets you manage your contacts (as well as calendar, tasks, etc) and tries to ensure that your contact details stay up to date. It also lets you sync your data, via Outlook, across multiple machines. I can see that the contact-updater might be helpful these days, with email address and phone numbers constantly changing.

So every once in a while, someone (usually a former colleague) who uses Plaxo wants to update my contact details. That's great and they obviously had to have reasonably current details so that Plaxo could even get the update-request sent to me.

Here's what I don't like -- when I get an email from their service, it's an HTML form that I have to submit... back to Plaxo. In filling out the form, I also have all sorts of opt-in, tell-me-more-about-your-service options for Plaxo.

Do I really need to be added to yet another marketing list somewhere, just so that a former colleague has my current contact details? Up to now, I've deleted them when I get them. If you want to reach me and have my contact details, use those contact details to do it. I'm not all that hard to find.

So... am I missing some key piece with Plaxo? Am I being overly paranoid about having to fill out an online form just so that someone who's contacted me before can contact me again?



Update:  Just a few hours after posting this (on a Satuday, no less), a comment was posted below by Stacy Martin, Plaxo's Privacy Officer. Her post does a good job (in my opinion, anyway) of explaining how the "contact updates" work and what happens with the information provided. If this post was of any interest, I recommend making sure you also read her comments.
posted on Saturday, October 09, 2004 9:16 AM Mountain Daylight Time  #    Comments [0]
# Monday, October 04, 2004

Eric Sink's blog has a new entry discussing the planned features for Vault 3.0. There are a few things on this list that I really like:

  • Email notifications
  • Improvements to DiffMerge
  • Integration with their "new bug-tracking product, Dragnet".

... I like how he slipped that last one in the list. Given how happy we've been with Vault at work, I'd love to get some details on "Dragnet". Nothing of substance has been mentioned in their support forums, so I guess we wait.

We're currently using the open-source BugTracker.NET, which isn't bad... but having true source-control/issue-tracking integration would rock.

posted on Monday, October 04, 2004 11:43 AM Mountain Daylight Time  #    Comments [0]

Search away! After doing a bunch of searching on CodeProject, I decided to see if there was a search plugin for Firefox that worked on that site. I couldn't find it, so I figured "how hard can it be?" and created my own. I'm not completely certain that it's as great as it could be, but for a first effort it seems to be working just fine.

To use it, download this file and then place the codeproject.* files into your "searchplugins" directory (under the Firefox program directory). Once you do, you should have "CodeProject" listed in your search engines, along with the little CodeProject mascot.

I'll submit it to the Mozilla project before long, but figured it can't hurt to get it out there and get some feedback. On this page, they mention that their turnaround time for making these available is sometimes a few weeks.

You can edit the .src file in a text editor to change the options used by CodeProject when you search. Let me know if you find any improvements or problems... enjoy!

posted on Monday, October 04, 2004 6:13 AM Mountain Daylight Time  #    Comments [0]