Between 1998 and 1999, in anticipation of participating in project Kylix, I started learning Linux. My first Linux was SUSE 6.1, rapidly followed by Mandrake Linux 6, 7, 8, 9 and other Linux distributions (distros). That was when I encountered the GRUB project which is now known as GRUB Legacy. I remembered the years when I would use GRUB to switch between loading Windows, and Linux.
Around the year 2000-2001, when Solaris 8 x86 went free, I began learning it as well.
Around 2002, I stumbled upon the .NET project, and Linux and GRUB was quickly forgotten. Occasionally, I still worked on Linux, but no more on GRUB.
On 19 Jul 2005, I became aware of the Firefox project. And then I stumbled on VMware in Jul 2006(?) when it became free, and I moved all my various Linux distros into VMware.
For the past 2 days, after accidentally destroying an appliance, I've been fooling around with GRUB, and when reading up about GRUB 2, I read up the memory management section part. Looking at the various figures on the page reminded me of the original Turbo Pascal 4 manuals, which contained similar memory management figures as well.
While writing this blog entry, I just became aware that VMware ESXi 4.1 has become free, so I'll start learning that too :o)
In 2017, with the release of Delphi 10.2 Tokyo, Embarcadero introduced a specialized implementation of the Observer pattern into the System.Classes unit. While it has been in the wild for 9 years, it remains a "hidden" architecture for many, primarily because it serves as the invisible engine behind LiveBindings. Other than live bindings, you can also use the Observer pattern as a way to update component settings to the Windows registry, an .ini file, or persist it elsewhere.
System.Classes