Updates for my programs and websites

Update All the Same

Illustration

Some might have noticed that pretty much all my current programs got an update. More observant among you might have noticed that update bears the same major and minor version. For example, QText was bumped from 4.10 to 4.10. Why is that?

Reason lies in the need to resign my executables as my current certificate expires on March 1st and after that date you wouldn’t get nice install prompt but ugly red one. Programs would work all the same but, based on what happened two years ago, I would be swamped with e-mails. To avoid any misunderstanding, I simply recompiled application with the new certificate. All functionality remains unchanged, it is just certificate that is new.

Developers among you might ask why I am not timestamping my signature so they are still valid after certificate expires. I am doing that but devil is in the details.

My previous certificate (bought from StartSSL), had lifetime signing “feature” (WTD_LIFETIME_SIGNING_FLAG). Somewhat unexpectedly this means not that your signature is valid forever, but that it expires together with certificates, regardless of timestamping. Go figure…

In any case, SSLStart gave me non-“lifetime” certificate this year so timestamping should work in the future beyond their expiry. If not, I will repeat this post in two years. :)

QText 4.10

QText 4.00

On the last day of 2015, a new version of QText saw the light of day. It is just a minor version bump but with a few interesting twists.

First of all is the final solution for the bug annoying all Asian users for years - QText simply could not properly handle that character set thanks to restrictions of the underlying RichText control. While issue is still there, a simple workaround made it irrelevant for character entry.

Windows 10 functionality was improved by adding basic support for tablet mode and long awaited spell-checker. Spell-checker uses system service so it is not available on anything lower than Windows 8 but hopefully most users are either on Windows 10 or on the way toward them.

Couple other changes can all be bundled into a general improvement category so I’m not going to go over each one. If you are curious, source is always available.

Either upgrade from the application or get the new version here.

VHD Attach 4.10

This is pretty much just a maintenance release of VHD Attach. No new features are present but some old bugs have been squashed. One that plenty people might have found annoying is erroneous removal of the ReFS integrity stream on NTFS drives. This makes sense when you try to create virtual disk on ReFS but has no place when dealing with NTFS.

Also registration to handle both .vhd and .vhdx is added. As this is option not turned on by default on Windows 10, not many people actually noticed it missing, but a few did. And finally there is a fix for the dreaded NullReferenceException when OpenWithProgids is not present. Neither of these really affect many systems, but it did affect some.

This is most probably the last release without the auto-upgrade functionality. I have always been proponent of software not phoning home and not making the internet connection whenever it pleases; it just seemed rude to me. However, it seems that normal people generally don’t mind, assuming it is done discretely, and it does solve my e-mail nightmare. Probably 95% percent e-mail error reports I get are due to the use of the old versions and users simply not being aware of the fix.

I am still thinking how exactly to do it and how to impact users as little as possible, considering both startup time and privacy as concerns, but do it I will. :)

As always, download is available on the program page.

Ham Check 1.00

Illustration

This program is just one of many programs helping prepare for the amateur radio exams. What differs it from the other similar programs is the support for keyboard-only operation, ability to zoom into the text, and showing the image next to text. While these might seem basic options, not many other exam applications support them.

The whole idea is to have a simple program allowing for quick learning and easy presenting the exam content to others.

Download is available on the program’s page.

QText 4.00

Illustration

For its 4.00 version QText has received major refactoring with almost 100 changes separating it from the previous release.

Visually it is easy to see where some time went as there is new application icon together with new high-resolution toolbar icons. Yes, QText had high-DPI support for some time now but that always meant dealing with blurry toolbar buttons. With new graphics you should be greeted with crisp graphics no matter which resolution you’re using. It was a long overdue improvement.

Due to its internal structure, detecting external changes in files was not always straightforward as it should have been. Due to this experience with DropBox or similar file syncing software was not ideal. Long hours have been put into this version to recognize many external changes. Whether it is simple file edit in another editor or folder rename, QText will have you covered.

Lastly there was a push to cleanup some of the old and annoying bugs. All these changes should make QText more comfortable to use.

As always, you can download new version directly or use built-in upgrade menu.

PS: Order of your tabs will be reset to alphabetic with this version. This is a one-time change. QText will continue remembering tab order once you (re)order them again.

MagiWOL 3.41

Illustration

It was a long overdue task to release new MagiWOL. Changes have been small but noticeable.

Finally there is a high-DPI support with multiple icon sizes to make application presentable on all these new displays out there. If you use classic display only difference will be in what icons you see. But if you are using anything that makes Windows want to scale icons, you should be able to enjoy extra crispy icons.

Those using import functionality will be happy that, beside ranges, now you can defined network subnet size. Not a big change but it will make life easier for some.

Other changes are pretty much just bug-fixes and cleanup of my development environment.

As always, download is available on these pages or from within application.

Seobiseu 1.20

Illustration

Seobiseu hasn’t been updated for a long time. It worked good enough and I simply don’t have enough time to add every little thing I might want.

But one thing started bothering me - its looks on the high-DPI screens. Single purpose of this update is to bring it to the high resolution world.

Download newest version here.

VHD Attach 4.00

Illustration

After a really long hiatus, there is an update for VHD Attach.

First change that everybody will notice are new icons. Due to their monochrome nature it will probably be a love-hate relationship but they do come in multiple sizes as a saving grace. While VHD Attach has supported high-DPI scaling for a while now, it always did that with the cost of blurry toolbar icons. With all sizes I have these icons in, blurriness won’t be a problem for a while.

Another big news is improved support for VHD on ReFS formatted drives. Main driver here was issue that Microsoft API does not support virtual disk file with ReFS integrity streams and there is no practical way around it. However, you can use API to remove integrity stream on per-file basis. When VHD Attach opens virtual disk it will offer to automatically remove integrity stream and allow you to attach it. Yes, you could have done this yourself but this is a time saver.

Other changes include few bugfixes that will help GUI not to crash as much. Quite a few of them are long overdue.

As usual you can upgrade from within application itself or grab a setup from these pages.

Enjoy.

[2015-04-09: Of course, there was a bug in high-DPI code. Version 4.01 is out.]

BOM Away

I find the Visual Studio the best development tool there is and I always find myself missing it whenever I have to work in some other tool (damn you Java!). However, there is one annoying “feature” that bugged me through all .NET versions.

Whenever Visual Studio decides file needs Unicode encoding, it does so by converting it to the UTF-8 which I personally find quite a good decision. What I hate is that file also gets “spoiled” by adding BOM (byte order mark). Now my every UTF-8 file has three nonsense bytes as a prefix (0xEF,0xBB,0xBF).

Although Unicode does not recommend usage of this marking and most programs do right by omitting it, Microsoft decided to use it back in the dark ages of Visual Studio .NET (and Unicode Notepad). At that time this might have been good decision considering how bad everybody treated Unicode. But in the year 2014 it is feature that survived for no good reason (not completely dissimilar to using a Ctrl+Z as an end-of-file character).

If you perform your work in a mixed OS environment (god forbid you have some Unix/Linux laying around) it gets quite annoying dealing with those simple bytes. While partial blame for this is on encoding-challenged Linux tools, truth is that nobody really needs that BOM if we assume all input files are already UTF-8 (which is fair assumption, I believe).

Source control makes this problem visible to the extreme. On multiple occasions I would accidentally check-in a file with no change other than the pesky BOM. As I am a fan of an overkill reactions I decided to stop this issue once and for all. It was the time to build the extension for the Mercurial, my source control of choice.

In order to use this extension just copy killbom.py to a location of your choice and, in the project configuration or global configuration file, add it in the extensions section:

[extensions]
killbom = C:/path/to/killbom.py

From that moment everything you commit will have it’s BOM stripped and it will get converted to the UTF-8. Be it annoying UTF-8 with BOM, just unusual UTF-16BE, or any other Unicode encoding. Everything will get an UTF-8 face-lift.

Of course, you can check how new files are doing using hg checkbom, modify existing files by using hg killbom --all or just check on state of your repository with hg checkbom --all.

Those just wanting to know whether files are proper UTF-8 but cringe on the thought of the modifying extension are fine too. You can force extension to only report offending files or only to check for certain offences, e.g. to make it verify-only and sensitive to only big-endian encoding you would add following in the configuration:

[killbom]
action = verify
extensions = utf-8 utf-16be utf-32be

Full source for the extension is available at GitHub.

PS: There is also a Git version of this hook.

QText 3.60

It has been a long hiatus but time has come to have new QText out.

Most notable change will be for double-click. While it behaves a bit different than notepad does, it is more in sync with what you would expect a bit more modern program to do. Of course shortcuts follow the same behavior and whole thing should be a bit more natural for heavy keyboard user.

And that is pretty much single big change for it. Everything is same as it was with quite some bug-fixing compared to previous version. Program is a bit more friendly to new users (some balloon hints and similar nice touches); there are some high-DPI changes (no longer toolbar hunting on very high resolution screens, e.g. > 200 dpi); and lot of similar changes that you probably won’t even notice.

As always, upgrade is available directly through application, or you can download it from these pages.

Enjoy.