Category Archives: Software

Super User v1.2.2

The tiny utility Super User has been updated. I added native support for ARM64 systems, removed an unnecessary restriction on command length, and achieved an even more compact executable, exactly 4096 bytes for all builds of su.exe. Perfection!

However, I've long wanted to address the issue of Windows Defender often flagging my executables as suspicious due to the lack of a digital signature. Recently, I subscribed to Azure Trusted Signing and started signing my programs. It turned out that a digital signature adds almost 16 kilobytes of data. It significantly undermines my hobby of creating minimal executables! Because of the digital signature, su.exe is now nearly 20 kilobytes. Well, I'll have to accept it, as Windows Defender's warnings have been annoying me for ages on every new system. With the digital signature, these warnings should become much less frequent.

Download: sucmd.7z (18KB). Project page →

Hosts Commander v1.6.3

  • A non-zero error code is returned if an error occurs.
  • Command show is renamed to unhide to better reflect what it does.
  • Command list treats show as an alias.
  • Command empty is renamed to reset.
  • Optional argument shell to run the hosts interactive shell.
  • Host arguments ignore mistakenly passed http:// protocol prefix.
  • The program is executed as a native 64-bit process on 64-bit Windows (AMD64 and ARM64).
  • Other cosmetic changes.
  • [2024/11/12] Added digital signature.

Download: hostscmd.7z (30KB). Project page →

Sound Keeper v1.3.1

  • A potential deadlock when audio devices are being added or removed has been fixed.
  • Fluctuate treats non-PCM output formats (like Dolby Atmos) as 24-bit instead of 16-bit.
  • Frequency parameter F is limited by half of current sample rate to avoid generation of unexpected noise.
  • More detailed logs in debug build. Debug output is flushed immediately, so it can be redirected to a file.

Download: soundkeeper.7z (23KB). Project page →

Sound Keeper v1.3.0

  • Fluctuate is 1 fluctuation per second by default. Frequency can be changed using the F parameter.
  • Periodic playing of a sound (parameters L and W) with optional fading (parameter T).
  • New White, Brown, and Pink noise signal types.
  • Self kill command is added. Run soundkeeper kill to stop running Sound Keeper instance.
  • Analog switch was added. It works as the opposite of Digital.
  • Ignores remote desktop audio device (this feature can be disabled using the Remote switch).
  • New OpenOnly mode that just opens audio output, but doesn't stream anything.
  • New NoSleep switch which disables PC sleep detection (Windows 7-10).
  • Work as a dummy when no suitable devices found.
  • Sound Keeper shouldn't prevent PC from automatic going into sleep mode on Windows 10.
  • The program is not confused anymore when PC auto sleep is disabled on Windows 10.
  • The workaround that allowed PC to auto sleep had to be disabled on Windows 11.

Download: soundkeeper.7z (23KB). Project page →

Sound Keeper v1.2.0

  • Sound Keeper doesn't prevent PC from automatic going into sleep mode.
  • New Sine stream type which can be useful for analog outputs or too smart digital outputs.
  • When a user starts a new Sound Keeper instance, the previous one is stopped automatically.
  • Fluctuate stream type considers sample format of the output (16/24/32-bit integer, and 32-bit float).
  • Command line parameters are supported. Example: SoundKeeper64.exe sine -f 1000 -a 10.
  • The workaround for the Audio Service memory leak is enabled on affected Windows versions only (8, 8.1, and 10).

Download: soundkeeper.7z (17KB). Project page →

Hosts Commander v1.6.2

  • Fixed an error which may cause a freeze on a malformed hosts file.
  • The list command uses --all as an argument instead of all, and it can be before and after mask.
  • More understandable messages from the add command when you are trying to add already existing hosts.
  • Unset Read Only flag from the hosts file before changing it.
  • New command aliases: unset for rem, and erase for empty.
  • Source code is moved to GitHub.

Download: hostscmd.zip (21KB). Project page →

Sound Keeper v1.1.0

  • Default behavior can be changed by changing file name of the Sound Keeper executable.
  • Primary audio output is used by default. Add All or Digital to executable file name to enable Sound Keeper on all or digital only outputs.
  • Inaudible stream is used by default. Add Zero to executable file name to use stream of digital zeroes (like it was in v1.0.0).
  • Temporary workaround for a Windows 10 bug which causes a memory leak in the Audio Service when audio output is busy. It will be removed when the bug will be fixed in Windows 10 itself.
  • Fixed a potential memory leak when another program uses audio output in exclusive mode.
  • Even smaller executable size.
  • Source code is moved to GitHub.

Download: soundkeeper.7z (15KB). Project page →

Hosts Commander v1.6.1 — command line hosts editor

Powerful command line hosts editor with support of batch operations, IDN and IPv6. Another piece of my software from 2013 has a minor update. It was rebuilt for .NET 4.0 instead of .NET 3.5, just because at this moment .NET 4 is the preinstalled on modern Windows (8 and 10), and standalone installer of the .NET 4 is a few times smaller than standalone installer of the .NET 3.5 (48MB vs. 232MB).

Download: hostscmd.zip (21KB). Project page →

Super User CMD v1.2.1 — running elevated commands through UAC from command line on Windows

This tiny utility allows you to run elevated commands from Windows Command Prompt. Unlike runas command, where you should enter your password, su just shows UAC dialog instead, and it is much more convenient. Another feature is that it preserves current directory.

Actually, it was written in 2013. Previous version 1.2.0 was published on my other website. Today I rebuilt it with support of 64-bit systems, and publish it here as version 1.2.1.

Download: sucmd.zip (7KB). Project page →

Running image viewer from Windows XP on modern Windows

I have a directory with old images which I collected in the noughties. I move it with all my other files from one computer to another on every upgrade. Every now and then, when I feel a bit nostalgic, I open it and look through the pictures. There are a few GIF files with animation, and every time I notice that the default image viewer from Windows 7 does not support it. I remembered, that the image viewer from Windows XP was able to play GIF animation properly. So, I spent a bit of time to overcome a few obstacles and to run the old image viewer on modern Windows, a small launcher was created for this purpose. Now I can watch these old images in authentic interface of the old image viewer from Windows XP.

Download: shimgvw_xp32.7z (includes a binary and source code of the launcher, and the shimgvw.dll from English Windows XP SP3).

Continue reading

Sound Keeper v1.0.2

  • A problem when the program stops working properly after waking PC up after sleeping had been resolved.
  • Error handling had been improved a bit.
  • 64-bit version of the program had been added into the package.
  • Visual C++ 2017 is used for building of the program.

Download: soundkeeper.zip (19KB). Project page →

Yamaha S-YXG50 Portable VSTi v1.0.0 (a software MIDI synth)

A software MIDI synthesizer for Windows, which functions as a VSTi plugin. Supports both the Yamaha XG and the Roland GS extensions, which is a unique feature of the S-YXG50. The VSTi was a part of the Yamaha SOL2 package. Yamaha discontinued support of this software synthesizer in 2003. As it is abandonware now, a portable version of the VSTi was created (installation and registry keys are not required). It uses embedded (into DLL resources) official 4MB wavetable files, which is the best version of wavetable files for the S-YXG50.

Download: yamaha_syxg50_vsti.7z (3.0MB). Project page →

History of the Yamaha's software MIDI synths

Yamaha S-YXG50 was released in 1997. First versions were shipped with the simplified 2MB version of the wavetable, and the full 4MB version was published only in 2001. It seems that the cause of this is low amount of RAM in the computers of 90s. Both versions of the wavetable files were created in 1996 (4MB in February, simplified 2MB in July). Possibly, the full 4MB version is a dump of the WAVE ROM of the Yamaha MU80 / MU50 / QS300 / DB50XG / DB60XG / SW60XG / MU10, because the Yamaha S-YXG50 soft synthesizer is very similar to this series of hardware of 1994-1996.

Continue reading