Welcome

After a hiatus of 32 years, I went back to programming the Mac. What a new world did I encounter! My previous knowledge of the operating system, toolbox and OS calls were useless since they were no longer available. The last macOS I used was 7.0 and now we are at 15.x. I have to pretty much learn everything anew. A simple thing like drawing a dot or line on the screen, I have to relearn. To add insult to injury, they even changed the coordinate system of the windows from a pixel coordinate where 0,0 is on the top left corner, to a Cartesian coordinate system where 0,0 is on the lower left. To add to the confusion, the global coordinates (what is located outside or behind your application window) on the Mac screen, is still based on pixel coordinates.

The best way to learn a language and operating system is simply by writing applications. Writing the code during programming forces you to continuously look up the operating system documentation. So these are my two first projects on the Mac submitted to the freeware collection. I am eternally indebted to all the Apple engineers at the Developers group and the guys at the FB group who without insulting, answered my stupid questions, provided programming tips, and provided psychological support. Thanks Brian, Bernie, Ken, Rich, Jay, Max, Steve, Eugen, Peter et al. If I miss anyone, it does not mean I am less thankful to you but it's just a limitation of this old brain. You guys are the best!

The software is code signed and notarized using Apple security certificate. So there shouldn't be much complaining from your Mac security except for the standard first time run warning of any software downloaded from the Internet. These are still considered beta version so I appreciate bug reports.

Alphabet at the Zoo

Alphabet at the Zoo
Freeware

Overview

Engage your preschoolers in learning the letters of the alphabet with the help of animal friends. The letters are written with “big letters” (uppercase) and “little letters” (lowercase), and accompanied by animals with names beginning with the letters. Introduces the alphabet and the concept of order and sequence, colors and counting, and the idea that letters can form words to represent things.

The target audience of “Alphabet at The Zoo” are children who recently began to speak simple words. Knowing the alphabet letters (and their sounds) is a basic skill kids need when they learn to read. Build the skills to connect letters to their sounds.

I wrote this program for my granddaughter Carmina as a companion to the book I wrote for her, available at Amazon.

Pre-K
Age group: 3 to 5

The Machine

The Machine
Freeware

Overview

Updated: Bug fixes of not recognizing the correct product.

When I started with Sunburst Communications in 1983, the new software division had a vision to create problem solving courseware for school children. While the school curriculum available at that time was rich in math and sciences, no one was training students to be problem solvers and critical thinkers. That’s where Sunburst came in.

One of their very first educational courseware titles was “The Factory” designed by Marge Kosel and Mike Fish. This software remains one of my all-time favorites.

This program teaches students to think backwards — some sort of reverse engineering. Students are presented with a product which they have to reproduce using simple programming steps. It also introduces the concept of spatial orientation, angles and rotation. This version combines all the machines used in The Factory into a single multifunction PLC machine capable of all functions using one machine only. My tribute to this ageless problem-solving program.

K-12
Age group: 6 to adult

vSky

skyWindow
Freeware

Overview

This is a rework of my Night Sky program done in December 2024 (posted to the FB group in January 2025). That version was just a star map showing the sky with parameters such as date, time, latitude, and longitude, converted from my old Visual Basic code.

The new version has been revamped significantly with a UI window to enter coordinates, a popup location menu, and a map window. A planet constructor include adds the solar system. Layers can be toggled via the Layers menu, and the sky map now uses real-time sky colors.

There are several known issues but they do not hamper normal use. A mini overview/user guide is under Help. For astronomy lovers, enjoy!

PiExtractor

skyWindow
Freeware

Overview

Extract the Nth digit of PI behind the decimal point. This is not a spigot but an extraction algorithm. There is no need to compute the previous digits in order to extract the value of the transcendental number.

Based on the formulae by Simon Plouffe, Nantes Université, France
https://plouffe.fr/simon/articles/2201.0127v1.pdf

At this point, this is probably more of a novelty item. Both the formula creator and this author do not believe this is sustainable. Unlike PI-HEX which can be calculated at any position, this formula relies on the Bernoulli and Euler numbers.

The issue with this approach is that the further you are up the river, the larger the Bernoulli number that is needed. For example, at position 6 million, the Bernoulli number needed would be B(6000000) which would result in the numerator to have in excess of 28 million digits. While no issues for MPFR, this number just doesn't exist as of today (the largest Bernoulli ever calculated I believed was 5 million).

Note: You need FutureBasic 7.0.36 or > and have the GMP/MPFR libraries in order to compile the source code. You can get it at [https://www.brilorsoftware.com/fb/pages/downloads.html FB GMP/MPFR frameworks and headers]

if you have a verification file, you can place it in the same folder as the source / app and name it "pi-billion.txt".

Note, the verification file is expected to be in text format and must include "3." as the first two characters otherwise, the verification will fail.

Limitations: As of now, when the position reached 2,400,240, GMP/MPFR will return infinity.

Graphing Equation

ge
Freeware

Overview

This is the FutureBasic version of my Graphing Equation, a simple basic equation plotter. The original JavaScript version was done several years ago and you can see at https://raoulwatson.com/graph

The entire plotting engine is done in pure FB, using FB drawing helpers (rect, line, line to). No fancy bezier curves, quartz, or metal framework needed. It demonstrates what you can do in vanilla pure FB.

I have not tested all possible functions. Please report if you find a bug. For equation lovers, enjoy!