SurrealDB
Exploring how to store consistent relational data in SurrealDB, with performance comparisons to Postgres.
2025-01-02
I code with AI. Autocomplete is, in my opinion, the most useful AI coding tool. Typing the first two characters of a line of code and having the rest filled in for you is a game changer. Even if it only works 50% of the time, it saves a substantial amount of keystrokes and time. But I admit, it’s a distraction in the typing flow. Because of that, my typing skills have suffered. Even more concerning: When I’m on the train or at any place without internet, having no access to copilot, I feel much slower than I was before using it at all.
It’s worth it, at least for now. It saves me countless hours of looking up the same things in docs I keep forgetting (how to parse json from a file, how to configure a reqwest client, how to set up tracing, how to start postgres with testcontainers, etc.).
Agentic editing is another story entirely. Witnessing how the Claude CLI burns through tokens and creates a functional little web app that does not look too bad is mesmerizing. Heavily using git and branching is a good idea here and makes this whole process feel even faster, creating branches left and right, discarding some and progressing with others. At some point, I found, it breaks apart. Prompts do not hit the mark, bugs stay or reappear, and the code structure gets messy. By then, the amount of code produced is already substantial. And the hard part is now reading and understanding it in order to carry it over the finish line. For some smaller projects, AI gets it over there alone, but if not, there is a lot of work to do.
The work is mostly reading and understanding the code, then fixing not only the parts that do not work but also the structure so that it fits your mental model more. So that it becomes more like your code.
Agentic editing still has some use cases in my workflow. I mainly use it to speed up setups and confined tasks that require context from multiple files. Here are some examples:
Aside from generating code, I use the agentic in my editor of choice for getting to know a new codebase by asking questions about it and getting mostly accurate responses with references to files and lines in the code at hand.
Coding with AI can make developers faster and reduce frustration caused by constantly googling for docs and references. I think the hard limit on how fast we can be is actually understanding the codebase. Don’t push to prod until you do. AI can help you understand, but at some point, the code has to pass through wetware. Therefore, I find the (mostly) line-by-line autocomplete much more useful than agentic editing. It does work for you in chunks you can follow and understand while saving time on typing.
More Posts
SurrealDB
Exploring how to store consistent relational data in SurrealDB, with performance comparisons to Postgres.
2025-01-02
Scheduled Postgres Backups to S3
How to achieve recurring uploads of Postgres dumps to AWS S3.
2022-03-16
Postgres Transaction Isolation
About bugs you can avoid with the right transaction isolation level.
2021-11-25
Searchable PDFs
How to use tesseract and pdfgrep to make all your PDFs searchable.
2021-10-13