Distribution of Big Files

I had a problem a while ago, with the use of VMs in classrooms and labs.  Let me tell you, no matter where you are, if you have 25+ computers that need to have a local VM (because you don’t have a VDI in place, let alone budgeted), you’re going to experience a bottleneck, and your network admin is going to come running down the hall with screams of distress (yes, I’m talking to you, Josh).

There are very few things that can help in this case.  SCCM can do the job, but it’s not very expedient or elegant.  Pure Windows File Transfer is almost guaranteed to cause issues for anyone trying to connect to the file server.  PDQ Deploy is good, because of queuing, but it’s not really meant for files over 5gb in size.

However, there is one protocol that we’ve learned over the years is perfect for large file transfers to multiple computers: BitTorrent.  Yes, that strange, copyright enticing protocol that has caused ripples across the tech industry and law makers alike.  Please remember, it’s merely a tool, and it matters how you use it.

Let’s continue with the example of Virtual Machines, as those are roughly 10-20gb in size.

First, create your torrent file, preferably on the file server, so it can act as the primary seed.  If you add a tracker, use the file server, since you want this only in your local intranet.

Second, I suggest setting up a Uniform Server or XAMPP for serving your new .torrent file, and BTStorm (the MySQL branch) to act as your tracker.  You can use a file share, but this takes out any authentication issues.

Next, via scripting on your client machines, use Aria2 to grab the .torrent file from your server, and start pulling the files.

Selec All Code:
ShellExecuteWait("C:\aria2\aria2c.exe", "http://webserver/file.torrent --file-allocation=none --bt-enable-lpd=true --bt-tracker=<trackerURL> --on-bt-download-complete=ariapskill.cmd --allow-overwrite=true --dir=C:\ -q")

This simple line of AutoIt script will execute the Aria2 CLI, hidden from the users’ view, and begin downloading the torrent data.  It also uses local peer discovery, so when you’re doing massive numbers at one time, things will go much faster, and no longer bog down your network, or bottleneck at your server.

When the file transfer is complete, instead of running until the computer is rebooted, there’s a configuration line that executes a command to kill the aria2c.exe process (–on-bt-download-complete=ariapskill.cmd).  I used PSKill, from SysInternals, which might be the best way to go about it.

All in all, the use of Aria2 is an easy way to distribute large amounts of data in a short amount of time, and keep your servers from having I/O issues.

Yet Another EVE Mining Utility – YAEMU

There’s a project I’ve been working on for some time, and I’d like to share it finally.  It’s one of those “Yet Another” project titles, this time as a utility for EVE Online for the miners out there.

The basics of this is all about how big the asteroid is, how much the mining laser can extract per cycle, and how much ore can fit in the ship.

Here’s a scenario:

You’re flying a Mackinaw, a medium Type 2 strip miner.  It’s ore hold, at maximum skill, is 35,000 m3, and a total of two turret slots (which you should use Modulated Strip Miner IIs with the appropriate ore crystals), which can net you 1,842.02m3 per power cycle, per turret.

Not every asteroid contains 1,842.02m3 exactly.  That’s a problem for the long run, since while you can go out and start mining away at asteroids, you’ll never hit exactly that target number.  Plus, the longer you let your turret mine an empty asteroid, the more likely the mining crystal is going to be damaged, which will cost you money in the long run.  Do the math, and it’s just over 9 cycles with both turrets running, and over 27 minutes to fill your ore hold.

That’s a long time in space.  Longer if you’re in nullsec.  So you have to be as close to exact as you can, and get back to the station.

So that’s where my utility comes in.  Punch in your stats, choose what you’re mining, and mine away.  Comes in Regular and Mini flavors, just depends on how much data you want to see.

There’s an extra, called HoldInfo that will help narrow down how long is left until the hold is full.  Works similar to the main utility, but uses the quantity data put into the main utility to figure out how much is left until the hold is full.

So I’m comfortable with releasing this.  It’s completely open for alterations, forks, and comments.  No, of course this doesn’t take into account mining drones, nor does it take into account mining gangs with an Orca behind them.  If you’re getting buffs from an Orca, run the Config tool before running the utility.

If you’re interested, the project is up at Bitbucket: https://bitbucket.org/Harshmage/yaemu


Computer Builds of 2014

This last Summer, my father-in-law began to indulge in Warcraft again, and quite frankly, his laptop couldn’t handle it.  So, of course, he asks me if he should by an Alienware, or some other pre-built computer from different manufacturers.  After answering questions, I offered to build him a new rig, and then that opened up a whole plethora [do you know what a plethora is?] of options.  In the end, we acquired parts, and I assembled the Beast.

Case Corsair Graphite 600T White $179.00
Motherboard MSI 990FXA-GD65 v2 $149.00
CPU AMD FX-8350 8-core 4.0ghz $159.00
CPU Cooler Zalman CNPS9500A-LED 92mm $42.99
Memory G.Skill Ripjaws X Series 16GB DDR3 1600 $164.99
Graphics Asus AMD R9 290 4GD5 $349.99
HDD WD 1TB Black $69.99
PSU Seasonic 660w 80+ Platinum $144.99
Total Value: $1,259.95

We got almost all of the parts cheaper than what I’m listing.  The R9 card was an eBay purchase for a deep discount, but everything else was completely new.  In the end, I think we spent $700 on the entire build.  Not too shabby, I gotta say.

But then I got to build my wife a new box, and did exceptionally well:

Case Corsair Graphite 600T Grey $60.00
CPU AMD A10 7850 3.5ghz w/ R7 graphics $169.99
CPU Cooler Zalman CNPS9500A-LED 92mm $42.99
Memory G.Skill Ripjaws Series 8GB DDR3 1600 $83.99
HDD WD 1TB Blue $57.99
PSU Corsair CM450w 80+ Gold $69.99
Disk Asus Blu-Ray Read/DVD-CD Write $57.99
Total Value: $542.94


Site Redesign and Realignment

It’s that time again!  This time, I’m redesigning to meet my company goals and skills.  I’ll still have the blog over here, so I can talk about tech, brews, and other stuff.

And no, I haven’t quit my day job.  We’re still over here, making system images, programming in AutoIt, and now making a new CMDB to replace GLPI (iTop).

Google Chrome – Always Download the Latest

As a Desktop Admin, I’ve found certain tasks to be very bothersome.  Some apps just get updated far too often for any single person to monitor, Chrome being one of them.

I attempted to find a static link to download Chrome on a regular basis, and there is a solution, but nothing official (of course).  If you download the Chrome MSI, you’ll see the URL where it’s coming from as some long, gigantic string that only makes some sense.  It looks something like this:

Selec All Code:

To break it down, translate the %xx code to the true character encoding:

Selec All Code:
https://dl.google.com/tag/s/appguid={8A69D345-D564-463C-AFF1-A69D9E530F96}&iid={9B88D2E6-EF2A-B40D-C07B-95D6CA14875C}&lang=en&browser=4&usagestats=0&appname=Google Chrome&needsadmin=prefers/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi

The good part is, you can break this down to make a URL request simpler.

  • appguid={8A69D345-D564-463C-AFF1-A69D9E530F96} is the key piece of the URL that NEVER changes.  Definitely keep.
  • iid={…} section is unique to the download session, so it can be tossed out.
  • lang=en section is default to US/GB English, but can also be removed as it’s the default of the application.
  • browser=4 means…I have no idea, but it’s not needed for immediate download.
  • usagestats=0 I believe is a statistic report to the Google servers on download stats.
  • appname=Google%2520Chrome (which ends up saying Google Chrome with a space) is also superfluous.
  • needsadmin=…  is a keeper, otherwise the URL won’t work.

In the end, here’s what the URL looks like:

Selec All Code:

Bonus Round: Here’s a bit of code in AutoIt that will help with deploying Chrome (the Business MSI) to your environment (use only if you have a decent Internet connection speed to the desktop):

Selec All Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <_FileGetProperty.au3>
;Ensure running as Administrator account
If IsAdmin() = 0 Then
	RunAs("", @ComputerName, "", 1, @AutoItExe)
;Set paths and existing version info
If @OSArch = "x64" Then
	$ChromePath = "C:\Program Files (x86)\Google\Chrome\Application\"
	$installedVer = FileGetVersion($ChromePath & "chrome.exe")
	$ChromePath = "C:\Program Files\Google\Chrome\Application\"
	$installedVer = FileGetVersion($ChromePath & "chrome.exe")
;Get Chrome MSI
InetGet("https://dl.google.com/tag/s/appguid={8A69D345-D564-463C-AFF1-A69D9E530F96}&needsadmin=prefers/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi", @TempDir & "\GoogleChromeStandaloneEnterprise.msi", 1)
;~       https://dl.google.com/tag/s/appguid={8A69D345-D564-463C-AFF1-A69D9E530F96}&iid={this is random}&lang=en&browser=4&usagestats=0&appname=Google Chrome&needsadmin=prefers/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi
$dlVer = _FileGetProperty(@TempDir & "\GoogleChromeStandaloneEnterprise.msi", "Comments") ; Returns an array with all properties of the file
If StringInStr($dlVer, $installedVer) Then
;~ 	MsgBox(0, "Vercheck", "Same-same" & @CRLF & "Local Ver: " & $installedVer & @CRLF & "DL Ver: " & $dlVer)
	FileDelete(@TempDir & "\GoogleChromeStandaloneEnterprise.msi")
;Remove the policies that might stop the Chrome install
ShellExecuteWait("sc", "config gupdate start= auto", "", "", @SW_HIDE)
ShellExecuteWait("sc", "start gupdate", "", "", @SW_HIDE)
;Install Chrome
RunWait("msiexec.exe /qb-! /norestart /i " & @TempDir & "\GoogleChromeStandaloneEnterprise.msi")
;Copy the master_preferences file to the appropriate directory
FileCopy(@ScriptDir & "\master_preferences", $ChromePath, 1)
;Disable Google Update
RegWrite("HKLM\Software\Policies\Google\Update", "AutoUpdateCheckPeriodMinutes", "REG_DWORD", "0")
ShellExecuteWait("sc", "stop gupdate", "", "", @SW_HIDE)
ShellExecuteWait("sc", "config gupdate start=disabled", "", "", @SW_HIDE)

Some things…

Off to the side, you’ll probably see that there’s a couple more icons for things.  Please, don’t let me distract you from clicking on them.  Go ahead!

They, aside from my Untappd profile page (the gold icon with the two bottles), are Kickstarter projects I’ve helped fund.  They were awesome going in, and all are providing adequate updates on a regular basis.  The only ones I missed out on that I wanted was Wasteland 2 and the Pathfinder MMO.

I’ve also updated my Battle.net profile links to include my StarCraft II profile.

Ah, and BlizzCon 2013 will be happening.  It’s in November.

Windows 8 Start Menu Replacements

 As Windows 8 is now out in the consumer market, there’s a new, emerging market designed specifically for Windows 8 users: Start Menu Replacements.

I’ve dug out a handful of these applications, and there have been good sides and bad sides to them all.  It also needs to be noted that all of these replacement applications are separate processes from the Windows 8 Kernel, so you see them on the Task Manager process list, and I’ll show you the processor usage with the Start Menu open.



Pokki (Free) – https://www.pokki.com/

Great design, the most unusual of the lot.  It’s currently under development, and still having the bugs worked out, but it’s quickly rising to the top of the pile (see: Google Search).

It also has the unique ability to add shortcuts to your favorite web applications, via it’s own App Store.  This may be the point of contention and confusion for college campuses that limit user profiles.  Pokki is built off of Chromium, the Google Chrome project.  This is good, as it promotes interoperability with Google Apps.  This is bad, as some apps require Flash Player to run, and that’s not included.

Installation is done via a One-Click-Install method from the website.  This also means that any updates are easily handled just by the virtue of the computer being on.  There’s another problem with it: It’s a per-user install.  It installs to C:\Users\\AppData\Local\Pokki.  That’s no good for multi-user environments.

There’s also a couple more nit-picking items I feel I need to share with you.  First is, Pokki has no configuration option.  No way to go in and make certain features your own.  Secondly, Pokki fails to acquire full control of the Windows key on your keyboard.  If you’re in a native Windows 8 application, pressing the Windows key will bring you the Windows 8 Start Menu, not the Desktop with the Pokki menu.  Once to the desktop, however, Pokki has the key completely.

Pokki All Apps Menu

Pokki All Apps Menu

Pokki App Store

Pokki App Store

Pokki Process Usage

Pokki Process Usage




Power8 – http://code.google.com/p/power8/

A take off the Windows 7 Start Menu, Power8 is marketed towards power users.

The ability to pin apps is there, however the Windows 7 style Jump Lists are not.  It’s got the quick functions for shutting down, but it takes up more real estate than needed.  The Start Menu itself acts like a sub-menu, with the folder expansion style.

While I understand that Power8 is still under development, the graphic button for the menu is noticeably bugged.  It was very unhappy with any setting I chose.

The settings can be found by right-clicking on the menu button, and choosing the settings area.  Processor usage, Power8 runs on a single threaded executable, but said process uses ~27mb of memory; opening the Start Menu however, yields next to nothing for CPU time.

Power8 Start Menu Flyout

Power8 Start Menu Flyout

Power8 Settings

Power8 Settings

Power8 Process Usage

Power8 Process Usage


Initial Configuration Window

Initial Configuration Window

Start8 (Pay – $4.99) – http://www.stardock.com/products/start8/

I’m going to show a little bias here.  Anyone who’s read anything about Stardock should know that they are the most awesome, customer service, anti-run-of-the-mill company out there. And they produce good, clean software.

That being said, Start8 is customizable only to a point, but still flexible and appears to be dependable.  It can be configured to look like the Windows 7 Start Menu, or like the Windows 8 UI (only smaller).

While being a paid for application, it has more than just a lot of promise; support comes with it too.  Process time is minimal, and menus fly out smoothly.  The only slowness I met was in the Virtual Machine (VM) when I resumed the session.

Start8 Windows 7 Style

Start8 Windows 7 Style

Start8 Windows 8 Style

Start8 Windows 8 Style

Start8 Process Usage

Start8 Process Usage




ViStart (Free) – http://lee-soft.com/vistart/

This is one of those “good enough” applications.  They’ve replicated the Windows 7 Start Menu to the letter, with a couple of extras (something they call Ultra Blur, and custom Start button icons).  While simple, it’s too simple, and does not match the Windows 8 experience.

ViStart also attempts to install with a Search Bar for IE, so just be wary of that.

There are bugs with this.  The print screen function is locked out when the Start Menu is opened, the button itself has a graphical bug to it (bad transparency, I think).

Processor wise, ViStart does some good, with a single thread process, but also has a secondary process called ViUpdater, which appears to be an auto-updater application.

ViStart Start Menu

ViStart Start Menu

ViStart Options Window

ViStart Options Window

ViStart Process Usage

ViStart Process Usage


Start Menu X

Start Menu X

Start Menu X (Free, Pro $19.99) – http://www.startmenux.com/

Start Menu X is one of the “branches” of a line of an existing Start Menu replacements; Start Menu 7, Start Button 8, and Start Menu X.  But don’t let the lineup confuse you.  X is the latest version.

This app starts as a freeware application, but can be upgraded to the Pro version.  The benefits of the Pro version are minimal, but if you use them, they can be very powerful; specifically the tab function.  Cost wise, if you have no need for the Pro features, the free version is probably good enough.

Playing with the application, it’s smooth and is easy on the eyes (matches the current theme).  It takes up a lot of the screen area (but less intrusive than the native Windows 8 menu), and generally works as intended, with a nice, clean operation.  A simple interface will make this a good option for many.

It includes a Power Control Panel, where you can decide to shutdown, lock, etc.. and have a timer for such an event (like when you’re downloading a big file, but it’ll be done in an hour, you can tell the computer to shutdown in two hours or so).

The downside is that clicking any part of the app that is a Pro feature, it will prompt you to buy it.  Otherwise, the process usage is good, and is nice and speedy!

Start Menu X Menus

Start Menu X Menus

Start Menu X Settings

Start Menu X Settings

Start Menu X Process Usage

Start Menu X Process Usage


Classic Shell

Classic Shell

Classic Shell (Open Source) – http://classicshell.sourceforge.net/

Personal favorite of the free grouping, Classic Shell is probably the most customizable, flexible, and hassle free of the lot.

Configuring it is easy enough, though you will have to open the Advanced option to get the rest of the goodies.  It has a Windows 8 option for skin and button, and a plethora of other options.

As the lightest wight of the bunch, it has a great number of things going for it.  The latest release adds an Apps menu for all of your native Windows 8 applications, but still keeps a great number of the original Windows Start Menu options intact.  For enterprise users, the settings can be made, and exported for your mass deployments.

Classic Shell Menu

Classic Shell Menu

Classic Shell Settings

Classic Shell Settings

Classic Shell Process Usage

Classic Shell Process Usage


If you’ve made it this far, here’s to you!  And here are my suggestions and top pick!

Classic Shell is great for the most users.  The processor usage is light, and the options are great (if not a little too much).  Unfortunately being Open Source makes support a bit more difficult, since it’s a job for only one person.

Start8 is a great choice for just about the rest, as it’s a paid for, highly supported application.  The Windows 8 configuration is a great bonus to get people used to the feel of the native Start Menu.

Start Menu X is, however, perfect for the power users out there (so long as you go Pro).  The price tag is a little too high for my opinion, and I personally will stay with the freeware version unless the price comes down to meet or beat Start8.

The Security of Online Game Management Services

Today, I was asked to give my opinion and technical know-how on Steam.

My 15-year-old is quite the computer lover.  Among other things, enjoys playing some games on “Steam” (owned by ‘Valve’), and talking to a couple friends via Steam’s server.

My wife is very concerned about our home computer’s security, specifically that outside parties can hack into our computer via Steam.  Are her concerns legitimate?

What follows will possibly be overly complicated, but should give you a general concept into what can and cannot happen via Steam or any other legitimate (EA/OriginImpulse) online game management service.

Steam functions primarily as a storefront and product licensing operation, with downloadable content (games) which can be managed by the user, and have a social network of friends.

From the licensing perspective, purchases are for the lifetime of the user.  As in, what you buy in Steam, you own.  Forever.  And it’s not tied to your one computer.  You get a new computer, you can install the Steam client, and get all of your games back, and, with some newer games, saves from those games.  The downside is, if you have multiple users for that computer, who have different Steam accounts, they cannot play your already downloaded games unless they have purchased them for themselves.

The “social network” of Steam is limited, and can be completely ignored if you don’t want to deal with it..  It’s nice to have an achievement page (which is automatically generated with an account), and you can share that page via other social networking services (like Facebook), but it’s more for that personal “warm and fuzzy” feeling.  You can add friends to a list, and chat with them, join games with them (depending on the game), and see what they’re playing.  But overall, the social part of Steam is useless.

In the face of malicious hackers, have a long, and complicated password.  Uppercase and lowercase, and throw in a ! or any other special character to make it near impossible to guess, and take hours to brute force.  Just in case, DO NOT ALLOW YOUR CREDIT/DEBIT CARD TO BE STORED ON THE ACCOUNT!

There are other measures you can use to protect your computer from the strange and wild Internet.  One that I use is PeerBlock, which stops outside sources that even look shady from getting in (and likewise for things going out!).  Additional lists of addresses can be added manually, or by importing a .p2p file (I find I-Blocklist is useful, as others have done the work already, in the case of the Steam blocklist).  Some items are good (the Allow type) and some items are bad (the Deny type).  Steam would be in the Allow, for me.

Within Steam, there are no Parental Controls.  M rates games can be blocked only by the user account birth date.  To help with this, there are other tools that can be used instead.  Windows 7 has Applocker (tutorial), and a variety of other applications out there.  I will not post any here, as many of them come with key logging functions, which I will NOT abide by.

Essentially, Steam is a safe application to be running.  Don’t post anything you wouldn’t tell a stranger, and you’ll be fine.


As for Origin or Impulse, I haven’t had the pleasure (or displeasure) of working with those applications in many years (in the case of Impulse, never for Origin, though I’ve heard horror stories).  I would guess something like Steam, and still apply the rules above to these as well.


Today I watched a MokaFive demo.  Its like a VM, but with separate-able profiles, similar to AppV.  It leverages the local hardware for the VM, uses incremental updating for version changes, and has some nice policy features.

[Devil’s Advocate=1]

The “trial” is useless.  It’s operated by the MokaFive team, using their environment, which means you don’t get to join a MokaFive VM to an ActiveDirectory domain, and you can’t get AppV installed at that point.  Their Windows 7 image is the trial (see 30-day) edition, so there are more problems with just that hurdle.

The suggestion of using the Adobe Creative Suite is useless, as the great and mighty Adobe states that any time you put a CS product in a virtualized environment, support is then void as this violates the license.

On a different scale, the Autodesk products CAN be used in a VM, however we have learned from that mistake, and a local installation results in a smoother utilization of the software.

Good ideas, some centralized management, but you’re still running a local VM on a local machine.  Unless you use a USB drive deployment for the VMs, there is very limited mobility (“cloud”) in this product.

MokaFive is basically VMware Player/Fusion with a shimmy and a shake.

[Devil’s Advocate=0]

Autodesk is shipping light!

Autodesk, the owners of AutoCAD, Revit, and 3DS Max (plus a lot more than I can list here), offer a particular licensing contract with higher education facilities.  The Master Suite (for Education).

Essentially, it’s got the whole works that you could possibly ever play with, sans a couple packages that not many people use, geared heavily towards CAD, 3D modeling, and animation.  It has just about one of everything, in the general usage, utility sense.

Normally, we get this huge folder of disks, between 40-48 of them.

This year?

Autodesk Education Master Suite 2013 Packaging

It's so small!

Yep.  A USB drive.  64gb, with everything.  Somehow, they managed to fit (with compression) 120gb of data.  Solid metal housing, it’s got a nice heft to it, and has a hole drilled into it for a lanyard.

Admins beware though!  Creating deployments may not work directly off the drive!  You may need to copy the data to a local disk, uncompressed, to create your network deployments!