
LazInk
HTML and Markdown text controls drawn on a canvas: labels, memos, list boxes, a rich editor and a help-page viewer. No browser engine and no widgetset-specific code.
I've wanted to build good Lazarus components since 2007. A full-time job kept most of those ideas on the shelf, and these last few months it has been a lot of fun finally bringing old projects and ideas to life. Everything here is free, on GitHub with its source, mostly under the permissive 0BSD license, and made to work on Linux, Windows and macOS.
Signed self-updates, encrypted bug reports from your users and a simple bug tracker, all running from one small script on your own web host. Drop five components on a form and you are set up in under an hour.
Serious, documented packages for the Lazarus component palette, made to be easy for a beginner: drop one on a form, set a few properties in the Object Inspector, handle an event. Each installs on its own from the LCL alone.

HTML and Markdown text controls drawn on a canvas: labels, memos, list boxes, a rich editor and a help-page viewer. No browser engine and no widgetset-specific code.

Keyboard and mouse input, global hotkeys, finding and controlling other programs' windows, screenshots and more, with one script running the same on every system.

File associations for Lazarus programs: register your document types with the system, with custom icons, and keep one copy of the program running.

Know when a file or a folder changes. Set a path, handle one event. No threads or polling to write.

TInfoBar, a message strip over a form or control that does not block the program, and TToast, a short notice that fades away.

Native drag and drop of text and files for existing Lazarus controls, with visual feedback. GTK2, GTK3, Qt5, X11 and Wayland.

Delphi's THotKey for Lazarus: a box that records a key combination, with Delphi's names and defaults, so Delphi forms load as they are.
Desktop programs written with Lazarus and Free Pascal.
A 3D sketching program that gets the measurements right, modeled on SketchUp, and the one I use most at work. It grew out of Noella's Etch A Sketch: the toy she and I built together is where I first put AI to work, trying to turn it into a scaled drawing program for the job. With a few different AI coding tools it became useful often enough that Noella's program went back to being hers and Heckers Sketch got a repository of its own.
Its shop tools draw duct fittings, pipe spools, sheet metal flat patterns, stairs and radiant floor layouts. My family and I are installing radiant heat in a 10,000 square foot building right now from a Heckers Sketch layout and its step-by-step directions, and the install has gone great: measure a few points, lay the wire mesh as a grid, and it comes down to counting loops and running tubing out fast.
Pages from the real submittal: the whole floor · one zone and its manifold · one loop with its installer checklist


Open Lazarus projects and files with the Lazarus build you choose: a file-association companion for fpcupdeluxe and other Lazarus installations.

An X11 display layout tool for Linux that also maps touchscreens to the right monitor.

A Rubik's Cube simulator, converted from Delphi to Lazarus and Free Pascal and translated from French to English.
Not every program has to be serious. These two were designed with my kids, and they are on GitHub with the rest.

A Wordle-style word game for kids, with a great deal of poop. Wordle + Hazel = Wordzel.

Noella designed it when she was seven, and I built it with her while I was relearning programming for the first time in many years. It's a crude little program that abuses SpinEdits as the knobs, but it got the job done: she got her program, and the feature she wanted most, a Shake button that really shakes the window to clear the drawing. It is also where Heckers Sketch began.
Smaller projects, and a chat server.
| Pascal MultiLine String Helper | Turns plain text into properly formatted Pascal strings, line breaks and tabs included. |
| btcLazAddressTools | A Bitcoin address utility in pure Free Pascal, using CryptoLib4Pascal. |
For several years now I've run pascal.chat, a free chat server for Pascal and Lazarus programmers. Sadly hardly anyone uses it, much like the old Pascal IRC channels... social media seems to have killed chat sites. It's still up, and I'd love to see it come alive, so stop in and say hi.
I'm Tony, an HVAC technician for over 20 years, the last 15 in commercial service, and a programmer every hour I can find. I've loved RAD programming since Delphi 3 in the 90s, and Free Pascal and Lazarus are where I'm happiest now. I love making applications, including plenty of one-off programs for my day job that nobody else will ever need.
Most of what's on this page started years ago as an idea or a half-built project. With a full-time job, I never had the hours to finish them. What changed is AI: coding assistants have become good enough to work as a semi-pro programmer at my side. With a lot of oversight and hands-on steering from me, they've helped turn old ideas into components and programs that work, and building them has turned up bugs in Lazarus and Free Pascal that I report upstream.
My ideas are billion-dollar million-dollar ideas. Okay, I don't know... but they are really good! Usually. Most times. Fine, some are bad ones. My development team, on the other hand, is that of a college kid high school dropout. 😂 Everything here
is free and made for fun. I hope some of it helps you. If not, oh well.