Blog

  • Getting Set Up For Summer

    I enjoy working on hard projects like operating system kernels but am now catching up with the times and starting to focus more on rapid app prototyping systems, together with getting my database layers working with more stable backends.

    Also looking for some summer work to help me give my business a better kickstart, I’ll try to get some work around restaurants and also get more into building apps & maybe devices for that sector.

    Current Projects

    • A code editor that allows easy collating of files for copying/pasting into AIs (no advanced integration required, helping developers to easily test new or obscure AI coding backends)
    • More work on CleanFork database backends including some integration with PostgreSQL for update-heavy workloads
    • An online ordering demo for restaurants, including staff account management – this could be a cornerstone of a complete sales solution in the future

    Operating System Work Is Not Abandoned

    I’m still slowly integrating some of my “hard work” into my rapid prototyping stack, at the very least there will be a version of my Pascal compiler streamlined for use with AI coding. The SecureLang RD operating system will probably go from being an unfinished demo system to being a boring old server option for some system backends, and the GUI system will also probably move from being a desktop-like demo to being used as part of a platform for networked business apps.

  • Earlier Formal Announcements May Be Revised

    As the licensing of the original codebase is slightly unclear about how best to credit the original developers, I may need to rewrite the initial formal announcement of the “6.1” preview release. However as it’s not a complete & well rested product yet but rather is only a tech preview I don’t want to be too hasty in removing credits to the original project.

    Further thought will be put into marketing as I move towards developing an ultra-stable & future-proofed version.

  • Eureka!

    I’ve developed a robust plan for migrating my favourite old codebases away from Java (an Oracle trademark) without breaking anything!

    In-Place Migration To Pascal

    As my existing handwritten Pascal compiler is reasonably well designed – though quite barebones – it turns out that it was very easy drop a new p-code interpreter straight in with the legacy database code written in Java.

    This allows me to continue moving from working code without a risk of major breakages, by very slowly rewriting the server parts, the parser, the table engine and the storage layer into Pascal and testing against the original code (which I’ve also since made some fixes to). Ideally this can be done without destroying the original program flow so that new & old parts can run side-by-side in the same instance.

    Other Advancements

    The new (and JDBC-free) client library now also has some initial support for connecting to PostgreSQL for larger & full-featured databases, allowing the new codebase to stay very lightweight despite some duplication of functionality as it won’t need to compete with all those features.

    Some work has also been done on a lower-scale database using the LittleD codebase, this works with the same protocol layer as the CleanFork stack but only supports minimal features, and could be useful for robotics or other use cases needing something smaller.

    More Work To Do…

    I’ve been making maximal use of Qwen AI to help find bugs and prototype frontend apps, although the core database stuff aside from some of the Pascal VM and some bugfixes will probably stay mostly hand-written.

    Since I’ve already got a decent (and hand-written) plain C backend for my Pascal stack, eventually this should allow the entire database platform to be migrated to the SecureLang RD operating system – which I had originally planned to port apps to but has faced many practical delays.

  • CleanFork Projects Will Become Main Focus

    I’ve been doing more testing of my database protocol layer and especially the larger backend with my new app prototype, it’s quite likely it will result in something usable for local businesses – I just don’t know if I’ll be able to get it fully ready in time for testing it in this year’s main summer holiday trade.

  • Database Work Continues

    • One prototype of a commercial app is now functioning on the “CleanFork” database backend
    • An additional database server is in development using an embedded, low-memory-usage backend based on a different codebase (this mostly supports the same protocol but with more limited SQL support)
    • The prototype app (itself a streamlined sales platform) is also partly working on the more lightweight backend – this will require further engineering but is for now a decent testbed
    • I’ve also been working on a larger database schema for codifying laws, which may be useful especially for Pan African purposes and maybe for others
  • Plans For CleanFork Database 6.2

    Things which probably will be addressed soon:

    • Improved reliability especially for edge cases like proper string escapes in the protocol
    • Introduction of a test suite (will probably be limited to some sanity tests to begin with)
    • A more specific plan for moving away from legacy Java dependencies
    • More detailed & thought-through protocol documentation
    • Perhaps some work on applications or on the client layer

    Things which probably won’t be addressed soon:

    • Scalability to datasets of extreme size, I have some hardware for testing “big data” workloads but I don’t want to make any promises I can’t deliver on at this stage – instead I’ll focus on moving towards “real world” use cases first then worry about massive scalability as the core system stabilises
    • Complete independence from the Java platform, this is planned but will take some time and I don’t want to rush it too much
    • Support for in-house platforms like running on the SecureLang® RD operating system (see above point)
    • Support for every other possible feature such as the latest SQL standards or adding every optimisation present in other databases

    A possible strategy I might look into is “developed by mankind, tested by machine” – putting the AIs in charge of coming up with test cases or maybe even round-the-clock AI-based testing to find bugs. This could possibly be a good project to try out those kinds of ideas in.

  • I Think Java Is Officially Dead?

    I can’t get any VM except OpenJDK working on RISC-V mostly due to the poor design of the system not being very portable at all when tied to JNI/C++. Nobody wants to use code from Oracle especially in the context of cybersecurity because it’s a well known CIA operation.

    I was hoping to find a smoother migration path off of OpenJDK but it looks like all the competition like J9 has either been snuffed out by Oracle or(/and) already had enough problems. This makes it a very poor target compared to what it used to be years ago, especially on RISC-V because a large part of it’s popularity on other platforms was the idea that the JVM itself could be replaced with alternatives (those mostly are what no longer works).

    Nonetheless I will keep trying to get a JVM alternative working as I don’t want to waste all my old code written in that language, the other alternative is to port them to languages with similar syntax but no JVM.

    The Avian codebase still works on older platforms, but I haven’t been very successful porting it to RISC-V, I can get the interpreter building but there’s just too many other problems especially due to the design of JNI being extremely tied to not-very-portable C++ ABIs.

  • Business May Wind Down, New Software Releases Continue

    I got fucked over by too many people locally to be able to run a serious business here, I mean I can’t realistically even open an office anywhere in Australia with usable internet to put my own servers up since the bastards kicked me out of town, but software releases will continue anyway.

    CleanFork Database Release

    This is the first release of CleanFork Database, which is given the version number 6.1 to differentiate it from the original codebase (HSQLDB 1.6). The reason that an old version of this database code was chosen for the basis of a fork is because it’s fairly usable but also small enough to rework and reduce dependencies. Note that some bugs fixed in later versions of the original codebase won’t have been addressed yet in this version.

    This project is not otherwise affiliated with the HSQLDB project and doesn’t represent any kind of split of the original project, only a fork of a legacy version of their codebase for the sake of practicality. Changes made in this fork include:

    • New (work-in-progress) protocol layer
    • Reduced Oracle/Java dependencies (no more JDBC, still usable on official JVMs but reworked for easier porting to alternative platforms)
    • New documentation & (work-in-progress/prototype-quality) client library & database browser program

    Note that the client library & browser program in this version are AI generated, meaning may contain bugs or unusual conventions unexpected to myself, but are included for the sake of demonstrating the new (and not fully complete) protocol layer. These were developed using Qwen 3.8, which successfully one-shotted this task based on the new (and hand-written) protocol’s documentation.

    Initial Source Code Download

    Note that the first public release of CleanFork Database is only provided as an archive for developers, it doesn’t offer complete easy-to-use installers etc.

    https://securelang.net/projsend/download.php?id=1&token=5835e104c5021f3bde77316df01fe578

    Known Bugs

    This release is only for initial testing and is not recommended for production databases, it has some known bugs and likely some others yet to be discovered:

    • Bugfixes from newer releases of the original HSQLDB project have not yet been considered or backported (this is forked from an early version of that codebase and does not represent the best available version for the purposes of the original project)
    • Retrieval of table information will be partly broken, as I began to reimplement this before discovering that it probably already has some builtin support for this
    • The protocol layer is not yet entirely stable, this version is a work-in-progress and will not be 100% usable outside of simple tests – it’s quite likely to break in some cases particularly if you use strings with special symbols
  • Message Received

    I think most of the doctors in Australia just have a fucking problem with me before I even start listing my symptoms.

    I never receive that kind of treatment from Hindus, I don’t know what the hell is wrong with the rest of them.

  • Sick And Tired Of Dealing With Junkie Doctors

    Australia’s medical system clearly has a fucking heroin problem or something. I can’t get treatment for real illnesses, they’re just running these junkie clinics where they scam the government for money and then try to blame their own problems on the patients.

    This seems to be a problem throughout the NSW system at least, although was probably less of an issue in Canberra where the doctors seemed a bit more “with it”.

    I’m probably going to wind down my business a bit because I’m getting too stressed trying to access the most basic medical care in this country.

    The only medicine they’ll give me are these fucking anxiety pills that do fuck all for my leg problems and I assume they’re all off their heads on some stronger version of those, if not just heroin or something, but whatever it is the words are not connecting with their brains and they act more demented than the patients do.

    My CleanFork brand was meant to be stable forks of popular software projects tuned for industries like food service, but I think I might actually reuse that brand to offer alternative medicine without the needle junkies.

    23 years of fucking me around with tests and they still can’t work out what’s wrong with my legs. Maybe they can start by figuring out their own fucking drug problem and I’ll worry about the real medicine work myself.