Link of the Day

Friday, 9 May 2008 2:17 pm

via Scott Rosenburg:

Pentagon’s Accounting Mess - Portfolio.com: Yet Another Federal Software Quagmire (cf. the IRS, the FBI, the FAA, etc.). An account of the Pentagon’s failure to upgrade its ancient mainframe-era accounting system; the tale unfolds in a building in Indianapolis the size of 28 football fields, and explains why the U.S. military cannot be audited. The Pentagon literally cannot tell you how much it has spent or what it has purchased. If you ran your family this way, they’d disown you.

Err, this is the 21st Century and this should not be too difficult to accomplish.

And they’re still using COBOL?? What can I say?

<humour> Solution? Call Microsoft </humour>


Subversion Source Control

Wednesday, 30 April 2008 5:01 pm

This post has been bouncing around my head for sometime since finding the time to write has been a little hard.

The fact is that the whole Subversion vs Git vs TFS vs [insert preferred system here] debate can get to the point where its quasi-religious (as are numerous other tech debates - windows vs mac being one of the notable ones).

Now I, bad developer that I am, have only recently started using Subversion. The need to sync source code between my desktop and my laptop outgrew the copy/paste via Windows Home Server share approach.

The fact that Subversion is free is also a big deal maker ( compared to, say Team Foundation Server).

I have been using it on another free product, namely Netbeans 6.01 for my Java development. Its nothing major, only university projects. 

The fact is that Netbeans comes with Subversion and CVN support baked into the IDE. Additionally, Netbeans uses its own Local History feature to keep track of your files wether you’re using formal source control or not. Every time you build your project it makes a commit to your Local History. This means that one has both Local history for the small changes and Subversion for the big changes.

The fact is that having it baked into the IDE makes all the difference - it allows one to interact with the code in revisions directly. Let me explain. One can make line-by-line rollbacks from your previous versions wether you are using Local history or Subversion or both. Powerfully, the rollbacks count as changes to your code and are committed right back to the database.

(I plan to do a post on the value of a good IDE soon as well)

image

In the (Subversion) case above, the local copy is out of date (on the right) and the remote changes (on the left) are shown in blue. The changes were made on my laptop, committed and I’m comparing them against the desktop copy of the files.

By clicking on the blue arrow one can insert the changes into the local copy with out inserting all the changes. The same applies for replacements (in cases where the lines have been modified rather than outright replaced).

The green area in the local copy no longer exists and by clicking on the red cross one can delete the highlighted lines.

Local History works in exactly the same way.

This is a small example and one needs to actually use it to understand the power of the concept.

Now, the fact is that the vast majority of my coding gets done in Visual Studio. And Visual Studio , the TFS edition aside, does not support source control. Period.

However, VisualSVN actually has an Add-In for Visual Studio that brings this functionality into the IDE. The problem is  that the Add-In isn’t free. Its $49 per licence. Personal licenses are restricted to one per order ( but not corporate licenses) and open source projects qualify for free licenses. And, no, I haven’t yet decided whether to get a license.

I agree with Jeff Atwood that software such as Firefox should take the most popular Add-Ins and fold them in the main code base. Which gives rise to the question that if Source Control is so important and popular (is it for non-TFS Visual Studio users????), why doesn’t Microsoft add it in?

I mean its only Subversion. Surely Microsoft must have some pretty good selling points related to why TFS is, like, totally better than Subversion ( ;) ). That takes care of the “They already have source control” pundits.

Source Control is simply good programming practice and if Microsoft is serious about attracting people to its platform (and the freely available express editions shows that they are somewhat serious), they should provide it.

Contrast Visual Studio to Netbeans and that’s enough said on the subject.

Now the easiest way to install Subversion is to head over to Jeff’s blog post about it. If you don’t subscribe to Jeff’s blog, i suggest that you do - its invaluable.

I went the VisualSVN server route which set everything up with the addition of  the ability to browse the server using a web browser (it does this by using Apache). To avoid Apache conflicting with Windows Home Server, its running on a Virtual Server virtual machine ( that image runs a few other odds and ends). Setting up Virtual Server on WHS is itself the subject of another blog post. It took me literally 2 minutes.

Before letting you go, Scott Hanselman has a great podcast on Subversion vs Git for Source Control and it comes highly recommended.


Quote of the Day

Monday, 21 April 2008 1:45 pm

Nearly fell off my chair.

I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We’ve created life in our own image.
  - Stephen Hawking

Strange, but true I suppose.


Microsoft Vista SP1 Spoof Promo Video

Thursday, 17 April 2008 4:50 pm

A little laugher before the weekend (can’t come soon enough).

According to Engadget, this was done by Microsoft. Glad to see other ways Microsoft is spending some of that $44 Billion.


FriendFeed

Saturday, 12 April 2008 6:03 pm

After all the hype, I’m on FriendFeed.

Finally. In addition to my blog posts showing up there, I’m sharing my Link Blog and my SmugMug Photostream.

Here’s my page and the feed is in an unassuming text label under Feeds in  the column to your right. I’m going to try find or make a proper label for it, since it looks out of place at the moment.

It will be interesting to see which feed people prefer, the blogs’ feed or the FreindFeed one.


Quote of the Week

Saturday, 5 April 2008 2:34 pm

I’ve been looking for quotes to post here for a while. Until I read Scott Adams’ blog post:

Talking of the lawsuit to stop the Large Hadron Collider:

If the lawsuit succeeds, imagine trying to get another job with that project failure on your resume.

Interviewer: “So, you spent $8 billion dollars trying to build a machine that would either discover something cool or destroy the universe. Is it fair to say you are not a people person?”


Aprils Fools 2008 (and a little late at that)

Thursday, 3 April 2008 4:55 pm

I think its becoming a tradition here to list some of the funnier April Fools Day pranks:

  • Read - Space bot demands to be called “Dextre the Magnificent”
  • Read - Google’s gDay with MATE searches the future
  • Read - Think Geek’s Betamax to HD-DVD Converter
  • Read - Qualcomm’s HandSolo
  • Read - Virgin and Google form Virgil for Mars expedition
  • Read - Xbox 360 Wireless Helmet, Board Game

More Google pranks here.

TUAW has a round up of the Apple Pranks.

Three from Sun Microsystems:


Vista Service Pack 1 - First Impression

Saturday, 29 March 2008 8:54 pm

Literally:

image

 

Windows Server Longhorn Business Edition??????

Seriously, what’s up ?????


Windows Home Server: Resource Deconfliction

Thursday, 27 March 2008 3:04 pm

As more and more Windows Home Server Add-Ons are introduced, WHS becomes more and more like an appliance than a piece of software (and hardware).

More and more Add-ons mean that we ask more and more of our systems. These demands mean that finite resources have to allocated and shared with the WHS software itself.

DEMigrator.exe comes to mind ( the magic behind folder duplication). Since DeMigrator does not actually have a front end ( short of turning off folder duplication), it is impossible to pause or stop it when its running in favour of something more urgent. Granted we could change our backup window, but this is not always convenient or possible.

What WHS needs is some way of managing resources on a much more granular level than process priorities. By that I mean that WHS makes  a logical guess as to what process(es) need to run now  and what processes are less immediate.

So if I use SageTV to record show x at time y and a defrag ( or other processor intensive program) is scheduled to run at the same time, we need resource deconfliction to kick in and sort it out. We can do this in one of two ways: either throttle back the proccessor intensive process or re schedule it ( if the drive isn’t very fragmented a missed defrag pass wont make much of a difference).

Naturally, we can’t expect this souped up task scheduler to be able to handle every occurrence of every program. this means that WHS would simply notify the offending process(es) of the situation and it would be up to the program to implement a responsible and reasonable strategy to handle that.

If you’ve got a high end system running WHS, this discussion isn’t very dramatic. But between backups, defrags, virus scans, DeMigrator, SageTV  and others ad nauseam  ( even automatic Windows Update needs to be able to safely restart) jockeying for resources, something needs to manage this safely and well.

Essentially, this is bringing WHS closer to the headless system originally envisioned. It would save me a lot of Remoteing in every day.

Before we finish, let take a look at the specs for the WHS systems commercially available from HP, etc to get an idea of exactly what resources are available.

The Microsoft minimum spec is 1Ghz and 512Mb RAM and 1x 70Gb drive.

The recommended spec is 64-bit Compatible Intel Pentium 4, AMD x64 or newer with 512Mb Ram and 2x hard drives with a 300GB primary disk.

  CPU RAM Hard Drive
HP Media Smart AMD 1.8 GHZ 64-bit Sempron 3400+ processor 512Mb 2x 500Gb
Norco DS-520 Intel Celeron M 1GHz 1Gb 1x 250Gb
Piranha Home Server Intel Celeron 430 (1.8GHz, 512KB, Conroe) 1GB 2×250Gb
T2-WHS-A3 Harmony Home Server Intel Celeron 220 1.2GHz 512Mb (1Gb Optional) 1 x 500Gb (1Tb/2Tb Optional)
T7-HSA Harmony Home Server Via C7M “Esther” 1.5Ghz 512Mb (1Gb Optional) 1 x 500Gb (1Tb Optional)
My own homebuilt system (Dell  Poweredge SC440) Intel Celeron D 2.8Ghz 2GB 1×160Gb
1×400Gb
2×750Gb

I think this is a pretty representative sample of the entire range. You can get the reviews on these servers and others from We Got Served Hardware page.

NB. The extra possibilities of multi-core  64 bit machines allowing true concurrent execution are mind boggling.


Visual Studio Install Error 1935 (HRESULT: 0×80070BC9) Fix

Tuesday, 18 March 2008 4:44 pm

As  I wrote here last week, getting Visual Studio 2008 installed was a bit of a problem for me on my main Desktop PC.

And I couldn’t find a fix anywhere. So since the installation was successful on my laptop ( they are both nearly identical systems) I set about trying to find some difference between them.

I came up with the fact that I’d had Visual Studio 2008 Visual Web Designer Express installed and had uninstalled it before my Visual Studio 2008 Pro install.

So in the finest tradition of Voodoo Troubleshooting I did the following:

  1. Mounted  the Visual Studio Express Editions DVD image available from Microsoft here
  2. Installed Visual C# Express ( it looks as if any edition will do)
  3. Restarted
  4. Uninstalled only Visual Studio C# Express (the runtime prerequisites will also uninstall)
  5. Restarted
  6. Installed Visual Studio 2008 Professional

I’m not quite sure why this works. I put forward the idea that it fixes the registry or the .Net Install ( see my earlier post for details).

Happy Coding :) !