July 2005 Archives

Resharper 2.0 EAP is Open

Fantastic, the EAP for Resharper 2.0 is open for public download. Cannot wait to install this as I've really been missing Resharper in Visual Studio 2005 (writing Using statements is soo 2003). I just hope ctrl-shift-n is in there already (remember, ctrl-shift-n is the new ctrl-n). Will post and let you know how I get on.

Geocoding Your Blog


I'm about to go traveling, so I'm figuring out how to geocode my blog so that I can use the data to display where I happen to be when I post the blog entry. Mostly for my reference while I figure it out, here are the references I am using:-

Manipulating Clipboard Data in IE

Just a quick sample to see if I can put stuff into IE's clipboard. Click here to copy "Hello World!" into the clipboard. Obviously, if I can put stuff in the clipboard, I can see what you happend to leave in it as well...

Uses the window.clipboardData method.

I'm probably late to the party, but I very rarely bother to update the firmware on my iPod. I'd heard the new iPod Updater (2005-06-26) contains support for podcasts but had not seen any details anywhere. I can confirm it is worth the effort if you listen to podcasts on your iPod.

The podcast support includes:-

  • Viewing of shownotes (press select 3 times)

  • Automatic bookmarking (remembers where you were if you play another song and come back)

  • Enhanced display of "Extended podcasts" - the bookmarks show up within the progress bar and you can skip to the next bookmark - very handy for skipping that song or promo that doesn't interest you.

  • Scrolling of show descriptions in the menu

  • Display of date of podcast in the menu

Some downsides of Podcast support:-

  • Cannot find a way to play all the episodes of one podcast, after finishing one it goes back to the main menu
  • New podcasts do not show up in smart playlists. I had a playlist set up which was "Not Listened to in Last Week" which was very useful in automatically showing me what had been downloaded but not listened to yet. Would be good if they just included the feature within podcast support in iTunes to just update songs that had not been listened to yet (tracked by iTunes anyway)

This is all from my little iPod mini, I dare say support on the iPod photo includes all the artwork stuff that you get to see in extended podcast in iTunes..

Anyway, despite the downsides (which are annoying) the update is pretty sweet. You also have to update to iTunes 4.9 to take advantage of the podcast features.

Hatteras Command Line Tips

I couldn't find this with a quick google, so guessed the answer. If you want to pass login credentials to the Hatteras command line client (h.exe or soon to be renamed tf.exe) then you can use the /login command line parameter.

The bit I couldn't find in the helpfile is that the format is /login:username,password. For example, if you want to connect to your team server as a certain user and see what workspaces are set up you do:-

h.exe workspaces /s:vstsserver /login:DOMAIN\username,password

Next in my set of tips is how to pass a date and time as a versionspec when doing a history. This allows you to search for changes between a specific start and end datetime:-

h.exe history $/MyPath /recursive /version:D2005-03-20T10:00:00~D2005-07-15T17:24:45 /s:vstsserver /login:DOMAIN\username,password /noprompt

So the parts they don't tell you in the helpfile are to use "~" to indicate a start and end versionspec for the /version paramater. If you begin the versionspec with D then this get's passed to the regular DateTime.Parse() method. However, we need to find a format that doesn't contain spaces and allows the time component as well so along comes the handy SortableDateTimePattern i.e. "yyyy-MM-ddTHH:mm:ss"

Finally I Virtually Understand

Bill Caputo has posted an interesting article discussing inheritance in C#, especially when using interfaces. I learned about OO while learning how to write Java, so I still struggle with the fact that methods in C# are not virtual by default. Bill explains why inheriting a class that implements an interface might not work as you expected.

The key statement here is:-

...the implementation of an interface method is implicitly 'final', just as if the 'sealed' and 'override' modifiers were present.

Anyway, worth reading. I think I might be getting myself a copy of .NET Essentials...

Sproc Code Metrics

At the risk of prompting someone to ask for them, Dan Fernandez has posted a neat stored procedure utility that inspects your sprocs and can give you come basic code metrics on them as well.

If any managers are reading, just remember that code metrics are not a direct measure of productivity. If I spend a week on some existing code and the number of lines of code in it have gone down then I consider that to be a good week....

Podcasts in iTunes


I downloaded version 4.9 of iTunes today that contains support for Podcasts. Overall it seems ok, very easy to use but no support for Bittorrent which means I'll be sticking with nimiq for a while yet to keep up to date with DotNetRocks. For more information about this version, take a look at iPodLounge.

For more info about how to get your RSS feed integrated with the iTune Music Store (and iTunes specific tags), see http://phobos.apple.com/static/podcast_specifications.pdf.

UPDATE:Carl Franklin has just posted a comment to say that DotNetRocks has reverted back to standard download feeds to allow people to use iTunes as a client while the Bittorrent thing is sorted out.

nDumbster Released

Thanks to a load of great work from Alexis Kartmann, the nDumbster project is now in a state that I would recommend it's use for real world projects.

nDumbster is a .Net port of the Dumbster project which is maintained by Jason Kitchen. nDumbster allows you to easily set up a dummy SMTP server in your xUnit tests and then query the messages that the server has received. Very handy for testing mail based code.

Anyway, if you are writing .Net based code that wants to talk to a mail server then take some time to look at nDumbster and let us know if you need it to do anything else. If you want to do a similar thing from Java then pop along to Jason's Dumbster project.


Creative Commons License
This blog is licensed under a Creative Commons License.