Tales from IT : The Great Snipe Hunt for DNS

One of the first places I worked was a software development house who’d built themselves up from a small group of developers into a pretty big (2-3 thousand) outfit.  Originally they had two IT departments;  one (where I worked) focused on the developers and one focused on everyone else.  When the company reached a decent size it was decided to merge the two as part of both unifying IT work and stopping all the squabbling between the two departments.

One of the first tasks was to bring all the company servers into a proper server room.  But first, we had to find the company’s servers…

Continue reading “Tales from IT : The Great Snipe Hunt for DNS”

Improving Steam Client Performance

Steam is awesome.  It keeps all my games organised, makes it easy to play with my friends, lets me buy games for cheap and has a library of information about the games I like.

The client also tends to run like a dog.

Or at least, it did.  Read on to find out how a average man sped up Steam with one simple trick!  Origin marketers hate him!

Continue reading “Improving Steam Client Performance”

Dumb Ways to Die : Elite Dangerous Edition

Elite-Dangerous-LogoI’m really enjoying Elite Dangerous, but sometimes I think I’ve got a mild case of Stockholm Syndrome.  Maybe playing the game is best described as being in a relationship.

With a sociopath.

One of the best/worst things about the game is that failure has consequences.  If you lose your ship, you lose it and everything in it.  There’s no reload or roll-back.  If you’re careful you always have enough money to cover an insurance claim which allows you to rebuy your ship and equipment at a fraction of the cost but you’ll still lose anything you’re carrying or have accumulated as data since leaving port.

This has led some teeth-grindingly frustrating failures on my part.

Continue reading “Dumb Ways to Die : Elite Dangerous Edition”

Measuring and Optimising PowerShell Script Performance

I’ve been meaning to experiment a bit with measuring how well PowerShell scripts run and what difference optimisations can make on the running time.  So it’s time to jolly-well do it.

Enter;  Measure-Command (I’m mentally playing the music from Enter the Dragon while writing that)

Continue reading “Measuring and Optimising PowerShell Script Performance”

PowerShell: Synchronizing a Folder (and Sub-Folders) Part 1

There are plenty of commercially available systems for synchronizing the contents of two folders (I’ve used Allway Sync a bit and it works well).  But what if you just want to quickly sync a folder (and sub-folders) to another location using PowerShell?

Ideally I’d want it to take a source folder and synchronize it to a target folder with any missing content being recreated.  If the target folder is already populated, I’d want to update any newer versions of the files and remove anything that has been deleted from the source.

The script (and a breakdown on how it works) follows after the line.

Update : I’ve revisited this script a few times with new additions and modifications.The latest full version of the script is here.  That post also includes links covering the other revisions to the script.

Continue reading “PowerShell: Synchronizing a Folder (and Sub-Folders) Part 1”

PowerShell: Synchronizing a Folder (and Sub-Folders)

This is the latest version of my PowerShell folder synchronisation script.

I’ve revisited this script a few times with new additions and modifications.  If you want explanations about how the script was developed over time or how parts of the script work, have a look at the following posts;

Part 1 covers the basic script to sync two folders.

Part 2 adds the ability to specify exceptions that the sync process will skip.

In part 3 I added an XML configuration file so more complicated processes can be run.

I customised and validated parameter input (parameter sets) and added some proper error checking in part 4.

The script was updated to deal with non-standard paths and to output objects reporting on the changes it made in part 5.

In part 6 I add more use of literal paths (to prevent path errors) and generate statistics.

I add a filter option, turn strict-mode on and optimise the statistics generation in part 7 (plus fix a bug!).

In part 8 I’ve added some validity checks on the XML configuration file.

WhatIf functionality was added in Part 9 plus some corrections to make sure Filter and Exceptions worked correctly.

In Part 10 I added text file logging.

In Part 11 I fixed an odd bug where $Nulls were being added to arrays and added a -PassThru switch.

Part 12 covers some fixes for behaviour and adding the ability to support  multiple target folders (so the source folders can be synced to multiple locations).

A zipped version of the script is here; Sync-Folder

Continue reading “PowerShell: Synchronizing a Folder (and Sub-Folders)”

The Geek Lifecycle

I was thinking about how when I got into one thing as a child it often got me interested in something else.  So how to did I get from Lego bricks to System Design, PowerShell and Sci-Fi?

What we need, is a flow chart!  To the Bat-Publisher! (below the line).

Continue reading “The Geek Lifecycle”