About this Site
This site serves two purposes. Firstly it is a blog about programming in C using PFL, a lightweight object-orientated framework.
Secondly it acts as a demonstration and testing ground for PFL. This site uses the PFL web-server module, PFLHTTPD as its back end, retrieving the pages from an SQLite database, formatting the response as HTML and serving them through an Nginx proxy.

What is PFL?
PFL is a tiny but powerful object framework. It aims for the sweet-spot between the usability of Python, the object structures of Java and the performance of C. It provides a set of extensible object classes, similar to those found in Python, such as strings, numerics, arrays, linked-lists and hash-maps, etc.
It is a single-inheritance model with interfaces, similar to Java and manages memory using reference-counting.
The framework is modular. PFL is the base library. It allows additional libraries to be stacked onto it. PFLSVR is an event-driven server framework built using epoll. PFLHTTPD is an http server library built over PFLSVR. PFLWEB is a set of utilities for building web-applications, such as forms and paged-lists.
The terminalspin application takes up a tiny memory footprint and runs comfortably on a Raspberry Pi 4 hosted at Mythic Beasts. There is no scripting, no Python and no Java, everything is compiled to native, optimised code.
About me
I live just outside of London, in England.
I first became interested in computers in the late 1970s. My first access to a computer was an EACA Video Genie System. This was a 16k Tandy TRS-80 clone. I still have one, though it no longer works.
Since then, I have worked on a variety of systems, starting with finance systems on IBM MVS Mainframes using Cobol, Assembler and C, through to most recently e-commerce web servers on Linux using Java and Python. Over the past 40 years, I have been privileged to have worked with a huge variety of technologies from punch-cards to AI LLMs.
I became motivated to write PFL as I saw the increasingly bloated hardware requirements needed to run what appeared to be quite simple applications. Computer hardware has become astonishingly powerful, yet the software takes more and more memory and runs slower than it used to decades ago.
I have a personal interest in Raspberry Pi computers and my aim is to write software that extracts the most performance from the least hardware, while staying professional, readable and maintainable.
Plans
I intend to keep this site light-hearted but information dense. If it becomes a chore then I suspect it will become neglected and so serve no useful purpose.
I will add a "contact me" form to the site but meantime, I'll create a social-media account for those wishing to chat about anything they've read here.
I also plan to release PFL as an open-source project very soon. In the meantime, this blog provides some information for those interested.