VMware Workstation “hostWin32.c:559” error

When running VMware Workstation 16 or 17 on a Windows host, you perhaps encounter the following error:

PANIC: VERIFY bora\vmx\main\hostWin32.c:559

This error happens when you have a Windows VM running and then try to launch a second Windows VM. As soon as the second machine boots into the desktop/login, it crashes, and the machine stops.

Luckily, this VMware forum post gave me a workaround that solved the issue. Hopefully, it will be helpful for you as well.

I am using an Nvidia graphics adapter and have set the “Max Frame Rate” and “Background Application Max Frame Rate” settings via the Nvidia Control Panel to values other than “Off”. This is what caused the issues for me.

The solution: Simply add a program-specific customization for vmware.exe, ensure both settings are set to “Off” in the customization, and you should be good.

1Password SSH-Agent + Pageant on Windows 10

1Password is a great password manager. For a little less than a year 1Password can act as your ssh-agent, meaning that you only need to store the public keys locally, the private key comes from 1Password itself. There are a few things to note and set up if you are on Windows.

I hope this post will help people interested but somewhat bewildered by some parts to get it to run and understand the relevant bits and bops.

Please note that this post assumes that you already have Windows’ own version of the OpenSSH client installed and possibly updated to a newer version. I also assume that you have already imported at least one SSH key pair (public/private key) into 1Password (under the SSH Key type).

Windows Hello

A requirement for 1Password’s ssh-agent is that you have Windows Hello enabled. The documentation on 1Password’s end makes it sound like you need a Windows Hello-compatible webcam or some kind of fingerprint sensor or whatnot.

This is not true, you can also use a simple PIN as your 2nd factor. This is easily set up via Windows 10’s Settings – Accounts – Sign-in options.

Disabling Windows’ SSH Agent

Open the Computer Management, browse to the services and ensure that, if it is present, the “OpenSSH Authentication Agent” is disabled.

This is required because the ssh-agent on Windows is published through a pipe. If the OpenSSH Authentication Agent is running, the pipe is already present – causing an issue with 1Password trying to fill that role.

Enabling 1Password SSH Agent

Within 1Password’s desktop client, go to the settings – Security and enable “Unlock using Windows Hello” as well as “Show Windows Hello prompt automatically”.

Now switch to the Developer tab and tick the box “Use the SSH agent”.

Configuring the SSH Client

For the sake of argument, let us assume that you have a dedicated ssh key for communicating with GitHub and that you already imported that ssh key into 1Password.

How do we get the Windows-version of the OpenSSH client to use the agent for this?

Edit your ~/.ssh/config file and generally enable the agent:

Host *
  IdentityAgent //./pipe/openssh-ssh-agent

We want to specify the exact key to use for GitHub, though. So let’s return to 1Password, select the public key of your ssh key and save it locally. Move the file to your ~/.ssh directory and rename it (i.e. id_ed25519_github.pub).

Edit the ~/.ssh/config file again and add/alter an entry for GitHub:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github.pub
  IdentityAgent //./pipe/openssh-ssh-agent
  IdentitiesOnly yes

Save the configuration. If you still have your pair of pubkey/privkey in the ~/.ssh directory, move it aside for a test. By instructing the use of the id_ed25519_github.pub, 1Password will look up the matching ssh key from it’s archive.

Otherwise, like other ssh-agents, it would try several keys. We do not want this.

Now you should be able to connect to GitHub via ssh and have 1Password provide the proper key:

ssh -T git@github.com

If you see the input field for your Windows Hello pin, things should be peachy:

Hi XXXXXXXX! You've successfully authenticated, but GitHub does not provide shell access.

Sweet stuff! You should also be able to check the contents of your 1Password ssh key archive:

ssh-add -l

Even better!

Git

Git for Windows ships with its own copy of ssh. We need to make sure the Windows version of the OpenSSH client is being used. So, as per documentation, we explicitly set the path to the ssh client:

git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

If you have downloaded a newer version of the Windows-version of the OpenSSH client, point it to the appropriate executable.

Pageant

But what about applications that use Putty’s Pageant? Having two instances provide keys is not what we want.

Thankfully, WinSSH-Pageant is able to bridge between the two tools. Simply install WinSSH-Pageant, make sure to close Putty’s Pageant and… well, that’s it.

If you use WinSCP or other software using Putty’s components, WinSSH-Pageant should relay the agent requests to 1Password, meaning that the Windows Hello PIN will be prompted and keys will be delivered from 1Password’s archive.

Friendship ended with WebDrive

Now RaiDrive is my best friend.

After more than a decade I have finally migrated away from WebDrive. It is not that I am particularly unhappy with the product, so South River should not feel bad here. My use-case for the software simply changed over the years and WebDrive did not cater towards that.

Back in the 2000s I primarily used WebDrive to keep a connection to an FTP or SFTP system to easily manage and edit files. A perfect fit, a very reliable tool. Especially in a landscape where many applications only knew how to work with local (as in: on a local drive) files. With the advent of rich media content online, however, WebDrive’s approach to file access no longer fits my requirements.

These days, I manage pools of video and audio on remote systems. I do not want to download an entire file to “peek” into it. It is problematic for collaboration. And more importantly: It is slow and inefficient.

Enter RaiDrive, a Korean-based software that does this very well (on supported protocols).

I read some buzz online about Raidrive not being reliable, however, I cannot mirror that sentiment. The software has been reliable for me during the 2 months of daily use.

Being the old fogey that I am, I make no use of any of the hip “cloud” integrations both products offer, so I cannot speak to the quality of those. However, Raidrive uses EldoS/Callback’s reliable components – the same ones also used in my favourite sync tool Syncback Pro.

The SemWare Editor is now available for free

There are two things you cannot ever have enough of: Good text editors and good file managers.

One of the arguably best commercial console-based editors for Windows with a history going back all the way to the 1980s is now available for free: The SemWare Editor.

If you have never heard or tried TSE Pro, imagine a mix between the simple and intuitive CUI of a EDIT.COM with the rich feature set of a VI, allowing you to extend and alter how the editor works by adding or modifying the included macros. The editor comes in two flavours: A true console application and a Windows-only pseudo console that has a few more bells and whistles. Of course, the purebred console version works great via SSH/telnet.

Now is a great time to give TSE a try, as the following announcement came on the mailing list:

Yes, this and future versions will be free.
The good Lord Willing, (ref: James 4:13-15),
I plan to continue working on TSE.

Sammy Mitchell

I cannot praise the editor enough and will vouch that it is worth every penny of its previous license cost.

You can grab the setup on Carlo’s TSE page.

Improve your OpenSSH experience on Windows 10

Since Windows 10 1709 Microsoft offers an optional SSH client feature. This is pretty sweet and much needed. Unfortunately, the current [as of writing this post] version 0.0.1.0 that you can install via the Features panel or the command line lacks some neat features like VT mouse support.

I can already hear the sneering from some people. Hey, sometimes I love me a simple click instead of remembering some keybindings across different applications. I am getting old and forgetful! So let’s give this old man some mouse support for his Windows OpenSSH.

Thankfully the OpenSSH version Microsoft offers via the optional feature is nothing special. You can simply go to Microsoft’s GitHub project for OpenSSH on Windows and download a newer release.

In fact, you do not even need to explicitly uninstall the existing feature, since it’s home directory is added to the PATH environment variable (C:\Windows\system32\OpenSSH), so you can simply unpack a freshly downloaded zip archive with a newer version of OpenSSH, extract it a location of your convenience and add that location higher in the PATH hierarchy.

And just like that you can have your mouse support, so you can pull things around in tmux.

SyncBackSE: Schedule a Move Operation on Windows

I have several file-system operations I cannot perform during the day, the machine’s performance would suffer and I would get angry e-mails. So I have to schedule simple move operations.

Now I could do this with Windows’ own task scheduler but I would have to write either a vbscript or a batch file to specify the details. Performing a dry run also sucks. Apparently there’s no dedicated software that gives a new “Schedule Move” or “Schedule Copy” context operation (hint: I’ll develop one once I have beaten Grand Theft Auto V) for quick use, so I started experimenting.

It seems the amazing SyncBackSE fits the bill. I already own a license for this great piece of wizardry to perform sync operations between multiple machines and backup my files. Turns out you can configure a new, one-time job to be your scheduled file mover:

  1. Create a new backup profile and choose the directory above the one you want to move.
  2. Choose “Select Subdirectories and Files” to specify the directory/directories you want to move.
  3. Now select your target directory.
  4. Add a schedule
  5. As a condition set “Move file to target”

SyncBackSE will automatically move your file, produce a nice log for you to review and even allows for a dry run.

Bring order to your chaos with File Juggler

I’m a sucker for sweet file-management tools. My ever-growing/changing list of essentials has a new addition and I welcome the fabulous File Juggler. File Juggler is a rather simple, yet powerful tool that allows you to define rules based on file-names, modification date and other criteria and perform operations on those files.

The reason I decided to shell out the 25$ for the tool is because it just works. No bells and whistles, no stupid, overloaded crap UI. Select a few sources to monitor, define your rules, done. File Juggler will automatically keep watch of the files and move, delete, rename or extract them when the rules apply.

In the current version 1.3 you cannot move entire folders around, unfortunately. So if I wanted to move .\a\b to .\c\b the files from .\a\b would end up in .\c\. Fortunately the developer behind the application is already working on folder operations for version 1.4, so I have high expectations 🙂 .

Windows web stack woes

For quite a while I was not satisfied with the performance of one of my Windows 2008 servers. While the machine had reasonable processing power, a fair amount of RAM and almost no disk IO the rendering performance of PHP pages on IIS 7 was simply atrocious.

Different PHP versions, lots of TCP and Wincache tweaking – no cigar. What could possibly cause the server to wait for about 8 seconds to render a simple WordPress front page?

The answer puzzled me: localhost.

Due to the IPv6 address of the machine, some kinky routine preffered the IPv6 address over the IPv4 one, causing significant slowdowns on each and every request to MySQL.

After simply replacing “localhost” with “127.0.0.1” in all configuration parameters I got the kind of snappy performance I expected. Crazy stuff.

Maxivista v4 Mirror Pro Review

Monitors don’t cost a fortune anymore. I remember buying my iiyama 21″ TFT in 2004 and I also remember that it wasn’t cheap.

With the advent of technologies like Eyefinity even non-professional users crave for more screen estate – and the industry is happy to oblige. But there’s one big problem: There’s no room left on my desktop. Mobile phones, laptops, trinkets, joypads of all sorts as well as beverages fight for their spots. But hey, what if we could just recycle some of the screens we already have on our desktops?

Enter Maxivista, a software that allows Windows systems to extend their screen estate by utilizing other Windows/OSX|iOS systems’ screens. The idea isn’t new and there’s also a free program called ZoneOS ZoneScreen that basically does the same (minus the OSX|iOS compatibility) plus a few mediocre solutions geared towards tablet/smartphone compatibility.

Papers and tech demos are fine – but does Maxivista really work well in everyday use?

Let me write up front that I tested MaxiVista v4 Mirror Pro which is the latest and greatest version with all the bells and whistles. If it’s not in here, it ain’t there. With a price tag of 99 EUR the software is not exactly a bargain, add a few more Euros and you could get a nice new monitor.

There are a few limitations with MaxiVista:

  • Aero will not work while MaxiVista is active.
    I don’t really care for blurred windows and transparency, so I’m fine with this. However – this also means that kinky stuff like overlays or accelerated graphics operations won’t work either. So while you can watch a movie on your host’s screen, you cannot drag the window to a MaxiVista screen and continue; there’s no cpu-based drawing fallback. This means that applications like XSplit will not work on MaxiVista screens.
  • You can use a maximum of 3 machines as slaves.
    If I interpret the FAQ correctly each of these machines can have up to 2 screens connected to them, giving you a maximum of 6 additional screens. Personally I wouldn’t exactly call this a limitation since this gives you a lot of extra screen estate to play around with.
  • There’s an OSX/iOS version but no Linux/Android port.
    While I understand perfectly well that supporting a variety of platforms can be tricky, I’d really love at least an Android version of MaxiVista.

Bartels Media states these limitations on the MaxiVista homepage, so they don’t come as a surprise and we know what we’re getting into.

MaxiVista features a WDDM driver, enabling the program to work perfectly on a 64bit Windows system and is just so much more comfortable than ZoneScreen. Once the software is installed you can generate a viewer program for either 32bit or 64bit systems. Copy the viewer program onto the target machine (i.e. your laptop), run it and you’re pretty much done, Aero gets disabled automatically – zero configuration is required.

There is one thing that makes MaxiVista absolutely great: There are plenty of compression options to ensure you get the best performance out of your network. Whenever you feel that an applications displays too sluggish you can run an integrated optimization tool that really does a wonderful job of adapting the compression options to suit the application.

In the default settings MaxiVista isn’t much of a killer, this is most apparent when you’re trying to scroll through webpages on a MaxiVista screen for the first time: The scrolling is choppy, there’s tearing and general slowdown. Optimize the application by following the process’ instructions and you will barely notice that you’re working over the network. The screen will get a little choppy if you fill it completely with dynamic content which is expected and still above your average RDP, NX or VNC performance.

The performance and quality is good enough to watch videos fullscreen on a 1680×1050 screen over network in very good quality – if your CPU is powerful enough to handle the decoding in software.

While MaxiVista always gets demonstrated with WiFi (see demo videos on their homepage and on YouTube), I highly recommend a wired connection to get sharp, crisp images.

On the topic of picture quality: There is absolutely nothing to complain about. From your usual JPEG-artifact-ridden compression up to lossless, there is a setting for everyone. I got great results just optimizing for Google Chrome with great sharp fonts and bright, vibrant colors that do not bleed into neighbouring areas.

One thing I noticed during my test period are some infrequent crashes on the viewer. If you opt to install the viewer as a service that’s not much of a problem since all your programs still reside within the MaxiVista screen but annoying nevertheless.

There seems to be some weird outage whenever the resolution on the host machine switches (think: games starting up) that result in the MaxiVista screen losing connection, applications flying back to the host’s screen and immediatly back to the MaxiVista screen. Yuck!

For some reason applications will always start up on your host’s screen and migrate to the MaxiVista one. Again, it’s an annoyance, not a problem.

MaxiVista allows you to hide the expanded screen on a client so you can continue to use the machine. While the idea is a good one it does miss an option to disable the client’s keyboard/mouse and also lacks an option to prompt for a password before hiding the expanded screen.

If you’re planning to get the most basic of MaxiVista’s editions you can stop reading here because that’s all there is to it. The bigger editions come with some sort of Synergy-slash-InputDirector-slash-Multiplicity-esque software KVM feature that allows you to share a single keyboard/mouse plus the contents of your clipboard across multiple machines. While the idea of integrating this feature is a good one, the execution lacks the flexibility of the former programs. An option to switch machines via hotkey is not available, neither is sound transfer to the controlling machine (Multiplicity shows how to implement these features in a sane manner, imho).

Now if you remember the title of the post, you probably wonder when we get to the “Mirror” part. Well, additionally to the main screen-extension and software-KVM feature you also get a small feature to display the contents of your host’s screen on the client. It utilizes the same technology as the screen-extension feature so the image is crisp and the refresh rate is still good. A nifty feature would have been to integrate the option of actually controlling the MaxiVista/host screen from one of the clients (think of it as a reverse KVM) – but sadly that’s not possible, thus making VNC a more affordable and flexible option for these use cases.

Bottom line: is MaxiVista worth the money? The answer is a big “yes” with a small “but”. If space on your desktop is limited or you are under constraints by your device (old laptop or desktop machine) and you keep the limitations of the software in mind you’ll find that MaxiVista is a fantastic piece of software with a few minor annoyances. The extra features you get with Mirror Pro are nice but not really a big deal, especially considering that there are other solutions that outperform MaxiVista in the aspects of KVM and display mirroring. But you’ll be hard-pressed to find a software that works as easy and well as MaxiVista’s core.

If you’re on Linux you’re out of the game. MaxiVista is proprietary software and the protocol is not open.

Windows 7 – Enable concurrent RDP + multiple sessions per user

Let’s all admit it: Microsoft is still a bitch. Nowadays they try to push Metro down our throats, in the past they artificially limited the number of concurrent RDP sessions – and what’s worse: Limited the sessions to 1 per user on their client operating-systems. There’s no reason for limiting RDP on client systems (except for making it a premium feature) but a ton of scenarios where I need to be able to log-on more than once [with the same username] onto my workstation. Now, if you’re on a non-Ultimate version of Windows 7 you might be out of luck, but if you run Ultimate the following might be just what you’re looking for: Enter Concurrent RDP Patcher. Applying the patch is simple: Download, unpack and run it. Afterwards you’ll need to make a small change to your registry. Navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

and create/modify the following DWORD value with the value 0:

fSingleSessionPerUser

After a simple reboot you’ll be able to connect to your machine – multiple times. As usual when putting your fingers where they don’t belong, make sure you keep a backup of your original termsrv.dll (can be found in your system32 directory) before getting started.

GTA IV for PC

I think I just spent more time in Windows than the last 2 years together. GTA IV is fun, easy as that.

I don’t know why people keep nagging at the game, it’s great and just what I’d expect of a new title of the franchise.

The only thing I can really get mad about are the horrible DRM-esque copy protection, the need to register at least 2 accounts (1x Rockstar Social, 1x Windows Live) and the massive memory leak that brings down the performance after a few hours of play.

So, come on Rockstar… Instead of spending thousands and thousands of dollars to keep the game copy-protected, spend a few thousands on debugging the PC version – for Pete’s sake. It really isn’t funny and the fact that the game doesn’t even start with ATi graphic cards is… ok, that’s to be expected 😉 .

How to deactivate (revoke) Far Cry 2

Far Cry 2 comes with a nasty copy protection. Actually, it’s more like a strict DRM variant that needs to be activated online and can only be used X times when not properly deactivating it.

You can manually revoke an activation without uninstalling the game by simply calling:

FarCry2.exe /revoke

Easy, huh? I’d prefer Ubisoft to not use any of these bugger DRM crap at all, but then again we all know the story of software piracy (note: pirates probably have a better version without this crap, so this whole thing is totally beyond the point anyway!).

Making the NX Client portable

NX is great. I’m deeply in love with it. Sometimes it’s acting like a real jerk, though. The NX Web Companion is installing a lot of crap into the active user’s profile. The NX client writes stuff in the active user’s profile. Both isn’t really convenient for me.

I prefer to have all my settings with me on a USB thumbdrive. So, in the spirit of PortableApps I’ll show you how to simply turn NX into a portable application.

First thing to do is installing NX client on a machine, if you have installed already – that’s fine. Copy the entire program folder to a new directory structure like NxClientPortable\App (I’ll follow the PortableApps schema here). In NxClientPortable create a new directory named “Data” and a batch file with the following contents:

@echo off
set USERPROFILE=%CD%\Data

App\nxclient.exe %*

reg delete /f /va "HKCU\Software\Cygnus Solutions"
reg delete /f /va "HKLM\Software\Cygnus Solutions"

That’s it. Start the batch file and you’ll be fine. No need for installations, no files in some stranger’s profile. Everything goes back to your thumbdrive neatly.

This example also demonstrates why batch still isn’t dead: The USERPROFILE variable will be changed just within the scope of our batch file, all other applications will still use the path specified in the “global” instance of the variable.

Making Cygwin portable

One of the very packages I always install when I have to work with Windows is Cygwin. Being able to use my beloved GNU tools really makes things easier. Often I don’t have the option to install it. I grieved a little bit about the fact that some problems could be solved with just 2 commands that were — of course — missing from Windows’ horrendous command prompt. So I snooped around and built the following batch that’ll start a full-blown Cygwin session from i.e. portable harddisk:

@echo off set PATH=%CD%bin;%CD%sbin;%CD%usrsbin;%PATH set HOME=%CD%homePortable mount -bfu %CD%/ / mount -bfu %CD%bin /usr/bin mount -bfu %CD%lib /usr/lib cd %HOME% bash ----login -i

Easy, huh? All you have to do to make it work is renaming your /home/Username to /home/Portable (or simply adjust the setting in the batch). Pretty neat stuff.

Windows Genuine Advantage Validation tool fails to install?

Well, well, well — Windows is full of shit sometimes.

So there’s this dreadful Windows Genuine Validation crap thing Microsoft pushes down your throat. Now, that’s fine as long as the crap works but sometimes it fails to install via Windows Update; consequently you can’t install any other updates at that time. Bummer.

But there’s a (relatively) easy way around it: Try to install the control (yes, it’s a dreadful ActiveX control) directly through Microsoft Genuine: On the site click “Validate Windows” and the control should install. After that you can continue to install Windows updates.

I hate it when companies try so hard to show it the evil software pirates and end up annoying the paying userbase only. Thanks a lot, Microsoft.