This matches my experience exactly. #3 is the one I've found most surprising, and it can work outside the context of just analyzing your own code. For example I found a case where an automated system we use started failing due to syntax changes, despite no code changes on our part. I gave Claude the error message and the context that we had made no code changes, and it immediately and correctly identified the root cause as a version bump from an unpinned dependency (whoops) that introduced breaking syntax changes. The version bump had happened four hours prior.
Could I have found this bug as quickly as Claude? Sure, in retrospect the cause seems quite obvious. But I could just as easily rabbit holed myself looking somewhere else, or taken a while to figure out exactly which dependency caused the issue.
It's definitely the case that you cannot blindly accept the LLM's output, you have to treat it as a partner and often guide it towards better solutions. But it absolutely can improve your productivity.
This is a niche case, but I spent months trying to upgrade one of our services from one LTS version to the next (I forget which). We encountered a weird bug where services running on the latest JRE would mysteriously corrupt fields when deserializing thrift messages, but only after running for a little while.
After an enormously unpleasant debugging cycle, we realized that the JIT compiler was incorrectly eliminating a call to System::arrayCopy, which meant that some fields were left uninitialized. But only when JIT compiled, non-optimized code ran fine.
This left us with three possible upgrade paths:
* Upgrade thrift to a newer version and hope that JIT compilation works well on it. But this is a nightmare since A) thrift is no longer supported, and B) new versions of thrift are not backwards compatible so you have to bump a lot of dependent libraries and update code for a bunch of API changes (in a LARGE number of services in our monorepo...). With no guarantee that the new version would fix the problem.
* File a bug report and wait for a minor version fix to address the issue.
* Skip this LTS release and hope the JIT bug is fixed in the next one.
* Disable JIT compilation for the offending functions and hope the performance hit is negligible.
I ultimately left the company before the fix was made, but I think we were leaning towards the last option (hopefully filing a bug report, too...).
There's no way this is the normal reason companies don't bump JRE versions as soon as they come out, but it's happened at least once. :-)
In general there's probably some decent (if misguided) bias towards "things are working fine on the current version, why risk some unexpected issues if we upgrade?"
I encountered a weird bug with deserializing JSON in a JRuby app during an OpenJDK upgrade - it would sporadically throw a parse error for no apparent reason. I was upgrading to OpenJDK 15, but another user experienced the same regression with an LTS upgrade from 8 to 11.
The end result of my own investigation led to this quite satisfying thread on hotspot-compiler-dev, in which an engineer starts with my minimal reproduction of the problem and posts a workaround within 24 hours: https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2021...
There's also a tip there: try a fastdebug build and see if you can convert it into an assertion failure you can look up.
My basic mental model is that my body is constantly consuming chemicals that it doesn't use, be it particulates in the air or substances in the foods I eat or drink. My body is very good at incorporating the substances that it finds useful and ignoring (or killing) the ones that it doesn't, so I don't find myself worrying too much about any particular substance it might take up.
To your point, I don't have any particular reason to think that trace quantities of plastics going through my digestive system are going to cause any harm to me. Obviously if I have specific reason for concern I'll be careful (I'm not, like, going to eat off of asbestos plates...) but otherwise I'm not going to think about it much.
Exactly. Few things can cross the intestine wall, for example we don't have a problem with the absolutely insane amount of bacteria that process food inside of us and produce, well, shit. If you were to make a small cut in the intestine somewhere, well, then chances of getting septic (i.e. the bacteria overpowering your immune system) are high.
So I'm not worried about things larger than a bacteria, unless proven otherwise.
The other issue is with quantity. We all have lead or radioactive isotopes embedded in the body. Or, we can breath in small quantities of carbon monoxide, form example from a passing by car. That doesn't immediately cause problems, the quantity matters.
> My body is very good at incorporating the substances that it finds useful and ignoring (or killing) the ones that it doesn't
What are you basing this off of? From my perspective, the body is decidedly not good at ignoring substances. There are thousands of poisonous or cancerous chemicals. Things like mercury or lead build up in the body to the point of causing severe harm. Anything that can be made small enough will enter your body, and the body was only “designed” to tolerate a narrow band of substances that are encountered in the natural world.
I just ate a dinner off of a plate that's been sitting on my shelf for a few days, using utensils that have been sitting in my drawer for a few days, accumulating whatever residual particles have been floating through the air settling on them.
Like most people I lick my fingers after eating chips and don't sterilize my hands in advance, hands covered with whatever I've recently been touching (including the plastic bag that the chips came in...).
I have an air purifier at home, but there's all sorts of detritus kicked up in the air from materials around the house that my body is constantly inhaling (not to mention the exhaust and tire particulates that I get from cars driving by me or whatever is being produced in the construction site down the street).
I absolutely agree that there are plenty of things out there that are bad for you, at least in sufficient concentration. But every breath you take and every bite you eat is consuming at least some trace amounts of particles that your body doesn't need, from all sorts of sources.
It may well be that nanoparticles of plastics are particularly bad for you (in the concentrations that are normally consumed) but my heuristic is to not worry too much about things like this unless given concrete reason to.
Yeah, I'm always wondering why are people so concerned about what they eat while they are breathing in particulate poisons that have direct access to their blood.
Most things my body consumes (even the ones it doesn't use) don't fall in to that category. And most of what you're describing our bodies are very good at ignoring. I'm bathed in radiation constantly and I'm fine (unless I stay out in the sun too long without sunscreen...). I wouldn't want to live in a house with asbestos or lead paint, but I wouldn't be too bothered visiting a friend who lived in one. And so on.
It may absolutely be that nanoparticles of plastic are so harmful that eating off of plastic plates is a really bad idea, but my heuristic would be to not worry too much about it.
I like Alfred but I'm not a huge power user. It does have a bunch of other functionality. Out of the box it lets you do a bunch of stuff like filesystem manipulation, clipboard history management, a simple calculator, and stuff like that.
It's also extensible. For example there's a very useful add-on workflow [0] that makes it really quick to open up the next Zoom meeting you have scheduled in your calendar.
Could I have found this bug as quickly as Claude? Sure, in retrospect the cause seems quite obvious. But I could just as easily rabbit holed myself looking somewhere else, or taken a while to figure out exactly which dependency caused the issue.
It's definitely the case that you cannot blindly accept the LLM's output, you have to treat it as a partner and often guide it towards better solutions. But it absolutely can improve your productivity.