10 Comments
Apr 9Liked by Rohit Krishnan

ummm... it's 2024, it's "person hours" (or "work hours" or "staff hours"). It's hard enough to be a woman in CS; let's not make it any harder, please! :-)

Expand full comment
Apr 10Liked by Rohit Krishnan

Brilliant article as always! I don't know why but the theme I see resonating in your article is "maintenance" and your line of thought seems at least partially parallel to Maintenance (in progress) book by Stewart Brand.

Expand full comment

This is a really good article, probably your best one to date for me! Well done

Expand full comment

It took hundreds of years of trial and error (the step pyramid, for example) before pyramids were perfected. The form was then abandoned as more trouble than it was worth. In a few hundred years, software will have improved enormously, too. I hope.

Expand full comment
Apr 12Liked by Rohit Krishnan

As I was reading this I got to thinking about what I want from my personal AI assistant. First of all, I want it to keep my software in order. I hesitate to say that I want it to connect it all together in a seamless web because, well...Of course that's what I want. But I have my doubts about the "seamless" part. I think the nature of the beast is such that I might the AI might be able to connect it all, but "seamless," that's something else. So, it's got everything connected and does updates and adjustments and every once in awhile hits a snag an asks me what it should do. I may or may not have a useful answer, but I can poke around and perhaps the two of us will come up with something.

Generalizing, isn't that more or less what we want of all whole bloody mess of software? Can the right collection of AIs do something about all that legacy COBOL code that's still all over the place? [A Google search on "legacy COBOL" got 700K results.] What about legacy FORTRAN [750K hits]?

Once we've got all that under control, them maybe we can worry about recursive self-improving AIs that solve everyone's problems everywhere and then take over the world.

Expand full comment

> Here we can look at other such nebulous structures that we do build, like cultures or organisations. Building them is an ongoing process that can span generations. It involves not only the initial establishment but continuous investment in maintenance and growth.

> Empires, cultures, cities. They're similar. They’re path dependent, built on top of what came before, constantly evolving. And they require incredible effort to build and sustain.

It's a bad situation: we build our reality only on crap underlying infrastructure. But why? It isn't necessary, at least not as necessary as we think and behave, and yet we do almost nothing else.

Never build a business on someone else's platform, never build a revolution on someone else's reality.

> Code though, code won’t stand the test of time. Nobody will be praising the beauty of the code that sent the first man to walk on the moon, or the code that enabled a 100 billion messages to be sent between all of us, daily. Once writ down and made concrete it becomes invisible. We use it like disposable bricks that make up an edifice.

Basically true, currently. However, once again there's a trick: we know (at least sometimes, from an angle) that the future we talk about isn't the actual future, but rather a very persuasive simulation of it! Some subset of people can realize this, sometimes (it depends on the topic), I wonder if a subset of those people could also realize the same is true of the present. Maybe if code could be written to pull off the feat of threading this needle, it would be remembered?

Expand full comment