Showing posts with label opensource. Show all posts
Showing posts with label opensource. Show all posts

A roadmap to Pipi 10

Mike's Notes

Pipi 10 will run on BoxLang in production.

I sent draft notes to Ortus Solutions yesterday to discuss future use of BoxLang. I then edited the notes and shared them with the growing Pipi community. I will add the answers as more is discovered about what needs to be done to make it possible for Pipi 10 to use BoxLang.

Training is available on BoxLang Academy.

Can you spot any errors in my assumptions? Do you have other ideas or queries?

Contact me.

Update 04/06/2024, 05/06/2025

Cristóbal Escobar Henríquez from Ortus Solutions provided excellent answers to the questions sent via email. These answers have been added to the questions at the end of this article, which are slightly different from the original ones (all my fault). Thanks :)

Update 09/06/2025

Luis Majano from Ortus Solutions provided additional answers to my follow-up questions, which I sent by email. They have been added to the post below. Thank you, Luis.

Update 12/06/2025

Luis Majano from Ortus Solutions provided additional answers to my follow-up questions, which I sent by email. They have been added to the post below. Thank you, Luis.

Update 13/06/2025

Luis confirmed that BoxLang cannot use CommandBoc modules. It appears that BoxLang can currently handle 90% of my needs. The only real gap is that Pipi cannot currently autonomously configure BoxLang itself via the command line, which is needed for scaling.

This is sufficient to make a start, with the hope that Ortus will address these issues in the future.

I expect Pipi 10 to be a 12-month build after Pipi 9 is in full production.

Update 14/06/2025

There will be an online meeting with people from Ortus next week to discuss and confirm details regarding the migration plan, paid support, and sponsorship of Ortus' open-source.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

14/06/2025

A roadmap to Pipi 10

By: Mike Peters
On a Sandy Beach: 21/05/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Draft roadmap

  • This is a draft, so expect it to change
  • This roadmap is probably for the next 2-3 years at least
  • The finalised plan will be published for the Pipi Community.
  • No money is available right now.
  • A plan is needed to avoid rework.
  • Don't expect Ortus to do work for free.
  • Realistic expectations of what is possible.
  • Good income will come later from paying customers for solving complex problems.
  • Focus on the core by outsourcing other work to experienced contractors.
  • Open-source all modules on GitHub.

Ajabbi

  • The common name of 
    • A company to handle payments
    • Non-profit foundation to support users (to be established)
    • Research Institute for ongoing development (to be established)
  • Description
    • Solved a huge, expensive problem with no existing competitors
    • Pre-revenue start-up with no $$$
    • Growing community
  • Purpose
    • Act like other foundations (Wikimedia, Apache and Linux) and use the income surplus to support
      • Minority languages i18n
      • Open-source efforts (especially CFML, including Ortus)
      • User groups
      • User conferences
      • Book publishing
      • Open research grants
      • Etc

    Pipi

    • The name of the software
    • Mike has been the architect since 1997
    • Versions 1-4 were in production eventually with 300K lines of code, an 800-table database, ESRI Web GIS, 500 classes, 3K methods, a 5 FTE team and a 3-rack data centre
    • Versions 6-8 were working, non-production, undergoing refactoring
    • Version 9 works, moving to production (current)
    • Version 10 (planned)

    Current Pipi 9

    • Works great
    • Runs in a dev environment
    • Unique architecture with 20+ layers and hundreds of autonomous agents
    • Uses nature-inspired algorithms
    • Going from headless to a Pipi-generated UI
    • Migrating to a 42U server rack completely isolated from the internet.
    • Using old Windows server boxes will do for now.
    • The CFML code runs on ColdFusion Server 2021 Developer Edition.
    • The CFML code could run on ColdFusion MX, Open Blue Dragon, or Lucee. 
    • Uses <CF> tags as in Ben Forta, et al. (don't tell Michaela, I don't want to die)
    • Uses 300+ embedded config databases (MS Access)
    • Uses PostgreSQL for production data
    • Writes CFML code and then executes it
    • Writes SQL and then executes it to create and populate tables
    • Static HTML generator (90K page websites)
    • Uses XML, XML Schema, etc, internally
    • Mostly self-managing
    • Self-documenting
    • Currently rendering a 20,000-page static website for developers
    • The code base will self-grow 10x larger over time

    Planned Pipi 9

    • Some money is coming soon
    • Generate revenue from niche batch render jobs
    • Code generators and the generated code must be rewritten to be BoxLang compatible, so no refactoring by Ortus is required.
    • Pipi 9 will create Pipi 10
    • Pipi 10 to be BoxLang native
    • BoxLang (+++++++) paid support
    • Pipi 10 to become geodatabase capable
    • BoxLang will enable the future use of Python, PHP, etc

      Planned Pipi 10 Systems

      • Render System
        • Functions as an automated AI-assisted development environment
        • Isolated from the internet
        • Uses VM
        • Run on BoxLang installed on Windows on new 64 hardware
        • JDK 21+
        • Ortus to supply a ready-to-run VM image.
        • 100% self-managing via CommandBox dynamic CFML scripts
        • Renders working enterprise system modules (database, code, UI, API, user documentation)
          • MS SQL edition
          • MySQL edition
          • Oracle edition
          • PostgreSQL edition
        • Exports modules to the Staging System via manual hard drive transfers
      • Staging System
        • Connected to the internet
        • Uses VM
        • Runs on BoxLang installed on Debian
        • JDK 21+
        • Ortus to manage the BoxLang platform VM on a long-term contract
        • Uses PostgreSQL
        • Adds i18n to modules
        • Creates updates
        • Integrates i18n modules into customised enterprise systems for paying customers
        • Exports
          • Github
            • i18n modules to GitHub for open-source
            • i18n user documentation
          • Cloud
            • Customised i18n enterprise systems
            • System updates
      • Cloud System
        • Connected to the internet
        • Uses VM
        • Runs on BoxLang installed on Debian
        • JDK 21+
        • Ortus to manage the BoxLang platform VM on a long-term contract
        • VM hosted
          • AWS
          • Azure
          • Digital Ocean
          • GCP
          • IBM
          • etc
          • private cloud.
        • The customer chooses their production RDMS database(s) for their data.
          • MS SQL
          • MySQL
          • Oracle
          • PostgreSQL

      Questions for Ortus Solutions

      Answered by Cristóbal Escobar Henríquez, and Luis Majano.
      • Is a list of supported (or not supported) CFML tags available?
      • Is <Cf tags> style coding supported?
        • Yes, BoxLang fully supports CFML tags when running in CFML compatibility mode. This ensures legacy CFML applications can continue to function with minimal changes.
      • Is there a performance hit from using CML compatibility mode?
        • There is of course a penalty to pay if you are transpiling on the fly.  It's negligible to the point that we are faster in CFML mode than all Adobe engines even in transpile mode.  However, you can transpile to BX as part of your build process and then this won't exist.
      • Does BoxLang use CommandBox modules?
        • No.  BoxLang Modules are something new.  Eventually maybe, but for now, no.
      • Can BoxLang accept (CFML) command-line modules generated by Pipi without needing to be restarted?
        • Yes.
        • The ModuleService has the necessary API for you to load modules a-la-carte.  All of our integration testing uses this approach.
        • You can also uninstall them
      • Will these CF tags become compatible with BoxLang in future?
        • cfftp
          • This is done in our bx-ftp module
        • cfregistry
          • This can be sponsored if needed.
        • cfschedule
          • This is in progress, but can be accelerated by sponsorship
      • Could BoxLang use MS Access via JDBC on the isolated Render System, and how much would it cost to create a module to do this?
        • We can enable MS Access integration by building a custom module using the UCanAccess JDBC driver.
        • Estimated time: 10–15 hours (2–3 business days)
        • Note: This estimate covers driver integration only and does not guarantee full MS Access compatibility. As an alternative, we recommend migrating the database to SQLite, Derby, or MySQL for improved stability and long-term support.
      • What kinds of modules can be developed by Ortus?
        • Ortus can develop any module you need, whether it's for BoxLang, application features, integrations, or infrastructure. We tailor modules to your requirements, from core language enhancements to platform-level tools.
      • What is the cost for Ortus to provide dedicated platform support?
        • We offer dedicated platform support through our BoxLang+ and BoxLang++ plans, which include guaranteed response times, SLAs, priority bug handling, and access to our core engineering team.
        • You can review the full details and pricing here: https://boxlang.io/plans
        • We’d be happy to tailor a plan based on your service level and usage expectations.
      • Can patched VM images be supplied?
        • Yes, we can provide patched VM images as part of a BoxLang++ subscription. If you're not on a ++ tier, this can still be delivered through a separate consulting plan.
      • What about the time zone differences between New Zealand, the US, and Spain?
        • Our team operates mainly on Central Standard Time, but we can easily align with your schedule. If needed, we can also assign a developer located in the EU (CET) for better time zone overlap.
      • Would a 100% dedicated Ortus developer be possible in the future?
        • Yes, we offer team augmentation services, including assigning a dedicated developer to your project. We can adapt the engagement based on scope, timeline, and availability.
      • Is a 24/7/365 platform supported by Ortus possible in the future?
        • Yes, that’s absolutely possible. We can support a 24/7/365 production environment using our teams in El Salvador and Spain. This would require a custom service agreement or license tier beyond the standard BoxLang offerings, but we’re happy to scope and price this accordingly based on your needs in the future.

      Questions for the Pipi Community

      • Would support also be available from independent CFML contractors?

      • Where is the boundary between community contributions and paid contractors?

      • What other new BoxLang Modules would be helpful, including other coding languages?

      Ajabbi modules

      Mike's Notes

      My thoughts on using modules.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      17/05/2025

      Article

      By: Mike Peters
      On a Sandy Beach: 23/01/2025

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      I'm working on getting Pipi 9 to create an application for the first customer. It's going well, and I'm learning along the way. The application allows the publishing of enormous, highly structured static websites from a content database and templates, similar to what Adobe Framemaker does for technical print publications, catalogues, manuals, etc.

      Pipi 4 CMS (Content Management System) created a 93,000-page static website in a similar way years ago, in 2008.

      This is the opposite of Squarespace, which is excellent at creating smaller websites with highly customisable web pages.

      WordPress is also excellent, but it is not suitable for hosting big enterprise systems.

      It's got me thinking. The Ajabbi SaaS applications will all be open-sourced and available on GitHub without restrictions. But what does that really mean?

      Most applications consist of reusable modules and user-contributed plugins, so sharing them on GitHub as modules and plugins would make them easier to document and organise and give users more options for combining them to create whatever they want.

      It would also simplify the paid hosting by usage option, which allows any modules to be added to the enterprise account. Despite the growing complexity, Pipi 9 would automatically handle integration issues, updates, security, etc and would be cheaper than the costs of DIY.

      For example, the future aviation application includes these modules:

      • Aircraft
      • Airport
      • Airspace
      • Cargo
      • Flights

      They could also be made more granular (chopped into smaller parts). My idea was for Pipi 9 to package the modules in a zip file, similar to OpenERP or Odoo, as they are now called. Each would contain a database, code, processes, documentation, translated strings, web pages, CSS, etc.

      Each industry application is a bundle of modules.

      Creative Commons

      Mike's Notes

      I need to make sure the correct Creative Commons licence is being used for Ajabbi.

      CC BY-NC-ND 4.0 is currently being used at every page's footer.

      According to the Creative Commons website, this means Attribution-NonCommercial-NoDerivatives 4.0 International. But is this correct?

      The Ajabbi website content can be reused for free if attribution is provided. This will also apply to the GitHub repository. Any adaptations should also include the requirement of attribution.

      Therefore, the correct licence should be CC BY-SA.

      I often copy or quote other people's work on public websites or in the public domain. They are also linked back to the original source.

      I need to check that the correct attribution is given to incorporated material.

      There is a Creative Commons Platform Toolkit, which goes into more detail.

      All this needs to be added to the draft of the Ajabbi Open Handbook.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      17/05/2025

      CC BY-SA 4.0

      By: 
      creativecommons.org: 17/01/2025

      Attribution-ShareAlike 4.0 International

      This license enables reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms. CC BY-SA includes the following elements:

      • BY: credit must be given to the creator
      • SA: Adaptations must be shared under the same terms
      The Canonical URL is 

      HTML Code to use on each page

      <p xmlns:cc="http://creativecommons.org/ns#" >This work is licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-SA 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1" alt=""><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1" alt=""><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1" alt=""></a></p>

      Should I Open Source my Company?

      Mike's Notes

      Article by Ant Wilson, CTO of Supabase.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      18/05/2025

      Should I Open Source my Company?

      By: Ant Wilson
      Supabase: 25/04/2022

      Supabase has been open source from day one. This is one of the best decisions we've made. It didn't feel like a difficult decision at the time, since kiwicopple and I are long time users and advocates of great open projects like PostgreSQL, Python, Bitcoin, React, [... insert long list]. Open-sourcing Supabase ended up surprising us in many ways. Many people imagine that maintaining your business in public might be burdensome - but the opposite is true. There are many unexpected upsides that have made building Supabase - the product and the company - easier.

      While some of this advice comes from our lens as a Dev Tools or PaaS company, most of it will apply to any software company.

      When we discuss open source business models with other founders, there are three complaints that come up again and again. These are:

      • People might criticize my messy/bad/unfinished code
      • Hackers will find and exploit security holes
      • Competitors will steal my Intellectual Property

      We'll cover each of these in detail and follow up with some of the surprising benefits we discovered building Supabase, namely how open source:

      • Solves your dev talent problem
      • Improves your product (massively)
      • Will carry us to Utopia

      Let's dive in.

      But my code is bad#

      This is just ego. The person who spends the most time thinking about you is you, and the person who spends the most time stressing over your bad code is you as well. If someone else is spending time stressing over your bad or messy code, then it's likely you've hit upon something worth pursuing. The folk story of the Stone Soup applies here. If you share good ideas with the community they will adopt and improve on them with you. The community will help refactor and replace any bad code, and they might even introduce new code quality guidelines to your project, improving the process for everyone who comes after. Toxic community members who complain about bad code instead of making suggestions to improve it are not the people you want in your community anyway.

      All open source contributors have a graveyard of old projects. What's cool about this is that people looking to build something similar have a library of ideas and approaches to learn from. They may take inspiration from your approach to certain problems. At the very least, they won't be wasting time making your same mistakes. Don't worry about old projects ruining your reputation. At best people will find them useful. At worse they won't get noticed anyway.

      Getting to secure#

      One of the biggest fears running a hosted solution where the code is publicly available is malicious actors will read your code, discover exploits, and hack your services. In our experience, Linus's law of "given enough eyeballs, all bugs are shallow" also applies to security issues. Since the very early days of Supabase we have had (often anonymous) security researchers active in our code and platform, helping us find potential issues. If you're offering a software as a service, make simple instructions available at /.well-known/security.txt to let the good guys know how to disclose potential issues to you.

      The premier example of how open source projects can be more secure than proprietary code bases is Bitcoin. In his 2015 talk Andreas M. Antonopoulos describes how closed source banking systems have the software equivalent of weak immune systems, because huge security holes can be obfuscated for long periods of time, and when eventually exploited can have enormous detrimental effects. On the flip side of this is an open source protocol like Bitcoin, where any security holes are there for all to see. Exploits are found early and often, and then patched. Remember that successful software companies can take more than a decade to build. Over a long time period, open source systems will tend towards a more secure state over secretive, proprietary systems, especially in a time when hiring talented security engineers is extremely competitive.

      Beating the competition#

      In software ideas are cheap. Value is almost always created in execution of ideas. When you share your ideas with the world, it frees up your brain to focus on things that matter most. Instead of spending time worrying about which contractors or partners have access to your code base, you can focus on iterating faster. You'll probably be surprised how the open source community responds to your openness.

      Grow a community of experts#

      In order to build a successful company, you'll have to execute well and grow your customer base over a long period of time, let's say 10 years. In this Ultra Marathon, any advantages gained by competitors peeking at your code base are unlikely to be material over that 10 year period. It's likely that you'll have to iterate on, and refactor your code base many times over during that period. Building a team and a community that is the best in the world at iterating on your solution is how you will win in the long term.

      Winning in the market#

      If you're in a market with a huge (and growing) TAM, that is really worth pursuing, it's unlikely to be a winner takes all situation. The first lesson is to find a segment of users you can “wow” and then iterate like crazy. Every second you focus on your competitors is time you could be focused on improving your product or your team. If a competitor forks your open source project, and is able to out-ship you, then I would argue that you were bound to lose that particular race anyway.

      On top of all this, IP and patents in software are notoriously difficult to enforce. It will save you time, money, and mental energy if you're not worrying about trying to protect your software ideas with lawyers. You can protect your business much better by becoming the best in the world at implementing your software ideas.

      Late stage#

      Once your project reaches significant scale, you might find yourself in a situation like Elastic, or Mongo, where large cloud providers are offering your product with a superior distribution model.

      Firstly, if you're just starting out, the biggest problem facing you right now is getting to that point. If you become so successful that AWS is deciding to take resources away from one of it's many billion dollar product lines to compete with you in hosting your product, you're doing something very right.

      Secondly, and more constructively, you should prepare for this eventuality by finding areas where you can outcompete anyone. Most cloud providers are notoriously bad at Developer Experience for example, so take advantage of that and make DX one of your core competencies. If after 6 years, Google tries to steal your lunch, you should have a brand, a team, and a community, that have spent the last few years preparing for a David versus Goliath-type fight. Make sure you're not blindsided by something like this by planning for it from the beginning. You have enough time and focus on your side to construct a winning strategy.

      Stop worrying#

      In general if a competitor is looking to you for ideas, then good luck to them. They'll always be a step behind you, and expending more energy than you are by worrying about their competition. Especially in the early stages, when resource is scarce.

      Now that we've addressed some of the common objections, let's move on to some of the surprising benefits.

      Hiring developers#

      One of the biggest complaints of startups - no matter the size - is how hard it is to hire developers. Sourcing is hard, assessing developers is hard, convincing them of the quality of their future colleagues is hard. Being open source can solve your developer hiring problems!

      Sourcing openly#

      All developers benefit from open-source, and many developers look to pay those benefits forward by contributing to open source projects they find interesting. Maybe they contribute because of a good community, maybe they're trying to learn a new technology, or enjoy solving hard technical problems in new and novel codebases. If you lower the barriers to contribute code to your open source project, there's a good chance great developers will find your project. They might contribute in issue discussions, solve bugs, identify problems, or review PRs. Every contributor may not be open to work, but many will be attracted by the prospect of working on open source code as part of their full time gig. It's a huge advantage open source companies have over closed sourced ones. At Supabase we didn't start doing outbound recruitment until after we already hired 32 developers, and been operating for more than 2 years. Open source has been, and will continue to be, our primary source of finding new (and incredible) talent. Being a remote and async company, we find having an open source hiring strategy means candidates are self selecting for these skills, which makes our job of screening for them much easier.

      No, I won't take home your take home test#

      One of the biggest complaints developers make while looking for their next gig is having to solve LeetCode problems or do take-home tests in the interview process. They are time-consuming, arduous, and often don't represent the type of work they'll be doing on the job. However, if someone contributes to your repo you already have:

      And the candidate gets to see all this from the company side as well! Does this team value code quality? Do they communicate effectively? Do they make good technical decisions?

      People who have been hired at Supabase through our repos have made themselves indispensable. Many of them drove the development of existing repos, and even started new client libraries and SDKs. And not one of them were ever required to solve a LeetCode problem over Zoom.

      But does it integrate with Excel?#

      When building a startup, you might find that you only really have the time to solve your biggest problems. In order to move fast, you need to focus on what 80% of the user base is asking for. The features requested by the minority are prone to getting indefinitely shunted. When your systems are open source however, these users have the ability to contribute the features themselves, expanding the usefulness of your software - sometimes to new use cases that you didn't even know existed. This happens most often with integrations and adaptors. Users might want an Azure or Vercel integration, and if someone else can provide the development resources to make those connections, then everyone using your project benefits as a result.

      It's 2022. Where are the flying cars?#

      In a world with no open source, technology companies everywhere are re-inventing the wheel, on loop... forever. To combat this at Supabase, we don't just open source our new projects. We always try to support existing open source projects, before inventing new ones.

      Think about each of the automotive companies today. Writing proprietary functions, to build proprietary UI elements, on proprietary windowing libraries, running inside proprietary operating systems, using proprietary drivers, to display an error message that you'll probably never see! What a waste of developer time and effort!

      I won't evangelize too much here... I think this meme summarizes my feelings on the subject...

      Open Knowledge Foundation

      Mike's Notes

      Note

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      17/05/2025

      Open Knowledge Foundation

      By: Mike Peters
      Wikipedia: 20/07/2024

      "Many of Open Knowledge Foundation's projects are technical in nature. Its most prominent project, CKAN, is used by many of the world's governments to host open catalogues of data that their countries possess.

      The organisation tends to support its aims by hosting infrastructure for developing semi-independent projects. This approach to organising was hinted as one of its earliest projects was a project management service called KnowledgeForge, which runs on the KForge platform. KnowledgeForge allows sectoral working groups to have space to manage projects related to open knowledge. More widely, the project infrastructure includes both technical and face-to-face aspects. The organisation hosts several dozen mailing lists for virtual discussion, utilises IRC for real-time communications and also hosts events." - Wikipedia

      Aims

      "The aims of Open Knowledge Foundation are:
      • Promoting the idea of open knowledge, both what it is, and why it is a good idea.
      • Running open knowledge events, such as OKCon.
      • Working on open knowledge projects, such as Open Economics or Open Shakespeare.
      • Providing infrastructure, and potentially a home, for open knowledge projects, communities and resources. For example, the KnowledgeForge service and CKAN.
      • Acting at UK, European and international levels on open knowledge issues." - Wikipedia

      Open Knowledge Foundation

      Vision

      "Our vision is that openness and open knowledge are adopted by every government, institution and movement to ensure access to critical information that will empower humans to solve the most pressing problems of our times, leading to a sustainable, fair and open future for all." - OKFN

      "The world’s institutions are decaying rapidly by embracing a culture where knowledge is privatised, artificially restricted behind paywalls or secrecy laws, violently extracted from groups or even extinct due to neglect and austerity. The future world is being built by corporations in closed virtual reality spaces, blocking all possibilities of generativity and democracy from flourishing, or in closed rooms and opaque systems. 

      The root of the problem is an institutional architecture designed for that to happen, limited literacies and skills of people to act on the problem and no effective models and tools to replace the current systems. Our hope and focus will be to reverse it and push for openness as a design principle to build future institutions. 

      We believe it is time for new rules, models and tools that generate improved conditions for knowledge to be shared by all in a fair, free and open future. In the face of rising inequality, global threats to our shared environment, and fading social consensus, open knowledge is not simply the opposite of closed societies: it opposes misleading facts (about societal issues), illegible data (from scientific research), privatised information (held by tech platforms) and of course withheld documents (about government or corporate acts). Those elements can exist even in a technically 'open society'. Our mission is to enable a future where communities, tools and best practices exist to keep those threats to the health of our societies at bay. And do it as agile, scalable, and adaptable to local circumstances, as possible." - OKFN

      Digital Public Goods Alliance

      Mike's Notes

      Here are some notes copied from the Digital Public Goods Alliance. They would be good to incorporate into the Ajabbi Handbook. Except for the core, most of Ajabbi will be open-source.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      17/05/2025

      Article

      By: Mike Peters
      Digital Public Goods Alliance: 19/07/2024

      Objectives

      The five year objectives of the Digital Public Goods Alliance are:

      • Digital public goods with high-potential for addressing critical development needs and urgent global challenges are discoverable, sustainably managed, and accessible for government institutions and other relevant implementing organisations.
      • UN-institutions, multilateral development banks and other public and private institutions that are of high relevance for supporting implementation of digital technologies have the knowledge, capacity, and incentives to effectively promote and support adoption of DPGs.
      • Government institutions have the information, motivation, and capacity to effectively implement DPGs that address country needs, including to plan, deploy, maintain, and evolve their digital public infrastructure.
      • Countries have public sector capacity and vibrant commercial ecosystems in place to create, maintain, implement, and incubate DPGs locally.

      Tips For Open Standards

      Open standards establish protocols and building blocks that can help make digital public goods more functional and interoperable. This not only streamlines product development, it removes vendor-imposed boundaries to read or write data files by improving data exchange. Below are some of the common open standards by category:

      Accessibility

      • WCAG 2.0/2.1 (Web Content Accessibility Guidelines)

      Security

      • ISO/IEC 27001 (Information Security Management)
      • ISO/IEC 27018:2019 (Information technology — Security techniques — Code of practice for protection of personally identifiable information (PII) in public clouds acting as PII processors)
      • PKI
      • HTTPS
      • SSL
      • SSH
      • GPG
      • RS256
      • HS256
      • AES
      • ES256

      Authentication & Authorization

      • OAuth 2
      • OIDC (OpenID Connect)
      • JWT (JSON Web Tokens)
      • SAML (Security Assertion Markup Language)
      • XACML 3.0 (eXtensible Access Control Markup Language)

      Internationalization (i18n)

      • UTF-8
      • ISO-8859-1
      • ASCII

      Web standards

      • HTML
      • CSS
      • ECMAScript (ES 5/6/7)
      • Latex

      Application Programming Interfaces (APIs)

      • OpenAPI
      • GraphQL

      Data Exchange/ Configuration formats

      • JSON
      • YAML
      • XML
      • TOML
      • CSV
      • TIFF
      • HDF5
      • RDF

      Geographic Information System (GIS)

      • GeoPackage
      • GeoTIFF

      Software Testing

      • IEEE829
      • ISO/IEC/IEEE29119

      Business Process Modelling

      • BPMN 2.0

      Credentialing

      • W3C VC

      Standard Content formats

      • PDF
      • H5P
      • ePub
      • WebM

      Multimedia

      • SVG (Scalable Vector Graphics)
      • PNG (Portable Network Graphics)
      • JPEG (Joint Photographic Experts Group)
      • Ogg MP3 (Moving Picture Experts Group: Audio Layer III)
      • FLAC (Free Lossless Audio Codec)
      • H.264 (H.264/MPEG-4 AVC)
      • AAC (Advanced Audio Coding)
      • MP4 (MPEG-4 Part 14)

      Virtual Reality/ Augmented Reality (VR /AR)

      • WebXR
      • IEEE Digital Reality standards

      Computer Communications Protocols

      • WebSocket
      • Whistleblowing management systems
      • ISO 37002:2021 (Whistleblowing management systems — Guidelines)

      Sector-specific standards

      • FHIR (Fast Healthcare Interoperability Resources) - Healthcare
      • openEHR - Healthcare
      • OCDS (Open Contracting Data Standard) - Open government
      • Open Fiscal Data Package - Open government
      • International Aid Transparency Initiative (IATI) Standard - Aid
      • GTFS (General Transit Feed Specification) - Mobility

      GitLab and PostHog Handbooks

      Mike's Notes

      I have been convinced of the wisdom of having a public handbook.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      13/09/2025

      GitLab and PostHog Handbooks

      By: Mike Peters
      On a Sandy Beach: 08/06/2024

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      I recently came across PostHog and discovered they had an open handbook on how they work. In turn, they were inspired by the GitLab handbook. I  have a lot of similar material looking for a home. Being open and transparent is a good plan. I will shamelessly copy the layout and format of these handbooks and create one for Ajabbi using my own content. I also liked the very open editorial policy of Smashing Magazine. Remote also has a handbook.

      I just discovered GitHub as an open handbook.

      Creative Commons has a public policy archive.

      Antono has an open handbook.

      Markus Covert and Mycoplasma

      Mike's Notes

      This is part of why I rebuilt Pipi 6 from memory.

      Resources

      References

      • Fundamentals of Systems Biology

      Repository

      • Home > Ajabbi Research > Library > Authors > Markus Covert
      • Home > Handbook > 

      Last Updated

      11/05/2025

      Markus Covert and Mycoplasma

      By: Mike Peters
      On a Sandy Beach: 10/03/2022

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      In 2014, I read an article in Scientific American by Markus Covert at Stanford about the successful computer cellular simulation of Mycoplasma. It was a fascinating article that made me think about Pipi and whether it could have been better built during 2005-2008.

      When my wife and I left Christchurch in 2014 to start a new life, I became curious about modern cloud computing and read a great deal. Then, I realised that PIPI was a very early form of cloud computing, and many of its features were 10 years ahead of their time. What a waste!

      By 2016, I was mad about missing the opportunity and decided to rebuild Pipi as a core platform from memory.

      From 2017 to 2019, Pipi 6 was built by fusing the rebuilt core platform with Covert Lab's open-source cellular simulation software. This process was challenging and resulted in an unusual architecture. Every process was given a random probability, with many positive and negative feedback loops. It was like composing music. (In hindsight, synesthesia helped a lot.)

      From Wikipedia

      Markus W. Covert (born April 24, 1973) 

      is a researcher and professor of bioengineering at Stanford University who led the simulation of the first organism in software.[1][2][3] Covert leads an interdisciplinary lab of approximately 10 graduate students and post-doctoral scholars.[4]



      From Covert Lab

      Unofficial Windows Binaries for Python Extension Packages

      Mike's Notes

      I did some digging. I found a great list of Unofficial Windows Binaries for Python Extension Packages maintained by Christoph Gohlke, Laboratory for Fluorescence Dynamics, University of California, Irvine. There must be hundreds of binaries listed.

      Sad news: Funding for the Laboratory for Fluorescence Dynamics has ceased. This service will be discontinued before July 2022. The referred page has gone.

      The good news is that they are now available on his GitHub.

      According to a post on Reddit;

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      11/05/2025

      Unofficial Windows Binaries for Python Extension Packages

      By: Christoph Gohike
      Laboratory for Fluorescence Dynamics: 12/05/2019

      He writes ...

      "This page provides 32- and 64-bit Windows binaries of many scientific open-source extension packages for the official CPython distribution of the Python programming language. A few binaries are available for the PyPy distribution.

      The files are unofficial (meaning: informal, unrecognized, personal, unsupported, no warranty, no liability, provided "as is") and made available for testing and evaluation purposes.

      Most binaries are built from source code found on PyPI or in the projects public revision control systems. Source code changes, if any, have been submitted to the project maintainers or are included in the packages.

      Refer to the documentation of the individual packages for license restrictions and dependencies.

      If downloads fail, reload this page, enable JavaScript, disable download managers, disable proxies, clear cache, use Firefox, reduce number and frequency of downloads. Please only download files manually as needed.

      Use pip version 9 or newer to install the downloaded .whl files. This page is not a pip package index.

      Many binaries depend on numpy-1.15+mkl and the Microsoft Visual C++ 2008 (x64x86, and SP1 for Python 2.7) or the Visual C++ 2017 (x64 or x86 for Python 3.x) redistributable packages.

      Install numpy+mkl before other packages that depend on it.

      The binaries are compatible with the most recent official CPython distributions on Windows >=6.0. Chances are they do not work with custom Python distributions included with Blender, Maya, ArcGIS, OSGeo4W, ABAQUS, Cygwin, Pythonxy, Canopy, EPD, Anaconda, WinPython etc. Many binaries are not compatible with Windows XP or Wine.

      The packages are ZIP or 7z files, which allows for manual or scripted installation or repackaging of the content.

      The files are provided "as is" without warranty or support of any kind. The entire risk as to the quality and performance is with you.

      The opinions or statements expressed on this page should not be taken as a position or endorsement of the Laboratory for Fluorescence Dynamics or the University of California."

      Installing TensorFlow on Windows

      Mike's Notes

      I'm learning about TensorFlow.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      11/05/2025

      Installing TensorFlow on Windows

      By: Mike Peters
      On a Sandy Beach: 11/05/2019

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      TensorFlow is the most widely used Machine Learning (ML) software today.

      It was developed by the Google Brain team and then released under the Apache license in 2015.

      Official website www.tensorflow.org

      It can be run in the cloud on many platforms, including Google. It can also be downloaded and installed on mobile phones, desktop computers and local servers.

      Windows Install

      • Excellent step-by-step instructions > here.
      • Also  > here.