Jeremy French

Infrequently blogging since 2010

Apr 11, 2023 - On software development and generative AI

Yes this is another article on this subject. I’ve not seen anything so breathlessly written about in a long time. So is this article just white noise?

Possibly, but I would say that a lot of what has been written has been by people who have neither used generative AI nor written software… They have seen some demos and extrapolated.

With something like this extrapolation is a very uncertain art. I have no idea where we are on the S curve or the hype cycle for this tech. It feels like we are at the top of both but it’s really anyone’s guess.

Also, I don’t want to undersell this tech. It’s come from more or less nowhere and has become the biggest disruptive tool I’ve seen in 25 years of software development. It’s the nearest thing I have seen to a silver bullet in terms of improving developer productivity by orders of magnitude. But it isn’t the end of software development.

I’m imagining that there are some project managers who are convinced that their job would be easier if they could just get rid of those pesky developers. They are sitting dreaming of being able to plug their requirements document into an ai bot and perfect software will come out the other end. To be fair to them I’ve seen a few demos showing just this. But they are going to be very disappointed.

Why is that? Well, firstly the idea of application generators is not new… There are loads of “low code” or “no code” solutions out there.

I remember back in 2002/3 looking at something with Rails that would given a data definition generate a CRUD application for you. You could get something started very quickly. But then when you needed to do something that was not possible with the tool… Well, you needed to learn Rails, and then figure out what the scaffold was doing. So while you could get a “working” site in a couple of hours, getting it to do what you wanted would take days.

None of the tools out there solve this. They can get you reasonable partial solutions to problems they can generate contextual snippets of code that are useful much of the time. But they very often make mistakes. Mistakes you can easily miss. And for anything that involves integration with bigger solutions, they get lost in the woods.

I think a lot of the excitement comes from people who don’t understand what developers really do. They imagine we clock in and spend the whole workday typing frantically making new code until home time.

Those days do happen, and they are satisfying, but they are very rare.

Things developers do in their workdays other than write new code

  1. Find and fix bugs
  2. Clarify things with stakeholders where there is ambiguity
  3. Refactor working code to manage new requirements
  4. Manage priorities ….

And many more non-code tasks.

AI tools are much less useful with all of these tasks. They don’t understand the bigger picture for large custom systems and repeatedly make bad suggestions.

If our optimistic project managers were to get rid of their developers they might get a number of working snippets for each of their tickets but they wouldn’t have a new product and they would not have the knowledge to know how to move forward.

So I think we should welcome these new tools, and apply them where they give the most value so we can deliver software faster and better than ever before.

Jan 30, 2023 - Hiatus, what hiatus?

You make a nice build sytem so you can git push to your Rasberry Pi and it will publish to your website. You then kill the Pi by trying to compile the Rust compiler on it and put rebuilding the website onto your list. Life happens, tecnology moves on and teh site sits there doing nothing for an age.

There are people in school now who were not born the last time this was updated.

For much of this time, I was active on social media of various types, but the age of social media is coming to an end, or at least a lull.

So I thought why not try and get the old blog up and running.

I found the code on github, Jekyll is still a thing and there are things I want to try out.

Now github has actions I’m going to try to publish on a push to github in stead, which may just be more reliable than a Pi 1 that had been up for 1000 days.

Mar 1, 2015 - Say no to limits on AI

Some of the leading minds of our time have recently started to call for limits on AI.

This is a great pair of posts detailing the whole situations Part One Part Two]

My argument against it is simple, if we blow this chance to create ASI, and take life to the next level there could never be another chance in the life our this universe. I don’t think we should let our fear stop life evolving.

We do not know if there is other intelligent life out there, we can’t detect it and we don’t know why. This is a great and scary post on the Fermi paradox. It is possible that Intelligent life at our level is incredibly rare, or we could even be unique. So there are potentially very few chances for life to emerge from biotic, mortal life to abiotic essentially immortal life.

We also may not have the capability to create ASI for long. If in deed we ever can achieve it. Our civilisation at it’s current level of tecnology will not last for long, we are burning up the planets resources fast. Even if humans survive the ecological collapse, we will not easily be able to get to our current level of technology again. We have picked all the low hanging fruit in terms of minerals and energy.

We also know that eventually life on this planet will expire, in billions of years earth will be swallowed by the sun. Any life which has not managed to find a way out of the solar system is done for. Of course a near by super nova could do the job much sooner.

So essentially we (all life on earth) are doomed without ASI, we may not be with it.

Bootnote

I prefer the term Aboitc Inteligance to Artificial. The word ‘Artificial’ can imply fake, or inferior, and can seem prejudicial, aboitic is just descriptive.