Playing around with docker running inside a Vagrant VM and trying to use some services being exposed via HTTP ports makes you ask how to automatically forward the exposed docker ports through Vagrant to the host system. phew I found an already merged pull request, which looked like what I wanted. So, after a peek into the docker Vagrant file I tried to expose a CouchDB port to the host system like this:
A recently published article shows our solution to initialize an AngularJS application using promises. You might have similar problems when your application initialization depends on http responses or other ansynchronous tasks. An online demo can be found at jsfiddle.net and the code is available at GitHub.
Recently I stumbled over a tool Coveralls. It helps monitoring your test coverage. You can integrate it e.g. with your Travis-CI builds by using a plugin for your favorite build tool. Needless to say that they also provide Travis-CI similar badge to show off your current test coverage near your current build status in your README file at GitHub. Their docs sadly aren’t very focused on Java tools like Maven or Gradle, so you have to find a working plugin on your own (or code a new one by using the Coveralls API).
Those who know my old web site might wonder what gesellix.net is about. Well, gesellix.de wasn’t very frequently updated with new content or posts and I guess it was in parts due to the Joomla! CMS being too much distraction when writing just a little blog post. Joomla is fine as CMS, I still like it for the massive amount of extensions and for the great community behind it. Yet, Ghost makes creating content much easier for me.
A new Gradle plugin for creating Debian compatible packages (.deb) is available at Bintray. It allows you to package any files through a convenient Gradle build script configuration into a Debian package compatible file. You may also include your MavenPublications (.jar or .war) by only referring to their publication names. To use the plugin you need some knowledge about the package structure and configuration scripts. The Debian New Maintainers’ Guide, chapters 4 and 5, will help a lot.
Playing around with node.js made me build a monitoring tool to perform continuous health checks. I have an application running with a status servlet available under a URL like http://example.com/healthcheck. For a healthy system, I get a JSON as response including an attribute result.summary. In case that summary isn’t OK, I want the monitor to send me an email with details. Nothing spectacular, so you’ll find the little piece (of currently untested) code at GitHub.
The Fest Assertions library, a fluent Java API for writing assertions in your test or production code, is quite popular in my development team. Because of it's clean and fluent interface, it was no question to me when trying to use it in an Android project. But due to it's dependency on java.awt classes and due to Android's missing support for them, I currently cannot use it for writing tests in my Android codebase.
Liebe Deutsche Bahn AG, seit Jahren bin ich regelmäßiger Nutzer Ihrer Infrastruktur. Sei es anfangs für regelmäßige Wochenend-Pendelei, später die S-Bahn in Berlin und in letzter Zeit mehr oder weniger regelmäßige Fahrten zwischen Berlin und Westerwald. Bahnfahrten sind für mich eine entspannte Möglichkeit Entfernungen zu überbrücken, ohne großartige Checkins und Wartezeiten auf Gepäckbänder über mich ergehen zu lassen. Trotz meiner Liebe zum Autofahren sehe ich die Bahn auch als vorteilhaft an, wenn es um Treibstoffkosten, Autoversicherung und KFZ-Steuer geht.
Working with external interfaces often needs a secured connection, mostly implemented using SSL. I recently ran into some fresh setup of two hosts, sending each other SOAP requests via HTTPS. Being a Java developer at my office, I got some error messages quite unknown to me, but after some reading of blogs and with other informational sources the problems had been fixed. Understanding the concept behind SSL and how the SSL handshake works are crucial when trying to understand error messages and to know where to fix them.