Skip to main content

Using ngTagsInput with $resource

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

Recently in an AngularJS project we used the ngTagsInput directive for AngularJS. In the documentation it is shown how to set-up your own function to load the data for the autocomplete functionality. Since our API returned the data in a way that ngTagsInput did not expected it, I needed a way to convert or extract the data before returning it to ngTagInput. It turned out to be quite easy:

The Vagrant gatling rsync plugin

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

I recently covered our Vagrant setup. As mentioned in the blog post we mostly use the Vagrant shared folders setup which unfortunately is rather slow. When searching for alternatives I came across the vagrant-gatling-rsync plugin which seems to work better compared to the built-in rsync support of Vagrant. As it seems the built-in rsync support uses a lot of CPU and disk I/O especially when working with very large rsynced directories. The vagrant-gatling-rsync plugin is designed to work well with such large rsynced folders and performs a lot better. In addition to that you are able to fine-tune the rsync latency via your Vagrantfile which is also a huge win. To install the plugin simply run the following command:

Simple Logging Facade for PSR-3 loggers

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Lately I have seen more and more libraries picking up PSR-3 when it comes to logging. What a lot of libaries do wrong is that they depend on a concrete implementation of PSR-3, e.g. Mongolog instead of relying on the PSR-3 interface. From what I have seen this is because loggers get instantiated directly within the class. This is not a bad thing but it couples your code to a concrete implementation of PSR-3 which in turn means that there's no interoperability.

Vagrant Cachier Plugin

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 4 min read
Stephan Hochdörfer
Head of IT Business Operations

There's one plugin for Vagrant which I love to promote in my talks and this is the Cachier plugin. When giving my talks and mentioning the plugin I realized that not many people are aware of the plugin. That's the main reason I write the following lines. The downside of Vagrant is what whenever you destroy a virtual machine and build it again all packages (eg. .deb packages for the OS or Composer packages for the application) need to be downloaded again. Downloading and installing a lot of packages can be quite time consuming which in turn means developers try to avoid it. Which in turn means no one regularly checks if provisioning of the virtual machine still works as it should. The Cachier plugin is the solution for that problem. As the name implies the plugin will cache the downloaded packages and re-use them when possible. To achieve that the plugin will link several folders of the virtual machine back to the host, so that the packages are actually stored on the host, not the vm. Very clever.

20 years of PHP

· One min read
Stephan Hochdörfer
Head of IT Business Operations

Inspired by Ben Ramsey's blog post I thought I should share my PHP story as well. I discovered PHP in late 1999. Back then I was looking for an alternative to Perl which I used back in those days to "hack" smallish web applications. I did not really like the syntax of Perl (sorry) and it was always hard to debug on most web hosts. By accident I found PHP and loved it, well in fact I still do love it. I used PHP in 2001 in my first job where I had to develop a web-based DNS management system which was the biggest project for me back in those days.

Vagrant error - stdin: is not a tty

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

Every now and then when provisioning a virtual machine with Vagrant I got an error during the provisioning process. Everything seemed to work fine but the error confused me and my developers so I was looking for the source of the error. I came a across a Vagrant bug report where Mitchell Hashimoto explained that "the reason this error message even appears is due to a bug in Ubuntu not checking whether stdin is a TTY, and just assuming it is". One of the comments in the discussion of this "bug" proposed a "bugfix" by adding the following line to the VagrantFile. Up to now this fix works fine for us and you might use it as well:

SMART DATA Developer Conference 2015

· One min read
Stephan Hochdörfer
Head of IT Business Operations

Vom 01.12.2015 bis zum 02.12.2015 findet in Köln die SMART DATA Developer Conference 2015 statt. Ich freue mich dabei zu sein und meinen Vortrag "PostgreSQL: Die NoSQL Datenbank die niemand kennt" präsentieren zu dürfen. Zusätzlich zum Vortrag werde ich am 01.12 einen Workshop "NoSQL mit PostreSQL" anbieten und freue mich auf interessierte Teilnehmer.