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.

Windows ME, Take 2

Illustration

I have followed Windows 8 from developer preview all the way to the RTM. I was never really taken away with UI, but I thought it bearable. And I was determined to give it fighting chance - I’ll work for at least a month and then judge.

Well, month has passed and judgement is here - I will delete it and bring Windows 7 back.

I have endured idiotic interface, I have endured disk repair every time I boot between it and Windows 7 (although they are on different physical drives). I have endured inferior store applications. I have endured image viewer from hell (who needs move to next image?). I have even endured a hard crash during startup. Straw that broke my back was Visual Studio.

I have installed Visual Studio 2012 on fresh Windows 8. Both being flagship products of this year I didn’t think that there will be problems. Well, I thought wrong. First day after install, during 2010 solution load, it somehow forgot all his editors (including one for text). Just to be safe I reinstalled both Windows and VS. And than it happened again day after. This time I just did VS repair. And than again. And a few times more…

Same Visual Studio under Windows 7 loads solution without any issue.

After some time (and possibly some updates) I haven’t had same issue. In order not to miss reinstalls too much I got new error: “An error occurred saving the project file. The specified file could not be encrypted.” Why the hell would it want to encrypt this file I have no idea. Project is on exFAT drive and it works fine until I make changes.

Same Visual Studio under Windows 7 saves project without any issue.

Visual Studio 2012 is not a saint. It is slower than 2010 and its form editor crashes whenever it rains in Redmond. But those are relatively small issues and I haven’t even come close to uninstalling it. That is, if it runs under Windows 7.

I had every version of Windows since 3.11 installed at one time or another. And there was only one version that I skipped - Windows ME. Now it is joined by Windows 8.

P.S. To be fair there are two things I will miss: file copy dialog and removal of Aero UI.

Not So Live

Illustration

Last night I decided to do a big step - I wanted to update wife’s HP mini 5101 to Windows 8. It was nice Atom machine to start with and I further upgraded it to 2 GB RAM and 120 GB SSD. With relaxed graphic card requirements on Windows 8 it seemed like a perfect fit.

New Windows 8 interface is a bit controversial. Lot of people hate it, most users just bear with it and there are even some poor souls that actually like it. I was very curious in which group will my wife belong.

Well, involuntary haters it seems. Whichever tile gets selected, same greeting follows: “This app cannot open. The screen resolution is too low for this app to run.” Bummer.

And this is fantastic example how Windows 8 is botched. It is not one big wrong decision, it is bunch of small ones. One team makes decision that tiles will not be supported at certain resolution. Nothing wrong with that. As a developer I can only greet it.

But then another team makes decision that you cannot boot directly into desktop. Nobody can say with a straight face that this is technical issue. It is just some dickhead deciding that everybody wants this new stuff. And that idiot of course forgot to take valid technical issue into consideration - not all users can use it.

Why do you show these tiles to me? It is doubtful that monitor will grow with time. If tiles cannot be used, I do not want to see them. Allow me to boot directly into desktop interface and deal with tiles only when I can (e.g. on external monitor). Until that time, do not fill my screen with unusable clutter.

Technically Windows 8 might be best Windows so far. I dare to say that even backtracking on their Aero UI is correct step. However it seems that Microsoft lost their designer’s compass. Whole OS looks like unfinished alpha build. There are lots of potentially nice features but none of them got proper polish.

Lets hope that Windows 9 beta is right behind a corner.

Uri Escaping

Either I need to download a certain page for further processing or I need to just post some data, code for generating url is quite similar. Just take two strings and merge them together. I usually then convert resulting string into Uri because most methods tend to require it, or even if they accept string, they convert it into Uri internally. For example:

var uriString = string.Format("http://www.example.com/{0}/", "ABC");
var uri = new Uri(uriString);
Debug.WriteLine(uriString + "\t" + uri.ToString());
// http://www.example.com/ABC/    http://www.example.com/ABC/

This, of course, does not deal with having special characters. All you need for those is escaping. Fortunately Uri class already has a method for that:

var uriString = string.Format("http://www.example.com/{0}/", Uri.EscapeDataString("A/BC"));
var uri = new Uri(uriString);
Debug.WriteLine(uriString + "\t" + uri.ToString());
// http://www.example.com/A%2FBC/  http://www.example.com/A/BC/

As you can see peculiar thing happened. While our string is escaped, transforming it to Uri actually loses this. Instead of encoded “A%2FBC” as one segment we get separate “A” and “BC”. Querying server with later will not result in expected content.

Solution here is to use double escaping.

var uriString = string.Format("http://www.example.com/{0}/", Uri.EscapeDataString(Uri.EscapeDataString("A/BC")));
var uri = new Uri(uriString);
Debug.WriteLine(uriString + "\t" + uri.ToString());
// http://www.example.com/A%252FBC/    http://www.example.com/A%252FBC/

End result might look ugly but it will get you that page every time.

P.S. Example.com does not contain said directories/files. To see double encoding example, you can check this link toward DigiKey (http://www.digikey.com/product-detail/en/DS2482S-100%252B/DS2482S-100%252B-ND/1197435) or just roll your own.

Bastards

Illustration

I am always happy when someone chooses to distribute my software. If nothing else they often host software install themselfs and thus they lower load on my own server. Everybody wins. Usually.

Bastards at IrcFast (no, I will not include their link) decided to bundle VHD Attach with Babylon toolbar and something called Coupish. I view both those packages as borderline spyware. And I would never bundle my program with them. If you install VHD Attach and you are not careful, you will soon be looking for removal procedure. Let’s just get it in clear: THIS IS NOT ENDORSED NOR BUNDLED BY ME.

Are they doing anything illegal? No, license I selected is quite permissive and it does allow for almost anything. As long as software is intact anyone can bundle it as much as they want. And even if I had it under any other license I am not sure it would matter. Those idiots would bundle it anyhow.

I can only do one thing. I can warn everybody to stay clear of this site.