Node.js is faster on Windows than on Linux – what can we learn?

In an interesting interview on DevBeat (, Rackspace systems architect and Node.js contributor Paul Querna talks about the Node.js implementation on Windows. (Original video here:

Paul’s points in the interview about making use of I/O completion ports on Windows highlights a key issue in cross-platform software development: Windows has some incredibly powerful and advanced APIs, which – if used directly – can provide huge performance benefits for software that uses them.

Continue reading Node.js is faster on Windows than on Linux – what can we learn?

Use DiskPart to remove GPT partitions

The standard Windows XP GUI tools will not allow you to modify a disk which uses the GUID parition table (GPT) instead of the standard MBR. This is a particular problem if you have used an external disk in a Mac; for example, I used an external HDD as the TimeMachine backup device on a friend’s MacBook. Now that she has her own external HDD, I wanted my disk back, but Windows appears not to recognise the disk.

To the rescue comes DiskPart (courtesy of pitumbo).

DISKPART> select disk N

DiskPart itself has a range of useful options for managing and inspecting disks, partitions and volumes. For example:

WMIC – command-line control of WMI functions

Before Windows PowerShell and all the flexibility (and complexity) that brings, there was WMIC, the command-line client for WMI.

WMIC works out of the box with Windows XP and later (including Server 2003 and Vista), and allows access to operations provided via WMI: “a powerful, user-friendly interface to the WMI namespace”. Upon first use, the WMIC environment is installed:


Please wait while WMIC is being installed...

Several tasks which normally feel very GUI-oriented, such as checking the battery status, are made very “command-line” with WMIC:

C:\> WMIC Path Win32_Battery Get BatteryStatus /Format:List


In this case, the batter is discharging. You can see the beginnings of PowerShell in the syntax and detailed status/operations available. Another useful command is useraccount, to return details of the user accounts on the system:

C:\> WMIC useraccount list brief
AccountType  Caption                  Domain     FullName       Name   SID
512          SKELTON-M\Administrator  SKELTON-M  Administrator         S-1-5-21-68**03330-*********-839**2115-500
512          SKELTON-M\Guest          SKELTON-M  Guest                 S-1-5-21-68**03330-*********-839**2115-501

Or how about terminating a specific process (notepad.exe) from the command-line? Here we go:

C:\> WMIC process where name='notepad.exe' call terminate

Executing (\\SKELTON-M\ROOT\CIMV2:Win32_Process.Handle="4652")->terminate()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
        ReturnValue = 0;

It’s helpful to install the WMI Administative Tools, so you can explore the WMI namespace and investgate the operations available to you via WMIC. For example, to determine the name of the time zone currently used by the system, use the TimeZone path:

C:\> WMIC Path Win32_TimeZone Get StandardName /Format:List

StandardName=GMT Standard Time

The time zone for my computer currently is “GMT Standard Time”.

For simple operations which do not merit PowerShell scripts or installation, WMIC is a good choice.

How to tile groups of windows in Windows

A little-known trick in Windows for arranging desktop windows quickly is to hold down CTRL, select items in the task bar, then right-click: you can cascade, tile, minimze or close the group of selected windows together.

The result is immediately-positioned windows, as you like them. Apparently, this window-controlling feature has been around since Windows 3.1

Formatting an external drive with FAT32 under Windows

The GUI in Windows XP later OS’s allows only NTFS as the format type for external drives; not too handy when you want to transfer files both ways between a PC and a Mac, as Macs can only read (not write) NTFS partitions.

However, you can drop into a command prompt to force formatting using FAT32:

format /FS:FAT32 X:

This is good for drives up to 32GB, which is still a bit small. For drives of up to 8TB, you’ll need a partition tool such as SwissKnife, PartitionMagic or Acronis Disk Director.

Original info from here: