.NET Framework: Directory- and File-methods trim paths

A generic error occurred in GDI+, that was the very generic error message when using System.Drawing.Image.Save to save an image to a previously created directory.   Further investigations showed that it actually was not an error with Image.Save, which in fact was behaving correctly (let aside the cryptic error message). The „error“ was not an error per se, but more an unexpected behaviour of the method used to create the directory: Directory.CreateDirectory.   This method has been called erroneously with a path having a space character at the end of one of path specification parts: private static void Test(Image newImage) […]


Docker Security: Check file checksum before you add an apt-key

If you’re adding additional sources for apt-get in your Dockerfile you should make sure that the correct key is added, otherwise the integrity of your Docker image may be violated. You can do so by using sha256sum to generate the checksum of the downloaded file and compare it to a given checksum. That checksum could be listed on the web page where you download the file from or you can create it by yourself with sha256sum: $:~/Docker-apt-key-security$ sha256sum archive.key 191f801a17273f25b781c580c2900d2fd58064554220ad6e18698aeb3c3afe70 archive.key In that case "191f801a17273f25b781c580c2900d2fd58064554220ad6e18698aeb3c3afe70" is the checksum of the file archive.key. Use that checksum in your Dockerfile, once the […]


With Docker in 5 minutes from developer to test server

An on-premise „Docker Cloud“-like workflow from repository to Jenkins to test server   As a software company for individual software solutions we are developing software in highly diverse settings, in means of programming languages, databases and environments: Node.JS, PHP, C#, MySQL, MongoDB, MS SQL, Windows, Ubuntu, Debian, you name it. That makes it a challenging task to provide test servers or acceptance test servers for fellow developers, project managers and customers. We used to solve this by spinning up multiple virtual machines or cloud servers. This became more and more complicated, extensive to maintain and resource consuming. Furthermore, it had […]


Corrupt PATH after installation of MySql

The installation of MySql on Windows may lead to invalid PATH environment variable. The installation also installs some tools in a sub directory „MySQL Fabric 1.5 & MySQL Utilities 1.5“. This path is also added to the PATH environment variable which leads to something like PATH=C:\Python27\;C:\Python27\Scripts;C:\Program Files\nodejs\;C:\Program Files (x86)\MySQL Fabric 1.5 & MySQL Utilities 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5\Doctrine extensions for PHP\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\Git\cmd; The ampersand characters in the path entries are not escaped and thus will be evaluated when the PATH variable will be used in shell commands, for instance when the PATH […]


Running Windows Docker images

In the recent days I was rather confused about native Docker for Windows. What are the conditions to run a Docker image on Windows? Linux image or Windows image? Docker on Windows needs Hyper-V, but on my development box I need VMWare Workstation to run testing virtual machines, VMWare does not play with Hyper-V, so how can I use Docker on Windows for the cool new things?   I found out that a lot of my confusion had to do with bad product naming…   There is the Docker Toolbox for Windows (Docker up to 1.11) which is basically a […]


WordPress-Installation umstellen von Ubuntu Repository auf offizielle Version

Installiert man WordPress über den Paketmanager apt-get so erhält man WordPress über das offizielle Repository, das allerdings oft nicht die aktuellste Version enthält. Darüber hinaus wird das WordPress-eigene Update-System deaktiviert und man erhält keine Updates bspw. um Sicherheitslücken zu schließen. Die Umstellung eines bereits installierten WordPress-Systems von einer apt-get-Installation auf eine eigenständige Installation, die auch den bordeigene Update-Mechanismus verwendet, ist auf folgender Seite hervorragend beschrieben:
Nach oben
Zur Desktop-Version