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]