Posts

Talk at the University of Applied Sciences in Augsburg about practical use cases of NoSQL

Image
It was a pleasure visiting the University of Applied Sciences in Augsburg last week. Prof. Dr. Michael Predeschly invited me to give a talk about practical uses cases of NoSQL. It was amazing to see all those interested students and to answer their questions about polyglot persistence, the right usage of NoSQL databases, and practical use cases. Do you want to know more? Then reach out to me. My contact details can be found here: https://www.nosqlgeeks.de .

NoSQL Geeks is part of the Stückwerk Community

The Stückwerk Community is a project of the "Kult E.V." in Krumbach (the home town of the company NoSQL Geeks). The idea is to create a place where culture meets social initiatives. There are frequent events like art exhibitions or intercultural meet-and-greet-s. NoSQL Geeks will present during this year's XMas market that happens in the Stückwerk building in the town center. More about NoSQL Geeks can be found here: https://www.nosqlgeeks.de . / Das Stückwerk ist ein Projekt des Kult-Vereins in Krumbach (der Firmensitz der NoSQL Geeks). Die Idee ist es einen Platz der Begegnung von Kultur und sozialen Initiativen zu schaffen. So gibt es z.B. Veranstaltungen wie Kunstaustellungen oder interkulturelle Treffen. NoSQL Geeks wird sich wärend des diesjährigen Weihnachtsmarkts im Stückwerksgebäude im Stadzentrum vorstellen. Mehr über NoSQL Geeks erfahren Sie hier: https://www.nosqlgeeks.de .   https://vimeo.com/773013927

So what exactly is an Event Loop?

Introduction Most of you are knowing that I am working a lot with Redis. And some of you might also know that Redis OSS 'standalone' is mainly single-threaded. The reason why it can achieve that high throughputs on a single instance is that it uses an event loop. But what the hell is an event loop and how does it work? First of all, let me tell you the story behind this article. It all started last weekend. For some reason, I found the time to read a Kotlin book. Not sure why I did, guess I just had the feeling that I am too long disconnected from actual development tasks and wanted to explore one of the comparable new programming languages. The book was great and I had the impression that Kotlin is actually quite nice. Then I went back to my main task (helping to enable the Technical Field at Redis Labs) and had to work on a slide about the Redis event loop. A look at the source code (and the following article https://redis.io/topics/internals-rediseventlib), raised a ques...

A simple but special Redis Web Client

Image
It was a while ago when I wrote my last blog post. So let me take the chance to write something about a very simple piece of software which started as a fun project of mine. Let's do it a bit different this time. I will show you the results first and then I will explain what's special about this application: This looks very basic, right? What's special about it? So here is the story behind it: It all started a few weeks ago when I decide to buy an iPad Pro (11 inches). The motivation was indeed not to use it as a development machine. My current role requires to draw some diagrams and to explain stuff a bit more vizually. So the iPad Pro seemed to be a nice device for such a purpose. Being a techie, I wondered a bit which kind of development can be done on it and I started to install some tools for experimenting with them: Working Copy: A Git client Pythonista: A Python IDE StaSh: A shell for Pythonista which allows you to use packages via 'pip' Blink: ...

Building a Recommendation Engine with Redis

When I was asked which topic I would like to present at this year's OOP conference, I was out of the box thinking about 'Something with Machine Learning' involved. It was years ago at the university when I had a secondary focus on 'Artificial Intelligence and Neural Networks' and I think that's fair to say that the topic was not as 'hot' as it is today. The algorithms were the same as today but the frameworks were not that commodity and calculations happened either on paper, with MatLab or with some very specialized software for neural network training. However, the actual discipline stayed fascinating and even if I would not call myself a Data Scientist (I sticked more with my primary focus which was Database Implementation Techniques - so I am more a database guy :-) ) I am really amazed of the adoption and number of arising frameworks in the field of Machine Learning and Artifical Intelligence. Machine Learning or Artificial Intelligence is quite a ...

Asynchronous Operation Execution with Netty on Redis

Netty got my attention a while back and I just wanted to play a bit around with it. Given the fact that I am already fallen in love with Redis, what would be more fun than implementing a low level client for Redis based on Netty? Let's begin to answer the question "What the hell is Netty?". Netty is an asynchronous (Java based) event-driven network application framework. It is helping you to develop high performance protocol servers and clients. We are obviously more interested in the client part here, meaning that this article is focusing on how to interact with a Redis Server. Netty is already coming with RESP  support. The package 'io.netty.handler.codec.redis' contains several Redis message formats: RedisMessage : A general Redis message ArrayRedisMessages : An implementation of the RESP Array message SimpleRedisStringMessage : An implementation of a RESP Simple String message ... So all we need to do is to: Boostrap a channel : A channel is...

Data Encryption at Rest

Data security and protection is currently a hot topic. It seems that we reached the point when the pendulum is swinging back again. After years of voluntary openness by sharing personal information freely with social networks, people are getting more and more concerned about how their personal data is used in order to profile or influence them. Social network vendors are getting currently bad press, but maybe we should ask ourself the fair question "Didn't we know all the time that their services are not for free and that we are paying them with our data?". Maybe not strictly related to prominent (so called) 'data scandals' but at least following the movement of the pendulum is the new European GDPR regulation around data protection. Even if I think that it tends to 'overshoot the mark' (as we would say in German) and leaves data controllers and processors sometimes in the dark (unexpected rhyme ...), it is a good reason for me address some security topics...