K's Weblog

Technology and the Interweb for the Real World

Subversion – Can’t move [file]. The file or directory has become corrupted and is unreadable

May 5th, 2010 by Keith
Respond

I recently ran into a problem on my fancy new machine while trying to commit a rather large number of files into an SVN repository. The error message stated that some of the files in the .svn control directory had become corrupted and unreadable.

After Googling around a bit I came across a post on the CollabNet issue log which identified this as an issue with the NTFS stack on Windows 7. This post included another link to a Microsoft technet discussion about the issue.

The long and the short of it is that this is an identified issue in the NTFS implementation in all editions of Windows 7 (both 32 and 64 bit versions). The indexing service is locking files which SVN is trying to move. This only appears to be a problem with large batch transactions. Smaller ones, for me at least, have been working just fine but YMMV.

In case you don’t want to read the whole discussion thread, here’s the response from the NTFS team developer who responded to the community reports:

This is a known regression in Windows 7 in the NTFS file system.  It occurs when doing a superceding rename over a file that has an atomic oplock on it (atomic oplocks are a new feature in Windows 7).  The indexer uses atomic oplocks which is why it helped when you disabled the indexer.  Explorer also uses atomic oplocks which is why you are still seeing the issue.  When this occurs STATUS_FILE_CORRUPT is incorrectly returned and the volume is marked “dirty” which is a signal to the system that chkdsk needs to be run.  No actual corruption has occured.

Neal Christiansen
NTFS Development Lead

The identified workaround for this issue is to stop the indexing service. If you don’t use search very often you can disable it. If you do, you can just stop the service and allow it to restart the next time you restart Windows.

The next trick, of course, is finding the indexing service.  In Windows 7 the service has been renamed “Windows Search”. It serves essentially the same functions as the old “Indexing Service”.

There have been some reports that this issue affects Windows Vista as well, but I don’t have a Vista machine to test with.

Tags:   · · · · · · · 1 Comment

Firefox Shortcuts for Bookmarks and Searching

April 26th, 2010 by Keith
Respond

It’s not new information, but since I just figured this out recently, I thought I’d punch it up here.  When you add a new bookmark in FireFox there are a few fields that you get prompted to fill out:

These fields are only a portion of the information that Firefox can keep for a particular bookmark. Among the most useful of these is the keyword field.

For people like me who prefer to use the keyboard over any form of pointing device, this is fantastic.  I can open a new tab and type in the keyword of the bookmark I want, in this case ‘kdm’ and firefox will load the bookmark in question.

Even though most browsers have a built-in search bar, that’s another toolbar that eats up real-estate in your browser. If you’re screen-space-challenged or you have a disdain for toolbars.  Take your bookmarks to the next level with a parameter.

By adding in the string %s you can create search bookmarks for your favourite searching sites. As a helper, I’ve included a few search links below which already contain the %s. Just right-click the links below and use the ‘Copy Link Location’ or ‘Copy Shortcut’ options.

Google (ca, au, de, jp)

Bing

Yahoo

Wikipedia (de, fr, pl, it)

Stack Overflow

Memory Alpha

Tags:   · · · · · No Comments.

Announcing EpubSharp

April 5th, 2010 by Keith
Respond

Over the past few days I’ve put some time into working on a library to create EPUB documents in .NET.  When I first did a search for this a few months ago I really didn’t find anything that suited my needs: a library that I could use to create EPUB documents on the fly, in code.

So I said to myself: “Self! You can write code, build the damn thing yourslef!”. So I did.

The initial version of the library has been published up on Google Code and is probably full of holes. If you’re interested, have a look and let me know what you think.  I’ll try to publish some more detailed specs for what the library does in the coming weeks.

For now, it can get got at: http://code.google.com/p/epubsharp/ — and yes, the documentation on that page is as sparse as it is here.  :)

Tags:   · · · · · No Comments.

The Future of Short Order Code

April 3rd, 2010 by Keith
Respond

The future of Short Order code is very much up in the air right now. With a baby on the way in the near future and what seems like no time to work on things for the podcast already There’s a good chance that there won’t be another episode of Short Order code for at least another few months.

I have been considering using the SOC blog as more of a blog and posting all of my programming related posts there and leaving this one as more of a general blog. I have some posts coming soon for programming related things and I’m trying to figure out what makes more sense: posting them here where they’ll get a few more eyeballs, or posting them on SOC where the site is all about programming — albeit a programming podcast that hasn’t seen an episode since late 2009.

In short, the future is muddy. Hopefully I’ll be able to shed some more light on things as the next month or two roll on.

Tags:   · · · · No Comments.

New Box – Dell Vostro 430

January 14th, 2010 by Keith
Respond

I’ve got no doubt I’ll take some heat for going this route, but my solution to the build it or buy it dilemma was in fact to buy a new box. I decided to go for a machine from their business lineup, the Vostro 430 MT. This machine comes with a bunch of cores and an ample amount of RAM will allow this box to become the base for my home computing activities.

This machine’s primary duty will be to take over the day-to-day computing tasks from my Macbook freeing it up for mobile-only duties so that I’m not carrying around the primary copies of most of my data every time I leave the house.  In addition, I’ll be virtualizing the two desktop machines I have in the basement today, one of which has succumbed to old age in the past couple of months.  The VMs will provide some added flexibility as far as Operating Systems and some single-duty machines.

For now I’m evaluating a couple of virtualization options to use on the new box when it arrives, and I’m re-working the layout of the home network, splitting out VLANs for the servers to help isolate them a bit from the rest of the network. The main goal of some of this is to play around and learn the technologies, of course.

Some of the VM applications I’m considering include test machines for development, SSH tunnel/proxy for remote access, web server, Mozilla Weave server, secure machine for my office VPN and whatever else my dreams, or nightmares (or conversations with Knightwise) inspire.

The machine should arrive in the next week, unboxing and other additional posts will follow.

Tags:   · · · · · · 2 Comments