Having been using CVS for the last four years in a commercial environment, I’m certainly pretty comfortable with it.  Branching and merging is tricky (sometimes painful) as usual, but losing file history on rename is a killer.  WinCVS has been the gravy on top that keeps us using CVS.  Anyone who might have had the misfortune of trying to work with command-line rcs or cvs knows how much more productive a GUI makes things.

I’ve been evaluating alternatives in the next generation of free SCC applications.  Given the above issues I’ve had with CVS, my requirements are:

  • Supports directory/file renaming with file history saving
  • Supports common-ancestor file merging (ie: multiple merges to a branch won’t conflict)
  • Has a reasonably good GUI to support 90% of the CLI functionality

My “nice-to-haves” would be:

  • Visual Studio integration
  • Conflict resolution via “three-file method” (file.mine, file.other, file.ancestor) versus embedded conflict markers (CVS-style >>>>>> and <<<<<< markers)
  • Easy on-line backup capability (for any SCC system running off a database)

I’m crossing my fingers waiting for Subversion to support the multiple-merge support.  It feels like the project with the most elegant and future-proof design.  It certainly is a pain to get up and running on some older RedHat distributions (db4 and Apache 2.0 requirements).

Read full post

All my readers, please note that this is constructive criticism (as well as a fix!) for the new theme, not an emotional rant or complaint.  Ben Goodger has done an awesome job in getting Firefox ready for 0.9.

The first time I fired up Firefox 0.9, I wasn’t too happy with the new, default Firefox theme.  However, It turns out that it mostly the awkward spacing that was making the icons look out-of-place.  As strange as it seems, reducing the spacing makes the entire theme look a lot better.

I managed to reduce the spacing on the toolbar buttons by hacking the skin chrome.  You’ll need to place this in a file named “userChrome.css” under your Mozilla\Firefox\Profiles\profile\chrome directory.

{ padding: 3px !important; }

{ padding: 4px 2px 2px 4px !important; }

Here’s the shot from before (with awkward spacing):

And after tightening up the spacing a bit:

Looks much better to me - not a huge change, but enough to make me feel more comfortable with it.

Read full post

I’ve got a couple of .NET desktop apps running on my work system (with a gig of RAM nonetheless) and it seems like they are always the applications that are sucking up the most memory.

I run Sharpreader at work for a couple of interesting feeds and it hovers around 70MB when open!  Minimizing it seems to reduce the working set to 2MB, but it’s still using 69MB of virtual memory while sitting there.

A GUI monitoring tool that I wrote for Draco.NET seems to take up 30MB (plus 30MB of swap) all the time while it’s sitting in the taskbar.  It’s basically just a WinForms app that calls a remoting service - no fancy tricks.

We seem to be at the same place with .NET apps now that we were with Java apps five years ago - they hog tons of memory. 

Is there any way to get your apps to run leaner?  Heck, the AVG anti-virus console on my home computer uses 2MB of total RAM.  That’s physical + virtual.

For now, I’m questioning the usage of .NET for any application that normally runs in the background.  I’m not sure that 60MB for a simple monitoring app is a good call.

Read full post

Scoble’s link blog posts an excerpt from the article, then seems to pick one of the links from within the article as the “More…” item.  There’s no way to read the full article!

I’m not sure that the blog is too useful for original-content (versus external linking) articles. 

This is an excerpt from one of my posts on his link blog:

.NET Desktop Apps - Slow & Bloated (from:

I’ve got a couple of .NET desktop apps running on my work system (with a gig of RAM nonetheless) and it seems like they are always the applications that are sucking up the most memory. …More

Posted by scoble at 10:32 PM

There’s no way to read my the text of my article from there - it picked up the reference to Draco.NET that I placed in the post, but won’t let anyone visit my blog to read what I said. :)

Read full post, before and after installing Adblock.

It takes a bit of getting used to (remember your old DOS wildcard days?), but it’s pretty easy to come up with good patterns to block 90% of all ads within about 20 minutes.

Read full post

I managed to get the majority of the wood cuts done for my MAME cabinet today.  It took about an hour to mark each piece out, then about two hours of clamping the aluminum guide and running the circular saw.

Before I started the project, I never would have guessed how much work it would turn out to be.

The last cuts are going to be the cabinet sides.  Fortunately it’s better to cut both sides at the same time - this ensures that even if you make a mistake the cabinet sides will still match.

Read full post

An interesting comment posted by one of my readers:

Blocking ads is very nice and all, but you do expect most websites to provide free content don’t you? For most content websites, advertisements are the only way to cover their bills (and maybe even make a little profit). If you and everyone else block these advertisements, content websites will either have to close or go paid-subscription only. Would you like this? I think not, so how about uninstalling that Adblock extension, and viewing a few advertisements now and then?

Dennis assumes that I have some moral obligation to view ads on a site because I am viewing the site itself.

I managed to find an interesting article on Google Groups that sums up my position pretty clearly:

An expectation of revenue on their part is not a commitment on your part.

Personally, I fast-forward through all TV ads on my PVR and block 99% of web ads with Ad-block  I don’t really see how I’m obligated - morally or legally - to view ads on a site’s page to support a tenuous business model.  As well, it’s been legal since the 70’s for me to tape live TV with commercials and watch it any time later sans-commercials.

When it becomes illegal for me to leave the room while watching Fox I might become a little concerned.

Read full post

Here’s some home-grown Adblock patterns for your enjoyment (save as “adblock.txt” and use the import option on the Adblock preferences screen):


I try to block ad network URLs versus pathnames - there’s only so many sources for ads out there. Thankfully the sites listed above seem to provide the majority of ads that I’ve seen.

The goal is to be able to read a few of the sites I visit each day without the annoying/flickering ads.

I have no sympathy for webmasters that make their living solely from ads. When ads were small (!) banners at the top of each page, they were annoying but livable. Once they doubled the average size, started adding multiple ads along the sides, putting rectangular ones in the content and scattering little ones all over they lost any chance of keeping my support.

At least most blogs are ad-free for now- that’s where the content is anyways. I won’t hesitate to unsubscribe from anyone that tries it, however.

Read full post

I discovered a deadlock in some code using the ThreadPool to do some database connectivity tests.  It turns out that some of the database code in the .NET framework uses the thread pool to get database connections.  This results in deadlocks when spawning too many threads trying to open database connections.

Microsoft needs to add a parameter to the QueueWorkItem method that specifies the approximate number of additional threads needed by a work item.  This could ensure that the appropriate number of threads were free before starting the item.

Looks like it’s back to the custom thread pool implementation again….

Read full post

Fired up WineX 4.0, aka Cedega, to play some Tribes 2 tonite.  What an amazing accomplishment - it runs perfectly, and fast to boot!

Running Windows games under Linux: one more reason never to dual-boot.

Read full post

I keep seeing these so-called “Get the facts” and they’re ticking me off with their blatant misrepresentation of facts.

The one I just saw compared the price of Mainframe Linux with the price of Windows Server 2003.

Uhh…  isn’t that a little unfair?  What about comparing PC Linux with PC Windows Server 2003?  Are they afraid to do this thing head-to-head on the same platform?  If you read the test, they are using Samba 2.2.x and Apache 1.2.x - not 3.0.x and 2.x, the latest versions respectively.  Wouldn’t it be fair to compare the newer versions of the applications with Windows 2003?  Or perhaps the older versions with the equivalent of Windows 2000?

I’m sure that in this case there isn’t any real lying, as far as distortion of facts goes, but it’s certainly not very honest.  It’s a shame no-one is running any true head-to-heads tests on the same hardware to counter these studies.

Read full post

Saw F9/11 last night.  Good flick, certainly could have been longer - probably a ten-part mini-series with all the info in it.

The interesting part was how Moore discussed the constant, elevated fear level of the US.  Flipping around CNN, I found this story (FBI warns of possible deadly floating material).  There have been so many “terrorist warnings” without actual attacks that it makes you wonder why they even use the phrase “credible intelligence.”

Read full post

Is there a good cross-platform, storage virtualization application available?  I want a magical, automatically-clustered-and-redundant service that concatenates all of the free space within an entire network into a single “megadrive” and makes that available as a shared drive to all systems.

Ideally, it would allow you to “hotswap” computers in and out of the ad-hoc array, mirroring the data between nodes as necessary to ensure that more than one copy of all data is available at all times.  I suppose this is similar to the approach that Google has been taking with their distributed file system.

You could combine all of the storage within your network into a massively-redundant shared drive.  Every night, you could even move all of the data closer to the nodes that request it most often.

If you run out of space on the ad-hoc array, just run out and buy a couple of drives and USB 2.0 enclosures to get by in the meantime.

I suppose I can keep on dreaming, but true storage virtualization would be an amazing feat.

Afterthought: I’d like a clustered filesystem that ran over TCP/IP/Ethernet rather than the expensive fibre-channel stuff.  I’ll take mega-storage over mega-performance in this case.

Read full post

From a suggestion in one of asa’s posts, I just took a quick look at Forumzilla.  My first impression is that it’s a pretty cool concept - it would allow me to reduce my number of running applications by one.  I’ve been running SharpReader for some time and it’s certainly a memory hog, especially when you get a fair number of feeds in it. 

Forumzilla has a different concept than SharpReader, however.  Instead of each feed having its own, individual, leaf-type folder, Forumzilla lets you pick one of your mail folders to drop a particular feed in.  While this is a cool concept, I think I would prefer to have something similar to the new bookmark manager for handling the feeds:

I’d imagine that you would display the available folders on the right without feeds and have the folders on the right contain the actual feed locations.  You could drag and drop the feeds to the existing mail folders on the left and right side, allowing you to quickly add and organize new feeds.

What do you think?

Read full post