Update: Cloud Downloader 2.9.6

Cloud Downloader 2.9.6The last update of the Cloud Downloader was two weeks ago. Since then I got a lot of feedback from you all by e-mail. So, among other things, two bugs could be identified. Therefore, today there is a new version.
The version 2.9.6 of the Cloud Downloader includes the following changes:

Previously, when specifying a “/likes” URL only the songs were observed. If a complete playlist was liked, its songs have been disregarded. Now all the songs, even those from “embedded” playlists, are respected.
The “/playlists” URLs from the profile pages could not be read. This works now.
The complete code has been revised in order to prevent crashes/errors.
One, two typographical errors in the GUI have been fixed.

The current version can be found (as always) in the Cloud Downloader’s main article by clicking the following link:
Download: Cloud Downloader 2.9.6

Update: Cloud Downloader 2.9.5

Cloud Downloader 2.9.5
Just a quick status update. Today I released the Cloud Downloader version 2.9.5. As might guess from the version number, the jump from 2.9 to 2.9.5 contains only minor changes.
So there are no new features included in the current release. Therefore I have worked on the stability of the entire application and fixed some bugs.
The current version can be found (as always) in the main blog post about the Cloud Downloader. Just follow the link below.
Download: Cloud Downloader 2.9.5

Best Practice: Convert 1 and 0 to true and false in Javascript

1 und 0 zu true und false in Javascript
Today there will be only a very short post. There are certainly many ways to convert 0 and 1 in Javascript to true and false.
The following way to reach the wanted result I’ve seen today. I think it is probably the shortest and most elegant way to go. In addition, it works not only for integer values, but also for the string representations of 0 to 1.
So this is the stuff I like to add to my personal “POP”-collection (pearls of programming)…
0 and 1 to true and false
To convert the integers 0 and 1 to boolean, it is sufficient to use the not-operator twice.

var thisIsFalse = !!0; //false
var thisIsTrue = !!1; //true

Why it works? Here is a short explanation. 1 is a valid value and thus true. When we write !1 now, then we create a false condition […]

Open SAP GUI from HTML out of your webbrowser

SAP aus Browser aufrufenSome time ago I got into a discussion about whether it is possible to open transactions in the SAP GUI out of the browser. The opinion of the colleagues was unanimous – start SAP GUI from browser is something not be done.
However I have maintained and created a small proof-of-concept. Because it works. Ok, it’s not pretty, but it works. And that’s how to call the SAP GUI from the browser.
sapshcut.exe and what you can do with it
The solution works (among other things) using the sapshcut.exe (short for SAP Shortcut). This .exe file allows to start the SAP GUI parameterized. The possible parameters ranging from user via logon language up to the executed transaction. A complete list of possible parameters can be obtained by calling the sapshcut.exe with the parameter -?. (See screenshots below.)
sapshcut.exe - help from cmd

How to make remote IPs available on OS X’ PPTP VPN connections

OSX VPN RoutingLet me describe the initial situation: I connect my Macbook via PPTP VPN with an remote network using the standard OSX VPN client. While the VPN connection is established, however, there is the following problem.
All devices on the remote network get IP addresses within the range 10.8.0.0/24 assigned. However, the local IP range on the external network is 192.168.178.0/24. A server, which (as local user of the remote network) can be reached via 192.168.178.11 for example, now (via VPN connection) has the IP 10.8.0.45. Unfortunately it is not clear which server got what IP from the 10.8.0.0/24 block of adresses.
Add routing rule for PPTP VPN connection on OSX
The solution is quite simple in this case. The only condition so that subsequent workaround will be successful is that the IP range in which the Macbook is, is an other than the local range of the external network. If the Macbook is […]