# Wednesday, August 01, 2007

Via a post the other day from Lifehacker, I've been checking out a new site called XTimeline at http://www.xtimeline.com. The site allows you to create web-based timelines based on data you provide, using a couple of different file formats (CSV or RSS), or by entering events on the timeline by hand. The coolest option is to provide an RSS feed and it creates a timeline with points along the line for each item in your feed. Once you create an account and log in, you can create your own timelines, share them with others (or make them private), embed them into your own site, and so on.

xtimelinesample

The image above is based on the data from a Yahoo Pipes RSS feed I created a while back. It's a feed that pulls together items from this blog, my del.icio.us bookmarks, and other online accounts I have. It's not very interesting or voluminous, but it did highlight how easy it is to create a timeline. The only thing that wasn't immediately intuitive was that there was an extra steps to "add events from RSS", wherein it takes the published date for each item out of the feed.

In addition to creating timelines from RSS feeds, you can upload data in CSV format, browse through a ton of public timeliness others have created, identify favorite timelines, rate them, tag timelines with keywords, and so on. Some cool examples include a history of the internet, the history of video games, and a timeline of music in the United States (embedded as an iframe below).

Creating an account is free and requires only an email address. I don't see options around "premium" services, so aside from some subtle ads on the site, there doesn't appear to be an obvious monetization plan -- not that wikipedia has one either, right? Either way, it's a really cool site for data and infoporn geeks. They've also got a blog where the founders/developers update on site improvements and changes. In their initial announcement, they answer the "Why Timelines?" question:

Why make a site just for timelines?
Making a dynamic timeline widget isn't enough -- you need to have a place to create, store, and share them with other people.  We like to think of xtimeline as a cross between wikipedia and youtube.  Like all user-generated content sites, you can upload your own thoughts, media, and opinions.  Eventually, we think some timelines will become well-known enough to be online references.

I really dig seeing cool visualization tools like this, especially when (just like Swivel and Many Eyes before) they make it so easy to explore and create new views of data. Well done!

posted on Wednesday, August 01, 2007 3:57 PM Mountain Daylight Time  #    Comments [0]
# Sunday, July 29, 2007

Greg Reinacker (Founder/CTO of NewsGator, a local company) and Brad Feld (of the Foundry Group and a Boulder-based VS/startup blogger) both posted recently about their first computers.

For me, the "computer geek" bug bit pretty early. When I was 12 or so (early 80s), I had a friend whose father bought him a TRS-80 Color Computer. He'd have sleepovers at his house and we'd stay up very late hacking out "games" (loosely defined) that were of the Choose Your Own Adventure variety. They were completely text-based and offered multiple choices at each turn. We learned quickly to map out the story's flow on graph paper.

c64 It didn't take long to decide that I needed a computer of my own, so I started saving. Eventually, I got a paper route for the San Jose Mercury News and that helped me reach the savings goal pretty fast... I was pretty excited to purchase a Commodore 64 with my own money. My parents helped out by buying me the cassette tape drive (so I could [painfully and slowly] save my work) and a dot matrix printer. The following Christmas, my grandparents bought me the 300 baud modem for it (funny story: I learned years later that my grandparents argued over whether to get this because they'd just seen the film War Games). A year or so later, I bought the disk drive for it... which was both more expensive and physically larger than the computer itself!

I spent a whole lot of time hacking on that thing, including punching in program after program from "Compute Magazine". You'd punch things in by hand and try to run it later... but it was guaranteed not to run, so you'd have to go back through and try to find the typo.

wargames In high school, I got in trouble once in a History class and was given some "extra" homework -- I had to write "I will not cause a disruption in Mr. Whatever's class in the future" a hundred times. I asked the teacher if it would be alright if I typed it a hundred times because A) I had a lot of homework and B) I needed the practice typing. Not having any idea what he was agreeing to, he said it was alright.

I went home and wrote something like this:

10 FOR I = 1 TO 100 
20     PRINT "I will not cause a disruption in Mr. Whatever's class in the future." 
30 NEXT I 

Fire up the printer, run it, and I was done... I remember this because it was the first time I realized that I could make a computer work hard so I wouldn't have to. Thus, a career was born.

That computer was also my first experience with the online world. I had to borrow my parents credit card to make it happen, but I got my first Compuserve account with that C64. Between cruising forums and writing code to peek/poke sprites on screen, I spent hundreds of hours on that machines.

Later (shortly after high school), I got an IBM PC XT 8088 clone that had two 5.25" floppy drives in it. One was the system (the OS and whatever app you ran) and the other was for data (to save your documents or whatever). Later, my uncle hooked me up with a 10MB hard drive... it was a beast and sounded like a jet taking off. I still remember messing around with jumpers to get it all working.

cakewalkdos That 8088, with an amberchrome monitor, was the computer with which I first combined my other hobby -- music. I bought a serial port MIDI adapter and the original release of Cakewalk for DOS. Connecting a synthesizer to a computer opened up an amazing new world to me. I've been a Cakewalk (now SONAR) user ever since, despite dabbling with other products. It just "feels right" to me.

From there, it's been a series of 286, 386, and so on... I've never owned an Apple computer (though the MacBook Pro is sure tempting these days) and have been a PC junkie for over 20 years now.

posted on Sunday, July 29, 2007 2:36 PM Mountain Daylight Time  #    Comments [2]
# Saturday, July 28, 2007

bsodjoke

If getting a tattoo of a product logo (MS Zune, in this case) isn't "out there" enough, how about getting an operating system error message tattooed all the way up your arm (Windows Blue Screen of Death)??

I wonder how you explain those to your grandkids in a few decades...

Technorati tags: , , ,

posted on Saturday, July 28, 2007 11:52 PM Mountain Daylight Time  #    Comments [0]

recycle A chain of blog posts came through my reader this week that discussed the value, or lack thereof, in "code reuse" for most development teams. First, some background...

It looks like the original article was "Internal Code Reuse Considered Dangerous" by Dennis Forbes (great blog, btw). That article was then referenced by Carl G Lewis (cysquatch), who largely agrees with the sentiment in his "Is Your Code Worthless" post. Finally, Scott Reynolds referenced Carl's blog post in a follow-up the other day, wherein Scott suggests that "Code Reuse Is Not the Villain".

Still with me? Good.

As I worked my way back in time (Dennis' original post is from 2005), it occurred to me that this line of trackbacks is a bit like the "telephone game" that we played as kids. As each person responded to the previous person, the meaning of the story changed in subtle (but important) ways.

In deciphering this, I hope it goes without saying that "code reuse" as a practice is a worthwhile goal to keep in mind. It's not always achievable, nor even desirable, but certainly it's something that good developers keep in mind as they work.

That said, Dennis begins by arguing against the management notion that code reuse saves money by "codifying the abilities of the team" -- thereby making the team easier to replace or downsize. Ouch.

Code in the library is considered an asset, and managers and owners like the idea that, while developing product A, as a side effect they're accumulating this great repository of generalized code which they'll be able to use for a completely different product - let's call it product B. Soon the domain knowledge of their developers won't matter (and thus they'll be expendable), because everything is encapsulated in common code: They've codified the abilities of their team.

I'm not sure how any worthwhile manager could get from Point A (the practice of "accumulating [a] great repository") to that particular Point B (where the "domain knowledge of their developers won't matter"). And in fact, Dennis' rebuttal to this point is that the opposite happens -- the more you grow internal frameworks and libraries, the more you depend on your developers. New developers, regardless of previous experience, have a substantial learning curve in front of them with any of your internal code.

And in that, I completely agree. Where I got lost in Dennis' argument was in the next portion where he appears to argue that code has no value beyond the developers writing it and the project they're writing it for. [emphasis mine]

The question every organization needs to ask itself, then, is what value they could sell their "reusable code" for - what, realistically, would competitors and new entrants in the field offer for it? The answer, in almost every case, is $0, and they wouldn't want it even at that price. There is extraordinarily little code theft in this industry (even though we're in the era of burnable DVDs and USB keys) because most code - above and beyond the industry-wide frameworks and libraries - has no value at all outside of a specific project with a specific group of developers. Trying to use it for other projects is often worse than starting with nothing at all.

This is the part that loses me completely, for two reasons:

  1. It assumes that the value of reusable code is measured by what an external entity would pay for it. I'd argue that it should be measured by its value to the company that owns it. Not just in that it saves time for the team that wrote it... but that it reduces bugs by ensuring that a bug fixed in one location is fixed for all locations. A user interface metaphor or workflow used in one place is used in multiple places. Blah, blah, blah, the usual examples... Reusing code in the correct way increases the value of a product in the eyes of customers and prospects and this has very direct value for the company's bottom line.
  2. That argument also ignores technology acquisitions. The value of Visio's code when Microsoft bought Shapeware was something (much) greater than $0. It's not as if Microsoft needed the customer base or the market share. Similarly when Google purchased Writely or when Yahoo bought del.icio.us. In each case, the acquisition was a technology purchase -- the acquirer was infinitely larger than the company being bought and wasn't already in competition with them. The purchase wasn't just for the customer list.

I actually think Dennis' point is best made in a bullet point later in the post. And the point is that code reuse merely for the purpose of code reuse is a waste of time and money. [original emphasis]

Internal code reuse for niche industries and domain specific problems can be very valuable, but code for generalized, industry-wide problems are seldom valuable unless you're truly developing it for industry-wide consumption (e.g. the .NET Framework is tremendously valuable code reuse). I have seen too many examples of large internal libraries that are largely duplications of vastly superior functionality existing in the .NET Framework or C++ Standard Template Library, or which could be better served by available professional or open source libraries. If your problem isn't domain or niche specific, but rather is industry wide, it is extremely likely that either a library encompassing it exists, or that it isn't a problem that is worthwhile generalizing

And here's where I'd agree... I, too, have seen many examples where companies simply reinvent the wheel in the name of "reuse". Hey, if it's ours then we can change it, fix it, and reuse it -- right? It's really a buy-versus-build debate. If your team is writing things like data access layers, UI controls, or validation tools in the name of "reuse", then you may as well go out to your parking lot and just light some cash on fire. At least it'd be quicker and you'll get the momentary heat and entertainment.

The above quote is what Carl's response (from last month) is based on... and while the post's title ("Is Your Code Worthless?") is plenty controversial, his purpose was really more to tell a story -- and a funny one at that. It's the story of a client company who felt that their internal code was so proprietary and so valuable that they couldn't possibly let a contractor look at it offsite. Instead, they had Carl travel 8000km to work on it at their location -- only to discover that the code was a complete disaster. What a great line...

I sat down and fired up Vim to start looking at their code and was INSTANTANEOUSLY BLINDED by the reeking bile that was pouring across my monitor.

Hilarious.

Lastly, it's worthwhile, I think, to differentiate between the development of internal business applications and developing commercial products. If you're building internal applications (e.g., payroll, HR, accounting types of systems), then managing reuse across multiple applications is probably not as important. There's still value in reuse for you, but your company doesn't lose customers if the display grid in Application A is different from the display grid in Application B. The tolerance for error is higher. With commercial products, though, it's a different story. It would be silly for the Word, Excel, and Powerpoint teams to all go create their own base UI libraries or text-formatting behavior. And the consequences of a mistake are greater and more easily measured.

I guess the point is to not get carried away with a "reuse is worthless" meme and suggest turning away from it altogether. In 16 years, I've worked on several product lines that made extensive use of shared/common libraries, to great effect and to great value for the company. Bottom line - the key is to pay attention to where building your own libraries for reuse makes sense and where you should simply reuse existing, proven libraries.

In either case, recycle the good stuff... future generations thank you. ;)

posted on Saturday, July 28, 2007 10:24 PM Mountain Daylight Time  #    Comments [0]

I've subscribed to Frans Bouma's blog for quite some time. He wrote a post earlier this week that echoed a meme floating around various development blogs and, at the end, he "tagged" anyone who was reading the post.

Let me just pass on the torch to every dear reader of this blog. So if you read this item, you are up next.

Not having been "tagged" before (it doesn't happen much when you have two readers -- and they're both just different browsers on your own machine ;-) ), I started to give it some thought.

What are the things in my life that I've just "gotta have"? The must-have gadgets and tools that I wouldn't want to do without.

I should make two very important distinctions... first is that the most important thing I have in my life is obviously my family, but they're not "things". The stuff below is a list of simple, material possessions. Secondly, let's ignore for the moment that all any of us really needs is sustenance, shelter, and safety. The point of the meme is simply to point out the gadgets, tools, or prized possessions you enjoy... so here's what I came up with.

Gadgets and Toys

Xbox 360 - While it was originally just mine, it's become something the whole family uses now. From the media center capabilities to family-friendly games on Xbox Live Arcade, there's plenty here for the non-hardcore gamer.

Nikon D70 - I wish I were better at taking photographs than I am... I do alright, but I try to avoid the Auto modes and my best pictures usually still require some trial-and-error.

Roland V-Drums - Rupturing my Achilles earlier this year was a big setback in my drumming. I'm able to do it for short periods now and it's very relaxing to put  my iPod on the 'Drums' playlist and work up a sweat.

Tivo - Once you've time-shifted television, there's no going back. And don't tell me about your Comcast or Dish Network DVR... it's not the same.

iPod - It's not my first MP3 player, but it's by far the best I've had. I just wish iTunes weren't such a P.O.S. under Windows. Mine is a 60gb iPod Photo... but I wouldn't mind moving to an 80gb 5G iPod at some point.

Software Tools

CodeRush and Refactor Pro - These tools are like crack for me. I get twitchy if I have to use a machine that doesn't have them installed. I think my team is tired of hearing me preach about how much I love using these.

SlickRun - Probably the first thing I install after Windows... there are so many ways of using it and many of the shortcuts I've defined are etched into my muscle memory.

FeedDemon - Sure, Google Reader's good... but for my money, you can't beat a well-written, fast desktop application. Plus, with the automatic syncing to NewsGator Online, I get the best of both worlds.

Reflector - I can't imagine any .NET developer not installing this on their machine right away.

SnagIt - I generate a LOT of screenshots. From graphics for our dev wiki to quick examples I attach to email messages, a picture is usually the quickest way to get a point across.

I think that's it... I could come up with a lot more (and may do a list like this one at some point -- if only as a Google-indexed reminder of the things to install), but this my current Top Ten.

(Sorry, Frans, that LLBLGen Pro isn't on that tools list yet. I've been meaning to try it out, honest! ;-)

posted on Saturday, July 28, 2007 7:54 PM Mountain Daylight Time  #    Comments [0]
# Monday, July 23, 2007

Every developer, or at least those who really love what they do, has a few side projects to work on. They're the palate-cleansers you turn to when you want to sink your coding teeth into a different problem for a while... they're your sorbet projects. 

itunesexportsolution Well, one of the side projects I've worked on this year has been iTunesExport - a .NET app that can export playlists from your iTunes library. It exports them in a variety of formats (M3U, EXT, WPL), can copy tracks to a new location, and has both GUI and command-line interfaces. I got involved earlier this year when I wanted to export playlists in a file format that it didn't yet support. I contacted Eric Daugherty, who owns and hosts the project's site, and jumped in to add the additional export type. Since then, I've added additional features and tweaks and it's been a pretty fun project to work on.

Yesterday, productivity blog LifeHacker did (another) post on it with some examples for using it. It was a cool surprise as LifeHacker is one of the feeds I subscribe to, so I came across their post randomly in my feed reading.

I added a comment to that post, but since it was my first comment to LifeHacker my registration is sitting in an approval queue somewhere and the comment's not yet visible. The other comments on that post had a number of questions about iTunesExport and I wanted to answer those and/or clarify what the tool does.

First, iTunesExport does NOT modify your tracks in any way, shape, or form. It won't convert to or from any file format and it won't strip DRM from purchased tracks. The only time it does anything with actual song bits is when you choose to copy tracks to a new location for your exported playlist(s)... and in that case, it's just doing a straight, bit-for-bit file copy.

Second, the purpose of iTunesExport is simply to let you export playlists OUT of iTunes and into a file format that can be read by another player (WinAmp, Windows Media Player, etc). In my case, I use it to make my iTunes Smart Playlists available through the Tivo Home Media interface on our television. With this in mind, we're very careful to NOT modify the iTunes library XML file. We're simply reading the playlists/songs out of it and then writing another file in the format you want. So the exporter doesn't do anything to play count, last played, or any other data in the iTunes library.

Finally, Eric and I are always interested in hearing suggestions and feedback for the app. Some of the recent changes/fixes, especially around internationalization and Unicode,  have come via testing and feedback from others.  Those are always the things that are most fun to work on because you know someone can use it right away. So while I've got a few ideas for things I'd like to add (including saving/restoring your settings, improved documentation, and some better reporting/feedback on what was exported), we'd love to hear other ideas for things the tool might do... so please send those along via the project's site or through SourceForge.

posted on Monday, July 23, 2007 12:41 AM Mountain Daylight Time  #    Comments [0]
# Sunday, July 22, 2007

I'm not much into the Harry Potter phenomenon, but I am in the middle of trying to learn WPF (Windows Presentation Foundation). I'm currently tackling WPF via Adam Nathan's "WPF Unleashed" book and plan to read the Petzold WPF book next (followed, perhaps, by the Sells/Griffiths book). WPF is conceptually very different from Winforms or other UI technologies that I've used, which makes the learning curve steeper than would be normal for "just another platform update". Anyway, you may be wondering what Harry Potter has to do with WPF...

blackfamilytree Well, a month or two ago, the folks at Vertigo Software released a WPF reference sample application called Family.Show. The application is a genealogy tool that let's you manage a family tree, along with information and photos about the people in the tree. It's since been updated with more features and it's simply a great-looking application. If, like me, you're trying to learn WPF then the coolest part of Family.Show is that they've made the source available for download. Sweet.

Earlier today, Liam Molloy (of Vertigo) published a post about a family tree he created for the "Black family" from the Harry Potter series. Using Wikipedia, Liam was able to piece together a fairly large family tree for Sirius Black, including photos (of the actors/actresses from the films) and the background stories for many of the characters.

You can download Liam's data files for this family tree, load them up on your machine, and go to town with the info-browsing. Note Liam's warning at the bottom of his post -- while he made an effort to remove any spoilers for the just-released book, he says it's possible that there's still one or two in there. Not having read any of the books, I wouldn't know either way... I just think this was a very cool thing to do from a data visualization perspective.

So... whether you're into WPF or Harry Potter (or both?), you've got a reason to go check it out.

(Side Note: The only drawback I've found with the app Vertigo built for Microsoft is that the background whitepaper for it was published in the XPS file format... and even though I've got Office 2007 installed, I still had to download a separate "essentials pack" to view it. What's wrong with a simple PDF?)

posted on Sunday, July 22, 2007 10:55 PM Mountain Daylight Time  #    Comments [0]
# Friday, July 20, 2007

One of the side-effects of having surgery earlier this week is that I've had time on my hands to get some reading done. I can't lift anything heavy yet and I'm having to take some pain meds... so my options are pretty much limited to reading, watching television, playing some Xbox, and using the computer. Even that last one can be dicey as I don't want to be anywhere near important code while taking these prescriptions. 

managinghumanscover On the reading front, I started reading "Managing Humans" by Michael Lopp (also known via his nom de blog, Rands) the other day and am nearly done with it now. The subtitle of the book is "Biting and Humorous Tales of a Software Engineering Manager", which I think provides a good idea of the book's overall "vibe".

I know I've mentioned his site, Rands in Repose, a few times in previous posts and it's one of the top feeds in my subscriptions. He writes from plenty of real-world experience on managing developers, development projects, and most importantly, managing organizations on behalf of those developers and development projects.

His is one of those sites that you go to as soon as you see a new post has arrived. The writing and insights are just that good... so when I learned he was publishing a book, I knew that it'd be a must-read.

A lot of the material in the book comes from his blog, though it's been re-worked to some degree to flow better in book form. The humor, edginess, and "bite," however, all remain intact. This is NOT your typical management advice book -- it's focused squarely at people who manage development teams that are building software products.

The book is broken into three sections --

  • The Management Quiver, where each chapter discusses tools (or "arrows in your quiver") for surviving the manager-employee relationship (from either direction). Detecting agendas, handling someone in the middle of a freak-out, and saying "no".
  • The Process is the Product, where processes and approaches for getting a product out are discussed. Status reports to monitor progress, capturing the context for work being done, and the all-important version 1.0.
  • Versions of You, which contains chapters that discuss the various personality types that are common in a software team. The Organics, the Incrementalists, and the Free Electrons. If you've been a developer (or managed developers) for any period of time, you can't read through these chapters without laughing out loud at the way he describes these familiar personalities.

The chapter on saying "no" is particularly hilarious, as it describes the process by which a manager becomes a manager -- essentially, pixies arrive and provide you with an elegant top hat that has the words "I'm The Boss" emblazoned on the front. Of course, the key thing that you don't immediately recognize as a new manager is that the back of the hat reads, "For Now." And so begins the lesson about a manager NOT being infallible and truly needing a team to push back for the improvement of the process/product/company. Team members forget the "For Now" part and let the title and position of "The Boss" get in the way of fighting for good ideas.

Saying no forces an idea to defend itself with facts. It forces a manager under the influence of his top hat to stop and think. Yes, I know that top hat can be intimidating, and yeah, I know he's the guy who signs the checks, but each time you allow your manager to charge forward with unchecked blind enthusiasm, you only reinforce his perception that he's never wrong. That's a ticket straight to Crazy Town.

As the subtitle suggests, the book is aimed squarely at software engineering managers. But one of the things I really like about his style is the dual angles for the advice he provides. While he's suggesting an approach for handling a problematic situation with your manager (the President, CEO, CTO, whatever), he's also providing advice on how to not be that problematic manager as you manage your own team.

The book does so well with this multi-angle approach, that I'd also recommend it for people other than engineering managers, including developers of all levels and non-technical folks who regularly work with a development team.

posted on Friday, July 20, 2007 10:21 PM Mountain Daylight Time  #    Comments [0]

One of the cool features of FeedDemon, the news reader I use, is called "News Bins" -- it's essentially a place you can drag and drop items that come through your feeds to save or organize them for later. I used to use them essentially as "bookmark folders" for items I wanted to come back to.

In the latest version, News Bins can now be sync'd with NewsGator Online in the same was as all the rest of my feeds and folders can be. Even cooler, Nick Bradbury (the primary FeedDemon developer) set it up to create an RSS feed for any synchronized News Bin. So anything I drop in there is exposed via a syndicated feed to anyone who's interested in seeing the things I've come across.

With that, I've created a "Link Blog" and the feed for it is in the navigation items on the left. Right now, I've created only one and will use it for development-related items, plus the occasional 'general tech' tidbit.

I can see how this feature would be useful in a few ways, though... creating a link blog for "family", another one for "work", and so on. FeedDemon has keyboard shortcuts for dropping items into the feed easily so I can quickly share items that people in my family or at the office might find interesting.

Nick has a post from just after the 2.5 release that also discusses this feature and there's also a screencast with a walkthrough.

Technorati tags: , ,
posted on Friday, July 20, 2007 9:30 PM Mountain Daylight Time  #    Comments [0]

business2sos Here's today's blogosphere bummer... word is that print magazine Business 2.0 is on its last legs and could be publishing their last issue later this summer.

I've been a subscriber for just a couple of years, but in that time it made the cut when I did a serious "print subscription purge" a while back. It filled the gap nicely between two other magazines I subscribe to - Wired (for tech coverage with little "business" angle) and Business Week (for the decidedly non-tech business-y stuff). The closest thing I've found to Business 2.0 has been "Inc" magazine, which doesn't have as strong a tech angle and isn't usually one I read from cover to cover.

Most telling, it's one of the few magazines I've had where people who see it on my desk want to read the issue when I'm done with it... guess I should have told them to buy their own.

It sounds like Business 2.0 has actually been on the upswing (no small feat for a print magazine in these "content wants to be online... oh, and free to access" days), but its publishers (those AOL-acquiring, 3.2-billion-wasting, internet-music-hosing geniuses at Time Warner) decided that B2.0's new numbers may be coming at the expense of Fortune. Can't have that, so the smaller tech rag gets the thumbscrews.

The coverage today doesn't make it clear whether this deal is 100% done and there was an effort to get a "show your support" FaceBook group going. If it is a done deal, I guess I'll have to look at the silver lining here -- a shorter to-read stack on my nightstand.

posted on Friday, July 20, 2007 3:07 PM Mountain Daylight Time  #    Comments [0]
# Thursday, July 19, 2007

After posting over the weekend about my recent Dell woes, I received a comment from "John @ Dell" who works in their Customer Advocate group. John looked up the system I'm having issues with and agreed that it's overdue to be replaced.

After confirming the service tag and my shipping information, he commented again to let me know that an exchange machine is on its way. That's GREAT news... I look forward to posting again once it arrives and I can confirm that all's well and I'm back on track.

I gotta hand it to Dell... between the Customer Advocate program and the Direct2Dell blog program, they look to be pretty serious about being proactive with customer issues that arise. It's a bummer that it took blogging about it publicly before it was dealt with, and I'd have liked to have seen more responsiveness using the "traditional" support channel... but the end result is what's most important to me in this case as the machine's pretty much unusable as it is. Thanks again, John, for picking up on the post and taking some steps to get this resolved.

 

PS... ironically, I finally got a response to an email I'd sent in middle of last week wherein I wondered about the replacement panel that didn't appear to have been shipped. The response was a very short and generic message, stating simply that it "looks like the part should ship on 7/20".

Technorati tags: , ,
posted on Thursday, July 19, 2007 11:26 PM Mountain Daylight Time  #    Comments [0]

The last DasBlog release under ASP.NET 1.1 went out a couple of weeks ago, so I decided to give that a run. It all seemed to go well when running it locally, which was a good sign... and seems to be the standard for the last few updates I've done. Once I have it running locally, it's just a few config changes to get it going on the server. This one was just slightly different because there were some script files moved around and I initially had it running under ASP.NET 2 on my local machine. In any case, the site's using it now and no hassles.

I've been lurking on the DasBlog developer mailing list for a couple months now and there's a good deal of activity. Currently, the project's dev team is working on the initial ASP.NET 2.0 release, including support for Medium Trust. As I mentioned previously, there's also a theme contest going which should yield some cool new looks for folks to use.

I keep meaning to check out some of the "open source template" sites out there, but then I get sidetracked with other things... with this update, I'm settling for a few new navigation links and an updated blogroll.

Technorati tags: , ,
posted on Thursday, July 19, 2007 11:06 PM Mountain Daylight Time  #    Comments [0]
# Sunday, July 15, 2007

I've been a Dell guy for the last ten years. Over that time, I've had just one non-Dell machine and that's because it was purchased for me prior to starting a new job and the company was then standardized on IBM machines. That machine was a Thinkpad T series and it wasn't too bad a machine.

Otherwise, machines for home and business have been Dell boxes (one every couple of years at home and who knows how many business machines) and I've always suggested to friends and family that they go with Dell also. You get a machine that's ready to go out of the box and their prices usually compare well with other options-- assuming you don't want to go the build-your-own route. When it comes to my personal machine, I prefer a laptop so the DIY thing isn't really an option.

That allegiance is beginning to wane. About a year ago, I bought an Inspiron E1705 for my home/personal machine and it is pretty much loaded (at to the extent that an Inspiron configuration could be). Lots of RAM, fast disk, 1920x1200 17" display, DVD burner, NVidia graphics, and so on. Not a lower-end machine and not inexpensive either. It ran fine for the first few months but then the issues began.

It started at the end of last year when I noticed that it was running really hot. Areas on the bottom were nearly too hot to touch. Then early this year, it started randomly giving me the BSOD with a general hardware failure.

I had next-day warranty coverage, so I gave them a call... they decided it was the CPU burning out and sent another one out. This is when I learned that Dell's "next day" service really isn't "next day". What they mean is that they'll ship the part(s) out to some local contractor in your area and then the contractor should be out to fix it the "next day" after they get the part. So it's more like 3 days... whatever, I could get by with that and the CPU was replaced.

So far so good for a couple months... but then suddenly the screen would go black (as if the display shut off) when the machine was on AC power. On battery, it was fine. The machine was continuing to run and I could use Remote Desktop from another box to get into it even when it was on AC power. So another phone call... this time, they said they'd ship out a new "main system board". Three days later, a tech's out to replace it - but the problem isn't fixed.

So he calls Dell that day and they ship a new LCD panel out... another week goes by and then the screen gets replaced. Seems OK for a few days, but then...

laptopdarknessthumb The left edge of the screen begins to fade (see image to the left)... it's gotten more pronounced since that picture was taken, to the point that the fading now comes all the way into the middle of the screen. It also seems to get darker the longer the machine is on and, after 30 minutes or so, the left half of the screen is unusable. Another phone call... this time, they'll replace the LCD panel and the NVidia adapter ("just in case," says the tech).

All of this was frustrating, but now it's worse... because there's been no progress. After a few days, I don't hear from anyone. So I call to see what's up and am told the part is on backorder for a day or two and I'll get an email with a tracking number once it ships. Nothing for a couple days... so I email the tech, who emails a tracking number back to me and says the part(s) are on their way. However, Fedex doesn't recognize that number at all.

I emailed the tech again last week, along with the tech supervisor for the incident and the Dell Customer Advocate email alias... still no response.

I've got surgery scheduled for this week, but my wife will end up having to call them and nag again about getting this fixed.

I also have to wonder -- at what point does Dell declare this thing a lemon and replace it? This will be the FOURTH time in a few months that a tech has had to come out to replace parts on this machine. All these support calls, replacement parts, shipping, and paying contractors to come to the house -- that's gotta add up. I've got nearly the same machine at the office for business use, as do several of my colleagues,  and nobody has had any problems. Clearly this box has some problems.

In any case, their handling of this support problem may just be what changes me over to Lenovo... or HP. Or Toshiba. It's kinda ridiculous to think that, over the last few months,  my machine has been out of commission for weeks.

posted on Sunday, July 15, 2007 3:18 PM Mountain Daylight Time  #    Comments [4]
# Wednesday, July 11, 2007

usestairwell Christopher Hawkins has a post from last Friday wherein he describes his "dream" software projects. The funny thing is that he refers to them as "silly", but they seem like pretty real and useful projects to me. The film production system, in particular, sounds like a fun project to work on.

While I wouldn't say that mine are quite "dream" projects, there are a couple of systems I've always thought would be a lot of fun to work on.

Poker Machines for Casinos -- Partially because I enjoy playing some poker myself and partly because I think there would be some interesting problems to solve. There have been a number of products announced that bring the "automated" world of online poker into casinos, bars, or other hangouts.

Note that this is NOT video poker of the "Jacks or better" variety. In some cases, the game is still "regular" poker, but everyone around the table plays the hand via a touchscreen and there's no dealer. In other cases, it might be a small table where two people can play heads-up while they wait for a seat at a regular table or while hanging out at a bar and watching a game. There are enough differences between these "electronic tables" and regular online poker software to make it pretty interesting.

Elevator Control Systems (for high-rises) -- This is the one that usually gets a laugh when I tell people about it. But if you imagine a tall building with multiple tenant types (retail, offices, or residential apartments, etc), then there are some intriguing things to consider. How do you optimize the flow and availability of a car at any given time? If an car's at rest, do you send it to a certain floor to wait for a call? During the morning, you have one type of flow (from the ground floors up to the offices) and in the late afternoon it's the opposite. What about lunch hours? How do you handle things like redundancy or failover if a car has to be taken out of service for repair? What can you provide facilities and security with in the way of monitoring and management?

Both of these seem interesting to me as intellectual projects... but I think what intrigues me is that they both offer a lot of opportunity for data visualization and some infoporn. In both cases, you can imagine administrative/monitoring interfaces that provide all sorts of interesting views of data (historic poker hands) and state (elevator state).

I'm interested in reading what sort of "dream" projects others write about.

  Technorati: , , ,
posted on Wednesday, July 11, 2007 11:07 PM Mountain Daylight Time  #    Comments [0]
# Sunday, July 08, 2007

Ben Scheirman is running a themes design contest to get some new looks in the themes list for DasBlog. To encourage designers to submit their original designs, he and Scott Hanselman are putting up a $100 gift certificate for Amazon.com.

While I "know what I like" when it comes to design, I've got virtually no talent for creating a web theme from scratch... This could be a good opportunity for someone with talent, though, and a hundred bucks at Amazon.com? As I've said since we signed for Amazon Prime, "If I can't get it at Amazon using Prime, it's probably not worth buying..."

Speaking of DasBlog, the last ASP.NET 1.1 update went up a couple weeks ago. I'm running it on my local machine and it seems to be fine... so I'll update the server soon. On the other hand, an ASP.NET 2.0 version that supports Medium Trust is in the works. Maybe it's worth waiting... either way, I'm stoked to see all the renewed activity on the dev mailing list (where I've just lurked for a few months now).

  Technorati: , , ,
posted on Sunday, July 08, 2007 10:50 PM Mountain Daylight Time  #    Comments [0]