Article Hardware Operating System

Upgrading your system Disk

I am using windows from my first computer in 1997. Since then, whenever a problem arise in system, our hardware expert suggest one thing. Format the system and start fresh. I kinda like the idea at that time, as it give me more time to play with core system things. I remember formatting windows 95/98 PC was complicated, as you have to create some text files, boot with floppy disk and then run from CD.

Time passes, and process become simpler, and I grow in programmer. Now, my machine handle, Visual Studio, Andriod Studio, Nodejs, SQL server, MySQL, apache and IIS, and lot of utilities. Previously I used to keep CD of my software. But every week we have few updates on either of those software and burning CD is not possible. Now, formatting means wasting my 2-3 days to just install everything. Formatting itself take 45 minutes max on my machine, but pre-formatting backup, and restoration after formatting is no fun.

But my primary disk is full and only 5 GB space is left on my C:\, It is only NVMe disk in system and I have to upgrade it to large capacity disk. I don’t want to format PC. So, I find this fine software recommendation from a google search, Macrium Reflect (from ). I download their free version, and install on my Home PC. Install it on very drive that needs upgraded, yes my C:\. Install my new Disk on other slot. Now, I run software, and clone my disk to new Disk. Since they are NVMe disk they copy fast, it took about 20 minutes to clone 225 GB of disk to new 500 GB disk.

After 20 minutes, I realise that cloning use only old size from new disk and rest of space is empty, unused still. So everything is waste for me. But then Windows’ Disk management comes handy and allow Extending my new soon going to be C: drive to use remaining space from disk. [Right click on partition and click extend]. It use all left over space.

After swapping old disk with new one. [I tool old out of system to test if cloning was good or not], It works with extended disk. then I put my old disk and format it to use as secondary disk.

It took me 1 hr to do all these stuff, and certainly save my 2-3 days of effort, and save my weekend.

Operating System

Windows System Repair

I just install Windows 8.1 on my home PC, installing SQL Server on it and found that activeds.dll file was missing. I haven’t install anything, just regular MS products and updates. So, how can a file is missing. On searching I found that DLL was present, but seems corrupted, maybe some disk writing fails or something. I start thinking to reinstall machine, as it is just been installed and got corrupted. But at last minute I found a command that not only detect all corrupted files in windows system but repair them as well. Here is steps

  1. Open CMD with Admin rights
  2. run sfc /scannow
  3. Enjoy.

It repairs few basic windows DLL that got corrupted maybe for any reason, disk fail, some program change them or whatever. It save me few hours to re-install and then update 4GB on internet again.

Rants Server Configuration

Plesk: Not Recommended

Lately I got a chance to work on lot of server. Working on 6-7 server in 15 days it not much for a full time server admin, but for a programmer who only manage server to fasten his development process is really long ask. During this process I have 2 encounter with Plesk and unfortunately both time Plesk proves to be a pain in neck.

First encounter was during setup a new Windows machine. My client purchase a Leased Term license of plesk and in return plesk send them 10 days temporary license which is expected to install on server and later plesk will auto update the license from online server. This is what I understand during our communication with plesk. However my client took 15 days to pass me the license and server access or you can say they hire me after 15 days of buying license. When I install plesk and try to upload license it naturally says, it is expired. Then we try to contact Plesk support, we call USA support, India Sales support, email to plesk, but no response and no guidance how we get corrected license. After 7 days of talking with plesk we drop the idea of having plesk on server.

Here comes the second problem with plesk. You just cannot run the “uninstaller” because they never build uninstaller for their PERFECT software. luckily my client get the computer formatted at no additional cost, otherwise I have to search and delete all file manually, which I don’t want for two reason. I hate deletion they always leave traces anyways and it is lot more work then expected.

We later use Microsoft’s Free WebsitePanel. An Awesome software with ease of use for our purpose. We can install any version of SQL Server, MySql, PHP, ASP.NET and configure that easily. Plus we pay nothing to get it.

My second encounter came with a Linux/CentOs Based VPS with Plesk, where I need to upgrade the PHP version from 5.1 to 5.3 on client demand. I search on internet and found that Plesk do not distribute PHP so they do no provide any upgrade method. But there is atomic shell script available to help update. I did that update. PHP was upgraded. We run it, but as you have expected Plesk is broken now. Been on VPS it frequently goes out of memory and create all problems. We ultimately decide to drop that server as it is just test server :).

I got saved both time and will never try a Plesk. Horrible software, powered by horrible support. Plesk is good for non experience, but nightmare for custom requirements. Never use it if you love to configure your server for speed or customization.

Joyous MySQL Operating System

MySql 5.5 : funny about it

Just saw the release note of MySql 5.5. Looks exciting upgrade, but what looks most funny about the software is the fact that they claim to improve performance by 1500% on windows [some 372% on linux]. Looks great work by them. But I found this information funny, as my some Open source lover friends always claim that because of windows bad structure mysql perform bad on Windows machine as compare to linux. But now my argument to them is if it is bad structure of windows, then how they achieve 1500% improvement by improving their code and not windows ? Often people forgot when comparing software that run on multi platform that the optimization of core software can only be for either OS [if they share same code], and that cause performance issues.

But whatever it is, I am happy to see MySql perform better on windows as I am bound to use windows with kind of resources I can afford for my development and maintainability I can handle.

Good work Team !!!

Article Operating System Server Configuration

IIRF: URL Rewrite, 64bit resolved

Wow, it was hard 48hrs trying to get URL Rewrite for IIS 6.0. Most of solutions are paid and hence not my piece of cake. Especially when I found a great IIRF which is free. However the developer has problem that he doesn’t have 64bit machine to test and fix. Same is with me, but I manage to get a 64bit version of it from original source with almost no change. Here are steps I used to create my 64bit version.

1. Download Latest PCRE version from

2. Download Cmake from

3. Using CMake, I create a Visual Studio 9 64bit Solution from it.

4. Compile PCRE in 64bit.

5. Now download the Latest Source of IIRF from Codeplex ( )

6. Open its solution file, change IIRFConfig.c file to by replacing pcre_free function call to free function call [2 replacements only]. [it was otherwise giving linker error to me]

7. Now replace 3rdParty files from your PCRE version [you need to compile PCRE in Release mode only, and make a STATIC Library [by default it is dynamic library, though you need both static and dynamic]

8. Now compile your IIRF version and Bingo!!! it is done, you will get a IIRF in 64bit machine.

Now some interesting facts

1. I use Windows 7 with Visual Studio 2008 to do all this on my 32bit machine only. So I cannot test my build as it won’t run 64bit stuff.

2. I had a 64bit windows 2003 VPS with IIS 6.0 running in 64bit mode, I test it up there and it works.

3. I did all this because I want to move this blog to Windows 2003 64bit. I will do it soon.

Now, your award for reading it out, you can download that 64bit IIRF Release version here


Windows 7 USB Installation

If you have ISO of Win 7, but not CD/DVD writer to burn disk or worst case, you don’t have DVD rom to read your disk, then microsoft have a solution for you. Use this tool and get USB Drive converted into bootable Win 7 installation disk and enjoy.

I would say even if you have DVD available still get a USB drive it works much faster then DVD.

Operating System Server Configuration

Internet Auto Dialer: PPPoE Dialer

I need to configure a autodialer for windows 2008 server. Although the PPPoE dialer within windows have “dial on line drop” but for some unknown reason that function wasn’t working for my cause. Also, if a User through which I start/dial connect gets logout the connection gets disconnect.

Someone suggest to use 3rd party dialer, but I am not very keep to install anything “else” on server and I believe that there should exists some method to do it within available windows resources. But when I read article on “10 default things windows should adopt from Linux” where I read about crone feature I got an idea, that why not schedule the RASPHONE through scheduler ? So here is what I do:
I create a batch script that simply ping, if ping is unsuccessful it call rasphone with “-d” switch and dial the connection. now I schedule it to run every 5 minutes after ssytem startup for indefinate time. Simple 2 line batch script and work is done.

Edit (code of Batch file):

@echo off
ping -n 2 -l 1
if %errorlevel%==1 rasphone -d "MyDialupConnectionName"

Edit: 01-10-2011

I change the file to use RASDIAL command instead of rasphone, as when my Internet line has disturbance or my ISP is not available then my schedule keep adding rasphone.exe in Active task like which consume 2.5MB per instance and since I schedule it to run every 10 minutes, it keep consume 2.5MB every 10 minutes and finally my server was doomed when my ISP went down for 2 days during weekend. So new file is


@echo off
ping -n 2 -l 1
if %errorlevel%==1 rasdial "MyDialupConnectionName" Username Password