June 28, 2020

Updating an AUR package

Archlinux’ documentation is good, but somehow i struggled to find simple instructions how to update a package. The kafka CLI i’m maintaining, kaf, has been available for some time in the AUR. At some point i have been passed the ownership of the AUR package, but i had no idea how to do a release.

For more complex cases there’s probably more to do, however in my simple case:

  1. Clone repo: Read more

April 12, 2020

Using kaf for Azure EventHub

Since kaf v0.1.35 it is now possible to interact with Azure EventHub. Kaf is a modern CLI to interact with Kafka, i.e. producing data, consuming, or viewing topic and Consumer Group information. Now having first-class support for EventHub makes EventHub much more accessible than before. In the following Example i’ll show how to set up kaf for your EventHub. It’s very simple.

Install kaf#

There’s several ways to install kaf.

Install script#
curl https://raw.githubusercontent.com/birdayz/kaf/master/godownloader.sh | BINDIR=$HOME/bin bash
Via AUR#
yay -S kaf
Via Go#
go get github.com/birdayz/kaf/cmd/kaf
Setup EventHub#

To create an EventHub, you have to first create an EventHubs namespace. The equivalent to a EventHub Namespace in the Kafka world is a Kafka Cluster. Read more

September 23, 2018

Building a 22 Megabytes Microservice with Java, Javalin and GraalVM

Oracle’s GraalVM allows for ahead-of-time (AOT) compilation of JVM applications. This means, instead of running a JVM process to execute your application, the compiler builds a native binary. How does it work? On a very high level, a basic runtime (called SubstrateVM) is compiled into the binary, as well as the actual application. Sounds a little like Go, which also includes a small runtime for e.g. garbage collection. In this article, I’ll show how to build a small sample restful webservice with GraalVM native compilation. The sample application is written in Java. Why would somebody even be interested in native compilation of a JVM application? On my day job at E.ON i sadly still have to work a lot with Java applications. Our tech stack is completely cloud native - we run almost everything on Kubernetes. Our applications are “typical” 12 Factor applications. In such a dockerized environment, i think there are three major reasons why native compilation would be interesting. Read more