Andre's Blog
Perfection is when there is nothing left to take away
OneNote, too many cooks

I always favored pen and paper for initial technical designs and when first devices that enabled handwriting recognition emerged, I enthusiastically tried them out. Some of those original applications were quite good, but worked only on one device, like the Samsung's SNote, and some worked on several platforms, but captured only pixel images instead of pen strokes.

Eventually, I ended up using OneNote, which works on many devices and has all the features I need, but many of those features are implemented inconsistently across various devices and I can't help but wonder if OneNote is being developed by multiple independent teams with limited communication channels between them.

File Integrity Tracker (fit)

Last month I ended up copying thousands upon thousands of files, while recovering my data from ReFS volumes turned RAW, because Microsoft quietly dropped support for ReFS v1.2 on Windows 10. During file recovery, I was trying to be careful and flushed the volume cache after every significant copy operation, but a couple of times Windows just restarted on its own and I faced a bit of uncertainty on whether data in all files safely reached the drive platters or not.

I used a couple of file integrity verification tools in the past and thought it would take some time to read all files, but otherwise would be a fairly simple exercise. However, it turns out that everyday file tools don't work quite as well against a couple of hundred thousand of files.

Resilient, until it's not

I have been a big proponent of Storage Spaces in Windows 10 for many years and while redundant storage provided by Storage Spaces is not a replacement for a proper backup, it does provide good protection against individual drive failures and some forms of enclosure failures.

When Windows 10 was just released, in addition to drive redundancy, it also allowed formatting Storage Space volumes as ReFS (Resilient File System), which added a layer of protection against bit rot and sudden power loss because of the way it performs disk writes. Later on, Microsoft removed the ability to format new volumes as ReFS from Windows 10, but existing ReFS volumes remained usable and I assumed that Microsoft will be respectful of terabytes of data and will warn me that ReFS will no longer be maintained on Windows 10 when the time comes.

That turned out to be a bad assumption and what followed felt like a gut punch.

From TinyMCE to CKeditor and back

When I wrote the first version of this blogs application in 2008, I initially used TinyMCE for posts and comments, but within a couple of weeks I switched to CKeditor because it handled HTML better and provided server-side support for image uploads. Years have passed since then and the last version of CKeditor I integrated into this application was v2.6, which was written so extraordinarily well, that it continued working for me without any problems for over 10 years.

In the last couple of years, when I started noticing little problems, like Ctrl-B switching back to plain text on its own in Chrome, I decided it was time to upgrade the editor to the latest version. CKeditor worked so well for me over the years that the thought of checking out alternatives didn't even enter my mind.

Windows 11 - Twice as pretty, half as bright

Last week, after a large Windows update, my laptop popped up an offer to upgrade to Windows 11 before even getting to the sign-in screen. There was only upgrade and decline buttons and while I didn't want to update right at that moment, I didn't want to decline either. I pressed Esc and it continued. No idea if it was the same as decline, but checking Settings > Windows Update confirmed that the offer is still there.

I looked around for Windows 11 upgrade stories and couldn't find anything useful - all articles and posts described the new Windows 11 look and feel and had very little to say about features and general behavior. So, I decided to upgrade on the weekend and check it out for myself.

From ASP.Net to Node.js

I originally wrote this blogs application in 2008 in ASP/JScript, thinking that JavaScript-like language would age better than VBScript, but soon realized that while that might be true for the language, the classic ASP itself didn't have a lot of life left in it. This prompted me to rewrite the blogs in ASP.Net/JScript, in 2009. This time I thought my choice of the framework was quite clever and would surely outlast my needs for a blog.

ASP.Net indeed has done remarkably well since 2009, but JScript didn't do nearly as well and Microsoft quietly dropped it from the platform at some point, so my choice of JavaScript as the server side language for my blogs needed another revision. Needless to say, Node.js was really the only choice to consider, so it was an easy decision.

Emoticons are not emojis - please stop helping!

For some inexplicable reason product owners are obsessed with auto-correcting emoticons with emojis, which was somewhat manageable via app configuration before, but now that there is a tendency to simplify configuration by taking away options, a la Apple way, auto-correcting emoticons is becoming more annoying then it was ever before.

Forced auto-correction, in general, is quite stupid for a number of reasons, but automatic emoticon replacement is really getting on my nerves, not only because it changes the meaning of what is being posted, but also because it often interferes with useful Unicode features, such as searching.

Microsoft Arc Mouse

I have been using Microsoft Modern Keyboard with Fingerprint ID for almost a year now and I am quite happy with how it feels in every-day use, so when I saw the weird-looking Microsoft Arc Mouse next to it on the shelf at the Microsoft Store, I thought it would be a nice replacement for my old beaten-up Microsoft Comfort Mouse 6000. However, sometimes a weird-looking thing is just that - a weird device that is hard to use.

Hard drive controller errors for USB-attached drives

Some time ago I noticed a bunch of disk controller error messages in Windows' Event Viewer and got alarmed that one of my disks or disk controllers might be corrupting data.

How to Configure Storage Spaces in Windows 10

This is a technical part of an earlier post about setting up Storage Spaces on Windows 10.

There are dozens of RAID products on the market that allow users to combine multiple hard drives in various combinations and many tech-minded people choose these RAID configurations, thinking that hardware RAID is the best solution money can buy.

The reality is, however, that when these consumer-level RAID enclosures fail, their owners end up either losing their data or spending time and money on data recovery. The manufacturer usually just advises users to backup data when setting up a RAID configuration, which is not helpful for terabytes worth of data.

A software-based drive pool is not as fast to run and is not a plug-an-play solution, compared to a typical hardware RAID configuration, but it is more resilient against enclosure failures because a failed enclosure just houses separate drives and in most cases can be replaced with another one, even from a different manufacturer, and the software drive pool will continue working as if nothing happened.

Storage tale

When I just started taking digital pictures, I thought a 320GB hard drive coupled with an occasional backup will last me for years, which worked quite well for the first 5-10 MP digital cameras I owned, but as soon as I upgraded to an 18 MP DSLR and started shooting RAW images at a high frame rate, I quickly realized that I need to find a better storage solution.

Just as many others, I first set my eyes on a hardware RAID device and bought the Addonics RTM435R5 four-bay enclosure. I set it up as a RAID1 mirror with four 2TB drives, which gave me 4TB of mirrored storage for me and my family. I honestly thought that this is the last time I bought storage, but once again things didn't quite work out as well as I hoped.

MSN Messenger crashes on Windows 7 x64

A couple of weeks ago MSN Messenger started to crash on start-up on my Windows 7 x64 box. The message indicated an invalid memory access violation in WLDcore.dll. After a bit of searching on the Internet, I found a couple of pages that pointed to this registry value being the problem (the number at the end will be your passport ID):

Printing from a 32-bit IIS process on 64-bit Windows

Last week I came across a very strange problem with Windows printing - an attempt to create a printer device context through CreateDC within a 32-bit IIS worker process would fail and return NULL, but GetLastError would indicate that there was no error and there was nothing in the system or application event log to help me identify the problem.

Naturally, my first thought was that the IIS anonymous user is missing some access rights and I spent some time double-checking various permissions and privileges, but found nothing that would be relevant in this case. Suspecting that the problem lies elsewhere, I added the anonymous user to the Administrators group, which actually made things worse. Now not only CreateDC would still return NULL, but it would actually take about a minute for this call to fail!

How much worse can tech support get? Apparently, a lot...

I remember the times when ISP support personnel knew the mechanics of mail transfer. It seems, however, that these times are gone forever - every time I call Bell Sympatico Support, I have to spend more and more time explaining what went wrong and most of the time end up working around problems on my end.

About a couple of weeks ago I started having problems with mail messages sent in non-Latin encodings - all non-Latin characters would be replaced with question marks. At first, I suspected Outlook Express, which hasn't been updated for a while and now is discontinued by Microsoft, but trying different mail clients indicated that the problem was with the Bell's POP3 server.

IE8 - is there a hope for a better browser?

Internet Explorer v7 is probably the worst software title ever released by Microsoft, sporting poorly designed UI, various web standards followed inconsistently, lack of innovation and absence of any built-in developers tools. In hope that Microsoft learned from their IE7 mistakes, I downloaded IE8 beta and gave it a try. Let's have a look.