All posts by Sam Fisher

Sysprep – Windows Could Not Finish Configuring the System Error

After installing a custom image on a notebook via Windows Deployment Services, I received the following error message as soon as the machine started:

sysprep_finish_error

I found this thread and decided the first solution was a bit more complicated than what I wanted to do at the time; I was about give up and chalk up the error message to a compatibility issue with some software I had installed but I decided it would be best to figure it out and know for sure. Then I found this blog post which coincidentally references the same TechNet thread I was looking at earlier. The author of the blog writes that the correct solution was booting into Safe Mode first, waiting for the error and then rebooting again solved the issue; I tried this on my notebook and it worked. It wasn’t until I started writing this post that I noticed the person who posted the first solution in the TechNet thread was using ESET Antivirus; I also have ESET on my notebook which is probably what caused the issue in the first place.

Sysprep – LaunchDll: Failure Occurred While Executing ‘drmv2clt.dll,Sysprep’

I was trying run Sysprep on a spare notebook in order to test image capture via Windows Deployment Services when I received a rather unhelpful error message: “A fatal error has occurred while trying to sysprep the machine.” After looking into the error log I found something more useful and ran a search for drmv2clt.dll sysprep and found the following thread:
https://social.technet.microsoft.com/Forums/windows/en-US/c469805c-98af-4bb2-9655-c86c294470a9/sysprep-failure-occurred-while-executing-drmv2cltdll-fix?forum=w7itproinstall

The OP of the thread figured out that the issue was due to the “Windows Media Player Network Sharing Service” – as soon as I disabled the service I was able to run sysprep successfully. It is interesting how this thread dates back to 2009 and how another poster writes that this issue was fixed in Windows 7 RTM; I was running sysprep on a notebook running Windows 7 SP1 with all current updates.

Mailgun – Transactional Email/SMTP Relay

Recently I’ve stumbled onto Mailgun, a transactional email service targeted at developers; they provide an API to easily craft and send email messages through their service. You can verify your domain with them using a few TXT records and once configured, you can send emails using your own domain. Currently, Mailgun allows up to 10,000 emails per month for free; adding your credit card info to your account unlocks 30 days of log retention (instead of 2 days) and allows you to add up to 1000 domains. They also provide an SMTP relay that uses ports 25, 2525, 467 and 587 and it supports SSL/TLS or no encryption. There have been many times where I tried to configure Scan to Email on an older multi-function printer; most of the time it didn’t support SSL/TLS for email and there was no on-premise Exchange or other email server to relay with. Having something like Mailgun back then would’ve been nice. Now that I’ve found Mailgun, I was able to delete a spare Google Apps account that I was only using to send email notifications for my computer backups and Synology NAS.

How to Internet Speed Test Your VPS

If you’re using a hosted Linux server for web hosting or cloud services, you might be curious what kind of download/upload speeds your server has. Since many hosted servers are running headless you can’t simply go to www.speedtest.net and get your speed results that way. Fortunately, someone created a Python script called speedtest-cli that can be used from the Linux command line to run a simple test.

Simply download speedtest-cli to directory of your choice and run it:

Without any parameters, the script will automatically find the best server and run a test:

You can also specify the –share parameter to generate a URL for sharing the results image:

speedtest-cli-share

You can see the rest of the parameters by running speedtest-cli -h:

Mumble – Low Latency, High Quality Voice Chat

My friends and I originally used Ventrilo for our voice communications during long sessions of WoW raiding and other games; along the way we eventually started using Skype as it didn’t require a server and we didn’t have to push a button to talk. Somehow I stumbled upon this video demonstrating the latency differences between Mumble and Ventrilo and immediately decided that we should be using Mumble for voice chat.

There seems to be plenty of sites you can order Mumble servers from but I decided it would be a good learning experience to build my own from the ground up. I spun up a new CentOS droplet at DigitalOcean and followed the instructions at a blog I found. If you use this guide, you’ll find your mumble.ini configuration file under /opt/mumble-server – the Mumble Wiki has the details on each parameter but Mumble will just work out of the box without doing anything further. Additionally, if you want to use a real SSL cert with Mumble like I did, you can use this guide from the Mumble Wiki.

Pingdom – Free Site Monitoring and Speed Test

I’ve been using Pingdom to monitor the uptime and performance of this blog; I originally found it on someone else’s blog while doing research on Apache/Wordpress. With a free account you can get a monthly report of your site’s uptime, number of outages and average response time. You can also configure a custom page like this one to display an overview of your site’s performance stats. Finally,  you  can use their speed test to benchmark your site’s load time and it offers recommendations on how to improve it; you can also choose from different locations around the world to test your site from.

2015 GS350 Garage Door Opener Pairing

I recently tried programming the garage door opener built into the auto-dimming mirror of a 2015 Lexus GS350. The manual provides two sets of instructions: one titled “Programming HomeLink” and a second titled “Programming a rolling code system”. I initially had some difficulty getting it to work as it was not obvious you need to follow both sets of instructions sequentially if you have a garage door system that uses a rolling code.

So first, with your existing garage door remote pointed at the mirror, you need to press and hold one of the HomeLink buttons on the mirror and then press and hold your remote until the indicator light (on the mirror) blinks rapidly. Then you need to press the training button on your garage door opener unit; now press and hold the mirror’s HomeLink button for 2 seconds and then repeat.  Now the mirror should be successfully programmed to open your garage door. Here is a link to more detailed instructions directly from the GS350 manual.

Voice Chat Overkill – Audio-Technica AT2020 USB

For a long time I was using my Logitech C920 as a microphone for voice chat during gaming sessions with my friends. While the mic quality is decent, it unfortunately picks up a lot of background sounds and even sounds from another room. After watching a lot of Twitch streamers with microphones attached on stands/arms, I decided to try one for myself. Why not a Gaming headset?  Because I’m using Beyerdynamic DT-990 600 ohm version on an Matrix M-Stage amplifier; switching between a pair of headphones for gaming/voice chat and another for everything else is just too cumbersome, not to mention the difference in sound quality.

My research led me to choose between two microphones: Blue Microphones Yeti and Audio-Technica AT2020 USB. Ultimately I decided to go with the AT2020 USB since its smaller and lighter than the Yeti; less distraction in the peripheral vision and also I could get away with using a lower quality mic arm like the Neewer Microphone Suspension Boom Scissor Arm Stand.

For approximately $15 USD, I can’t really complain about the quality of the stand. It holds the AT2020’s weight perfectly without any sag and is secured tightly to my desk via clamp. To attach the AT2020 to the Neewer stand I used Audio-Technica’s AT8458 Shock Mount and On-stage Screw Adapter. The Neewer comes with a plastic screw adapter which I found was too loose to hold the AT2020 in place; I used a piece of electrical tape wrapped around the screw threads to create a tighter fit until I found the On-stage adapter. The shock mount grips the AT2020 firmly and leaves enough space to use a curved pop filter like the Auray OMPF-33.

This setup is probably overkill for the occasional voice chat over Skype or Mumble but the sound quality is significantly greater than the C920’s microphone and picks up less background noises; you can find many videos on YouTube with example recordings of the AT2020.