.Net ramblings
# Tuesday, 08 April 2008
disable hibernation in vista
powercfg -h off
run this as an administrator from the command prompt.  thanks to Mitch Tulloch for his post.

Tuesday, 08 April 2008 16:27:37 (GMT Daylight Time, UTC+01:00)  #    Comments [0]  General

# Saturday, 29 March 2008
Running Vista on a Laptop with 8Gb DIY SSD
I have this ancient laptop, a Celeron 2.4Ghz thing with 768 Ram, but it has a good screen and good battery life so i use it primarily as a remote desktop terminal with O2 3.5g broadband when i'm away from the office, which is great. but it's a slow old thing and it takes forever to boot.  i'll get a new laptop as soon as SSD's become more reasonably priced, i.e. in about 6-9 months, but until then...

Solid State Disks

i'm very interested in the emergence of Solid State Disks and how in my opinion they will remove the last bottleneck in the modern PC: the mechanical hard drive.  You can have the fastest processors and RAM in the world, and you'll still be staring at your computer waiting for stuff to happen because the hard drive is slow. 

To get your taste buds tickled, have a read of this excellent article from Next Level Hardware showing what a 9 SSD drive RAID array can do (at cost of $7000).

Then to come back down to earth have a read of this other excellent article by Kevin O'Brien that shows how to build a SSD drive out of compact flash cards, at a small cost, and still get really good performance to beat the pants off your old laptop hard drive.  I've followed Kevin's approach, but want to document it a bit further in terms of setting up a laptop running Vista on a 8Gb compact flash card. 


For the laptop, I've ordered a dual compact flash to IDE adapter, 44 pin laptop style, and a 8Gb 300x compact flash card.  For my desktop i got 2x 4Gb 300x compact flash cards, and a quad CF-IDE adapter made by addonics, i intend to use this to store the swap file and other files from my desktop.  I got the flash cards from komplett.ie at 36 euro each for the 4Gb cards and 75 euro for the 8Gb card.  It's important to get the 266x or 300x cards in order to get the 40+Mb/sec transfer rates, anything less and it won't really be worth the effort.  I ordered the CF/IDE adapters from WebConneXXion.com at 25 euro (notebook dual version) and 37 euro (PCI quad version), unfortunately shipping to dublin was 40 euro but hey.  The hardware bits are still in the post so in the meantime i've set to work on creating a Windows Vista installation that can run inside an 8Gb disk.

Vista / vLite

As you probably know, Vista is a big mamma when it comes to hard disk space and memory requirements. But there is a great tool called vLite which lets you strip off the bits you don't want/need which make it a very lean OS for an old machine, and in this case, one with limited hard drive space.  With vLite you create a new Vista install image with your customised options and then install it on your laptop or whatever.  But that also means you can use the image to test out in a Virtual PC environment which is great, you can configure an 8Gb hard drive, 768Mb Ram, etc.  After removing all the components i don't think i'll need, my install ISO is only 732Mb, so far so good.  It is Vista ultimate by the way, here is my vLite ini file if you're interested.  I installed it to virtual PC and it took up 3.12 Gb including a 1Gb swap file, so a 2.12Gb install size is fairly good given that we have 8Gb to play with.  For general use, i will need AVG antivirus, Office 2007 (access, excel, word, ppt), Visual Studio Professional 2008, VLC Media Player and of course FireFox.  After installing all this the drive has 5.36 Gb used (including the swap file), with still plenty of space left over. 

Results on Laptop

Well i'm delighted to say that my laptop runs like a champ now, even though i was about to dump it!  vista boots in about 12 seconds, and applications load up very snappy.  the lack of grinding noise still amazes me.  i had no idea that a 4200 RPM drive was such a drag on system performance, it is quite remarkable.  battery life seems about 10% better with the SSD, although it was a fairly inaccurate test. i kept the screen on and a browser page reloading every 10 seconds (over wifi) untill windows shut itself down at 3% battery, this lasted 3 hours 10 mins. the great thing about this is that i can keep on using my laptop for another year or so and when i do upgrade i will be able to get something thinner and lighter, and which will definitey have a proper SSD! 

Results on Desktop

I have installed the RAID card with the 2x4Gb flash cards and i can get ~50 Mb/s continuous read benchmarks, but it took a bit of fiddling to get the best combination of card slots. 
my first combination of slot 1 and 2 gave a very poor benchmark with a 20Mb/s read at the start and end of the drive, maxing out at 50 in the middle. 

the Addonics support guy told me to put both cards on the same IDE controller so use port 1 and 3 but that was even worse:

so i tried port 3 and 4 on the back of the card and that gives a steady 50Mb/s read benchmark, which is pretty good:
theoretically 80Mb/s should be possible with a RAID 1 array of 2xCF v4 cards but 50Mb/s isn't bad, and the important thing is obviously the ~1ms seek time instead of 8ms for my raptor drive.  Interestingly the slot 1+2 combination gave access times of .7ms but the other combinations give 1.4 or 1.6ms, possibly due to master/slave issues with the IDE controllers.

Saturday, 29 March 2008 17:09:45 (GMT Standard Time, UTC+00:00)  #    Comments [2]  

Network Performance Problems With Vista
If you are having network performance problems with Vista, have a read of this useful post.
sometimes disabling autotuning can help, run the following:
netsh interface tcp set global autotuninglevel=disabled
netsh interface tcp set global rss=disabled

Saturday, 29 March 2008 16:45:19 (GMT Standard Time, UTC+00:00)  #    Comments [0]  

# Thursday, 31 January 2008
LoginView does not execute <% %> expressions
... unless you DataBind() the LoginView first of all.  just posting this in case i forget!

Thursday, 31 January 2008 16:59:39 (GMT Standard Time, UTC+00:00)  #    Comments [0]  

Confirm prompt for DropDownList
this wasn't very obvious to work out, and i couldn't find a decent solution online, so i came up with this.
this.DropDownList1.Attributes.Add("onchange", "if(!confirm('Are you sure you want to delete this item?')) return;");
This works with .Net 2 and 3 and 3.5, but may break with future versions if .Net changes the javascript code for AutoPostBack drop down lists.  The reason it works now is because .Net adds the custom 'onchange' attribute before it's on doPostBack() function call.  So if we return from the confirm prompt, the form will not submit. 

Thursday, 31 January 2008 16:32:13 (GMT Standard Time, UTC+00:00)  #    Comments [0]  .Net General | Asp.Net

# Tuesday, 29 January 2008
Update All Fields in Word Documents
great post by Curtis Keisler explaining how to do this: http://www.devblog.com/2007/12/update-all-fields-in-word-document.html

Tuesday, 29 January 2008 12:15:35 (GMT Standard Time, UTC+00:00)  #    Comments [1]  

# Monday, 28 January 2008
Vista, CPU problems, explorer.exe, lsass.exe, SearchIndexer.exe
I was in the same boat as a lot of the folks on this MSDN forum thread.  Vista stability went out the window a few weeks ago.  mostly related to Search, but disabling the Search service only seemed to shift the problems to explorer.exe or lsass.exe.  installing SP1 RC1 refresh 2 seeemed to help but after rebuilding the index the same problems came back.  i found some useful info about lsass, and finally found a great solution by Aaron Tiensivu on his blog post about resetting a corrupt vista user profile. i didn't think it had anything to do with a corrupt profile, but the stuck-in-a-loop lsass.exe activity referencing the SamSs service made me try it out.  it did work, but after a day or two the explorer.exe CPU problems came back.  however, disabling Search has given me normal stability back, which is very welcome.  it's running smoothly so far. 

i guess Windows 7 isn't that far away really, hopefully MS will be more careful next time :)

Monday, 28 January 2008 14:27:41 (GMT Standard Time, UTC+00:00)  #    Comments [1]  General

# Thursday, 20 December 2007
GA-P35-DQ6 overclock settings
just posting my config here with a Gigabyte GA-P35-DQ6 motherboard
  • Processor: E6600 / 2.4Ghz Core Duo.
  • Ram: 4x512Mb Crucial Ballistix PC6500 4-4-4-12 @ 2.2v
  • Cooling: OCZ Vindicator
  • Disks: 74Gb 10k WD Raptor, 500Gb WD SATA 2, 1Tb WD MyBook eSATA.
My current stable overclock settings are as follows:
  • FSB 395 Mhz x9
  • Memory Multiplier 2.0
  • vCore 1.375
  • vFSB +.05
  • vMCH +.05
  • vDimm +.2
  • Memory timings: 5-5-5-18-auto-etc.
This results in a very happy 3.554 Ghz currently running @ 59 celsius under max load (orthos).  It could go a good bit higher but i don't want to be worrying about overheating problems long term since it is a work PC, and this represents about a 50% overclock which is great. 

I haven't tried pushing the memory yet but i'll try out the 4-4-4-12 @ 2.2v next.  Some earlier attempts at overclocking were foiled by bad memory settings, it was good advice i read to relax the memory settings before overclocking because it can cause stability problems that are not related to your FSB adjustments etc.

by the way, before i got these settings working, i was getting crazy temps like 79c with hardly any overclocking with this same setup. it all came down to not enough thermal paste. 

Thursday, 20 December 2007 23:08:55 (GMT Standard Time, UTC+00:00)  #    Comments [1]  General

# Wednesday, 28 November 2007
Format a FAT32 partition above 32Gb
Windows has a pointless 32Gb sizelimitation on FAT32 partitions.
a very sound chap called Tom Thornill wrote a partition formatting utility that does not have this limit. full details on his site

Wednesday, 28 November 2007 15:04:31 (GMT Standard Time, UTC+00:00)  #    Comments [0]  General | Windows Server

# Tuesday, 27 November 2007
Deploy Crystal Reports for VS 2008 (RTM)
if, like me, you were running VS 2008 Beta 2 on a server and you had crystal reports working fine, and then recompiled your projects in VS 2008 RTM, you may get an error like this when you try and create a crystal report on a production server:
System.Runtime.InteropServices.COMException (0x800736B1):
Retrieving the COM class factory for component with CLSID
{5FF57840-5172-4482-9CA3-541C7878AE0F} failed due to the following error:
800736b1. at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
In my case, i had installed Crystal Reports Runtime for VS 2008 Beta 2, and i never installed the runtime for the RTM version.  it should be available on your VS machine, if you opted for CR in the VS installer:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5

should probably uninstall the old version of the CR runtime while you're at it too. 

Tuesday, 27 November 2007 11:32:12 (GMT Standard Time, UTC+00:00)  #    Comments [2]  .Net General | Asp.Net | Windows Server