Text of ListView Subitems not updated when using AddRange (WinForms)

When ListView.AddRange was used to add the sub items to an item in a WinForms ListView, a bug in the .NET Framework prevents text updates: After updating the texts of sub items for a ListView item the new texts are not displayed in the ListView. Invalidating, Updating, Redrawing, Refreshing are not helping. As KevinBui pointed out in this article „C# setting ListView’s Item’s Subitem’s text does not display“ new sub item texts are not displayed in the ListView when ListView.AddRange was used to add the sub items due to a bug in the .NET Framework. The solution is not to […]


Talk: „Relational database migrations (with Flyway)“

The slides for the talk „Relational database migrations (with Flyway)“ (RheinNeckarJS Meetup|Twitter, 15.02.2017) are online at Speakerdeck.   I will show how you can use Flyway to have a consistent way to migrate databases (MySql, Maria, Oracle, SQL Server and a lot more) automatically during deployment/as a part of your continuous deployment process. This can also help you with your integration tests.   Content: What are migrations? What are no migrations? Why should I automate it? How does Flyway work? Flyway in an automated deployment process Live Demo


Minimizing your Docker images

As your project grows it can be challenging to make sure that only the necessary files get sent to the Docker daemon.   There are several tips to help you with this.   Use a „build“ directory Using a .dockerignore file to ignore all files that should not be sent to the docker daemon sounds easy but in large projects this can be quite challenging task, especially if your build tasks get more and grow. I often found it easier to create a single „build“ director during the build process (like grunt, gulp or similar), build and prepare everything into […]


Talk: „Pipelines vom Commit bis zur Docker-Testinstanz“

Die Unterlagen zum Vortrag „Pipelines vom Commit bis zur Docker-Testinstanz“ (DevOps Rhein-Neckar Meetup, 23.01.2017) sind auf Speakerdeck online verfügbar.   In 5 Minuten vom einem Entwickler-Commit hin zu einer Testinstanz oder zu einem kompletten Deployment: Das ermöglicht zügiges Testen und schnelle Deployment-Zyklen. Möglich wird dies bspw. mit „Docker Cloud“. Allerdings ist „Docker Cloud“ darauf ausgelegt, mit öffentlichen Repositories und öffentlich erreichbaren Testsystemen zu arbeiten. Ist dies nicht der Fall, so kann man eine solche Pipeline mit einer Kombination von Open-Source-Tools erreichen:   Mit einer Kombination aus Version Control System, Jenkins, Docker und nginx sowie einigen kleinen Netzwerkkniffen ist es möglich, […]
Android Robot Logo


(Incomplete) List of Android app permissions requiring a privacy policy

„Your app has an apk with version code xyz that requests the following permission(s): …. Apps using these permissions in an APK are required to have a privacy policy set.“     This is a notification display in the Google Play Developer Console, when an Android app is requesting one or more certain permissions. Google states that every app that „handles personal or sensitive user data (including personally identifiable information, financial and payment information, authentication information, phonebook or contact data, microphone and camera sensor data, and sensitive device data)“ is required to have a „privacy policy in both the designated […]


Configure nginx for SSL

When setting up nginx to use HTTPS we checked the site with the SSL Server Test of Qualys. The result page showed several hints to improve security.   SSL Configuration   Key Exchange / DHE (Ephemeral Diffie-Hellman) parameters The default nginx configuration will use a key that is too weak. To generate and use a stronger key, first generate a stronger DHE parameter:   sudo openssl dhparam -out /etc/ssl/private/dhparams.pem 2048   This will create a new file dhparams.pem in /etc/ssl/private/, containing the new key. The key file can be reference in the nginx configuration with the ssl_dhparam configuration parameter.   […]
Nach oben
Zur Desktop-Version