Tuesday, May 01, 2007

I'm testing the latest FeedDemon 2.5 beta build and ran across a problem where an empty <STRONG> block in the middle of a post caused the Newspaper view to get out of whack. This post will have a similar empty block, so I'm hoping that the issue (which is described here) will re-appear.

posted on Tuesday, May 01, 2007 11:24 PM Mountain Daylight Time  #    Comments [0]
 Sunday, April 29, 2007

This post from Phil Haack points to Charles Petzold's concern that "prose is dead" in technical books. The concern was based on Jeff Atwood's comparison of two different WPF development books. Wow, how's that for name dropping? Three names in two sentences. I ought to point out that I have a great deal of respect for Charles, Jeff, and Phil and all three write blogs that are in my must-read list.

As shown in Jeff's comparison, one book (Petzold's) has large blocks of uninterrupted text and appears to be entirely monochrome, while the other book (by Adam Nathan) has smaller blocks of text and makes liberal use of color and visuals.

I agree with Phil's commentary about "visual learning," and his pointer to the excellent "Head First" books is spot-on, but I actually think there's an even more important thing to consider here. That's the subject matter... in this case, the topic of both books is the new Windows Presentation Foundation API that's a part of the .NET 3.0 release. I find Petzold's statements that "Powerpoint has won" and the "battle for the future of written communication is over" to be a bit unfair. It implies that readers are looking for visuals alone or that well-written communication is no longer important.

Anyone who has seen a WPF sample application knows that this is not the same ol' Win32 GUI toolset. In the hands of a talented designer, it's shiny. It's pretty. It glows. It makes you want to look at it... is it unreasonable to prefer a book that conveys the same feeling?

It's also worth noting that the bar for information presentation has been raised over the past few years. As computer users become more familiar with different types of data visualization, and as flashy UIs like Vista's Aero take hold, expectations for UI are higher. Even in a typical "line of business" application, it may not be enough any more to use the same old Windows UI toolkit. You could certainly argue that it's possible to build an efficient, intuitive, and fast application using the same Windows UI tools we've used for nearly 15 years. No question. But few applications compete only in their specific market or product area. Most are competing for attention with other applications on the user's machine. Or with a massive web designed, in many cases, by some very talented designers. If you want customers to enjoy using your application, as opposed to feeling like it's drudgery, spending some time (and money) on its appearance and visualization is critical.

Now replace "using your application" with "reading your book". 

I've not read either book yet (though I plan to do so shortly, thanks to the O'Reilly Safari Library subscription -- highly recommended), but I don't think it's unreasonable that Jeff (or anyone else) prefers the book that has more visuals. A book whose purpose is to introduce a "Presentation" framework probably ought to have the presentation of its content made a higher priority than would a book discussing some "under the hood" technology (say, the Windows Communication Foundation, or WCF). In a book that covers UI controls, gradients, and different layout options, I'd probably like to see... UI controls, gradients, and different layout options.

That's NOT to say that the communication of ideas and information aren't the highest priority. No amount of visual flash will makes up for poorly-written, poorly-edited, or poorly-communicated content (and that's the true evil of Powerpoint). And few are as well-regarded as Petzold when it comes to communicating difficult technical content in a way that's easy to understand and put into practice. An entire generation of Windows programmers, including myself, was "raised" on his Programming Windows titles. I'm certain that I'll find his book well-written and that it'll provide useful information on WPF.

But it's not hard to see why some would prefer a book that presents a presentation framework in a presentable way... is it?

posted on Sunday, April 29, 2007 10:47 PM Mountain Daylight Time  #    Comments [0]
 Monday, April 23, 2007

Last night, I mentioned that I was mostly happy with the Vista upgrade. One thing, however, that is standing out for me as a major annoyance is its insistence on treating ZIP files as folders in Window Explorer.

In the left pane where folders appear, ZIP files are treated as if they were subfolders of the folder in which they appear. I can see why some people might prefer this behavior -- you can, after all, just click on the ZIP file as if it were a folder and the right pane will display the files within the ZIP archive.

The problem for me is that I have some folders that contain a hundred or more ZIP files. When I navigate to those folders in Explorer, the folders pane on the left suddenly becomes very long and unwieldy. When there are just a few ZIP files in a folder (as in the screenshot above), then it's not a problem... but when the entire folder pane gets taken over by ZIP files, it sucks. Navigation becomes very inefficient.

Under XP, this could be taken care of by unregistering a DLL at the command line:

regsvr32 /u zipfldr.dll

Under Vista, you'll get barked at if you try this:

The module "zipfldr.dll" was loaded but the entry-point DllUnregisterServer was not found. Make sure that "zipfldr.dll" is a valid DLL or OCX file and then try again.

I've Googled around quite a bit and perused the Vista-related newsgroups, but have yet to come across an answer... though there appears to be no shortage of people asking the same question. I've got both WinRAR and WinZIP 11 on the machine (yes, both are licensed and paid for) and associating either of those with ZIP files doesn't make the view-as-folders thing go away. It just changes which app opens them when you double-click a ZIP and which icon is used to identify them (WinZIP in the above screenshot.

Note: It does seem that there are lots of people who have broken Vista's built-in handling of ZIP files and need to get those files re-associated with the Vista handler. This appears to be resolved by opening a command window as an administrator and running this command:

assoc .zip=CompressedFolder

Any advice on getting this resolved?

  Technorati: , ,

posted on Monday, April 23, 2007 10:24 PM Mountain Daylight Time  #    Comments [0]
 Sunday, April 22, 2007

I've been meaning to re-pave my home machine for a couple of months now. It had a ton of stuff installed, uninstalled, updated, and so on... plus, as I mentioned previously, I'd been toying with the idea of pushing it up to Vista Ultimate. Well, after getting those hardware problems taken care of, I went for it.

It's actually been a pretty smooth process, though it seems like a re-pave takes longer each time I do it. And it's not just getting all those apps installed... it's also all the little settings, utilities, checkboxes, and customizations. It really does take a while to get a new rebuild to feel "comfortable".

One thing I've done for the last few years that does make this process a LOT easier is to organize my hard drives into multiple partitions. I've typically done this with Partition Magic, though there are are other alternatives that seem to get high praise. I keep all the stuff that I don't want lost in a rebuild on that second partition (seen as a D: drive). Under WinXP, I'd move the "My Documents" location with TweakUI (Vista has this capability built-in), I make sure to put SQL Server's data location over there, and obviously any development projects. It makes it a lot easier knowing that C: can be wiped clean and rebuilt without losing the stuff I care about.

I just wish there was a way to also back up all those little settings and customizations that get made over time (e.g., my preferred layout/view for file Explorer, various registry hacks, and customized views in Outlook).

Anyway, I had this drive partitioned already from the initial XP setup... so moving to Vista was pretty easy. I'd actually like to make my C: partition a little larger (D: has lots of free space) and I was excited to learn that Vista has partition resizing/moving built-in. It's under the Computer Management MMC plugin through Control Panel->Admin Tools. It turns out, though, that Vista doesn't let you extend a bootable partition (e.g., my C: drive) -- only shrink it. I'm sure there's legacy some reason for this, but given that it's a basic capability in 3rd party tools like Partition Magic and others, it seems silly that Vista won't let me. To make matters worse, I hear stories of people using Partition Magic to create NTFS partitions and then Vista can't read them. Not cool... but space isn't that big an issue, so I'm looking at those other options.

All in all, the process went smoothly and nearly all of my hardware had drivers installed automatically. The one exception was the built-in SD card reader on this laptop. The cool thing, though, was that Vista saw the problem and notified me of a solution -- updated drivers were available through Dell's site. Everything else installed and has been working well and performance is great -- the machine definitely feels snappier than it did under WinXP.

As a reference for the scores above, the machine is a dual core Inspiron (T2500 processor at 2GHz) with 2GB of RAM, NVIDIA GeForce Go 7800 (using Microsoft's WDDM driver at 1920x1200), and a 7200rpm Seagate Momentus drive. The display performance, in particular, has been great and Aero looks gorgeous with the bright TrueLife (glossy) widescreen display.

Vista's got a ton of UI tweaks, so maneuvering around has taken a little getting used to... and I have to admit to turning off UAC. Maybe I'll turn it back on now that most everything is installed and settled, but how many "Yes, I'm sure" buttons does a guy need to click? I'm still trying to get used to the newer Explorer UI and I wish I could get the Sidebar and its gadgets to Auto-Hide (the way the Task bar can)... but I really dig the ability to quickly search the Start menu.

Overall, I still feel like I'm settling in... but all my apps and tools are installed and things seem well. Now I'm going to go watch some fancy window animations for a while.

posted on Sunday, April 22, 2007 11:50 PM Mountain Daylight Time  #    Comments [0]

So my home/personal machine decided to take a nose dive a few weeks ago and I'm just now getting to the point that it feels "whole" again.

It's a Dell Inspiron E1705 (same as the 9400) and I'd been running WinXP Pro on it since I bought it last summer. I'd been meaning to update it to Vista at some point, so I started making some backups and taking notes on various app/driver compatibilities. All seemed well, but during that process it began to spontaneously reboot. No warning, no nothing -- just a sudden, blank screen and then the Dell boot-up sequence.

The first time it happened, I figured it was a fluke-ish thing. Then it happened again a few days later and then twice in one day. Finally, it got to the point that booting into Safe Mode only worked intermittently and I began to get a BSOD that talked about hardware malfunctions. Not good.

So I call Dell and they decide that it's a CPU problem. According to the tech, it seemed that the CPU was overheating and after doing it once or twice it would just get flakier and less stable. The machine does run hot, but I'm always careful to run it with the vents and fan outlets unblocked.

Anyway, he says they'll ship one out and have a technician come over to replace it. I bought the machine with "Next Day, On-Site" service. Turns out that they mean "the next day after the part you need arrives in the hands of your local technician." Pretty lame, but I could live without the machine for a day or three.

Once the tech came out and installed the new CPU, I burned the machine in for quite a while to see how it would behave. All seemed well, so I went for it... popped in the Vista install disc and went to town.

Two weeks of heavy use since then and still no real problems. Do I trust it? Still not sure... but that warranty coverage is in place for a few more years so even the worst case scenario doesn't have to be all bad.

One nice upside is that the Dell support tech that I got (late on a Sunday night, no less) was great. He was based in Salt Lake City and didn't go through the usual "First, let's reboot" script once he realized that I'd spent some time troubleshooting. He even gave me direct contact info later "so if you need to call back, you don't get routed through India." Nice!

  Technorati: , , ,
posted on Sunday, April 22, 2007 5:41 PM Mountain Daylight Time  #    Comments [0]
 Sunday, March 18, 2007

Just over a week ago, I came across this posting on the 37Signals blog that discusses some of the resources they used to populate testing databases for their new product, Highrise. Given that this product is a contact manager, they wanted contact names with details... and lots of 'em. In the comments to that post, "Jes" mentioned yet another resource -- the "Fake Name Generator" web site. He mentioned that you get full contact details for a fake identity and that you could get up to 20,000 for free. Hmm.

This interested me because I always like getting hold of useful data to tinker with on side projects. One of my passions in development is for data visualization, or "infoporn," so the more data to look at, the better. I've downloaded data that includes the Netflix Prize data set, the Enron internal emails released by FERC, and geo-coded zipcode lists. You never know what might be useful, right?

But now you're thinking... "if those contacts are fake, then why would they be interesting?"

The reason is that the person/people behind the Fake Name Generator have gone out of their way to make it credible-looking fake data. For example,

  • The cities match the states.
  • The zip codes match the cities.
  • The area codes (mostly) match the zip codes (I found a Bakersfield area code with an LA zip code).
  • The names are more than just random letters and resemble names you'd find in any US-based list of contacts.

Having a set of data like this greatly improves the testing of code that works with contact details. Who among us developers hasn't created fake records for "Donald Duck", "John Smith", and "Joe Blow"?

My understanding is that the data is created from various legitimate sources, but the values across columns are randomized -- so that someone's real first name is used with someone else's last name, someone else's address, someone else's city, and so on. A few searches turn up other discussions of this data, including a set of contacts uploaded to Swivel.

The data is provided free for up to 20,000 fake identities, provided that you're willing to wait up to a week to download your data. If you need it sooner, you pay $10US to expedite the process.

A few other cool things about this service:

  • You can specify which columns you'd like in your data, including credit card numbers (fake - but numerically valid), SSN/National ID numbers (also fake - but numerically valid), and gender.
  • Email addresses use domains from various temporary email services (mailinator.com, mytrashmail.com, etc). Again, they validate but aren't useful as anything other than test data.
  • You can get the data in various formats, including HTML, Excel XLS, SQL script, or delimited text files.
  • You can specify the countries and name types for your data... so if you need some data that includes Swiss addresses and Hispanic name sets, you could request it.

I also found the data to be reasonably well distributed, at least in the US-centric set of data I received. For example, across 20,000 contacts, I found:

  • The bulk of addresses were in California, Texas, and New York. The fewest were in Wyoming, Delaware, and New Hampshire. I had one record whose state was 'NN' -- ??
  • Most surnames started with the letters M, S, and B. The letters with fewest surnames were X, Q, and U.
  • The zipcode with the largest set of contacts was 90017 (Los Angeles), but the Area Code with the most contacts was 703 (Virginia). As I dug in further, it seemed somewhat logical because the LA area has numerous area codes spread across it.
  • Social security numbers had starting numbers that were evenly distributed from 0 to 6 (2500-3500 each), with just 700 of them beginning with the number 7. There were none that started with the number 8 or 9. I learned on this CodeProject article that SSNs beginning with 9 are reserved for special government use (Witness Protection, I'm sure... hah!), but I'm not sure why there were none starting with an 8.

Anyway, I've been impressed. It's an interesting service and seems worth bookmarking/tagging the site for later... you never know when you'll need a bunch of bogus (but real looking!) data.

Note: I've got no affiliation with this site whatsoever, aside from requesting a set of 20K fake identities and getting an email with download details a week later.

Technorati tags: , , ,

posted on Sunday, March 18, 2007 7:22 PM Mountain Daylight Time  #    Comments [0]
 Tuesday, March 13, 2007

Jeff Atwood, of Coding Horror, is on a blogging tear lately... I don't know how he manages to knock out such frequent posts on such consistently interesting topics. Today, I read his post on building your own hardware (with an interesting intro on how Google's servers have always been custom machines).

I've modified my machines in the past, adding RAM or drives here and there, but I've never built a machine from the basic components. For the last several years, I've purchased Dell machines (often from their Outlet, with great results) and I've never had a problem with their quality (and have yet to need to customer support, knock wood). Prior to that, I'd purchased Toshibas, Microns, and beige-box generic machines from local vendors.

That said, I'm not opposed to building my own machine. I can certainly connect the parts and troubleshoot various issues. So why don't I? Because I'm scared. That's right... I'm afraid.

My primary concern with building a machine from scratch is all the fine print I see in hardware compatibility. Whenever I read detailed specs or reviews for hardware components, I get the impression that it's VERY easy to build a door-stop. Front-side bus speeds here, parity errors there, chipset compatibility back here, and so on. And tracking down those types of problems scares the bejeebus out of me. I know how to debug software. I can find and fix memory leaks. But random reboots or POST errors? Cripes, where do I begin?

Reading Jeff's post earlier today, it struck me that there ought to be a way for a guy like him, who really follows the hardware world and enjoys spec'ing out machines, to make a little cash at it. Not enough to retire to the beach and I doubt Michael Dell will lose any sleep -- but if it's easy to set up, doesn't require any support, and it's something you're already interested in... why not?

On a whim, I checked NewEgg to see if they have an affiliate program... and sure enough, they do. I think it'd be awesome for Jeff (or similar hardware guru) to spec out a few machines on his site.

My primary machines for the last couple of years have been laptops. Currently, my work machine and personal machine are both fully-loaded Dell Inspiron 9400s -- a back-breaking desktop replacement that's very fast. The two are only physically distinguishable by a little fish sticker I let my daughter put on my personal machine. And I'm generally happy with these machines...   but who has just one or two machines? Our house also has the aging "Wife Laptop" (due to be replaced with a Tablet, I think), an old file-server, and my music-and-video production machine (not to mention a couple of Linux boxes Tivos).

But... show me the list of parts to build a "Little Bang" machine, a Media Center PC, a Windows Home Server box, the end-result of the Hanselman Developer Machine, etc. I've purchased and assembled electronics kits in the past and it's great fun... mostly because the parts-list and compatibility issues are taken care of for me and I can focus on the actual building part.

You'd want to make it clear that you're NOT supporting these parts or the resulting machine. It's strictly "do it yourself" and "at your own risk"... but if it's a parts list from someone who actually groks this stuff, I'd be happy to add those parts to my NewEgg shopping cart using your affiliate links.

There's lots of precedent and you have a decent audience of gear-heads... so what do ya say, Jeff?

Please?  ;-)

Technorati tags: , , ,

posted on Tuesday, March 13, 2007 11:42 PM Mountain Daylight Time  #    Comments [2]
 Sunday, February 25, 2007

While I've been going through this adventure with my Achilles rupture, there are a few apps/utilities that have been especially useful. I thought it'd be worth expressing some gratitude to these folks...

The first is NewsGator Go! for Windows Mobile... As I've mentioned here before, I'm primarily a FeedDemon user, but I really like the entire NewsGator Online service for keeping my feed subscriptions in sync across FeedDemon instances at home and in the office. I added NewsGator Go! to my phone (Samsung i730) shortly after it was released, but have used it sparingly... mostly because it takes time to sync 300+ feeds over EVDO and I don't often find myself with that THAT much "sitting and waiting" time.  

I've worked with Kevin Cawley (primary developer of Go!) in the past and he's a top-notch mobile developer. His work really shows in the Go! product, as it's got a number of nice touches that I've come to appreciate this week. With all the time I've spent in various emergency rooms, waiting rooms, and exam rooms, there's been plenty of "down time". Reading my feed subscriptions on the phone is a much nicer way of spending that time than going through months-old issues of Newsweek or People magazine. Putting Go! through its paces over the last week or so has made me appreciate that common sync platform all the more... and has also brought to mind a few enhancement requests I need to send off to Kevin and the NG folks. :)

The other product/service I've come to appreciate over the last week is Xbox Live Arcade. I'd played Marble Blast Ultra with my daughter in the past and it became a regular favorite for us. I also picked up the Texas Hold'Em game when they offered it for free during its initial release (though playing for funny money is a far cry from "real" poker). Beyond that, though, I didn't play many of the Arcade games... I just found the elaborate retail games to be more enjoyable.

This week, though, I've obviously had lots of time on my hands so I downloaded some demos for other Arcade titles. Some of the games I've purchased and been playing more regularly now are Uno, Backgammon, and Bankshot Billiards. Uno was an inexpensive no-brainer and is an easy one to play when on pain meds... Backgammon requires a bit more thought (and I had long forgotten how to play), but is a lot of fun. And Bankshot Billiards is a little steep at 1200 Microsoft Points, but it's got enough variety in it that it's been worthwhile.

I also got Crackdown this week, which is a lot of fun. And while I'm enjoying that game a TON, it's not something I can play all the time (violence)... the Arcade titles fit the bill nicely for a change of pace that I can play with the two little ones around. And in a few cases, can enjoy playing along with my older daughter (7 yrs). She had a blast playing billiards for a while earlier today and was starting to get the hang of the angles and consequences for hitting the cue ball too hard.

I've got a bunch of options for passing time while I'm off my feet -- napping due to meds, a laptop and wireless broadband, lots of books/magazines, the Xbox 360, and regular games with the family. But I still find myself battling restlessness and boredom. I just want to be able to walk outside!

Heaven help us if our power should go out for some reason...

posted on Sunday, February 25, 2007 12:01 AM Mountain Standard Time  #    Comments [0]
 Saturday, February 24, 2007

I mentioned that I'd be doing this in an earlier post, but I underwent Achilles tendon repair surgery just a few days ago. It's been an adventure, with several new constraints added to my daily life... primarily, I have to stay completely off my right leg. It can't bear weight at any time and should be elevated as much as possible. When I do move around for the occasional personal-hygiene break, I'm on crutches.

It's been this way since the surgery on Tuesday and will continue until March 5, when I have the post-surgical followup with the surgeon. At that point, he'll take the splint/bandages off and check things out. From there, it'll either be a hard cast for a few weeks or more of this splint/bandage thing that I'm currently in.

The surgery itself went very well (I'm told -- I was out)... I was given the option of a "nerve block" just prior to the surgery. Basically, the anesthesiologist (try typing THAT on pain meds) shoots an anesthetic into the back of my right leg, just above the knee. That completely numbed it from the knee down for about 18 hours. It made the period immediately following the surgery a little more bearable as I only had to deal with the grogginess of being completely under and not the additional pain in my leg. The surgeon told me that the rupture was up a little higher on the leg than is normal, but the repair went well and "the fibers look good."

Once the nerve block wore off, though, it was time to make a dent in the pain prescription. It still hurts pretty bad when those wear off. The pain is mostly a combination of sharp pain and swelling. When the leg's wrapped up as tight as mine is and then needs to swell... well, there's nowhere really for it to go.

Washing up in the morning is a trick, but we're getting a routine down... mostly, it's just really hard being confined to either a bed or a couch for this long (and over a week to go). There's only so much a guy can do to occupy his time when one leg has to be at nose level all the time.

I can't imagine going through this alone and my wife has been absolutely wonderful, helpful, and supportive for me. I'm really NOT a very good patient. 

posted on Saturday, February 24, 2007 10:52 PM Mountain Standard Time  #    Comments [0]