Oil-Drop Walkers - an Analogue for Wave Particle Duality

Mike's Notes

A facinating analogue experiment.

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Oil-Drop Walkers - an Analogue for Wave Particle Duality

By: Mike Peters
On a Sandy Beach: 19/04/2019

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

There has been an ongoing research effort by Yves Couder at CNRS University in France and John Bush an Applied Mathematician at MIT in the USA using fluid mechanics as an analogue to look at the de Broglie-Bohm interpretation of Quantum Mechanics.

It originated by chance when observing the movement of oil droplets on a vibrating water bath.

It is fascinating stuff.

Phylogeny Again

Mike's Notes

  • Find a way to incorporate all of these into the front end.
  • Compare data sources - are they the same?
  • Do they use API?
  • Any open-source cladistic tooling?

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Phylogeny Again

By: Mike Peters
On a Sandy Beach: 18/04/2019

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

Using cladistics or clades, I have found some excellent visualisations of Phylogeny, the tree of life.

Upgrading from Java 8 to Java 12

Mike's Notes

Notes on Java remaining open.

  • The most precise explanations I've heard.
  • Develop on Java 12 OpenJDK.

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Upgrading from Java 8 to Java 12

By: Mike Peters
On a Sandy Beach: 17/04/2019

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

The latest QCon weekly newsletter has a great article on the reasons to upgrade from Java 8 to 12 and the changes to Java support announced by Oracle.

Article key takeaways.

  • Since Java 8 a number of useful new language features have been introduced, along with new tooling, and performance improvements particularly for garbage collection.
  • When choosing to upgrade the choice you face is whether to upgrade to the latest version of Java (12) and be prepared to upgrade every six months; or upgrade to the latest LTS (11) to give yourself up to three years to think about your next upgrade.
  • Don’t be tempted to ignore compiler warnings.  Deprecation is being taken much more seriously in this modern Java world, and both Java 10 and Java 11 removed APIs.  
  • One of the changes from Java 9 was that internal APIs (largely those classes in packages that started with sun.misc.*) were hidden from use. APIs that are not core to the JDK have also been removed in Java 11. These changes may impact your application but there is a clear path to avoid these problems.
  • Once "over the hump" of this first upgrade, it's worth at least testing the application on the latest version of Java every 6 months, for example in CI.

There is a great Google Doc here which discusses OpenJDK etc.

Is Java still Free?

A panel discussion recorded April 9 at QCon London 2019, with video, slides and transcript. The panelists talk about costs, freedom of use, who governs Java/OpenJDK and what providers are for Java infrastructure for the next 5, 10, 15 years.

OneZoom Tree of Life

Mike's Notes

Notes about visualisation using OneZoom.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > SFI
  • Home > Handbook > 

Last Updated

11/05/2025

Article

By: Mike Peters
On a Sandy Beach: 16/04/2019

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

OneZoom has to be one of the coolest visualisations of the Tree of Life.















It is an interactive map of the evolutionary relationships between over two million species of life on our planet.

There is an excellent interview with co-creator James Rosindell in the Complexity Explorer newsletter.

Adobe Experience Platform Open API

Mike's Notes

More notes on Adobe.

  • Looks useful
  • Get API documentation
  • JSON/YAML?
  • Do some tests

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Adobe Experience Platform Open API

By: Mike Peters
On a Sandy Beach: 15/04/2019

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

Adobe has been opening up its platform to integration with open API.

From the Adobe website...


API-First Development

Experience Platform has been designed and built using core principles of API-first development:
  1. The API is the primary interface of the Experience Platform.
  2. All Platform functions, including administrative functions, are available via API.
  3. Platform services, Adobe solutions, and 3rd party integrations use the same API.
Guided by these principles, Adobe Experience Platform services and solutions are designed by first looking at the API and ensuring the functionality exists to support developers through low-level CRUD operations. Only once the API is built can the user interface (UI) be constructed by making REST calls to the API. By starting with the API, Experience Platform allows not only Adobe developers but any developer to have the same access to the core logic of Platform services and solutions by means of the same API calls. This principle is not limited to REST-based APIs. It also applies to other interfaces into Experience Platform like message-based, event-driven interfaces that allow developers to build responsive, reactive applications.

The Sound of Hydrogen - iPython

Mike's Notes

  • Fast-moving changes
  • Jupyter Hub
  • Jupyter Labs (beta)
  • A gallery of interesting Jupyter Notebooks
  • Binder (in beta)
  • plotly for open-source graphing (ternary example) (biological example)
  • Solve the roadblock of Mathematica's non-sharing

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

The Sound of Hydrogen - iPython

By: Mike Peters
On a Sandy Beach: 14/04/2019

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

Here is a Jupyter nbviewer of the Sound of Hydrogen which is taken from a blog post on the Jupyter web site. Just experimenting and having fun.

Embed Jupyter nbviewer of iJulia on a web page

Mike's Notes

I'm playing with a Jupyter nbviewer of the iJulia programming language. I want to embed notebooks on external HTML webpages.

It's a terrific way to share a Jupyter Notebook.

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Embed Jupyter nbviewer of iJulia on a web page

By: Mike Peters
On a Sandy Beach: 13/04/2019

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

Expanding Horizons: Understanding the EHT’s black hole discoveries

Mike's Notes

Outstanding science. These notes are taken from a Perimeter Institute email.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Perimeter Institute
  • Home > Handbook > 

Last Updated

11/05/2025

Expanding Horizons: Understanding the EHT’s black hole discoveries

By: 
Perimeter Institute: 11/04/2019

"The Event Horizon Telescope (EHT) is a project to create a large telescope array consisting of a global network of radio telescopes and combining data from several very-long-baseline interferometry (VLBI) stations around the Earth. The aim is to observe the immediate environment of the supermassive black hole Sagittarius A at the centre of the Milky Way, as well as the even larger black hole in the centre of the supergiant elliptical galaxy Messier 87, with angular resolution comparable to the black hole's event horizon." - Wikipedia





From a Perimeter Institute email.

The Event Horizon Telescope (EHT) collaboration will announce a “groundbreaking result” regarding black holes on April 10 at 9 a.m. ET.
  • Shep Doeleman, EHT Director, Centre for Astrophysics, Harvard & Smithsonian.
  • Dan Marrone, Associate Professor of Astronomy, University of Arizona.

Following the announcement, at 11 am ET, black hole experts will explore the implications of the findings during “Expanding Horizons,” a live panel discussion at Perimeter Institute.

On the panel will be:

  • Robert Myers, Perimeter Institute Director and BMO Financial Group Isaac Newton Chair in Theoretical Physics
  • Beatrice Bonga, postdoctoral researcher, Perimeter Institute
  • Asimina Arvanitaki, Perimeter Institute Faculty member and Stavros Niarchos Foundation Aristarchus Chair in Theoretical Physics
  • Brian McNamara, Department Chair of Physics and Astronomy, University of Waterloo

Articles

GCP in 4 Words or Less

Mike's Notes

More notes on GCP.

Resources

  • https://github.com/gregsramblings/google-cloud-4-words

References

  • Reference

Repository

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

Last Updated

11/05/2025

GCP in 4 Words or Less

By: Mike Peters
On a Sandy Beach: 10/04/2019

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

The Google Cloud Developers Cheat Sheet by the Google Developer Relations Team can be found at GitHub.

"A list of every product in the Google Cloud family described in 4 words or less".

A ton of stuff is available with direct links to the products, documentation, etc.



Google Cloud Next '19

Mike's Notes

My notes on discovering more about GCP.

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Google Cloud Next '19

By: Mike Peters
On a Sandy Beach: 09/04/2019

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

Google is holding a 3-day developer conference Cloud Next '19 in San Fransisco April 9-11. It started today at 4am NZ time.

6 streams are running at the same time, covering a variety of topics.

All of the conference sessions are available live-streamed and also on-demand. I'm watching all the conference sessions.

Here is a playlist of all sessions.


I'm following.

  • Running on cloud, on-premise and multi-cloud.
  • Data storage.
  • Avoiding vendor lock-in.
  • AI strengths and weaknesses.
  • Security.
  • Product demos.
  • Google Cloud road map.

The conference and many previous conferences are also available on YouTube.

There were 32 recorded sessions from the first day alone, so 90 hours of watching are coming up.

Multi-tenancy

Mike's Notes

Pipi 6 was built to support multi-tenancy. Deployments can be sole-tenancy or multi-tenancy, and databases use sharding.

Resources

References

  • Reference

Repository

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

Last Updated

18/04/2025

Multi-tenancy

By: Mike Peters
On a Sandy Beach: 06/04/2019

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

I first read about sharding in an article about Xero. Pipi 4 didn't use sharding.

"The term "software multi-tenancy" refers to a software architecture in which a single instance of software runs on a server and serves multiple tenants. Systems designed in such a manner are often called shared (in contrast to dedicated or isolated). A tenant is a group of users who share common access with specific privileges to the software instance. With a multi-tenant architecture, a software application is designed to provide every tenant with a dedicated share of the instance - including its data, configuration, user management, tenant individual functionality and non-functional properties. Multi-tenancy contrasts with multi-instance architectures, where separate software instances operate on behalf of different tenants." - Wikipedia

Software as a Service

Mike's Notes

My exploration of Software as a Service (SaaS)

Resources

References

  • Reference

Repository

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

Last Updated

11/05/2025

Software as a Service

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

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

"Software as a service (SaaS /sæs/ ) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software", and was formerly referred to as "software plus services" by Microsoft. SaaS is typically accessed by users using a thin client, e.g. via a web browser. SaaS has become a common delivery model for many business applications, including office softwaremessaging software, payroll processing software, DBMS software, management software, CAD software, development software, gamificationvirtualization,  accountingcollaborationcustomer relationship management (CRM), Management Information Systems (MIS), enterprise resource planning (ERP), invoicing, human resource management (HRM), talent acquisitionlearning management systemscontent management (CM), Geographic Information Systems (GIS), and service desk management SaaS has been incorporated into the strategy of nearly all leading enterprise software companies." - Wikipedia

i18n - Internationalisation and Localisation

Mike's Notes

This project is for people who speak different languages and write in various directions (left-right, right-left, vertical).

It is possible, however, how well that works with AJAX has yet to be discovered.

Resources

  • Resource

References

  • Reference

Repository

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

Last Updated

11/04/2025

i18n - Internationalisation and Localisation

By: Mike Peters
On a Sandy Beach: 04/04/2019

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

Useful information:

InfoQ Weekly Architects Newsletter

Mike's Notes

InfoQ is among the best.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > InfoQ
  • Home > Handbook > 

Last Updated

11/05/2025

InfoQ Weekly Architects Newsletter

By: Mike Peters
On a Sandy Beach: 03/04/2019

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

InfoQ must be the best website I have come across in many years for broad vendor and language-neutral coverage on;

  • Software development
  • News
  • Videos
  • Books
  • Articles
  • Videos with transcripts
  • Podcasts
  • Free guides (PDF)
There is also great conference coverage of QCon Conferences, with all speakers' presentations available. The presentations are very deep.

It is well worth subscribing to. I get a weekly Architects Newsletter, which is a concise digest of the topics I'm following, and there is no hard sell.

Every week, I get links to download free O'Reilly Media software books.

This resource has probably been the key ingredient in expanding my horizons about what is possible to build today over the last six months.

Quanta Magazine - Cryptography That Can’t Be Hacked

Mike's Notes

  • Follow up on Project Everest (Microsoft Research) 
  • Look for ongoing test results

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Quanta
  • Home > Handbook > 

Last Updated

11/05/2025

Cryptography That Can’t Be Hacked

By: Kevin Harnett
Quanta Magazine: 02/04/2019

Researchers have just released hacker-proof cryptographic code - programs with the same level of invincibility as a mathematical proof.

Programmers are human, but mathematics is immortal. By making programming more mathematical, a community of computer scientists is hoping to eliminate the coding bugs that can open doors to hackers, spill digital secrets and generally plague modern society.

Now a set of computer scientists has taken a major step toward this goal with the release today of EverCrypt, a set of digital cryptography tools. The researchers were able to prove — in the sense that you can prove the Pythagorean theorem - that their approach to online security is completely invulnerable to the main types of hacking attacks that have felled other programs in the past. “When we say proof, we mean we prove that our code can’t suffer these kinds of attacks,” said Karthik Bhargavan, a computer scientist at Inria in Paris who worked on EverCrypt.

EverCrypt was not written the way most code is written. Ordinarily, a team of programmers creates software that they hope will satisfy certain objectives. Once they finish, they test the code. If it accomplishes the objectives without showing any unwanted behavior, the programmers conclude that the software does what it’s supposed to do.

Yet coding errors often manifest only in extreme “corner cases” - a perfect storm of unlikely events that reveals a critical vulnerability. Many of the most damaging hacking attacks in recent years have exploited just such corner cases.

“It’s some cascading failure, and it’s hard to systematically find because [the events leading to it] are individually all very unlikely,” said Bryan Parno, a computer scientist at Carnegie Mellon University who worked on EverCrypt.

By contrast, Parno and his colleagues have specified exactly what their code is supposed to do and then proved it does that and only that, ruling out the possibility that the code could deviate in unexpected ways under unusual circumstances. The general strategy is called “formal verification.”

“You can reduce the question of how code behaves into a mathematical formula, and then you can check if the formula holds. If it does, you know your code has that property,” said Parno.

PHOTO: Karthik Bhargavan
Karthik Bhargavan, a computer scientist at Inria in Paris, has collaborated on an approach to online security that is provably invulnerable to most types of hacking attacks.


Courtesy of Karthik Bhargavan

Because it’s practically impossible to formally specify the function of complex software such as a web browser, researchers have instead focused on programs that are both critical and amenable to being defined mathematically. EverCrypt is a library of software that handles cryptography, or the encoding and decoding of private information. These cryptographic libraries are innately mathematical. They involve arithmetic with prime numbers and operations on canonical geometric objects like elliptic curves. Defining what cryptographic libraries do in formal terms is not a stretch.

Work on EverCrypt began in 2016 as a part of Project Everest, an initiative led by Microsoft Research. At the time — and still today — cryptographic libraries were a weak point in many software applications. They were slow to run, which dragged down the overall performance of the applications they were a part of, and full of bugs. “I think there’s been some realization from app developers that there’s a disaster waiting to happen,” said Jonathan Protzenko, a computer scientist at Microsoft Research who worked on EverCrypt. “The software world is ripe for something new that does provide [EverCrypt’s] guarantees.”

The main challenge to creating EverCrypt was developing a single programming platform that could express all the different attributes the researchers wanted in a verified cryptographic library. The platform needed the capacity of a traditional software language like C++ and the logical syntax and structure of proof-assistant programs like Isabelle and Coq, which mathematicians have been using for years. No such all-in-one platform existed when the researchers started work on EverCrypt, so they developed one — a programming language called F*.  It put the math and the software on equal footing.

“We unified these things into a single coherent framework so that the distinction between writing programs and doing proofs is really reduced,” said Bhargavan. “You can write software as if you were a software developer, but at same time you can write a proof as if you were a theoretician.”

PHOTO: Bryan Parno
Bryan Parno, a computer scientist at Carnegie Mellon University, uses techniques from mathematics to prove that programs don’t have bugs.

Lauren Demby / Lauren Renee Photography








Their new cryptographic library provides a number of security guarantees. The researchers proved that EverCrypt is free of coding errors, like buffer overruns, that can enable hacking attacks — in effect, provably ruling out susceptibility to all possible corner cases. They also proved that EverCrypt gets the cryptographic math right every time — it never performs the wrong computation.

But the most striking guarantee EverCrypt makes has to do with an entirely different class of security weaknesses. These occur when a bad actor infers the contents of an encrypted message just by observing how a program operates.

For example, an observer might know that an encryption algorithm runs just a little faster when it adds “0” to a value and just a little slower when it adds “1” to a value. By measuring the amount of time an algorithm takes to encrypt a message, an observer could start to figure out whether the binary representation of a message has more 0s or 1s in it — and eventually infer the complete message. “Somewhere deep in your algorithm or the way you implement your algorithm you are leaking information, which can completely defeat the purpose of the entire encryption,” said Bhargavan. Such “side-channel attacks” were behind several of the most notorious hacking attacks in recent years, including the Lucky Thirteen attack. The researchers proved that EverCrypt never leaks information in ways that can be exploited by these types of timing attacks.

Yet while EverCrypt is provably immune to many types of attacks, it does not herald an era of perfectly secure software. Protzenko noted there will always be attacks that no one has thought of before. EverCrypt can’t be proven secure against those, if only for the simple reason that no one knows what they will be.

In addition, even a verified cryptographic library has to work in concert with a host of other software, like an operating system and many common desktop applications, that are typically unverified, and likely will be for the foreseeable future. “We’re not targeting something as complex as a word processor or a Skype client,” said Protzenko, because it’s not obvious how you’d capture in a formal language what they’re supposed to do. “It’s hard to think about the intended behavior of those things.”

Because vulnerabilities in adjacent, unverified programs can undermine a cryptographic library, Project Everest aims to surround EverCrypt with as much verified software as it can. The overarching goal of the initiative is to complete a fully verified implementation of Hypertext Transfer Protocol Secure (HTTPS), the software that secures most web communication. This will involve half a dozen individual software elements like EverCrypt, each of which is formally verified to work on its own and all of which are formally verified to work together.

“Project Everest is trying to build out a larger stack of software that’s all been verified and verified to work together. Over time we’re hoping the frontier [of verified software] will continue to grow,” said Parno."

Ontology

Mike's Notes

My first steps into the world of ontologies.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 
  • Home > pipiWiki > Engines > Ontology Engine

Last Updated

11/05/2025

Ontology

By: Mike Peters
On a Sandy Beach: 01/04/2019

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

"In computer science and information science, an ontology encompasses a representation, formal naming, and definition of the categoriesproperties, and relations between the conceptsdata, and entities that substantiate one, many, or all domains.

Every field creates ontologies to limit complexity and organize information into data and knowledge. As new ontologies are made, their use hopefully improves problem solving within that domain. Translating research papers within every field is a problem made easier when experts from different countries maintain a controlled vocabulary of jargon between each of their languages.[1] 

Since Google started an initiative called Knowledge Graph, a substantial amount of research has gone on using the phrase knowledge graph as a generalized term. Although there is no clear definition for the term knowledge graph, it is sometimes used as synonym for ontology.[2] One common interpretation is that a knowledge graph represents a collection of interlinked descriptions of entities – real-world objects, events, situations or abstract concepts.[3] Unlike ontologies, knowledge graphs, such as Google's Knowledge Graph, often contain large volumes of factual information with less formal semantics. In some contexts, the term knowledge graph is used to refer to any knowledge base that is represented as a graph." - Wikipedia