Subscribe on LinkedIn
Enterprise technology and the mysteries of the universe
David Knott David Knott

Enterprise technology and the mysteries of the universe

In 1933 our understanding of the universe changed. Fritz Zwicky, a Swiss Astronomer working in California, observed that the Coma cluster of galaxies was rotating so fast that there was simply not enough mass to hold it together. The cluster shouldn’t exist. He termed the phrase ‘dunkle Materie’, or ‘dark matter’, to give a label to the missing mass that must be holding it together through the force of gravity.

It took decades for the concept of dark matter to be accepted more widely, but it is now a part of our standard description of the universe. We still don’t know what dark matter is, but believe that it outweighs normal matter by a factor of more than five to one.

That’s an astonishing thought. Everything that we can see - the Earth, the Sun, the stars, ourselves - makes up only a fraction of the matter that exists in the Universe.

Read More
Do you wish to proceed? y/n
David Knott David Knott

Do you wish to proceed? y/n

If you play video games, particularly adventures that take many hours to complete, you may be familiar with an experience you sometimes get just before the end. The list of sidequests is dwindling and you have run all the errands for your party members. You suspect that you are nearing the conclusion of the story, when an option pops up, something like this:

Do you want to proceed? (You will not be able to return past this point.)

If you’re anything like me, when you see this option for the first time, you say no, you save your game, you check your inventory, you upgrade everything that you can upgrade, and you save your game again for good measure. And then you say yes.

If you don’t play video games, you can get the same feeling by administering a computer, even if it’s just your own laptop. Sooner or later you will get prompted to apply an upgrade, accompanied by a message something like this:

Do you wish to proceed? y/n

Read More
From the ZX81 to ChatGPT: code matters
David Knott David Knott

From the ZX81 to ChatGPT: code matters

The Sinclair ZX81 turned 42 recently (it was launched on the 5th March 1981). 42 seems an appropriate age to celebrate the existence of the machine which gave many people in the UK (including me) their first proper experience of computing. It may not have been the answer to Life, the Universe and Everything, but it was an answer to the question of how to make computing accessible to a lot more people.

For anyone who is not familiar with the ZX81, it was a small, cheap home computer invented by Sir Clive Sinclair, the founder of Sinclair Research. It had one kilobyte of memory, expandable to 16 KB through the famously temperamental and wobbly RAM pack, and relied on cassette tapes to store data.

Despite its age, and the massive disparities in power, the ZX81 has some notable parallels with technology that we use today. It was a flat, black piece of plastic, much like the flat black devices that occupy our pockets and backpacks – although you had to plug it into a TV to get it to display anything, and nobody who spent any time typing on its keyboard would describe it as touch ‘sensitive’ with a straight face. It was also a personal device: unlike the shared computers at schools, universities and businesses, this machine was typically the cherished possession of one person. And, despite this personal nature, the ZX81 and home computers like it created a crude form of social network, made up of programs typed in from magazines, games on tapes, and heated playground discussions about which machine was best.

Read More
Is there a human shaped hole in your technology plans?
David Knott David Knott

Is there a human shaped hole in your technology plans?

If you’ve been watching The Last of Us then one of the things you will have noticed (alongside the great acting and story) is the eerie feeling of a human world with no humans: an empty world except for nature, a few survivors and, of course, the infected. I sometimes get that same eerie feeling when looking at plans for technology change: where are all the humans?

This is strange, because humans have been at the heart of new movements in the ways we build and run technology for decades.

The Agile Manifesto was published in 2001. Almost all of its 73 words (including the title) concern people, behaviour and communication rather than technology and tools. (Indeed, people and behaviour over technology and tools could almost be a line from the Agile Manifesto.)

The first DevOps days conference was held in 2009. You can still go and read the program (although if you try to follow the links to other sites in the reactions section, you get a great demonstration of link rot). While a lot of the agenda was clearly quite technical, much of it was focused on people, behaviours and communication. Do user stories really help express non-functional requirements? What does automation mean for sysadmins and development teams? How can practices followed by software developers be applied to operations?

Read More
Technology architects: be wary of spaghetti and sceptical of lasagne
David Knott David Knott

Technology architects: be wary of spaghetti and sceptical of lasagne

There’s an old joke that technology architects spend their time turning spaghetti into lasagne. Whenever we inherit an existing architecture, we map the systems, draw the interactions between them, and immediately declare it to be a big ball of spaghetti: a chaotic mess of connections which it is impossible to make sense of. We then draw a lasagne diagram, in which everything is neatly organised into layers. Here are our front-ends, here are our back-ends, here is our orchestration layer, and so on. Now, can we please have lots of money to convert one type of pasta dish into the other?

I must admit that I have built many business cases, presentations and documents which promise to turn spaghetti into lasagne. Sometimes, I have even used the tactic of representing the current state using a physical diagram of interfaces and connections: a picture that, in any architecture of even moderate complexity, rapidly becomes illegible. Why would anybody choose to stay in that start, when we could build the neatly layered target state shown on the next slide?

Read More
Who said that adopting the cloud was going to be fair?
David Knott David Knott

Who said that adopting the cloud was going to be fair?

It’s not fair!

The cry of the outraged sibling through the ages. Why is my older sibling allowed to go places that I’m not allowed to go? Why is my younger sibling tolerated and indulged, when I would be punished for the same behaviour?

I suspect that many enterprise technologists feel the same way about the treatment of public cloud in their organisations, compared to the treatment of their on-premise infrastructure, even though they are too professional to wail, It’s not fair!

Why is it, they ask, that they are made to jump through multiple hoops to ensure that their encryption standards and approaches to key management are watertight on cloud, while on-premise, most of their data is unencrypted? Why is it, they go on to ask, that their risk teams fret about the distance between zones and regions, when their on-premise infrastructure is crammed into twin data centres which are overdue for refurbishment? Why is it, they lament (they’re on a roll now), that everything they do must be automated and instrumented, while on-premise infrastructure is still maintained through manual processes that take weeks to complete - if they are ever completed at all?

Read More
Are you breaking up monoliths or creating rubble piles?
David Knott David Knott

Are you breaking up monoliths or creating rubble piles?

This week I learnt (via the wonderful Skeptics' Guide to the Universe) that asteroids in the solar system come in two varieties: monoliths and rubble piles. These are exactly what they sound like: monoliths are big, singular rocks, while rubble piles are, well, piles of rubble, held together by gravity.

Rubble piles have a couple of interesting properties. First, the oldest asteroids are rubble piles. This makes sense: if a monolith experiences a collision and gets broken up, it may become a rubble pile. But there’s no way for a rock pile to go back to being a monolith. Second, rubble piles are harder to move. If we detect a big monolith heading towards Earth, we may be able to change its trajectory with a single impact. But if we send something up to impact a rubble pile, it might just jiggle around and do nothing to stop it coming towards us.

Read More
On meeting the first robot of Spring
David Knott David Knott

On meeting the first robot of Spring

When do we get signals of the future?

I got such a signal this week. I was travelling for business and, as I walked through the airport terminal, I met a robot. Well, perhaps met is too strong a word. I was looking for the check-in desk and it was cleaning the floor. We weren’t introduced and we didn’t talk to each other. But it was definitely a robot: it was about as high as my waist, it was moving around autonomously, and it had a complicated configuration of wheels and brushes at floor level. I know that vacuuming and cleaning robots have been around for some time, but those little hockey pucks somehow never quite felt worthy of the name robot: they didn’t have the heft and presence of the science fiction robots of my youth. This was a proper robot: big enough that it occupied the same space as humans. I hoped that its collision detection was working properly.

Read More
How do we get what we want from AI systems - and human systems?
David Knott David Knott

How do we get what we want from AI systems - and human systems?

I am sure that you have heard of the paperclip problem. Just in case you haven’t, it is the idea that, if you ask an AI system to make paperclips, then it may go on making paperclips, until the whole world is nothing but paperclips. There’s even a fun game based on this concept.

The paperclip problem illustrates the problem of setting goals for AI systems which represent what we truly want. Unlike us, AI systems do not come ready equipped with goals and desires: we have to provide them, in the form of what is often known as a reward function.

And crafting this function can be more difficult than it first appears. When I wrote some recent articles on generative AI, it was suggested that I read the book Human Compatible by Stuart Russell. It’s a great book, and triggered lots of other reading: it took me down a rabbit hole of articles and papers about optimisation, particularly a phenomenon known as specification gaming.

Read More
The technology learning curve has never been steeper, or more important to climb
David Knott David Knott

The technology learning curve has never been steeper, or more important to climb

The first time I tried to learn about computing was difficult, because I didn’t actually have access to a computer. I just knew that this was a field I was interested in. My school had a Commodore PET which I wasn’t allowed to touch, but there was something eerie and fascinating about the glowing letters on its screen. I wanted to be able to make those letters do what I wanted them to do.

So, I got a book from the library and tried to read it. Fortunately, it was a book on BASIC, which most microcomputers ran at that time. I wasn’t able to run programs, but I was able to learn the commands and the syntax, and to write some simple programs on paper. When I finally got my hands on my own computer, it helped me make a quick start.

And, years later, when I got my first paid programming job, writing COBOL on an ICL mainframe, I was able to transfer many of the skills I had learnt on my home computer into the work environment. Even though I learnt quickly that the GOTO I had relied on for many of my amateur programs was frowned upon, most of the other logic constructs worked and were useful. And that has been my experience throughout my programming life: these days I mostly write Python, but many of the basic constructs in Python do the same job as, well, BASIC.

Read More
In the wonderland of new technology, let’s be curiouser and curiouser
David Knott David Knott

In the wonderland of new technology, let’s be curiouser and curiouser

What can Aristotle, a philosopher from the 4th century BCE, teach us about technology that was released in 2022?

Well, he wrote about techne, practical skill, the term that gives technology its name. However, I think that we can learn more today from what he wrote about arete, or virtue.

Aristotle’s conception of virtue experienced a renaissance in the 20th and 21st centuries, and many better people than me have written many words on the topic. For our purposes, though, we can understand virtue simply as a habit of thought and behaviour of which we approve, which forms part of a flourishing life, and which is self-reinforcing: the practice of virtue makes us virtuous. Virtues include attributes such as courage, honesty and generosity, and are opposed by vices such as cowardice, dishonesty and miserliness. Aristotle also suggested that vices are extremes, and that virtues are the mean that navigates between them. For example, generosity is the mean between being a miser and being a spendthrift.

Read More
Generative AI and the duty to understand
learning about GenAI David Knott learning about GenAI David Knott

Generative AI and the duty to understand

Generative AI worries me.

This is an unusual position for someone like me, who has worked and played with technology for most of their life. It’s impossible not to be intrigued and excited by the sudden appearance of software which is capable of generating convincing text, or creating images far better than I could ever hope to produce..

But, for the last few weeks, as I have been attempting to learn in public about generative AI, I have grown increasingly concerned, not just about its ethical implications, but about the ability of the companies that will put generative AI to work to grasp and respond to those ethical implications.

In those weeks, I have learnt enough to have a rough mental model of how generative AI, particularly Large Language Models (LLMs) work: put simply, they are large scale statistical models, trained on huge quantities of data, implemented through multi layered neural network architectures, which predict an acceptable visual or linguistic response to a text input (a prompt).

Read More