Week 24, 2024 - AI coding, Search and Creativity
As some of you are probably aware, we had the European Parlament and local elections in Hungary. As we discussed on Monday in our podcast with Jeremy, the Budapest mayoral election was a crazy race. At some point during the vote count the difference between the leading candidates was only 19 votes, less than 0.02%! Voting is like buying a lottery ticket: the odds of your single vote making a difference are tiny, so mathematically it’s not a good investment of your time or money. This was a good reminder that this chance is small, but not zero. I’m sure some bang their head against the wall now knowing they could’ve changed the results of an election, but were too lazy to go voting.
📋 What I learned this week
I made an experiment: can AI code the email parser I wrote about last week? Meaning that I will only interact with ChatGPT, copy the code to Google Apps Script, and not modify anything myself there. The task was to search for emails with a particular subject coming from a specific sender, find some information in the mail, add it to a spreadsheet, and then mark the message as read so it’s not processed again. Finally, set up the whole thing to run regularly.
Well, it worked better than I thought! In an hour or so of back-and-forth, it solved the problem completely. However, I don’t think someone without any developer background could’ve done the same – and definitely not in the same time. For example, ChatGPT can easily get lost in a rabbit hole: While the email is in HTML, as usual, it’s not exactly valid XML. Still, ChatGPT kept on trying to use different XML parser libraries. When those complained about non-valid input, it tried another, then started to create more and more regular expressions to “fix” the malformed document. I needed to insist on finding a different solution, to drop the extra libraries, and simply parse the few strings I needed with basic regular expressions.
A similar issue was a misunderstanding of one of my prompts. I wanted it to merge similar rows, and it tried to merge columns instead. I needed to check the code to see what was going on exactly. I don’t think I could’ve figured the problem out if I hadn’t understood the script itself.
Most importantly, to be effective, you need to have a good idea of
- what you’re trying to do is doable, and
- how you’re planning to do it.
ChatGPT takes all the prompts literally, never challenging what I’m asking it to do, never simplifying, or suggesting better approaches. It will happily follow me down a path of a series of bad ideas. It seems that you need to be a software architect to code with ChatGPT. Duh!
These issues aside, it was an interesting experience. On the surface, it resembles pair programming, because the entire process is very interactive. However, in true collaboration, equal partners are challenging and validating each other’s ideas. Maybe it’s the fault of my prompting skills, but what I experienced was more like an obedient servant with huge lexical knowledge but not much experience, doing what they can to please me.
So, I don’t think AI will “take away developer jobs” soon. However, it will empower adjacent functions (product, support, sales, etc.), and result in more people “coding” than ever.
I don’t think that’s a bad thing.
🎯 What I want to try next week
Writing the 4th part of the Get Hired as an EM series about Interviewing takes longer than I thought, but I received great feedback on an early draft, and want to incorporate it into the final version. Should be live sometime next week.
Unexpected opportunities to learn about hardware coming in: the screen of my Apple Watch fell off. It’s a Series 6, and I have no reason to upgrade. Well, I had no reason until Wednesday, when the screen fell off. After careful inspection and persistent research, I am confident it’s not a battery issue, but just the glue being dried out. This is a great opportunity for what seems like an easy fix, so I ordered a replacement adhesive for only 2 euros. Wish me and my sausage fingers luck.
🤔 Articles that made me think
Why Google is Shit and What’s the Future of Search?
I was catching up with my podcasts and heard this one discussing Why Google is shit now. There was a statement I loved about the SEO-fueled, AI-powered arms race towards the top of search results pages, and Google’s struggle to make you click on the content that’s easier to monetize: Today, robots are writing for robots, so humans end up searching on alternatives.
But where do those humans go to search?
Two interesting trends:
- Kagi, a company that looks at search as a service itself, and not a means to push traffic to other services. They promise to penalize made-for-google pages, and sites full of ads, and in general, try to elevate the best results, all with a strong privacy focus. In return, they ask for $10/month. While I’m not a user, during the trial, I found their results OK. I just can’t swallow the fact that I should pay for search yet. This is a good article about Kagi if you’re curious.
- However weird it might sound, it seems that new generations search on TikTok. It makes sense I guess, if that’s what you’re using all day anyway, but it’s hard for me to imagine that I’d trust a 15-second video with any kind of advice. For what it’s worth, I asked my 13-year-old daughter, and she was equally puzzled.
💡 Something cool: How to Invoke Creativity
Continuing the trend from last week, another old video recently resurfaced. This time it's one of the geniuses of Monty Python: John Cleese, on Creativity. In roughly half an hour, I learned about open and closed states of mind, how both are necessary to be effective, but how radically different they are, making it hard to switch from one to another; and what the key conditions are to creativity. There’s an interesting engineering parallel: most of what he’s describing is what makes hackathons a great catalyst for invention: dedicated time and space, to experiment together playfully, in a safe space. Also, a lot of lightbulb jokes and an ironic advice at the end about creating an environment that crushes creativity.
That’s it for today, have a creative weekend,
Péter