Development Software I Use Now

I’ve setup a new development PC, so I thought it was time once again to review the software I normally install and use for development (I last did this in December 2007).

I find that most of these kinds of lists are pointless, but every now and then I run across a handy tool I’ve never seen before, so in the hope that someone else might find something useful, here’s my current list of PHP and .NET development essentials.

Note that I get along just fine without Resharper or any ORM, Mocking or Dependency Injection frameworks.  That’s just how I roll.

* I don’t consider these essential, but they are instructive.

Zune Obtained

I bought a Zune last week.  Yeah, a Zune.  Big woop.  Wanna fight about it?

It wasn’t on my radar to get one, but I was buying some new computer hardware from NewEgg, and as I was checking out, it gave me that evil message, “if you buy another $100 worth of stuff, you’ll qualify for 6 months interest-free!”  Of course then I had no choice. 🙂

This is the first MP3 player I’ve seen in a long time.  I can report that portable MP3 players have come a long way since the Diamond Rio PMP300 I bought back in 1998.  Back then it came with 32 MB of memory.  That was enough to hold – maybe – one album of music at 128Kbps.

My new Zune is tiny in comparison to that Rio and has 8 GB of memory.  That’s about 256 times more storage space, which will hold probably 200 CDs or about one third of my entire MP3 library that’s been growing steadily since 1998.  Pretty amazing.

Okay so you’re probably wondering why I bought the much-maligned Zune instead of an iPod.

Mainly it’s because I’ve never liked the Apple business model of packaging unremarkable hardware and selling it for a premium.  (Don’t tell John Hodgman, but Macs have basically the same hardware as PCs, if you hadn’t noticed.)  They are like the Bose speakers of the computer world.

Additionally, I feel compelled to punish Apple for running the iTunes Store for so long with DRM-protected, crappy-quality 128Kbps songs*.  Besides the moral objection anyone should have to DRM-protected media and inferior quality audio, I tried getting some DRM-protected music from Napster for a while and it was a pain in the butt.  Now I buy MP3s exclusively from Amazon… no DRM, 256Kbps quality, and it’s the same price (or cheaper).

I’ve also heard anecdotally that Zunes sound better than iPods, which is a pretty major consideration for this audiophile.  Never having laid a hand or ear on an iPod, I can’t confirm or deny the reports, but I do know that 256Kbps MP3s sound pretty good coming from this dinky little Zune with the default ear buds.  (And yes, I can hear the difference between 128Kbps and 256Kbps.)

Also, the Zune was cheaper than the 8 GB iPod Nano at NewEgg.  And there was a $10 off special on the blue one.

Anyway, I’m perfectly happy with the Zune.  The biggest negative I can find in the Zune is that the lowest volume setting is just a smidge too loud.  I wish it had one lower setting, like a 0.5.  Most of the time I just want some faint background music to help me concentrate, but I still want to be able to hear people talking around me, and especially to me.  Also, the battery doesn’t last through an entire work day for me… it died somewhere around the 7 hour mark.  Not really a big deal for me, though, since I’m almost always near a USB port.

The Zune software is pretty cool, too.  Simple and clean. (UPDATE: The software looks nice but the functionality is mediocre at best; see comments.)  I’m having great fun with podcast subscriptions.  They are perfect for the commute to and from work (and usually intolerable at any other time).

At some point I want to look into writing software for the Zune, which I believe is done with XNA Game Studio 3.0.  I’ve been wanting to try some embedded programming for a while now.

* To be fair, iTunes announced in January 2009 that they will be moving exclusively to 256Kbps DRM-free songs.  But you can bet they wouldn’t have if Amazon hadn’t forced their hand.

How to Rename a Windows Service

I came across a situation where I wanted to rename a Windows service that had already been installed.  (In this case I wasn’t able to rebuild the application to alter the service installation properties, which would of course be the ideal solution.)  Google was spectacularly unhelpful, so this is how you do it:

Open RegEdit.

Navigate to HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices.

Find the key for the service you want to change and simply rename it.

RegEdit screenshot

A reboot was necessary for the change to take effect in the Services snap-in.

You may also encounter a sub-key called DisplayName that you can change.  This is not the same as the key above.  When using “net start” and “net stop,” for example, you need to refer to the key name above.

DisplayName screenshot

I did this on Windows XP and Windows Server 2003; presumably it will also work in Vista, etc.

STANDARD REGEDIT DISCLAIMER:  Do not attempt this unless you know what you’re doing.  The consequences of a mistake could be disastrous.

Recent Aggravator Updates

In case anyone uses it, there’s been some minor changes to the Aggravator lately.

  • Added a “Bookmark on Del.icio.us” link, which was in the original Aggravator but never made it into version 2.
  • Feed and item links now go straight to the source blog instead of the internal data pages.  Ditto for the blog links on the sidebar.  Should be better for sending traffic to the blogs.  (Don’t remember why I didn’t do that in the first place.)
  • Tags shown in the sidebar are now limited to feeds that aren’t idle or failing.
  • Added a “shuffle” query parameter to randomize the order of entries on the page.  This is handy if you tend to look at the aggregator page at the same time every day.  It minimizes the chance of showing the same blog at the top of the page all the time.
  • It’s always been there, but the “noimg” query parameter attempts to filter out images and embeds if, like me, you can’t stand seeing that stuff on the page.

I still have a lot of plans for the aggregator, but I only work on it about once every 6 months, so improvements are pretty slow.

Get Microsoft Virtual PC

I’ve heard about “virtualization” for years, but I never thought it was anything I needed to worry about.  I just thought it was something for network engineers to tinker with in big, expensive data centers.  It turns out there are plenty of handy uses for virtualization, using Microsoft’s Virtual PC, in your everyday computing life.

For example, if you want to test the latest build of your software installation package, you can fire up a Virtual PC and run your installer on it.  If it breaks, you simply rollback the hard drive changes and you’re back to a fresh hard drive.  You can test on any version of Windows without having to setup any hardware.  It’s way simpler and faster and cooler than keeping a spare dinosaur computer around with Norton Ghost images.

Perhaps you have to work in a restrictive network where you don’t have access to any other computers for testing.  Fire up a Virtual PC and create whatever test environment you want.  You can connect it to the network or not, depending on your needs.  If you break something, you can roll it back to the starting point in seconds.

Or maybe you want to try out some shareware programs but you’re not sure if they’ll install a bunch of spyware or adware.  (You know as well as I do that once you install Windows software, you usually can’t get rid of it without reformatting.)  So fire up a Virtual PC and install it there first.  The virtual environment is completely isolated, so there’s no danger of getting any infections if the software’s bad.  You can try it out for a while to see if you like it before committing it to your main workstation.

How’s it work?  I have no idea.  I can only assume it’s “emulating” a PC, in the same way that people have always been writing emulators for older computer systems.  Normally emulators require considerably faster hardware for the emulation to run at a normal speed.  Virtual PC, however, somehow manages to run well even on the same hardware.  It’s noticeably slower, of course, but certainly not unusable.  It’s about like running an RDP session over a slow connection.

So go ahead and download Virtual PC 2007.  It’s even free.

Droves Leave The Frederick Bandwagon

Just saw this tidbit on technology industry wizard and RPV Chairman Jeff Frederick tonight:  Key Party Switch in Virginia?  Shaun Kenney’s analysis: NRO Campaign Spot: Loose Twits Sink Shifts.

Reaction in the Virginia blogosphere has been explosive, to say the least.  I don’t understand all the politics of it, but it’s always funny to see self-proclaimed IT experts torpedo themselves.  The lesson for us all is:  Never, ever forget that other people can see your social media posts.

The American Recovery and Reinvestment Act

I’m ambivalent and skeptical about this latest stimulus bill.  On the one hand, the idea of more government spending is kind of repulsive, but on the other hand, if they’re determined to throw money away, I can see where a mix of tax cuts and infrastructure projects is the best way to go right now.  At least it’s better than buying “toxic mortgages.”

But regardless of whether one thinks the stimulus bill is good or bad, I can’t understand how anyone could possibly view Republican lawmakers’ sudden conversion from big-spending bank bailout champions to fiscal conservatives as anything but laughable.  Do these people think we forgot that Republicans (including 7th District Representative Eric Cantor) cheerfully voted for several huge bailouts just a few months ago?  Now suddenly it’s a bad idea?  They really think they have a shred of fiscal credibility?

So Republicans have been publicizing lists of what they call “pork barrel projects” in the stimulus bill.  I’ll admit I don’t have the lofty education of those high-fallutin’ lawmakers on Capital Hill, but it seems a little strange to criticize a bill designed to create jobs for… wait for it… making projects for people to work on.  I guess Republicans would rather pay out the taxpayer’s money for people to stand around doing nothing.  (Come to think of it, that’s essentially what they did with the banking industry bailouts.)

So, um, yeah… not impressed.

Also, on a somewhat different topic, after seeing Obama’s press conference on television tonight, I suggest that he avoid prime time in the future.  I give him points for providing thoughtful answers, but his rather verbose, rambling responses were about as entertaining as watching paint dry.