Regarding the multi-tasking induced by this new way of working (agentic coding), I've moved from quick and short iterations to a longer ideally one-shot prompt, optimizing for less reviewing and less context switching.
I used to send a prompt as early as possible, meaning that'd really just give the rough idea, barely a sentence, and see what the model would come up with, thinking that I'd save time if it got it right for the first time, and maybe I'd just need to correct what it got wrong (it's faster at typing than me). That means a lot of multitasking at a rather high pace, which takes its toll if you do it for too long.
I've recently switched to writing longer prompts (doing part of the planning myself), hoping to get better results and to have less to review: I'm realizing I'd rather write more and read less, past a certain threshold. I don't really want to iterate with an agent; I want to tell it, maybe in somewhat verbose terms, what I want, I want a quick confirmation that it'll indeed work, and I want the final output (e.g. a commit), that's it.
That's probably what some users have been doing since the beginning, but with all the hype around this tech, maybe I got caught by this idea that with just a few words, I can get stuff done. In my experience, it's indeed just a few words, but for useless units of work (iterations with a model) rather than what I really want (commit) which itself will often require non-trivial amount of input. In this case, I'd rather give it all in one go, in a somewhat focused state.
I would try to learn some new tech. Definitely not something you can do in a vacuum with no goal for months in a corporate setting, but e.g. learning more about a programming language you already use, or some libraries, some tooling, you can easily spend a few weeks.
After that, yes it'd make sense to find something else.
Not sure what you mean by spec and design, but around me, that's always been paid more than simply coding. If you have a clean technical spec that's detailed enough, the code naturally flows and is often left to more junior engineers, with more senior folks reviewing the code but rarely writing it.
Same here, music is too important for me to give up this kind of control. I probably miss out on the discovery system of streaming services, but there are enough other sources (e.g. radio paradise).
If "things go catastrophic" your hard drive is not usable at all anymore. At the very least some files can't be recovered at all. So you need backups in any case. Once you have backups, you might as well encrypt your hard drives, especially if you store these in different locations (which you should).
An advantage of encryption is that it makes it easier to give away or resell devices. With recent encryption schemes (well the ones on Linux, given this article), I feel confident that overwriting the encryption keys gets me close enough to not leaking my data once I get rid of an old hard drive.
I was looking for a good markdown / file editor on Android available the Play Store on a device where I can't install F-Droid / arbitrary apks, as I had been using https://github.com/gsantner/markor which is not available there. My conclusion was that there's basically none, to the point that it looks like the best solution would be for me to publish a version of it there, just so that I have access to it.
But it's the kind of things you'd expect Windows to take care of automatically, or in the worst case, to prompt the users to install on first boot, especially if Linux (with overall less driver support from manufacturers).
And with a preinstalled Windows (tuned to the laptop) this behavior should not be observed at all.
Nobody cares about costs until they pay them themselves.
Regarding code quality and tech debt, it's sensible not to care if it doesn't lead to anything observable. Do you really care of some "bad" code somewhere that hasn't changed for 5 years but keeps working fine, and has no new requirements?
On the other hand, if you work on an active codebase where fixing one bug inevitably leads to another, maybe it's worth asking whether the code quality is simply too low to deliver on the product expectations.
It's not even obvious to me in which direction coding agents move the needle. Do you want higher quality, at least at a higher (design) level, when you heavily use agents, so that you know know the mess will at least compartmentalized, and easier to deal with later if needed? Or do you just assume the agent will always do the work and you won't need to dig into the code yourself? So far I've mostly done the former, but I understand that for some projects, the latter can make sense.
> I've yet to be saved by an airbag or seatbelt. Is that justification to stop using them?
By now, getting a car without airbags would probably be more costly if possible, and the seatbelt takes 2s every time you're in a car, which is not nothing but is still very little. In comparison, analyzing all the dependencies of a software project, vetting them individually or having less of them can require days of efforts with a huge cost.
We all want as much security as possible until there's an actual cost to be paid, it's a tradeoff like everything else.
I don't follow why you'd run uncommitted non-reviewed code outside of the sandbox (by sandbox I'm meaning something as secure as a VM) you use. My mental model is more that you no longer compile / run code outside of the sandbox, it contains everything, then when a change is ready you ship it after a proper review.
The way I'd do it right now:
* git worktree to have a specific folder with a specific branch to which the agent has access (with the .git in another folder)
* have some proper review before moving the commits there into another branch, committing from outside the sandbox
* run code from this review-protected branch if needed
Ideally, within the sandbox, the agent can go nuts to run tests, do visual inspections e.g. with web dev, maybe run a demo for me to see.
Is there already some more established setup to do "secure" development with agents, as in, realistically no chance it would compromise the host machine?
E.g. if I have a VM to which I grant only access to a folder with some code (let's say open-source, and I don't care if it leaks) and to the Internet, if I do my agent-assistant coding within it, it will only have my agent credentials it can leak. Then I can do git operations with my credentials outside of the VM.
Is there a more convenient setup than this, which gives me similar security guarantees? Does it come with the paid offerings of the top providers? Or is this still something I'd have to set up separately?
Also WhatsApp which leans towards social features ("Updates"), in some countries.
> Threads
I had forgotten this one existed, so much so that I got surprised by my own forgetfulness. What's up with it, is it popular among certain demographics?
I'd understand not reading the code of the system under test, but you don't even read the tests? I'd do that if my architecture and design were very precise, but at this point I'd have spent too much time designing rather than implementing (and possibly uncovering unknown unknowns in the process).
> Me (and my friends similarly) inspect code indirectly now - telling agents to write reports about certain aspects of the code and architecture etc.
Doesn't this take longer than reading the code?
I can see how some of this is part of the future (I remember this article talking about python modules having a big docstring at the top fully describing the public functions, and the author describing how they just update this doc, then regenerate the code fully, never reading it, and I find this quite convincing), but in the end I just want the most concise language for what I'm trying to express. If I need an edge case covered, I'd rather have a very simple test making that explicit than more verbose forms. Until we have formal specifications everywhere I guess.
But maybe I'm just not picturing what you mean exactly by "reports".
Which parts of it exactly? I've considered for loops and if branches "commodities" for a while. The way you organize code, the design, is still pretty much open and not a solved problem, including by AI-based tools. Yes we can now deal with it at a higher level (e.g. in prompts, in English), but it's not something I can fully delegate to an agent and expect good results (although I keep trying, as tools improve).
LLM-based codegen in the hands of good engineers is a multiplier, but you still need a good engineer to begin with.
Opinions my own, etc.