My name is Juri Strumpflohner and this is my technical blog. I'm a software architect, .Net, Android, Web and Java dev, TDD and best practices promoter and martial arts practitioner.

Recent Posts Subscribe

Dear reader of Juri's TechBlog,
I moved my blog to a new domain and a new hosting solution as well. I'm now blogging on juristr.com.

What now: "Program Files" or "Programme"??

A friend of mine has recently acquired a new Dell notebook with a German copy of Windows Vista. On the German Windows version there exists a folder "C:\Programme\" where programs are installed by default. So it is the case for Win Vista of my friend, however, when installing applications on it, the default path for installing programs is "C:\Program Files\". How can this be...the folder doesn't even exist on the local C hard-drive??

Anyway, I wasn't too afraid about that, because there may exist some service which does the mapping of the folders depending on the OS language...whatever. The application seemed to be correctly installed under "C:\Programme\[application-name]\", although I specified the default path "C:\Program Files\[application-name]\"...

But the very strange things didn't even start yet. After the installed application finished to download some files, my friend wanted to open them. The application showed as location for the file "C:\Program Files\[application-name]\downloads\[filename]", and also opening it from within the application worked perfectly. As a result from that the file must exist somewhere on the hard-disk. However as soon as we wanted to go to the folder "C:\Programme\[application-name]\downloads\" (C:\Program Files doesn't exist...remember :D....I know...little confusing), the folder "downloads" didn't exist as specified by the application. At that point I really got confused, since we opened the downloaded file previously...so where should the file be stored? After some searching on the hard-disk I found out, Vista seems to copy pieces of the "Program Files" folder to "C:\Users\[your_account]\AppData\Local\VirtualStore\Program Files\"...and there was also the downloaded file.
I found this behavior strange and so after some research on the web I found this interesting link:
http://zone.ni.com/devzone/cda/tut/p/id/5538#toc3



This behaviour is called UAC Virtualization service and was introduced by Microsoft to provide backward compatibility so that legacy systems will still work. However as you see it may result in some unexpected behavior.

What irritates me more is the strange mapping of the "Program Files" folder between the different languages. If I start the German Windows Vista explorer, there exists only the folder "Programme" which would be right for the German version.

This image shows the normal situation in the explorer window.

However...when opening Run dialog (shortcut: Win-key + R) and typing there "C:\Program Files\" - which by the way should result in a "Path not found error" or similar - the explorer opens normally and suddenly the "Programme" folder is named "Program Files".

We're sorry....but your query looks...

I'm using the Google Project Hosting service for a university project I'm currently involved in. Recently I got the following error when I wanted to commit my changed code and thought it may be helpful to post it here:

We’re sorry… but your query looks similar to automated requests from a computer virus or spyware application. To protect our users, we can’t process your request right now. We’ll restore your access as quickly as possible, so try again soon.
Such failures occur, since Google implemented a limit of an average rate of 1 request per 1.725 seconds per API key, rather than waiting for 50,000 requests in one day. This seems to apply also to the Google Map API keys, but I'm not sure regarding that, since I didn't test it.

The error appears - as in my case - if you're creating and deleting things from your Google SVN repository in a very short time. I, for example, deleted a folder immediately after I created it, since I made a typo...Unfortunately the typo happened also the 2nd time :D, so I again had to delete the folder. The 3rd time the error then popped up.

In my case, the solution to this problem, was to disconnect from my ISP, in order to get a different IP address. If you have a static IP address you either have to wait for a certain amount of time (I think at max. up to five days, but I'm not exactly sure about the exact timeframe).
What will for sure work is to contact your ISP and ask for another IP address.

Google's new presentation service

Google provides now for already a longer time a service called "Google Docs", giving the possibility of creating text and spreadsheet documents online. The service emerged, when Google acquired former "Writely" - also an online text-editing service - and merged it with their already existing "Google Spreadsheets" service.

Recently there were also some rumors, that Google will now add also a presentation service like MS PowerPoint to Google Docs. There were already some indications of the existence of a not yet published Google Service called Google Presently, however it was never launched. Google then bought several companies (i.e. http://www.tonicsystems.com/) to accelerate the development, which shows that they are somehow getting impatient and rely much more on external resources.
On 17. April Google then announced on their official blog, this summer as the due date for the release of the presentation service.

The goal of such a service is not the one of competing with Microsoft products like MS Office, since Google's service will never cover such an amount of features, but to give the advantage of sharing with others.
In the following video, Google CEO Eric Schmidt talks about the new presentation service, about the situation with Microsoft, about the DoubleClick deal etc...

Syntax highlighting on Blogger

I recently found a JavaScript and CSS based syntax highlighting framework called dp.SyntaxHighlighter. The script works perfectly and it is really cool to have such a feature totally for free. I find it really useful, especially for people - like me - who want to publish code since with syntax highlighting it is much more readable. The problem is only that Blogger doesn't support dp.SyntaxHighlighter. Using the framework you have to put your code inside a text-area:
(yes I'm using my old way to post code-pieces :) )

<textarea name="code" class="java">
public class Test{
...
}
</textarea>
It should look something like this. So when you want to do this on your Blogger Blog, you have to switch in the Post-Editor to the "Edit HTML" part and write the code of the textarea. However then, when you switch back to "Compose" mode, the Editor will automatically replace all new-line characters inside the textarea to <br/> statements which clearly results in an extremely messy looking, basically unreadable code.

I hope this will be fixed somehow in the near future such that one can use syntax-highlighting tools here. However, what I will do (as soon as I find some free time :) ) is to use dp.SyntaxHighlighter to enhance my Code Notebook's Web Portal.

Beryl window manager

Some time ago, I wrote a post regarding Ubuntu where I also mentioned about the nice visual effects produced by the Beryl window manager. The effects are actually great and they can compete without any problems with Vista. What I have to complain about anyway is that it occasionally happens that the whole system freezes and then you have only the chance of shutting the system down by removing its energy cable. :) Therefore you should consider not to use the manager when you are doing serious work, however the guys of the Beryl project are improving the product constantly.
My system:
HP Compaq nx8220
Intel(R) Centrino Pentium(R) M, 2,13 GHz
1 GB RAM
Some interesting links:

Logging is useful

When I develop some application, I usually add a logging functionality to it. I find logging useful, especially for maintaining the application.
Some bugs cannot be caught with tests and you often neither detect them when using the application. But then, once you release it and a user runs your application, at some point he will for sure get a stacktrace as usual :). A log-file, which keeps track of the latest events and/or failures, is then extremely useful to quickly detect the problem. Initially I started to use log4j, which is a very nice library with a huge amount of functionalities (I didn't for sure find all of them :D ). However I then started to develop my own logger, since I think that if you have your home-made projects, you don't really want to write complicated configuration-files and that stuff. Just load the library and start logging...
So I developed SimpleLog. As the name says, it is a very basic, simple logging utility for Java. My decision was to write all log-entries to an XML file, for which reason SimpleLog also needs to have the JDom library in the build-path of your project. I've chosen that, because this guarantees flexibility. In this way one could also write its own application that does some analysis stuff upon the created xml-log-files, which could be interesting (i.e. failure distribution over classes; failure frequency, etc...).

I've uploaded everything to this location. Before installing please read the Wiki pages, where I gave an example of how to use SimpleLog. If you then decide to use it, it would be nice if you report issues to me such that I can improve it. Here you can find also a sample-log file.