I just had the pleasure (cough) to connect an MSSQL database to a Laravel application at work. Because the process was super tedious, I wanted to quickly jot this down so I will never have to go through this again. Our setup We're building a Laravel application with DDEV. DDEV essentially moves all development tools into Docker containers and...
The term "AI Slop" is currently on the rise. It describes all the AI generated images and texts we see on the internet. I'd like to propose a term that basically describes the opposite of AI Slop: Mental AI Fog. Instead of consuming too much AI generated content (which also applies), AI Fog describes the inability to produce content without the...
I just rewrote parts of my Positive Hacker News RSS Feed project to use an ML model to filter out any negative news from the Hacker News timeline. This method is far more reliable than the previous method of using a rule-based sentiment analyzer through NLTK. I'm using the model cardiffnlp/twitter-roberta-base-sentiment-latest, which was trained...
Embedding models have long been a daunting concept for me. But what are they? And why are they so useful? Let's break it down in simple terms. What's an embedding? An embedding is basically a numerical representation of a piece of information - it could be text, audio, an image, or even a video. Think of it as a way to capture the essence or...
The more I'm getting into large language models (LLMs), the more I'm fascinated about what you can do with them. To "digest" my reading list of cool articles and projects regarding LLMs, I assembled the following list. If you're also interested but haven't started your journey into this neverending rabbit hole, these may contain some good...
Just a quick note to my future self on how to test a SMTP connection with nothing but a tiny busybox container. In my case specifically, I tested the connection from inside a Kubernetes cluster. Here's the quickest way to get a temporary pod up and running: kubectl run -n backend -i --tty --rm debug --image=busybox --restart=Never Busybox comes...
I'm currently dipping my toes into Large Language Models (LLMs, or "AI") and what you can do with them. It's a fascinating topic, so expect some more posts on this in the coming days and weeks. For starters, I wanted to document how I got my first LLM running on my local machine (a 2022 MacBook Pro). Ollama makes this process super easy. You just...
My system (MacOS) is getting more cluttered the more I use it. I'm sure you can relate. If you're using Brew as your package manager (which you should 😉), you might want to consider running the following command: brew cleanup -s For some reason this failed after some time with a "directory not found" error, but you can just run it again and it...
Some time ago I was heavily into self hosting my own software. Over time though, it became apparent that maintaining these services is a huge burden. I either abandoned most of the services or found a replacement that suits my needs and saves me time that's better spent on other things in life. Today, I finally pulled the plug on Miniflux, the...
About two weeks ago, I got myself my very first G-Shock. My entry ticket to the #CasioCult! Since I didn't want to miss out on any fitness features, I went with the G-Shock GW-H5600, which comes with heart rate monitoring, step tracking and some other nice to have features. Having read every review I could find, I knew that the watch had some...
I grew up in the countryside, where busses only came once an hour, but only until 7 PM. And on the weekend, you really had to plan ahead. Living without a car was almost unthinkable. After moving to the city in 2020, I found that I used my car less and less. My commute to work was easier with the bike (if I wasn't working from home), and for...
I just encountered a fun little bug that I thought is worth sharing. TL;DR: Here's the commit that fixes the issue: It started when we noticed that a cronjob that used wget to regularly call an endpoint failed on one specific environment. The endpoint uses Basic Auth, which is essentially a header with a Base64 encoded representation of a...
I just added a simple search bar to my "More ..." page. It just redirects to a DuckDuckGo search with your search term and limits it to my site. Simple, yet effective! The inspiration for this feature came from Salvatore Mesoraca's site. Here's the snippet, feel free to steal it: jsx Try it out Try searching for anything!
⚠️ WARNING ⚠️: This post contains a lot of spoilers for the game Elden Ring. So, I just beat Elden Ring. It took me 120 hours and, coincidentally, I was level 120 when I beat the final boss. That damn final boss... but more on that later. Elden Ring won me over instantly, even though I've never played any of the other Souls games. After beating...
My blog just turned five years old! 🎉 To celebrate this unique occasion, I want to announce something I've been secretly working on: I wrote a book! Five Years of Blogging: Ideas, Opinions and Guides written 2019 to 2024 serves as a memoir for the first five years of this blog. It's a collection of not all, but my most valuable blog posts...
Pandoc has a feature to covert links to footnotes. Unfortunately, this only applies to LaTeX documents. Since I want to stay away from LaTeX for reasons of bloat, I was looking for a more universal approach. First, I encountered this thread suggesting to use a regular Pandoc filter. This has one downside though: you need a Haskell toolchain on...
We've been trained to organize our files into a tree-like structure. A file can only exist once in the entire tree. It may have multiple contexts, but it can only exist once. Here's an example: you get a really important invoice for your car that you have to keep for your taxes. Where do you store this invoice alongside your other files? Maybe...
After cheating death himself, Sisyphus was punished to push a large boulder up a steep hill for eternity. Every time he reached the top, the boulder would roll back down and Sisyphus had to start over. Our life is full of such toil. Mowing the lawn, cleaning the dishes and doing our taxes are examples of toil that prevents us from doing...
So, after our adventures in Phuket, we journeyed on to Nha Trang in Vietnam, where we also went diving. Unfortunately the visibility was average, and the wildlife in Nha Trang wasn't as diverse as in Phuket, but that only made the hermit crabs or the occasional lionfish feel just that much more special. In total, we did 4 dives in Nha Trang....
I just became a certified diver! 🥳 I got my license through the Rumblefish Adventure divecenter in Kata Beach, as per a recommendation from a friend who happened to be around in the area when we were there. Kata Beach is a great dive spot. It has crazy wildlife, it's just a short swim away from the beach and the visibility is quite good if you...
"The nethermost caverns are not for the fathoming of eyes that see; for their marvels are strange and terrific. Cursed the ground where dead thoughts live new and oddly bodied, and evil the mind that is held by no head."— H.P. Lovecraft I loved reading The Festival by H.P. Lovecraft, especially this quote by "the mad Arab" at the end of the...
We've been taught that, to prove that a thing is true, we should point out what's true about it. However, we can learn much more about why something is true by trying to disprove it first. If you think something is true, try as hard as you can to prove that it's false. Disproving a theory is core to the scientific method. Only when we validate...
When monitoring infrastructure, we often use metrics like "Requests per second" or "Time per request". Contrary to that, when monitoring the cost of our infrastructure, we often only review the cloud bill at the end of the month and tell ourselves that those costs are justified for our product. What if we made "Cost per request" a key metric in...
In my post celebrating the completion of my #100DaysToOffload challenge, I teased that "I built myself a handy script that turns the contents of a GitHub issue into a pull request, ready to be merged as a blog post". I didn't believe this was such a big deal, but a couple of readers actually reached out to me to ask about this. First, some...
This is Greg. Greg loves to play with his computer and create amazing things. Greg has many friends. He listens to his friends and helps them. Greg knows that teamwork is very important. Greg is curious about what his friends do. Greg learned how they help everyone create amazing things. Greg was happy that he learned something new. One day, Greg...
I just read this comment on a thread on HackerNews which resonated with me: I'm trying to read less temporal (things that matter now) and more fundamental (stuff that mattered 1+ year ago and will still matter in 1+ year, with even wider intervals for non-tech content). This does result in missing ~important things occasionally (e.g. I still...
That's a wrap! 2023 was an exciting year for me. I started my new role as a DevOps Engineer at my current company, I got two articles published on a prominent German news site and finally finished my #100DaysToOffload challenge! This year, I launched two projects: sendpasswords.net and Positive Hacker News. In last year's review, I said I wanted...
A while back I did a linkdump to get some links out of my system that deserve some special attention. Since my "to read" list is filling up once again, I decided to do another link dump. I hope you find these articles as interesting as I do! Cold-blooded software - On maintainability and simplicityWorking With Discovery Trees - An interesting...