Team Foundation Server 2015: Complete Install

For various reasons I need to do a complete Team Foundation Server 2015 installation, including all the supported components.  The installations will use VirtualBox as I want to utilize any existing hardware I currently have, including my Linux box.

The required installations as it currently stands are:

  • Windows 7 Professional (Client)
  • Windows 2012 R2 w/ Update (Server #1):  Primary DC
  • Windows 2012 R2 w/ Update (Server #2):  Team Foundation Server 2015
  • Windows 2012 R2 w/ Update (Server #3):  SQL Server
  • Windows 2012 R2 w/ Update (Server #4):  SharePoint Server 2013
  • Windows 2012 R2 w/ Update (Server #5):  Project Server 2013
  • Visual Studio 2015 w/ Update 2 (Client)
  • Team Foundation Server 2015 w/ Update 1 (Server #2)
  • SQL Server 2014 w/ Service Pack 1 (Server #3)
  • SharePoint Server 2013 w/ Service Pack 1 (Server #4)
  • Project Professional 2013 w/ Service Pack 1 (Server #5)

Microsoft’s official stance on virtualization is to use Hyper-V, of course, so I may encounter problems with this plan as we go.

Why not combine some of the platforms above to reduce the number of VMs?  I have plenty of memory available, so there’s no need there to be sparse.  And by giving each part of the installation it’s own VM it makes it a little bit easier to manage snapshots and the installation for each – we don’t have to worry about any conflicting requirements or installation order.

Posted in Server Administration | Leave a comment

Game Developer Magazine Archive

The complete archives to Game Developer Magazine are held online at  If you’re interested in downloading every edition you can use wget and the following command: mirror can be found at

Local mirror can be found at

Posted in Programming | Leave a comment

ASP.NET Core 1.0 Video

I’m usually not a fan of videos.  I much prefer text – it’s more conducive to multitasking and a good writer (not me; I never edit what I write and I am far too verbose) can make a topic very understandable.

Scott Hanselman often represents the bleeding edge of information, and in the video below he takes you through the installation and creation of simple web sites using ASP.NET Core 1.0.  (It’s actually named Introduction to ASP.NET 5; it was created prior to the rename by Microsoft.)

Introduction to ASP.NET 5

Posted in Programming | Leave a comment

Ubuntu Linux: Recover Recently Deleted Files

This requires the extundelete  application; sudo apt-get install extundelete  will retrieve it from the repository.

Two things.  The drive you want to recover files from has to be unmounted.  If you attempt to recover data from a mounted data, extundelete will complain and you will possibly have corrupted data.

Second, your root partition must have enough space to hold the recovered files.  It’s there that a directory named RECOVERED_FILES will be created and the data will be stored.  (Knowing this before hand it would be possible to create the directory and symlink it to a volume which has more space, if necessary.)

First, mount the drive as read only.

Second, execute the extundelete utility.

The option --restore-all  restores all files possible to the RECOVERED_FILES directory with their names prior to before deletion, when possible.

The option --after  specifies that only files deleted after the specified time be recovered.  Said time has to be represented as the number of seconds after the Unix epoch.  You can recover the current date and time using this representation using the command date +%s , which is specifying the current date in seconds.

After that calculate the number of seconds you want to retrieve deleted files for.  10 minutes = 600 seconds; 60 minutes = 3600 seconds; 120 minutes = 7200 seconds.  Subtract the appropriate value from the output of date +%s .

The last parameter ( /dev/sdX1 ) to to extundelete represents the partition you want to recover files from.  Replace the X with the letter of the drive you’re working with.

If you’re recovering a lot of files it will take some time as we’re effectively copying those files to another volume.  extundelete will inform you as it finds and processes each file.  When it finishes, check the RECOVERED_FILES directory and ensure the data you’re looking for is represented.  Once write activity begins on the source volume data recovery becomes much more questionable.

Assuming you’re satisfied with the files, issue one last command to remount the drive as read/write.

So, to recap the necessary commands from this article for easy cut and paste:

Posted in Ubuntu Linux | Leave a comment

Windows 10: Running Enclave

Enclave is another victim of the D3D8 issues we’ve seen with Windows 10.  Audio and default video were fine with my machine, but attempting to change any video setting would result in a “failure to create D3D device.”  (Actually I think these were issues with Windows 8/8.1 as well, but went straight from 7 to 10.)

The first and easiest way to get it running is to change the renderer to OpenGL.  Right click the name of the game in your Steam library, choose Properties, select the Local Files tab, and click Browse Local Files.

You’re looking for the environment.cfg file.  Open it with your favorite text editor (Notepad works just fine) and look for the option VID_RENDER.  Change the D3D selection to OpenGL and save the file.

Here’s my complete environment.cfg file:

Restart the game and you should be free to change video settings as desired.  Side note:  if you’re using a widescreen resolution the game doesn’t stretch the output to fill.  This doesn’t have anything to do with Windows 10.

The second fix is to use a D3D hook like we did with the Sam and Max games.  Install the DX8 to DX9 converter into the game directory.  (The file D3D8.DLL and ENBCONVERTOR.INI should end up in the same directory as the executable for the game, i.e. ENCLAVE.EXE.)

Posted in Games, Windows 10 | Leave a comment

Fingerprints: An eBook Duplicate Finder

My next project is to clean and release Fingerprints, an application which uses the content of an eBook to identify possible duplicates.  If you have an eBook collection in the hundreds of thousands this tool will be invaluable to you.

The basic engine is done; all I’m working on is a suitable UI.  C#/.NET but there’s nothing in it that shouldn’t run on Mono.

Posted in eBooks, Programming | Leave a comment

Steve Slane

I just linked to a good guy I know, Steve Slane, in the right margin.  We’ve been working together the past few months and he’s impressed me with his wit, personality, and nearly endless stories of the military.

Turns out he’s writing a book about Somalia and a bunch of the stuff that went down there, and what I’ve seen of his writing is exemplary.

If you’re into contemporary military history, or just want to discover what Black Hawk Down left out, check him out.

Posted in General | Leave a comment