| David Haycraft's Computer Programs | Contents |
1. Intro
| DMH graduated B.Sc. from Monash University in 1965, then worked as a computer programmer from 1966-2017.
See . As an ongoing hobby after retiring, DMH continued to use his home Windows 10 desktop PC for software development. He had two broad goals: | |
|
Website Development
|
![]() |
|
Windows Application Program Development
|
|
2. Website Development
2.1 New Web Hosting Service
|
Subscribed to the web-hosting service HostPapa Used their support to register a new non-commercial Internet Domain Name (davidhaycraft.id.au) |
|
2.2 New Website Scripting plugins
|
Downloaded and installed Colorbox Javascript plug-in for website photo presentation Reviewed the source code on the Colorbox Demo Page Downloaded and installed OpenStreetMap and the Leaflet OSM Javascript API for website mapping Reviewed the Leaflet Tutorials |
|
2.3 New "A+D" Website
|
See https://davidhaycraft.id.au/APLUSD This website contains new content, primarily family photograph groups linked by a "family tree" and displayed by Colorbox. It also incorporates some old A+D Vacation content that was originally hosted for free by iiNet under the domain name "http://members.webone.com.au/~haycraft/public_html". In three of the old Vacation websites (2007_Greece, 2016_Canada, 2017_Iceland), the Google Maps API had been used to provide interactive maps. However, by 2025, Google had introduced licencing restrictions on the use of the Google Maps API even for non-commercial websites, including annual licence fees and the requirement to obtain a separate and distinct "licence key" for each website that intended to use it. Furthermore 'Google Maps Platform' recently advised that: "We detected that you are using unrestricted API keys with Google Maps Platform services. These keys may be publicly exposed and vulnerable to abuse. Please review and take action to secure your API keys. Maps Platform customers are responsible for charges incurred with unrestricted API keys, including usage by unauthorized third parties." Rather than confront these ever-increasing problems with use of the Google Maps API, all three "A+D" Vacation websites that displayed interactive maps were re-implemented using OpenStreetMap and its Leaflet JavaScript API. |
![]() |
2.4 New "David Haycraft's Model Aircraft" Website
| See https://davidhaycraft.id.au/DMHMAC |
|
2.5 New "David Haycraft's Computer Programs" Website
| You're looking at it, thanks to HostPapa! |
|
3. Windows Application Program Development
3.1 FPC and Lazarus IDE
|
After months trying -unsuccessfully, due to unresolved licensing issues- to install
Embarcadero Delphi 11 Community Edition,
he eventually settled on Free Pascal Compiler (FPC)
and Lazarus Integrated Development Environment (IDE),
both of which downloaded and installed on his home Windows 10 PC without any problems. At this time he also purchased a copy of the two-volume "Lazarus Handbook", published by Blaise Pascal Magazine. |
|
3.2 Lazarus IDE First Programs
3.2.1 Scientific Calculator
| As a beginner's exercise, DMH used the Lazarus IDE to create a simple "Scientific Calculator" program for Windows.
This exercise gave him the opportunity to use the basic "Common Control" user interface elements provided by Lazarus: TMainMenu; TButton; TLabel; TEdit etc. Click for |
|
3.2.2 R3D2
|
Back in 1968, DMH had written a FORTRAN program for the CDC 6400 at Uni Of Adelaide to test their newly acquired Calcomp 565 pen plotter.
This program produced a perspective view of a 3D "wire-frame" surface constructed from Cosine curves on the x and z axes.
Click for DMH's second use of Lazarus IDE was to develop a Windows PC computer graphics program that would produce a 2D image resembling that old 1968 one, but with a more "realistic" appearance. To get started, he purchased a copy of Computer Graphics from Scratch by Gabriel Gambetta (c) 2021. The first half of CGFS described how to render a 2D image of a set of 3D subjects using a Ray Tracing method. Pseudocode was provided in the book for each step in the rendering process. Also, thoughtfully-provided by the author, were on-line demos of each of the pseudocode steps implemented in HTML/JavaScript. See for example CGFS - Reflections Demo. He then took these development steps:
|
|
3.3 Re-birth old Turbo Pascal and Delphi 9 programs
3.3.1 CompFile
| CompFile was the first Delphi 9 program converted to Lazarus. CompFile is a Windows application to compare two copies of a set of files and verify that the copies have identical lengths and contents. CompFile is recommended for verifying the integrity of backup copies of files written to removable media such as Portable Hard Drives, CD-ROMs, DVD-Rs or USB Memory Sticks. For QA purposes, CompFile can prints a hard-copy report of the comparison process, file by file. Click for |
|
3.3.2 Structured Flow Chart Designer (SFC)
| SFC was the second Delphi 9 program converted to Lazarus. SFC is a Windows application program to create structured flow charts or Nassi-Schneiderman Diagrams. Click for . |
|
3.3.3 Binary Relationship Data Dictionary (BIRDD)
| Binary Relationship Data Dictionary (BIRDD) was the third old program to be converted to Lazarus.
BIRDD supports the NIAM method for designing database models at the conceptual level.
See NIAM. The most recent existing version of this program - BIRDD 2.3 - was written in 2009 using Borland Turbo Pascal and will not run under Windows 10. Click for . At the beginning of 2025, work was commenced to re-develop BIRDD from scratch and, in particular, to add support for 3-entity (tri) and 4-entity (quad) relationships to support BIRDD's original 2-entity (binary) relationships or fact-types. The planned re-development will bring it more into line with the current method for designing database models at the conceptual level, know as "Object Role Modelling". See Object Role Modelling (ORM). This will be a long-running project! |
|
3.4 New Lazarus IDE programs
3.4.1 Lily Serna Emulator (LSE)
|
SBS TV Show "Letters and Numbers" The SBS TV Show "Letters and Numbers" presents Number Puzzles to contestants. If you have an SBS On Demand account then you can watch any episode of the show through your web browser at https://www.sbs.com.au/ondemand/tv-series/letters-and-numbers. Each Number Puzzle consists of a set of six randomly chosen input numbers plus a random target number. The challenge for the contestants is, within 30 seconds, to develop an arithmetic expression - involving all or some of the input numbers - that will deliver the target number. |
![]() |
| Lily Serna Emulator (LSE) Computer Program LSE is a Windows/Lazarus IDE application program developed in 2024 by DMH to find solutions to any "Letters and Numbers" Number Puzzle. For an overview see . |
3.4.2 Mandelbrot Set Explorer (MSE)
| Mandelbrot Set The Mandelbrot Set is defined in the complex plane by the complex numbers C for which the value of the function f(Z) = Z^2 + C does not diverge to infinity when reiteratively evaluated starting from Z=0, that is, for which the sequence f(0), f(f(0)), f(f(f(0))) ... remains bounded in absolute value. You can easily make "fractal" images from this definition by mapping a two-dimensional grid of on-screen pixel points (X, Y) to complex plane points (C.re, C.im) then coloring each pixel point to denote the outcome of the Mandelbrot function evaluation for each complex plane point C. For a detailed explanation see Wikipedia article. |
|
| Mandelbrot Set Explorer (MSE) Computer Program MSE is Windows/Lazarus IDE application program developed by DMH in October 2025 to draw images of selected regions of the Mandelbrot Set. For an overview see . |
3.5 Windows 11
|
At the time of his retirement, DMH's home-office ASUS PC was running under the Windows 10 operating system.
Microsoft had since advised that it would cease all bug-fix and security update support for Windows 10 at the end of 2025. The Windows 10 "PC Health Check" app reported that this PC did meet the minimum system requirements for installing Windows 11, except for the need to enable Trusted Platform Module (TPM) version 2.0. Enabling TPM 2.0 would involve changing settings in the UEFI BIOS. UEFI (Unified Extensible Firmware Interface) and BIOS (Basic Input/Output System) are firmware interfaces for computers that help in booting the operating system and managing hardware. Attempting a PC firmware change is not a task for the novice! Read about the risks involved at, for example, How to enable the Trusted Platform Module (TPM) on your computer. Fortunately, in May 2025 DMH received the following SMS message from Crawford's Mobile Computer Service: "Hi David, are you still using Windows 10 or even 8.1? At Crawfords Computers, we can upgrade most older PCs to Windows 11 - even many that Microsoft says aren't compatible. No new hardware needed, and your files and apps stay just as they are. If you bring your computer to the shop, it will cost just $180 and if we can't upgrade it, you don't pay." So he promptly took up this offer and Crawford's upgraded the subject computer to Windows 11 in just a couple of days. And yes, all data files and apps (including Outlook email message folder contents) were indeed preserved. Outstanding service! |
|
Website version 1.5 18JAN2026