Redate is another tool in my growing toolbox. The idea is simple: many applications generate files, write files, update files, with exactly the same content as before. The file write date, of course, is updated. The content stays the same. Other tools, then again, us the file write date as indicate if the files have been changed. Which makes sense, right.

So, this little tool, “Redate,” stores the MD5 hashes of the files, and their original write dates. When the tool is then re-run on that list of files, it restores the original write dates for all files with unchanged MD5s. And, that’s it.

I use it for Vue.js projects, to keep the write dates of files in the dist folders. Then, a simple FTP-sync only needs to update changed files for the final deployment. This helps for projects with many unchanged assets.

You can grab source and binary releases from github.

Simple computer graphics demos are often developed as console applications. Having the console window is simply convenient for debug output. However, if we then show these demos on our stereo powerwall, the console window flashing on program start is massively disturbing. That is why I take some time and wrote a little tool. It starts the console application, hides the console window, but captures the output. This way, we can still check what happened if something does not work.

I present the HiddenConsole:

HiddenConsole.zipHiddenConsole.zip Application starter hiding the console window
[55.3 KB; MD5: 848cbd8aa901fe38be8179d65b6d2162; More Info]

And, because I can, the source is freely available:

https://bitbucket.org/sgrottel-uni/hiddenconsole

Windows has a lot of nice features nobody knows about. And with some of them I am really wondering why. A good example are links: hard links, junctions, etc., not those silly shortcuts. NTFS has these things, it always had. And most *nix users know their way with these fellows to do cool stuff. Well, Windows has these too. They just never found their official way into the GUI. Most likely it was for political reasons, because the guys at Microsoft were afraid that the standard windows user would trap himself with these links and die. And most likely the guys are right on this. However, for us windows power users such links form great opportunities to optimize our systems. What is missing is usability. And this is where the Link Shell Extensions by Schinagl comes into the play. With this everything work great and nicely. What else could you want?

I may be in some aspects old fashioned. For example, I like to have my music locally on the devices I am going to play them at. So, I am grabbing my CDs and collecting everything as MP3s and Flacs on my hard disk. Then, of course, I have to deal with the MP3-tags, especially unifying them across the files. This is something, I wouldn’t need to bother if I would use an online service. Whatever.

After some try and error, I finally came across Mp3tag. It works and is nice to use when you are editing multiple files at once.

Today I am presenting another small tool of mine: the ShutdownPlannerGUI

ShutdownPlannerGUI.zipShutdownPlannerGUI.zip Simple GUI for planned Shutdowns of MS Windows
[188 KB; MD5: 45cb64eef13ea47e98a7dcde0773e6f1; More Info]

The basic idea is simple: it is a small GUI, slapped together in C#, around the Shutdown command-line utility. It is about the timer, specifying when the system is going to shut down. The GUI provides several text boxes to conveniently enter the time in hours, minutes and seconds. And that is it.

Today I am only writing a short comment: with WinDirStat there is a further alternative/successor of SequoiaView. The tool itself is a clone of KDirStat, but who cares. The only important thing is, that the great visualization of space consumption on your hard dist is available in one further tool for all of us to use.

Up until now I was using WinAmp, but since this project has reached its end, I started looking for an alternative.

One problem I was avoiding for quite some time now is the use of a media library. I buy my music very old-stylisch on CDs. And because these disks are so bulky to use I grab them. Thus my hard disk stores lots of MP3s and FLAC files. The grabbing, however, bores the problem of tagging. Thus, the tags of my files are only as good as I was motivated at that time, that is, the tags are horrible. Therefore, I did never use a media library but instead organized my files in directories and subdirectories as good as possible, which is not very good at all.

On my search for a new player software my friends told me about FooBar2000, most likely the software with the strangest name ever. … However, since I got curious I gave it a try. And now I am enthusiastic about it.

The minimalistic GUI is for sure not for everybody’s taste, but I like it. I never understood why the windows of some applications, including WinAmp, need to look “different”. Whatever.

What really sold FooBar2000 to my, were the integrated tag editor and the flexibility of the media library. I mostly listen to soundtracks and thus a sorting by artists or genre does not make much sense for my collection. With some custom tags and one simple expression for the tree structure the media library of FooBar2000 now meets my needs. In very short time I slapped this expression together which does what I want:

%<genre>%[|%<group>%]|[%album artist% - ]%album%[|%<extra>%]|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%

I use the tags “group” and “extra” to get my special sorting I am used to.

I love it.

Today, I want to talk about another tool which is not written by me: ReplaceVistaIcon (aka SetVistaIcon). This is a small windows command line tool which sets or replaces native icons in windows executables.

My usage scenario is mainly connected to my work with .Net applications:

Nowadays I mostly write my smaller utility programs in C#. Simply because it is simple. Often I also define my own file types together with the utilities. So far so good. The problem arises when I want to give these file types dedicated icons, and when I want to place these icons inside my application (I do not like small utility applications, which consist of a thousand files). .Net application also contain a native Win32 resource section. It, however, is usually automatically generated by Visual Studio. If you want to add further native resources, that generation is no longer a viable option.

The normal way around this problem is to provide the complete native resource section manually. This, however, is tiresome because you lose many nice features, like the automatically generated application manifest and the generated version information section.

That is why I use ReplaceVistaIcon after successful compilation (post build event) to add further Icons to my applications.

Once again, it is time for one of my little tools, which the world does not need (but I do). The idea is simple: think of a series of files in one directory, e.g. music files of a audio book or video files of a TV series. Every once in a while you watch/listen to one of the files and days later you do not remember, which was the last file you have seen. My tool registers to the context menu of the Windows Explorer and provides a simply way of setting a bookmark at the file in the directory. The bookmark is an empty file with the same name, additionally using an extra file name extension). The whole thing is no shell extension, but a simple, normal DotNet application which writes to the right places in the registry. Simple, not elegant, but working.

FileBookmark.zipFileBookmark.zip File Bookmark Utility
[91.2 KB; MD5: bd58a615775c9897ae82536bb678b05b; More Info]

And, just because I can, here is the source code::

FileBookmark_src.zipFileBookmark_src.zip File Bookmark Utility Source Code
[60.2 KB; MD5: 84071f778ccb81b0c39101577a3fa204; More Info]

Software should solve problems. Sometimes this is the case.

I had a problem:

I have a somewhat older convertible laptop, an ASUS Aspire 1820PT. A nice and cheap convertible of it’s time. With touch screen support for up to two fingers and with an acceptable computational power. I have upgraded it in the meantime with an SSD and I am now running Windows 8. So far so good. The problem, however, is that the tilt sensor is no longer supported by Windows 8. 🙁

So I needed a solution. Hacking drivers or even writing drivers myself is not up my alley. I am an application developer. But, if something does not work automatically (anymore), we just need to make the manual use as comfortable as possible. That’s why I wrote a tiny tool: the DisplayRotator.

The idea is simple: the tool is attached to the taskbar. As soon as it is started it shows DisplayRotatorScreena simple window with four buttons for the four possible display rotation settings. Press one of these buttons and the display settings are changed accordingly. With this, I can setup my desktop orientation of my convertible with two clicks, even two tapps with my finger, and rotate the desktop aynway I like.

DisplayRotator.zipDisplayRotator.zip Display Rotation Tool
[152 KB; MD5: 07c3efddd05a98bf4d02db595b87f2fe; More Info]

And, because I can, the zip also contains the source code of the tool. It is written in C# and naturally uses the Windows API to change the display settings. Nice and easy. With the same code basis all display settings can be changes, like screen resolution and refresh rate. Even detaching or attaching monitors to the desktop is possible. Ok, the code for these functions is not in the tool, but the API calls are the same.

Maybe the tool can be of use to someone else too.