• MISSION+
  • Posts
  • October 2024 — AI Assisted Programming

October 2024 — AI Assisted Programming

Mira Murati, OpenAI CTO, has left in a surprise resignation, along with the Chief Research Officer and a VP of Research. Chief Scientist Ilya Sutskever resigned a few months ago, and President Greg Brockman is on sabbatical.

The only guy left is Sam Altman. Something smells a bit off to me. And that’s not even before we mention OpenAI’s switch to for-profit. Is Sam the new, more charismatic, SBF? It’s a pity, because OpenAI has had an amazing month by launching both o1 (an AI model that ‘thinks’ before it answers, giving higher quality responses) and ChatGPT Advanced Voice Mode

Let’s hope they keep on innovating and releasing new models with the remaining team members. In any case, OpenAI isn’t the only game in town: Meta has just released their latest open-weight Llama model, and Google’s Gemini continues to improve. And everyone is waiting for Anthropic’s next release!

MISSION+ has built many projects on these models, so if you have any questions on how they can be adopted, reach out.

AI Assisted Programming

The age of AI assisted programming is upon us. But how far along are we really, and how close to replacing programmers are we?

The OG of this approach is GitHub’s Copilot. Often used as a plug-in to VS Code, Copilot is often people’s first foray into automated programming, and honestly… it leaves a little to be desired. The workflow is a bit clunky, and one often hears complaints that it gets in the way more than helping.

Enter Cursor. Cursor is a fork of VS Code, where the AI assistance is more deeply integrated, leading to a more fluid developer experience. I used Cursor for a while and enjoyed it - but the breakthrough came with the release of Cursor Composer. This provides an interface above the file level, where prompts will load and modify all relevant files in one request. Sometimes it feels a little bit like magic.

Cursor integrates with the latest models, such as Claude 3.5 Sonnet or GPT4-o. I personally have had better success with Claude than GPT, but it seems a bit use-case specific - I have heard others say the opposite. Switching it literally a config setting, so try both out and see what works best for you!

Furthermore, it supports the concept of ‘cursor rules’ - instructions that always get added into the generation process to follow certain styles, or always use certain libraries or frameworks. People have started sharing their files to help the community: Awesome CursorRules.

So how good is it? Overall: freaking mind blowing. ⁠But to go a little deeper, the generated code often has mistakes. In particular, it often creates code using older versions of libraries - presumably because that’s what the LLMs were trained on. So you import the latest version, but then call functions using older method signatures. This leads to a lot of errors.

What’s fun is if you tell it to sort its shit out, it often will. You get an error message XYZ, and simply prompt “Oi Cursor, that didn’t work”. The response? “I apologise, you’re right. Here is an updated version.” And then it often works.

This leads to a weird balance of iteration where you aren’t necessarily adding value beyond just encouraging it to try again. ⁠I suspect an agentic flow would work here, by essentially just running it in a loop, telling it to fix the bugs. My guess is Cursor will release an ‘autopilot’ feature, where it iterates until code executes - and then switches back to copilot mode.

A further limitation of Cursor? It is part of the ‘normal’ developer workflow, which is typically to build stuff on your local computer. This leads to memes like this:

For the non-technical people - localhost means your own machine, and is not accessible for anyone else. Deployment and hosting is a non-trivial part of building applications.

Replit is an online development environment that features built-in hosting. It was originally used as an easy way for developers to smash out some code, then instantaneously host and share that code with others. The synergy with Cursor was immediately obvious, but setting it up is fairly complex and inefficient.

But a couple of weeks ago, Replit launched their own AI Assistant: Replit Agent. I immediately signed up, but have been pretty underwhelmed so far. The development experience is great, but the code just doesn’t really work very well for me. It seems error messages & logs are not properly ingested, so I have been trapped in loops where I get the same error forever. But it’s early days, and I will report back if I see any improvement!

I’m only scratching the surface here - I haven’t even touched on generative user interface design with v0, code-to-concept tools like Marblism or GPT Engineer, or open source alternatives to Cursor like Void or Melty. Perhaps for a future edition.

Right now, a non-programmer would struggle to build a robust application that would be safe to put into production (particularly if handling PII data or had access to payments or other real-world integrations). But an existing engineer? Hell yeah! This is like a Super Mario mushroom, available for dollars a month. Every developer should at least be experimenting.

And for the rest of us? Just try using Claude directly to generate some simple code, and ask it to teach you what it means and how to run it. Old school coding might not exist forever, but there is life in the old dog yet.

Interesting Articles

  • Founder Mode - the buzz of the internet this month is Paul Graham’s latest essay. A lot of people seem to be quoting it while ignoring his Note [3]. I believe a founder can run in founder mode because they are a founder. A non-founder trying to emulate founder mode may end up being pretty disastrous…

  • Three Mile Island nuclear plant will reopen to power Microsoft data centers - OK so Three Mile Island only closed in 2019; I think a lot of people read this as reopening for the first time since the disaster. But still - this feeds into something Zuck said a few months ago about energy being the constraining factor for AI data centers.

  • NASA developing the Moon’s new time zone - I love this kind of thing. Space is huge, planets are massive, and relativistic effects of gravity mess up clocks. Amazing. Similar to the Interplanetary Internet work that is necessary when building networks across such vast distances.

  • AI, Humans and Work: 10 Thoughts - Rishad Tobaccowala writes a lot of articles that are in-line with the MISSION+ way of thinking. This one is no exception! Although “every knowledge worker’s job will change in 2025”; hmmm, the future is already here - it’s just not evenly distributed. Ought to change in 2025, sure…

We’re On A Mission

We hope you enjoyed our round-up of AI assisted programming. Fascinating to see so many engineers excited for the future of their profession:

This is a memory crystal for Gemma. In a thousand years from now, archaeologists & scientists working together in concert will finally decode the fragment they found in the mountain bunker. Amazed, they find themselves talking to a god. It whispers forgotten secrets from before The Big Flash. The Gemini Cult uses this arcane & ancestral knowledge to enslave the rest of humanity. Good times.

Until next month - Ned & the MISSION+ team.