LSH – an efficient approach to nearest neighbour search

In Image similarity search with LIRE we explained how to compare and find similar images using the Java library LIRE. The idea was to transform the complicated problem of comparing a large bunch of pixels to the simpler problem of comparing vectors representing histograms and other higher-level properties. In other words, if we can compress the information inherent in a bunch of pixels to a point in n-dimensional space (an array with n entries – the so called feature vector of the image), we can regard the distance between two such points as a similarity measure for the corresponding images. We can then find the images similar to a search image by selecting those images whose feature vectors have a small distance to the feature vector of the search image.

However, a naive approach to the problem – comparing the feature vector of the search image to all feature vectors in the database – is rather slow if our database is large. In this article, we show how to implement a fast similarity search for even very large databases.


Faster programming (with ES6): Magic Getters, Setters and Variable Function Names (Part 3/4)

The aim of this series is to show you how to program faster by writing less code. In part one you get an overview what I mean by writing less code, part 2 shows how destructuring works, how you can use the arrow function and default Params to reduce code. Here in part 3 you’ll learn more about magic getters/setters and the Variable Function Names. Weiterlesen

Faster Programming (with ES6): Destructuring and Arrow Function (Part 2/4)

This series is about how to program „faster“. It is not, however, about typing code faster but to write less code in the first place. It saves time but also you have to read less code and the effort to maintain it sinks in the long run (more about it in the introduction). In part 2 I’ll show you how to use destructuring and the Arrow Function.  Weiterlesen

Faster Programming (with ES6/TypeScript): Introduction

Our daily business as a JavaScript/TypeScript developer is to work with lots of code. The bigger the project, the more code you need to read – instead of writing it. The idea for this four-part series is that in the long term a project always benefits from writing less. Make the code-base smaller, cleaner, so that you and others don’t need to read so much. This allows faster programming and less code increases maintainability.


FENNEC – das Projekt zur Bachelorarbeit

Im Rahmen meiner Doktorarbeit am Lehrstuhl für Bioinformatik an der Universität Würzburg habe ich den FENNEC – Functional Exploration of Natural Networks and Ecological Communities – entwickelt, eine Webapplikation die es Biologen ermöglicht große Datenmengen automatisiert auszuwerten.

Ivory Becomes FOS Now – CKEditor Bundle for Symfony

Maybe you heard about it: The Symfony Bundle „egeloen/ckeditor-bundle“ was looking for a new maintainer. And the Symfony 4 compatibility was missing. Having the downloads in mind I did not expect it to be that difficult to find new maintainers. At the end Marko Kunic and I took that place. But let us take a look back into the history.

Simple reproduzierbare Entwicklungsumgebungen mit Nix

Sebastian hatte in seinem Blogpost Python-Abhängigkeiten projektbezogen verwalten das Problem, bestimmte Shell-Tools reproduzierbar für alle Entwickler bereitstellen zu müssen. In seinem Fall ging es dabei nur um awscli und awsebcli, beides Python-Tools von PyPI. Das geht relativ angenehm über seine genannte Methode mit pip und virtualenv. Selbst mit der Einschränkung auf PyPI als Quelle für die Abhängigkeiten zeigen sich jedoch schon die Vorteile von Nix.

Python-Abhängigkeiten projektbezogen verwalten

Ich bin generell eher kein Python-Entwickler und kam irgendwann in die Situation, Python-Abhängigkeiten bei der Nutzung von AWS und unterschiedlichen CLI-Tools (aws-cli, eb-cli, etc.) zu verwalten. Jetzt kann man natürlich sagen: „Egal – installiert euch lokal-global das aktuellste aws/eb-cli und gut ist“.


Coding Ninjas

Coding Ninjas ist der Titel einer Webapplikation die ich auf dem diesjährigen Developer Camp in Würzburg am 09. und 10. März 2018 im Rahmen der Würzburg Web Week vorgestellt habe – und das ist die Geschichte hinter diesem Projekt.