jasonjei
Joined 16 years ago
Joined 16 years ago
The cool thing is that I was able to let an agent manage this while I did the human task of steering it to work. Some of this work is novel, yet much of this work includes well-understood software patterns, such as scatter-gather and so on.
I absolutely do not enjoy using JavaScript or TypeScript at all. So it was a huge relief when I was able to get AI to help with UI work on Next.js and React Native/Expo.
I've gotten it to help with a cross-cloud cross-region setup on Terraform with shared secrets on AWS and GCP with GHA workflows for sandbox, staging, and prod promotion deployments. And I have no background as a DevOps guy.
Again, it didn't propose the exact shape of my system design. But chatting with it really allowed me to form the shape. It really is a bicycle for your brain. It helped me look at the tradeoffs of different products (PubSub vs Cloud Tasks, or AWS equivalents).
It helped me with developing a scoring system (for example, I gather slot data for restaurants to see how scarce they are) to rank restaurants (higher score being harder to book) to determine signals of busyness. It also helped me build a backlog system to make snapshots of every restaurant's slot availability on 3 different providers (OpenTable, Tock, Resy).
Maybe I misspoke, I’m not saying the code it wrote is perfect. But the code produced by GPT-5.5 frontier model is easily miles better than a junior developer. But it is very competent. Perfectly competent was maybe more hyperbole, but I still drive the point.
I do write initial proof of concept crude prototypes (not commented, hardcoded variables, etc), and AI does the productionizing of them. It has really allowed me to command a team of agents instead of keeping track of a bunch of humans of varying work ethic, skill, and ability to maintain high code quality. And often AI is very good at maintaining patterns used in the code base or even keeping them to industry best practices.
When using AI you will no longer be writing so much in programming languages—English or whatever language you talk to the LLM will be the main language.
But the user experience is remarkably simple. Turn the knob left to start the flow of water, turn the other way to stop. Move the dial to steam/froth milk. Fantastic default water pressure and even better tasting coffee. It’s a machine that will last a decade if not longer.
I personally think the traditional *nix model has served us quite well, and elective sandboxing using containers (à la Docker and so on) is quite good. The Mac sandbox model is probably ok for most normal users, but for power users is infuriating at times. Multiple restarts of Mac and various processes (and when you realize not enough scopes have been granted, another subsequent restart). I think Mac forcing all users into its sandbox system has been one of my least favorite impacts since upgrading macOS, leading to the enshittification of macOS.
The craziest thing is background processes started by Terminal/iTerm (such as tmux) can inherit Terminal or iTerm’s elevated status even when Terminal or iTerm are no longer running, dead, or killed. So you’ll have a bunch of elevated processes without the elevated parent or grandparent process running—it makes me feel the whole permissions scheme is more performative than actually useful.