Tony Stone Development
Free Pascal · Lazarus · Linux · Windows · macOS

Old ideas, finally built

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.

Ideas and prototypes

What I'm working on

Working prototypes that live on my own machines for now, and the components I would like to build next.

See all my ideas
The stone mascot with a toolbox full of puzzle pieces

Components

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.

LazInk rendering a help site

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.

ComponentLinux · Windows · macOS
LazHIDControl demo

LazHIDControl

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

ComponentLinux · Windows · macOS
The FileAss donkey and its two palette icons

FileAss

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

ComponentLinux · Windows
FileEye demo

FileEye

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

ComponentLinux · Windows · macOS
InfoBarToast demo

InfoBarToast

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

ComponentLinux · Windows · macOS
CrossDragDrop demo

CrossDragDrop

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

ComponentLinux
HotKeyBox demo

HotKeyBox

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.

ComponentEvery widgetset

Programs

Desktop programs written with Lazarus and Free Pascal.

A radiant floor layout from Heckers Sketch: seven zones of tubing loops, each in its own color

Heckers Sketch

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

ProgramLinux · Windows · macOS
LazMD

LazMD

A small Markdown viewer and editor, built on LazInk.

ProgramLinux · Windows · macOS
LazAssPicker

LazAssPicker

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

ProgramLinux · Windows
LazRandR

LazRandR

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

ProgramLinux
SoftCube

SoftCube

A Rubik's Cube simulator, converted from Delphi to Lazarus and Free Pascal and translated from French to English.

ProgramDelphi conversion
The stone mascot with his two daughters, an Etch A Sketch and a game controller

Made with my kids

Not every program has to be serious. These two were designed with my kids, and they are on GitHub with the rest.

Wordzel

Wordzel

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

GameFor kids
Noella's Etch A Sketch

Noella's Etch A Sketch

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.

ToyFor kids

Small tools

Smaller projects, and a chat server.

Pascal MultiLine String HelperTurns plain text into properly formatted Pascal strings, line breaks and tabs included.
btcLazAddressToolsA Bitcoin address utility in pure Free Pascal, using CryptoLib4Pascal.

pascal.chat

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.

Visit pascal.chat
The stone mascot wearing a stack of hats, with a tool belt and a laptop

About me

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.

More about me

How I work

  • Plain Lazarus and Free Pascal: the RTL, FCL and LCL, and what the operating system already has.
  • The same program on Linux, Windows and macOS, tested on each.
  • Components a beginner can use: a few properties in the Object Inspector and an event or two.
  • AI does a lot of the typing, and I still write my own code too. I decide what gets built, test it and say when it is good enough.
  • Source on GitHub, mostly 0BSD: use it however you like.