This may sound obvious to you, but it isn't. Developers commit code which they neither understand nor question. Maybe it worked in the first place. Maybe it will break something else. Either way, it creates the base for technical debt, bugs, security vulnerabilities, and even worse: developers who do not grow. This problem was surely not created by AI, but the rapid adoption of it is amplifying…
Some years ago when I built the software for an online ticketing platform, we wanted to have turnstiles which can be used to improve the pass through rate of the ticket scanning process at larger events. We found a fitting product and the seller promised us that the controller of the turnstile can easily be integrated into our local on-site application. Of course it was not as easy as promised. We…
Although authorization sounds similar to authentication and a relationship between the two exists, they are not the same and play a different role in the data security process. In 2021, Broken Access Control moved up from the fifth to the first position in the OWASP Top10. Besides, I did report some serious vulnerabilities to SaaS companies regarding unhandled authorization in the last months.…
When you back up a sd card and attempt to flash the image to a second card, it can happen that you will be greeted by the message "Too small.". This can happen because two sd cards from even the same vendor could have slightly different sizes. In this tutorial, I will show you how to shrink an image to a specific size so it can fit on a smaller sd card.
MySQL has supported Full-Text Search (FTS) functionality for quite some time. The (FTS) capability was already introduced in MySQL version 3.23.23, which was released in September 2001, and yet I have never used it - until now.
Integration tests are a crucial part of the software development process, ensuring that different components of your application work seamlessly together. The faster the feedback, the faster the release. So how can we reduce the test runtime to give the engineers faster feedback and improve the CI pipeline when using MySQL or MariaDB?
When you have a set of data, there is a high chance that it is incomplete. Not only does the data, outside the given range not exist, but also values between known ones are missing. But what if your work relies on that missing data? You can use interpolation and extrapolation to fill the missing gaps in your data set.
GraphQL is a query language for APIs. It was developed by Facebook and is often used as an alternative to REST APIs - but you can define the specific data you want to retrieve from the API. But how to test GraphQL with Codeception in PHP? Spoiler: You do not need an extension.
Since air pollution is the single largest environmental health risk in Europe, I have decided to join the Sensor.Community by adding an outdoor particular sensor. The API for sending the data directly from the sensor works perfect but the community integration for Home Assistant does not, so I have added the sensor locally with the help of the Scrape Integration which absolutely makes more sense.
Some years ago, I have used an existing random string generator for generating random unique strings. From one day to another, there were a lot of timeouts in the application. It turned out that the random string generator was not as random as I thought. Do you run automated tests against a random string generator if it can provide for sufficient randomness?
Do you work a lot with the shell and PhpStorm on macOS? You can easily open the current folder in PhpStorm or in any other IntelliJ product with a shortcut direct out of the console by adding an alias!
The shell, used precisely, is a very powerful tooling for every Software Engineer. There are a lot of keyboard shortcuts which make it possible to navigate, modify and by this complete the current job in a much faster way. Here you can find a list of my favorite shortcuts.
As a software engineer, I am using the shell a lot. Besides the IDE, it is the most important tool. Since working in the shell can be complex sometimes, it is important to find the right tools which not only makes working in the shell a lot of fun but also boost your productivity.
On the 14 January in 2022, a large eruption of Hunga Tonga-Hunga Haʻapai volcano began at 04:14 UTC. The eruption was so loud that it could be heard not only in Fiji which is 750 km away, but also at Alaska which is more than 9.300 km away. At Germany, we didn't hear anything - but the blast wave which has traveled around the whole globe was measurable.
The Magic Home LED WiFi Monochromatic (1CH) Controller is a very cheap device for controlling a 1CH LED strip or wire which are often used for Christmas trees. Since it is using an esp8266 chipset, it can easily be flashed with an alternative firmware.
The number of data leaks including hashed passwords have increased from year to year and with the rising number of web applications, they will continue this path. In these dumps, lots of passwords of older accounts were hashed by the insecure SHA1 or even the absolutely unsafe MD5 algorithm. Data security doesn't get the love it should get. Time to act.
IKEA has released an air quality sensor which measures the PM2.5 density in the air and shows the classification by a green, yellow or red LED. For my surprise, it is a dump sensor with no ZigBee support like some other devices IKEA has released in the past months. So let's make the sensor smart with the help of ESPHome and Home Assistant and add an additional eCO2 sensor.
Almost every time I show somebody something on my MacBook, the question „How did you do that?” or „What tool is that?” comes up. After all those years, I have decided to write a blog post about the tools I use and which have increased my productivity not only as a developer, but also in general on MacOS.
Home Assistant is an open source home automation hub with a huge ecosystem powered by a worldwide community. With its RESTful integration, you can easily add an external API as a sensor on which you can build an automation or just show the given data on your dashboard. In this tutorial, I will show you how to integrate the pollen data of Ambee which provides powerful APIs for real-time air…
On the 18th of december, there was an update for the ARD Mediathek app. The update seems to have included one configuration line which led to a lot of frustration and a very bad user experience. Ten days later, nothing has been fixed. Some reminders and learnings from my side.
The dark mode, also called night mode, is a special color schema which uses light-colored text on dark backgrounds. The opposite of dark mode is the light mode which is or was the de facto default schema. The dark mode not only has effects on the human body but also on the power consumption of newer devices.
Have you ever deployed a feature which interrupted your application because the schema change on the MySQL database has locked the table? Then I have good news for you! There are some tools like the Percona Toolkit which can apply the operation without a downtime.
Inspired by a tweet of Dominikus Herzberg, I have created a small JavaScript which combines location data with Google Maps to show the current location of the ISS above the ground in almost real-time without any control structures in the code.
On the 20th March 2015, there was a partial sun eclipse. I wanted to make a timelapse. I put my camera on a tripod, placed the sun in the lower left corner of the display and started the timelapse mode which made a photo every 5 seconds. After 20 muinutes, I realized that the sun will soon move out of the picture.
If you have an anchor link on a page with a fixed or sticky header, the element linked to will disappear behind the header. To fix this, you will have to add the property scroll-margin-top to the element.
Have you ever developed in a Debian VirtualBox running out of space? This happened to me some days ago when I have imported the live database for debugging. Following this step by step tutorial, you can increase the disk space.
Do you often work with backend forms in your web application scrolling endless down to the submit button? Why not overwrite the submit button with the common use save keyboard hotkeys CMD+S (Mac) and CTRL+S (Win) with Javascript?
Icons are used everywhere nowdays on UI elements on the world wide web. But how can you integrate icons on your website without having to much trouble with their integration and speed?
When you are successful with your web application, there will be the day when you decide to deploy the application in more than your native language. Before we decided to go online with a multilingual version of diginights.com, I thought about challenges and also stumbled over some other problems later.
We all had this problem once: Including an iframe into a website and then – there were scroll bars which mess up everything. But have you ever heard of the JavaScript method Window.postMessage? We can use this method to communicate between the iframe and its parent and it is also widely supported.
One of the first things jQuery coders learn is how they can stop the browser from calling the default action of an event. 'return false;' will stop the browser calling the default behaviour: opening the clicked link. But using 'return false;' in that way is not good because this can break everything behind.
When we prepared the relaunch of diginights.com with our new and awesome responsive layout, we needed to resize a bunch of flyer, location and avatar images (~1.000.000). One of our requirements was that we save the images with a new tag so we won’t affect the running application.
To complete my bachelor degree course “Software Engineering” at Heilbronn University, I have written my bachelor thesis with the title 'Develop a system for monitoring, recording and processing of state changes on a work plan'.