Parting words for dear friends

I have a few thoughts that I’d like to express about Microsoft’s software development before I go. Clearest code wins. Most developers at Microsoft haven’t yet learned the incredible value of writing the clearest code possible.  Once I saw a someone make a checkin that added 200 lines in the middle of a 600 line function….

7

Lastday

Today is my last day at Microsoft. This morning I bike to work & shower.  There’s a lunch out with the team.  In the afternoon there’s an “exit interview”.  Then I leave early for a doctor’s appointment, while I’m still insured. 🙂 Last night I tried to log in to work from home and couldn’t. …

1

How to make a bootable USB flash drive

This can be useful with Windows Home Server in a number of ways. – If you are building your own WHS in a small case, and don’t have a DVD drive, you can transfer the WHS software to a USB flash drive of WHS to install from. – If you are building your own WHS…

1

My Windows Home Server

I built my own Windows Home Server box.  You can buy some decent pre-built units, but I wanted to build my own.  I wanted a small, quiet, low-power device.  I was willing to compromise on performance & capacity to get it.  I decided that my collection of movies should live on my media center, just…

7

Windows Home Server on a virtual machine

Here at Microsoft, when we talk about Windows Home Server, one of the things that comes up pretty often is a question about hosting WHS in a virtual machine under Virtual Server.  Most often people want this because they already have one always-on machine (a doman controller, a media center PC, etc.), and they don’t…

2

Screenshot of Select-GraphicalFilteredObject.ps1 in action

A picture would be helpful in understanding what this script does. dir $pshome | Select-GraphicalFilteredObject.ps1 -title “Jay’s blog is the best!” gives this UI: Select-GraphicalFilteredObject.png

1

Powshell GUI for selecting objects in a pipeline ("Select-GraphiphicalFilteredObject.ps1")

This is an enhanced version of a script from Lee Holmes’ book Windows PowerShell Cookbook (O’Reilly).  The original script takes a pipeline & presents a GUI that lets you select which elements to pass on to the next step in the pipeline.  That’s unchanged, but my enhanced script does a little more: Added ‘All’ and…

2

Domain-Specific Languages

I’m quite attracted by the idea of domain-specific languages, but so far I haven’t found a satisfactory way to create them. For a while I was writing a lot of MSBuild tasks.  I found the programming model for a MSBuild tasks to be a bit awkward.  You have to write properties where fields should be…

2

PowerShell polyglot

Here’s an example of a CMD script that is implemented in PowerShell. @@:: This prolog allows a PowerShell script to be embedded in a .CMD file. @@:: Any non-PowerShell content must be preceeded by “@@” @@setlocal @@set POWERSHELL_BAT_ARGS=%* @@if defined POWERSHELL_BAT_ARGS set POWERSHELL_BAT_ARGS=%POWERSHELL_BAT_ARGS:”=\”% @@PowerShell -Command Invoke-Expression $(‘$args=@(^&{$args} %POWERSHELL_BAT_ARGS%);’+[String]::Join(‘;’,$((Get-Content ‘%~f0’) -notmatch ‘^^@@’))) & goto :EOF If…

1

Is Virtual Memory dead?

To figure out whether virtual memory makes sense, you have to look at the following factors: RAM size Disk size RAM speed Disk speed It’s the relationship between these values that matter.  (All of these are considered in the context of a fifth factor: price.  For example, you can usually find a way to buy…

1