Converting Roman Numerals To Decimal Integers

Algorithms fascinate me again and again. They seem to be very hard to understand, but once you have practiced enough, you will recognize common patterns. Once you reach the state where you see a problem and can imagine a solution, it seems like that you just adjust the previous algorithm used. Saying this, I am … read more …

Vagrant Getting Started

The last few days, I was busy getting started with Vagrant. Vagrant is a nice tool to create a development environment to ‘just start’ developing. New team members, for instance, do not need to set up, but can simply run ‘vagrant up’ to have a fully configured, ready-to-start environment. Personally, in my case, it is … read more …

Traversing a 2D Matrix

The new years first blog is about algorithms – more precisely: 2 dimensional matrices. I want to explore the ways how to find connected 1’s (so called islands) in a 2D array. This problem is also known as the “find the number of islands” or “connected components in an undirected graph“. In this post, we … read more …

How To Simple RBAC

Since I have been asked a few times for a “how to” for my “Role Based Access Control” library, I want to summarize this in a little blog post. Maybe the last one for 2018 🙂 Simple-RBAC ist designed to be lightweight. The main purpose is to grant or deny permissions to users using RBAC. … read more …

Recommendation Assistant 1.0.0 is here

It has been a while since I released the initial version of Recommendation Assistant, my Master’s Thesis in coorperatin with Nextcloud GmbH and Frankfurt University of Applied Sciences. Today, I am happy to announce version 1.0.0. What has been changed? Most of the work is on how recommendations are being calculated. Earlier this year, I … read more …

Contact Synchronization Client – A First Try

The last few weeks, I was focused on algorithms and data structures. I have been working my way through “Cracking The Coding Interview” and created a PHP library based on this book. I splitted interesting topics, such as dependency resolving using topological sorting, out into separate projects and released them under the MIT lincese on … read more …

Resolving Database Dependencies Using Topological Graph Sorting

In past projects at my former employer, I had to deal with a lot of historical grown (duplicated) code and databases. Some source code files contained of nearly 2,000 lines of code and contained a lot of duplicated stuff. The databases were in a similar situation. Much worse in this scenario was the violation of … read more …

Integer Bitvectors and the Theory Behind

The last few days I had a little bit more time to dive into theory. I was wondering how to effectively search single values in unsorted, large amounts of data (e.g. files larger than 1GB) and ended up with Integer Bitvectors. There are two key problems in such an issue: the data is unsorted, meaning … read more …

RecommendationAssistant is on the Nextcloud App Store now

Earlier this year, I announced my Master’s Thesis in Recommendation Systems and Nextcloud, an open source file sync and share software. Since then, things have changed a little bit – namely: RecommendationAssistant is on the Nextcloud App Store now! RecommendationAssistant was designed to work with two recommendation techniques: Collaborative Filtering and Content-Based Recommendation. Unfortunately, the … read more …