RSS Amplifier

Blog

twm's blog

Programming is thinking, not typing (was: Common sense isn't)

blog.dummzeuch.deSource feed ↗21 posts

Live Last read · last published · next check

Latest posts

GORM experimental release 2026-08-19

GORM is an editor for .po files (in case that link is dead, see the Internet Archive) that was originally written by Lars Dybdahl and to which I have been contributing quite a few features in not so recent years. Since Lars is too busy to do a release and currently even the original download … Continue reading GORM experimental release 2026-08-19 →

mORMot 2 Native i18n Layer

Just so I will hopefully remember to check it out: Arnaud Bouchez has released mormot.core.i18n, a translation layer for Delphi/Freepascal that could replace the more or less abandoned dxgettext.

Sharing data between WSL and Windows

The default way of sharing data between Windows Subsystem for Linux (WSL) is mounting Windows directories inside WSL. This works, but is rather slow. There is a different way: Mount a WSL file system under windows. You can even mount a bare drive in WSL, format it with e.g. ext4, remount it as ext4 and Continue reading Sharing data between WSL and Windows

How Claude Code just helped me to find a problem in a Delphi program in 10 Minutes

Social media and the Blogosphere (what s left of it) and many other media publishing some individual s view is full of people who claim that AI (meaning Large Language Models) only produces what they call slop that is full of errors. In programming they claim that it only reproduces code that was part of its training Continue reading How Claude Code just helped me to find a problem in a Delphi…

GExperts 1.3.29 released

GExperts 1.3.29 is available. It brings 12 new features, 34 enhancements and 72 bug fixes, including two new experts, a way to move your whole GExperts configuration from one Delphi installation to another, and a set of fixes for a silent data corruption in the Code Librarian library file. For the impatient: head over to Continue reading GExperts 1.3.29 released

Hunting a GExperts Code Librarian corruption bug with a custom debug memory manager

AI;DR This blog post and the debug memory manager it describes were developed with significant help from Claude. If you don t want to read AI slop , stop reading now. I recently added a new import functionality to the GExperts Code Librarian. During the test phase I found a nasty (preexisting) bug: After deleting a Continue reading Hunting a GExperts Code Librarian corruption bug with a custom…

SwissDelphiCenter Delphi Tips: The Scraper Scripts

Here are the two Python scripts I used to create the SwissDelphiCenter Delphi Tips archive: download. scrape_tips.py downloads the tip pages from the Wayback Machine. It waits 10 seconds between requests and it is resumable, so you can stop it and continue later. Before you run it, you must put your email address into the Continue reading SwissDelphiCenter Delphi Tips: The Scraper Scripts

SwissDelphiCenter Delphi Tips

The SwissDelphiCenter (archive.org) site closed down a few months ago and I could not find any other way to get at the Delphi Tips database they were hosting. So I vibe coded a scraper script that extracted them from the Internet Archive and converted them to a format that can be imported into the GExperts Continue reading SwissDelphiCenter Delphi Tips

GExperts: New Expert “Menu Items to Actions”

Converting an existing form from a plain TMainMenu to a TMainMenu plus a TActionList is one of those jobs that is not difficult, just tedious: For every menu item you create an action, copy the caption and the shortcut over, move the OnClick handler to the action s OnExecute, and then assign the action back to Continue reading GExperts: New Expert Menu Items to Actions

GExperts: Export and Import Your Complete Configuration

GExperts stores its settings in the Windows registry, under a key that is specific to each installed Delphi version. Copying that configuration to another machine, or from one Delphi version to another, used to mean exporting registry keys by hand and editing them so they pointed at the right version and then importing them into Continue reading GExperts: Export and Import Your Complete…

New GExperts Expert: A Tabs Menu for Delphi 6 to 10.2

Recent versions of Delphi (starting with Delphi 10.3 Rio) have a Tabs entry in the main menu that lists the files currently open in the editor and lets you jump to any of them. It replaced the older Window menu that earlier versions had. If you work in one of those earlier versions, you don t Continue reading New GExperts Expert: A Tabs Menu for Delphi 6 to 10.2

build-settings-shortcut.sh: One-Tap Android Settings Shortcuts, Built From a Single Bash Script

AI;DR This blog post and the script it describes were developed with significant help from Claude. If you don t want to read AI slop , stop reading now. Some Android settings screens are buried several taps deep, and the one I reach for most often, the WiFi hotspot / tethering toggle, is a particularly annoying Continue reading build-settings-shortcut.sh: One-Tap Android Settings Shortcuts, Built…

build-webview-app.sh: Turning Any URL into an Android App, No Root Required

AI;DR This blog post and the script it describes were developed with significant help from Claude. If you don t want to read AI slop , stop reading now. Edit: I just realized that neither was the script content part of the blog post nor did I provide a download link to it or the dummzeuch-blog.apk. Continue reading build-webview-app.sh: Turning Any URL into an Android App, No Root Required

New in GExperts: Auto Switch Desktop

At the Pascal Conference 2025 in Sundern Heiko Rompel (kralle) made a presentation about a plugin (or was it a patch?) for Lazarus that automatically switched between two desktop layouts whenever you toggled between the form designer and the code editor with F12. The reasoning was simple: some windows, such as the Object Inspector, are Continue reading New in GExperts: Auto Switch Desktop

AI Agents for Internal Operations: Which Workflows to Automate First?

The title is taken from a blog post by Softacom that I just read. Usually their posts contain a bit too much self promotion for my taste, but this one is definitely insightful. Go ahead, read it.

Dimming the charging LED on the Motorola G7 Power (LineageOS)

AI;DR This blog post was mostly generated by Claude (via Claude Code), as was the script which is described here. If you don t want to read AI slop , stop reading now. One small thing about my Motorola G7 Power (codename ocean) had been bugging me ever since I put LineageOS on it: the little Continue reading Dimming the charging LED on the Motorola G7 Power (LineageOS)

Delphi VCL: Owner drawing a TStringGrid

Embarcadero has broken owner drawing of TStringGrid several times. To get the text positioned correctly you need version-specific X and Y offsets. Here is the case statement GExperts uses (from GX_StringGridDrawFix.pas): procedure DetermineTextOffsets(_Focused: Boolean; out _XOffset, _YOffset: Integer); begin case GetBorlandIdeVersion of ideD600..ideRSXE1U1: begin // Versions before XE2 worked…

Delphi desktop settings revisited

I blogged about how and where Delphi stores the desktop settings before. Back then I described the values as percentages of the monitor without being precise about which monitor and exactly which area. Since then I have nailed down the details. This applies to at least Delphi 12. The percentage values given in the file, Continue reading Delphi desktop settings revisited

Starting an Application on Weekday Logon Only, Skipping Holidays

AI;DR – This blog post was mostly generated by Claude (via Claude Code) as was the scripts which are described here. If you don t want to read AI slop , stop reading now. This morning, for the second time I forgot to start Webex when I powered on my PC to work from home (I wfh Continue reading Starting an Application on Weekday Logon Only, Skipping Holidays

Fritz!Box zurücksetzen ohne Telefon oder Kennwort über Notfall-IP

Wenn s dem Esel zu wohl wird geht er auf s Eis. Gerade hatte ich es tatsächlich geschafft, meine Fritz!Box so zu verkonfigurieren, dass ich mich nicht mehr darauf verbinden konnte. Und da AVM^H^H^HFritz seit ein paar Jahren den Hardware-Reset-Button eingespart hat, schaute ich erst mal ziemlich blöd drein. Dieser Post von Simon42 hat mir schließlich Continue reading Fritz!Box zurücksetzen ohne…

Building an Android APK on a Linux Box, No Root Required

AI;DR This blog post was mostly generated by Claude (via Claude Code) as was the app which is described here. If you don t want to read AI slop , stop reading now. First some background: I did not start with the idea that I wanted to create an Android App. The real reason I did Continue reading Building an Android APK on a Linux Box, No Root Required