Abstract Rewritten on 15 January 2015 In this post I'll talk about the problems callbacks introduce into the readability of asynchronous Java programs. I'll also discuss an implementation of method pointers for Java which aids the transformation of a callback-style program into a linear program flow, greatly increasing readability while still being a 100% asynchronous … Continue reading Reactive programming for Java, revisited
Category: programming
Running varnish as unprivileged user
Since I haven't found any documentation on the topic of running varnish as non-root, I proudly present: how to run varnish as non-root. A warning ahead: this will require fiddling with init scripts, so make sure to keep backups. Also, scripts will be overwritten with each package update. Changes to /etc/init.d/varnish Ulimit calls are not … Continue reading Running varnish as unprivileged user
Tomcat/Scala: invalid byte tag in constant pool: 110
When deploying a Scala application on Tomcat 7 I got this weird error: invalid byte tag in constant pool: 110 from Tomcat's annotation scanning in the scala utils jar. There is this bug report that claims it's fixed, but it seems to still happen wit 7.0.53. Since the application doesn't rely on Tomcat's annotation scanning, … Continue reading Tomcat/Scala: invalid byte tag in constant pool: 110
When scala unitests won’t run in the Scala IDE with Maven
Stupid problem: scala unit tests / scalatest tests suddenly won't run after a failed maven build claiming with a ClassNotFoundException that the test class doesn't exist. I believe this to be a weird class loading issue where Eclipse doesn't include unit tests into the classpath. The very, very sad workaround is: run a successful maven … Continue reading When scala unitests won’t run in the Scala IDE with Maven
Programmatically selecting a tab with angularjs and bootstrapui
Let's say you want to programmatically select a tab with angularjs and bootstrap ui: [CODE MISSING] According to the documentation for 3.1.1 it should be enough to modify the model; here controller.tabUsers or controller.tabGroups. Only: it doesn't work. We'll never know why. The way out is simulating the click with jquery: $("#tab_users a").trigger("click");