RSSAmplifier

Blog

Hajo Nils Krabbenhöft

hajo.meRSS feed ↗20 posts

Latest posts

Installing Pop!OS 24 Directly With Unsquashfs & Chroot (and No Reboot)

For a client project, I needed to boot from a USB SSD to isolate their background daemons from my daily driver (encrypted) Pop!OS. The official way to install Pop!OS is, of course, to copy their ISO onto a USB stick and reboot into that. I couldn’t be bothered to find an empty USB stick, and I also didn’t want to reboot just for the setup, as that would have interrupted all of my other work while…

How to Open Source and Not Starve

If you want to build open source software and still have money for food, here’s what looks like it might work: optional paid convenience features (freemium/open core) non-profit sponsorships or public funding. Direct monetization through users like selling licenses, SaaS, Patreon, or donations mostly doesn’t work. Paid hosting is risky because it’s too easy to copy. Consulting? a conflict of…

Improving Office+Photoshop+Fusion on Linux With Adversarial Drinking

About 17% of Windows users are locked into proprietary file formats , which makes it impossible for them to switch to Linux unless - of course - Wine becomes perfectly compatible with the proprietary software that they need. In this blog post, I would like to outline my idea for how to make Office, Photoshop, and AutoCAD/Fusion work flawlessly in Wine. As usual, it starts with poking around in the…

The Linux Slayers: Office, Photoshop, and AutoCAD

After having a great time with Linux as my daily driver for 3 years, I was wondering what keeps people stuck on Windows even though, by now, there are so many very outspoken critics of Windows 11. About 17% of all Windows users have been captured with proprietary file formats , for which there is no good Linux editor. Who is a true Windows hostage? I define someone as unable to escape from Windows…

A 10x Developer Is Disciplined and Playful

Everyone has their pet theory of what creates the mythical 10x developer. Here’s my 2 crucial ingredients: Discipline to keep things re-usable. Playful exploration of novel areas, which creates proof of concepts for future work. Here’s a recent example: Client Request A client asks me to package a TensorFlow AI for production deployment on their Windows client machines. They need it to run on…

Pop!OS Linux: Creating a Bootable Backup USB With Encryption

For my Pop!OS Linux workstation, I wanted to have a complete backup on an USB drive. Of course, it needs to be encrypted, in case the USB drive gets lots. And to allow me to quickly resume working in the case of an emergency, I wanted the USB backup to be bootable, too. Here’s how I set that up: 1 2 3 4 5 # find /dev/sd* mountpoint for USB drive lsblk # open GDisk partition editor sudo gdisk…

DIY 80€ 3D Printer Basement Ventilation

I’m not going to get into the discussion of whether 4-Acryloylmorpholine should be inside 3D printer resin, but … If you can smell a class 3 health hazard in any living area, it’s time to take action! It’s this earthy smell that feels a bit spicy in your nose and you keep smelling it for a few minutes after you leave the room. My first - and luckily only - encounter with ACMO was Anycubic’s…

The Cloud Mafia: Pay Up, or Lose Your Homepage

I recently helped a client to transition the hosting of their homepage to a cloud hosting provider. My client had received the sales pitch, were convinced by fortune 500 reference clients and assurances of a 99.99% uptime SLO. My client had already spent all the money to build their next homepage inside the cloud provider’s ecosystem. All that was left for me was to deploy it. Of course, we first…

Why Your AI Email Offends Me

AI emails demonstrate your lack of effort. Typically, people email me because they want me to commit my valuable time to doing something that they value. Sometimes, it’ll be a win-win situation where someone sells me a solution to a problem that I want to fix. But before I know if this is worth my time you are effectively asking me for a favor. But if you yourself care so little about it that you…

The Year of the Linux Desktop - in Retrospect

For a very long time, and at the beginning of every year, Linux enthusiasts have claimed that this was finally the year where the Linux desktop became convenient for everyday use. I’m happy to report that for me, 2023 finally was that year. Here’s my looking back on 16 months of using Linux as my daily driver. Crushing Windows First off, let’s start with the great stuff where my new Pop!_OS Linux…

Bomberland AI - Part 1 - Lingo, Replays, and TensorFlow Observations

This is part 1 of 3 of my tutorial mini-series on how to build a DL RL AI for Coder One’s Bomberland competition using TensorFlow. In this part, we’ll cover the deep learning specific Lingo, Making Replays, and converting them to TensorFlow Observations. Introduction: Talking like a proper DL RL AI practitioner DL = deep learning = lots of numbers and GPUs RL = reinforcement learning = try out…

Making a Font That Doesn't Suck With TensorFlow "AI"

Click here to download the resulting font. Use it at 16px height. FYI both fonts are scaled so that I can fit 42 lines of code inside IntelliJ maximized on my 1920x1080 screen. As the result, both fonts are rendering at 16px glyph height and with a 120% line height, meaning 3 gap pixels in between lines. As you can see, the default IntelliJ font antialiasing is turned on and it’s using GDI…

Stickgarn: Nm Fädenstärke Zu Mm Durchmesser Umrechnen

“Stärke 120/2 (40er Stärke)” Was genau heisst das nun? Das Garn besteht aus 2 Fäden mit jeweils 120 Nm . Dies sollte einem einfädrigen Baumwollgarn mit 40 Nm entsprechen. Und welchen Durchmesser hat das Garn nun? Jetzt wird es kompliziert, denn Nm ist eine reziproke Gewichtseinheit. Aber natürlich kann man das alles ausrechnen… Dazu ist wichtig zu wissen, dass das 120/2er Garn aus 100% Polyester…

Samba Problem: The File Does Not Exist

Notepad says: “The file does not exist”. WordPad works. And I can clearly see the file in the Windows explorer. Today, I’ve had to debug a really weird issue with the Samba 2.1 network protocol on Windows 10. Two nearly identical machines are accessing the same network share using the same Windows 10 version. Yet on one computer, accessing the network share works flawlessly, but on the other, it…

How Surround Sound for Headphones Works

“That’s clearly left !” 3D hearing is a learned skill where your brain deducts the direction that a sound is coming from based on clues such as: inter-ear timing differences Which ear does it reach first? inter-ear volume differences Is it louder on the left ear? frequency envelopes Is the signal lacking high frequencies? reflections Was the signal reflected by your ear shell? As such, the spatial…

WebGL Animated Grapheme - Demon Lord

Sougwen Chung dropped by our co-working space on Gran Canaria and one of her projects that I found fascinating were the animated grapheme called “Kinexuviae” . Looking at them, I first thought “let’s pre-render my own set with 3ds max as animated gifs”, but then I wanted the letters to influence each other and their environment, so instead I went with WebGL and some noise textures. »> Click here…

Low-flying Tie Fighter = Let's Go Biking in Tuscany

Have you ever dreamed about being a tie-fighter pilot and flying through the death star at breakneck speed while dodging obstacles? I found the closest real-life equivalent: Going through tuscany on a racing bicycle. map of my favorite bike routes KML downloads fancy pictures accommodation & food recommendations My favorite bike trips around Montevarchy You can browse the above map full-screen on…

How to Backup Google Mail for Your Domain (Free + Open Source)

I’m currently migrating a company from using Google Mail to an Office 365 hosted exchange server. Before getting started, I wanted to make a full backup of all mails of all users. Now there’s several commercial offers and also several shady-looking free tools to accomplish this task, but I didn’t feel comfortable trusting either one. So I built a very simple free and open source solution. I…

Zoo-locked - Mutually Exclusive Task Execution Using ZooKeeper

I’m currently preparing the spratshop.com architecture for a truly distributed set-up with multi-master database replication and automatic load-balancing between the nodes. The spratshop system uses C++ and Java for the back-end services and Rails for the front-end. We have a set of rake tasks that run hourly or daily to monitor, maintain and clean up the system. In the intended multi-node…

It's Finally Online !

I’ve had the first article for this blog lying around for close to a year now… and then life got in the way ;) But today, I finally took the time to create a nice theme and get this blog online.