There are a lot open-source domotica systems available like Calaos, Domoticz, Home Assistant and OpenHab to name a few. Now there is one more, my own (for now) nameless system. Why make your own I hear you asking! First of all because I want to learn how to create such thing from the ground up, and I want to find out how I would build such system without being influenced by other domotica systems. I haven’t checked any source code of my direct competitors and I haven’t checked how they solved various issues. I googled some of their interfaces and in most cases I hope I can do it better. Because in my opinion most of them look really outdated! In this blog I want to show you what I have build so far. Keep in mind it is by far not yet ready or usable.
How I spend Christmas this year!
I spent Christmas this year at my parents home. Of course we had some really great family time, had dinner together, made a walk and did all the other cliché things. Like every year I use the extra days I spent at my parents, they live on the other side of the country, to do some browsing around at the attic finding memorable stuff from my youth. This year I found my old Pentium II MMX PC, one of the first computers we had and I was very curious if this computer would still work.
Introduction to Machine Learning
I don’t know exactly what started my interest in Machine Learning and AI in general, but it’s a topic that I monitor for a long time now. The vast amount of possibilities sparkle my creativity and I love to experiment with it. Especially now services from Google and Azure made it so simple to build cool stuff with it. But I am also interested in how things work, that’s why I love to dive deeper into the subject. And when I gain some knowledge, it’s always fun to share that knowledge with others. This blog is about an introduction to the topic Machine Learning I gave at my work. It was a small presentation just covering some of the basics, but just enough to get started with it.
Since a while I am experimenting with docker, setting up my own docker development environment, experimenting with containerizing apps and trying out kubernetes. It’s easy to get started with docker which makes it so much fun to play around with it. But as I said before I also like to know how things work. That’s why I got interested in the fundamentals of containers and tried to build my own without the use of docker but only with the help of the linux kernel.
[Solved] Docker compose volume sharing issues
After years I am now migrating my development environment from vagrant to docker. I was always very pleased about the way vagrant worked but running a complete VM is a bit of overhead and beside that very resource consuming. It’s also less flexible, its more work to maintain for example. After reading about Linux Containers, how they work I got interested in Docker. Now I am working on my own docker development environment. While I am building such environment I experience sometimes difficulties, some easy to overcome and some harder. Today I had an issue with mounting volumes from my windows machine using docker compose. The problem was that the mount just didn’t work. So what is the problem?
[Solved] Failed to load pdf in chrome when downloading with PHP
Sometimes you struggle with issues that seem to be small at first glance but still consume a lot of time to find out what the real problem is especially when the issue can only be reproduced when a specific browser or version is used. In my case I build a script to download a PDF file in PHP. It seemed to work in all browsers until a client uploaded a very specific PDF file that wouldn’t open in chrome’s buildin PDF viewer but worked in all other browsers and also offline. Ahhhrr is it a chrome bug, or did I do something wrong? Continue reading to find out what I did to solve it.
Help! My Synology NAS docker GUI won’t download any images anymore!
I really love my Synology NAS. But sometimes its not working completely as I expected. I have various docker containers running on my NAS and until now without any problems. But today I had an odd issue. Everytime I tried to pull the latest Gitlab CE image from the registry it started downloading but after a while is hangs and just dissapears from the list. First I thought it was my internet connection, or maybe my DNS settings. But nothing seem to work. Also not downloading other tags like specific versions. I only had the problem with the Gitlab CE image. All other images downloaded fine. Here is how I solved the issue…. Continue reading
Exposing your local webserver, testing integration external services locally
Whether you are developing inside a docker container, using vagrant or any other LAMP development environment sometimes you want to expose your local development environment to the internet. For example when you want to locally test the integration of external services like PayPal (or any other service). These services mostly require a callback url that is reachable from the internet. Without exposing your locally development environment its much harder to test these services before putting your application live. In this blog I will explain a couple of easy options that are also free to use. One of my favorite services is ngrok but I will also give some alternatives.
Fastest way making records unique in a huge PostgreSQL table
I am currently working on a project were we are collecting huge amount of data. Recently we discovered that millions of rows were not unique. Because we are using Machine Learning to find patterns in the data and to cluster it, these dublicate rows were polluting the results of the learning algoritme. Therefor we had to come up with a solution to remove all dublicates and prevent new dublicates in the future. Continue reading
The shadow side of HTML
This article is not about the negative aspects of HTML but about that other dark side of HTML that is called shadow DOM . If you are a frontend developer and you have never heard about shadow DOM then you should definitely keep reading because you are missing some cool stuff about webdevelopment. Continue reading