Fragments
Timeline of thoughts…
- 08 June 2025, 15:01 (IST) Substrate ambiguityView Note
I’ve been thinking a lot about ambiguity and was interested to find the term “substrate ambiguity” in the context of biological systems.
A substrate is the surface with which an enzyme interacts. Enzymes typically interact with a specific substrate.
The “lock and key” model of enzyme-substrate interactions proposes that the active site of an enzyme conforms to the shape of the substrate perfectly.
Substrate ambiguity (or promiscuity) refers to the ability of an enzyme to interact with multiple substrates.
In the abstract, ambiguity is essentially a one-to-many relationship, for example:
The potential interaction between an ambiguous substrate and multiple enzymes.
The interpretative mapping between a polysemous phrase and multiple meanings.
The user pathways from a software interface and multiple functionalities.
Ambiguity is usually considered a flaw:
It can mean a design is underspecified.
It can cause misunderstandings.
It can be genuinely dangerous.
Sometimes, ambiguity can be useful:
In art, it can be interesting.
In science, it provokes hypotheses.
In games, it prompts discovery.
Ambiguity in biological systems also applies to chaperones, molecules that assist the folding of proteins.
Chaperones that can assist many proteins in this way are “ambiguous chaperones”.
More commonly, they are referred to as “promiscuous chaperones”, which is my personal candidate for the funniest scientific term.
- 06 May 2025, 16:31 (IST) Ideal documentation readersView Note
I often hear advice about writing documentation that assumes an ideal reader. The kind of reader who when they see an estimated reading time of 45 minutes, cancels their dinner plans, makes a large pot of coffee and commits to an intense period of concentration.
It’s reasonable to expect when writing a novel, that the interested reader will try to devote sustained focus to the book. If they like it enough, they might read it all at once, even if it takes several hours. We are certainly not expected to account for the reader who likes to glance between two or more books at the same time, or who actively dislikes books and only reads them out of professional necessity.
Yet that expectation is not necessarily reasonable when applied to software documentation, where the reader is – at a minimum – context-switching between the documentation website and the software being documented. If your documentation links to external documentation, they may be even be switching between documentation sets.
Something as mundane as being able to find where you were before you glanced away from the documentation and towards your second monitor becomes far more important in these non-ideal circumstances.
For example, it may be easier to return to step 7 than the seventh unnumbered bullet or the sentence about that last action you tried… wherever it is.
- 22 March 2025, 12:12 (GMT) Appropriate exactnessView Note
Aristotle often gets caricatured as being arrogant or grandiose: “Some ancient philosophers thought that they could understand everything. Today, we’re more sophisticated: we specialise.”.
While Aristotle’s project was ambitious, spanning — at a minimum — logic, physics, metaphysics, epistemology, ethics, rhetoric, biology, and politics, I always read him as approaching his work in a humble and pragmatic manner.
Near the start of his Ethics, he says this of politics:
Our account of this science will be adequate if it achieves such clarity as the subject-matter allows; for the same degree of precision is not to be expected in all discussions, any more than in all the products of handicraft.
While he may have been ambitious in his pursuit of both mathematics and politics, he was humble and realistic about how exact his politics could be.
Like a lot of Aristotle’s wisdom, this might come across as plain old “common sense”.
Yet we commonly seek to be “scientific” in business or “mathematical” in design. The accusation that something is not sufficiently quantifiable is often fatal, leading it to be dismissed as useless or destroyed in some doomed effort at operationalisation.
We curtail our ambition by specialising and then seek to be inappropriately exact in our speciality. Aristotle’s deep awareness of many fields may have helped mitigate against this tendency.
A lot of Aristotle’s normative guidance is of the form:
do x to the right degree, at the right moment, for the right reasons.
How unsatisfying…
How true.
- 26 February 2025, 01:43 (GMT) MereotopologyView Note
Towards the end of my academic career, I became really interested in mereotopology.
This is a relatively obscure field at the interface of logic, ontology, mathematics and computer science.
The name comes from the Greek meros (parts) and topos (place). In essence, systems are defined in terms of which things are parts of other things and how things are connected.
Usually, either parthood or connection is taken as primitive, and is then used to define the other.
I found the topic fascinating as a highly general way of thinking; however, as a discipline, it is forbiddingly dry and technical. It would be nice to have some efforts at popularisation, like we have with category theory.
I worked for a long time on a mereotopology paper for a top philosophy journal. In it, I attempted to bridge some ideas in mereotopology, food science and programming. It was ultimately rejected during review. One of the reviewers compared my efforts to that of a famous mathematician before launching devastating critiques at my logical formalisms!
It was quite an experience.
- 25 February 2025, 22:32 (GMT) Default env vars in Read the DocsView Note
Read the Docs (RTD) defines some default environmental variables. These can be grabbed when building a static site.
To get the version, add this to the
conf.py
of a Sphinx project:import os version = os.getenv("READTHEDOCS_VERSION") html_context = { "version": version, }
This can then be injected into a HTML template:
<p>Docs for release: {{ version }}.</p>
Notes generated using Daudix's nanolog