Updates for my programs and websites

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.

Drive Letter Change

Illustration

I am quite obsessive about which drive gets which letter. I have a certain expectations and it is not uncommon to see me fiddle with drive letters again and again. I mean, if I want that USB drive to be mapped as R:, I will get it mapped there.

Unfortunately this always includes trip to Disk Management and slowly selecting appropriate path. Well, no need for this any more.

Nitpickers of the world, rejoice. My latest program, logically named Change Letter can do this just by right-clicking on a drive. If you have VHD Attach installed, you will not even get UAC prompt.

You can download both setup and zipped files on BitBucket.

QText 3.50

It is time for new QText again.

Nothing much happened, just some maintenance. I added support for few more keyboard shortcuts (zoom and plain-text clipboard) and some minor bug-fixing was done.

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

PS: If you are curious what exactly was changed and/or you want to use new features as I create them, you can check source code repository at BitBucket. There I will put latest pre-release binaries.

QText 3.40

QText screen

Biggest improvement in QText 3.40 comes in area of printing. Code that traces its origins probably from very first (text-only) version of QText was finally adjusted to properly support Rich Text Format.

With ever increasing number of folders there was need for some sort of navigation helper. Pressing Ctrl+G will enable you to quickly search documents by name. That should make searching for particular document among folders a breeze.

Those using QText for journal will be happy to know that Alt+Shift+D and Alt+Shift+T are finally supported. Upon press you will get current date and time inserted into a document.

In addition to general bug-fixing that was done I think that everyone should have a reason or two for upgrade.

VHD Attach 3.70

Good new year celebration should start with new version of VHD Attach.

Major change for this version is support for new VHDX virtual disk format. This will work only on Windows 8 so don’t get your hopes up immediately if you are on Windows 7 system. Support for it on Windows 7 depends on Microsoft updating its virtual disk SCSI driver.

As usual you can upgrade from within application or from the website.

Enjoy.

PS: Yes, I know that install experience on fresh Windows 8 system is not really nice because service will not start automatically. You will get opportunity to start it first time you run application. Don’t be bitchy about it.

PPS: If you want to know what is happening behind the curtains you can check source at BitBucket.

QText 3.30

QText screen

One feature that was survived unchanged through versions and versions of QText was search. You could search only within current tab and that’s all you could do. Even when folders got added search was still limited to single file.

Well, not anymore. Finally you can search across all folders and files. Or you can limit search to current folder only. Choice is yours. Only real limit is searching through encrypted files which is not supported for security reasons. For them search will work only when you have them currently open (and thus decrypted).

Happy searching.

Summae 1.10

Summae

After quite a while here is upgrade for Summae.

It finally brings proper command-line support for handling directories and basic file pattern matching.

In addition you don’t need to install program in order to calculate something. Just unpack it from zip and you are ready.

Of course there were slight visual changes but nothing major going on. It is simple utility and it will stay like that.

Download.

VHD Attach 3.61

Illustration

Nothing much here. Just a single bug fix that makes VHD Attach work properly on German Windows. :)

Update from within application or from web site.

VHD Attach 3.60

Illustration

VHD Attach update time is here again.

Main driving force behind this release was making some further adjustments on Windows 8 OS. This version is tested on RTM and it works for both .vhd and .iso files.

Some bug-fixing was also involved so even Windows 7 users have a good reason for upgrade.

As usual you can upgrade from within application. Enjoy.