March 24, 2020 Architecture Software 3 min

Reading Time: 3 minutes When an application comprises a handful of large components only, it's completely acceptable to give a dedicated virtual machine (VM) to each component and isolate their environments by giving each their own operating system instance.

The case for microservices

March 24, 2020 Architecture Software 2 min

Reading Time: 2 minutes Monolithic applications consist of components that are all tightly coupled together and have to be developed, deployed and managed as one entity. Running a monolith typically requires a small number of powerful servers that can provide enough resources for running the application.

Comparing algorithms

March 24, 2020 Software 3 min

Reading Time: 3 minutes Algorithms are instructions on how to perform a task. Not all algorithms are created equal. Some are fast, some are excruciatingly slow. Most algorithms are affected by the size of the input (typically denoted by n). The first step to improve code performance is to measure it.

On Chinese state capitalism

March 24, 2020 Scribbles 3 min

Reading Time: 3 minutes One thing you learn from spending time studying China is that the Chinese state has an asymmetric advantage in much better understanding the US than the US understands China and being very good at deliberately structuring their systems and policies in a way that consistently exploits the weaknesses in how Western liberal democracies are organised.


March 24, 2020 Apple Software 2 min

Reading Time: 2 minutes A window is an instance of the UIWindow class and it is the topmost element of any application UI's hierarchy. It doesn't draw any visual object and can be considered as a blank container for the UI elements called views. An application must have at least one window that normally fills the entire screen.

Interbank Payments

March 24, 2020 Money Payments 3 min

Reading Time: 3 minutes How do banks pay each other? When banks want to transfer money to each other, perhaps upon instruction from a customer, they don’t put bundles of banknotes in a van and drive it off to the recipient. They pay each other digitally. How does this work?

Settlement & Clearing Systems in the UK

March 24, 2020 Money Payments < 1 min

Reading Time: < 1 minute Certificate-less Registry for Electronic Share Transfer (CREST) is the United Kingdom’s securities settlement system for the holding and transfer of securities. An embedded payment system supports a delivery-versus-payment (DVP) settlement service for transactions in UK, Irish, Manx and Channel Islands securities. CREST also has links to settlement systems outside the United Kingdom to allow transactions ...

Payment Systems in the UK

March 24, 2020 Money Payments < 1 min

Reading Time: < 1 minute There are four main interbank payment systems in the UK: CHAPS, BACS, Faster Payments and C&CC. These were previously operated under the umbrella of the Association for Payment Clearing Services (APACS). Now run as independent companies.

Rust: Variables and mutability

March 24, 2020 Rust Software < 1 min

Reading Time: < 1 minute By default, variables in Rust are immutable. When a variable is immutable, once a value is bound to a name, you can’t change that value. These checks are made at compile-time. Variables can be made mutable by adding mut in front of the variable name. Difference between variables and constants Constants are declared using the ...