Tony Stone Development
Ideas and prototypes

Things I'm building, or want to

Some of these work, none are released yet, and some may never be. They're here so you can see where my head is at... and tell me if you would use one.

Prototypes

Working programs that live on my own machines for now.

Ground Control, the developer side of Houston

Houston

In testing · alphaLinux · Windows testedmacOS builds

Signed self-updates, encrypted bug reports and postcards for Lazarus programs, with a simple bug tracker for the developer, all running from one small Perl script on an ordinary web host. It started inside Heckers Sketch. It has its own page with the whole story, and why I might not release it.

BackupMom's main window with demo data

BackupMom

Working for meNot releasedLinux · Windows

The backup nag I started years ago and never finished, finally coming together (my About page says why I need it). She keeps track of whole-disk images and folder backups on external drives, and stays on you until they are current.

She doesn't make the backups herself. The real work is done by tools I trust and that are well tested: Clonezilla for the disk images and Kopia for the folder backups. BackupMom is the companion, the mom, that makes sure those backups actually get made often enough, because they aren't much fun to run by hand.

My favorite part, thanks to AI, is the boot stick. BackupMom writes its own bootable Debian 13 live stick with Clonezilla and herself on it, set up and ready. When an image is due, you plug in a backup drive, reboot from the stick and bam... she's in, making the backup. Restores work the same way. Having a computer boot straight into my own program is exciting for me. It's stuff I know how to do, but I never would have had the time to get it this far and working without AI.

It still needs a lot of polish, and I'll keep going through it, fixing things myself and putting AI agents on it too. So far it hasn't been crippled by AI feature creep, or by the usual AI habit of writing out functions that already exist, twenty different ways. It's staying lean and working pretty decently. If it keeps working well for me, I would love to release it.

The LazPort console and its publishing wizard

LazPort

Works, rough edgesNot releasedLinux

An old project: publish any Linux desktop program to a web browser. Point LazPort at a program, answer six questions, and it hands you a web address. Everyone who opens it gets their own private copy of the program, on its own virtual screen, inside a sandbox. It even works on a phone.

Under the hood it is standalone KasmVNC with the Matchbox window manager, bubblewrap for the sandbox and Caddy in front, or GTK's own Broadway for GTK3 programs. The setup is the part I like: the wizard actually launches the program on a throwaway screen, watches what it does and tells you what it saw before you publish.

Honestly, it's a hackish way to do it. In the end it is a remote desktop running in a browser, and programs don't always behave there the way they do on a real desktop. Kasm Workspaces handles that better, and for GTK3 programs Broadway already behaves much better. Making a desktop program feel seamless in a browser is hard, but this was the only way to do it. But it was a fun way to mess with my own programs in a browser, even on my phone, and it would be most useful to a developer who wants people to try a program without installing it. It does work, and there are still rough edges around Kasm to iron out. If I can put some AI tools on it to polish it, it may get published some day.

Components I would like to build

Lazarus is missing a few things I keep wanting. Each of these would be a component a beginner can drop on a form, built on the LCL alone.

One-step packaging

From a Lazarus project to a .deb, an .rpm or a self-contained package in one step, with no packaging knowledge needed.

The system keyring

Passwords and tokens kept in the system's own keyring, one component for Windows, macOS and Linux.

Dark or light

Is the desktop dark or light, with an event when the user changes it, so a program can follow along.

System facts

The machine's OS, CPU and core count, memory, graphics and displays, the same call on every system.

Free to work

Tells a program when the computer is free for heavy work, and when to back off.

A worker thread you can't get wrong

Background work from a component on the form, without the usual threading traps.

One networking package

A reusable networking package, so every project stops writing its own.

Delphi's missing controls

The small standard Delphi controls Lazarus lacks, under Delphi's names, so Delphi forms load as they are. HotKeyBox was the first.

A component library for everyone

A community-kept catalog of every Lazarus and Pascal component: what it does, where it runs, and whether it still builds.

LimeWire for programmers

Hubs, IRC-style rooms and shared folders where you can browse each other's code. pascal.chat's bigger brother.

Comments

Want one of these? Think one is a bad idea? Have a better one? Leave a comment or reply to one. Comments show here once posted.

Loading comments…