I don't know; I've never done something like that. If no one else answers, you can always ask Claude itself (or another chatbot). This kind of thing seems tricky to get right, so be careful!
HN user
stephendause
SW engineer, adoptive parent, twin parent, interested in CS and software engineering as well as politics, philosophy, etc.
There is an example of [dis]allowing certain bash commands here: https://code.claude.com/docs/en/settings
As for queries, you might be able to achieve the same thing with usage of command-line tools if it's a `sqlite` database (I am not sure about other SQL DBs). If you want even more control than the settings.json allows, you can use the claude code SDK.
Your story sounds similar to mine. There are some parts of programming at which I know I will never excel. I also don't have time in my life to spends lots of hours outside of work developing my skills. I think it's important to realize that the median software engineer is probably not doing these things either. Maybe the top 10% are? Something like that would be my guess. It's okay to not be in the top 10%!
Beauty is in the eye of the beholder. My personal taste for the presentation of a piece of writing is that less is more. I usually find artwork that accompanies a text to be distracting. I love reading work that can stand on its own, invoking images in the mind. I also dislike animations that seem to be made for a certain scroll speed.
Having said all of that, I certainly don't think it's bad, nor is it a commentary on the arguments being made. It's just not my cup of tea.
Why? To me, hosting previous versions of an article in a public git repo adds transparency. Or perhaps you are talking about GitHub specifically?
- Is the work faster? It sounds like it’s not faster.
The author didn't discuss the speed of the work very much. It is certainly true that LLMs can write code faster than humans, and sometimes that works well. What would be nice is an analysis of the productivity gains from LLM-assisted coding in terms of how long it took to do an entire project, start to finish.
This is total speculation, but my guess is that human reviewers of AI-written text (whether code or natural language) are more likely to think that the text with emoji check marks, or dart-targets, or whatever, are correct. (My understanding is that many of these models are fine-tuned using humans who manually review their outputs.) In other words, LLMs were inadvertently trained to seem correct, and a little message that says "Boom! Task complete! How else may I help?" subconsciously leads you to think it's correct.
This is a good insight, but do you know of better ways to measure machines' abilities to solve problems in the "messy real world"?
I think it's not only the potential for self-improvement of AGI that is revolutionary. Even having an AGI that one could clone for a reasonable cost and have it work nonstop with its clones on any number of economically-valuable problems would be very revolutionary.
This is a key question in my opinion. It's one of the things that make benchmarking the SWE capabilities of LLMs difficult. It's usually impossible to know whether the LLM has seen a problem before, and coming up with new, representative problem sets is time-consuming.
Jonathan Haidt has a lot of good material on this. He is leading the charge in encouraging parents to delay giving their child a phone until high school and not allowing them to have social media accounts until age 16.
https://www.goodmorningamerica.com/family/story/author-sugge...
I could be wrong, but I believe the author is referring to cookies being used for session authentication as opposed to general session management.
There is almost no children available for adoption
This is not true, at least in the United States. For one thing, there are many children in foster care who want to be adopted. It is also possible, though difficult and expensive, to adopt infants from mothers giving up their children for adoption as well. I am not saying it's an easy option or that everyone should do it, but it is an option.
I am interested whether anyone knows how precedented this sort of situation is. It seems like a certain portion of the spectrum was intended to be used for one thing, and now part of it might be sold for another purpose, causing the original users to have to adapt to the reversal. How often has this sort of thing happened?
One point I haven't seen made elsewhere yet is that LLMs can occasionally make you less productive. If they hallucinate a promising-seeming answer and send you down a path that you wouldn't have gone down otherwise, they can really waste your time. I think on net, they are helpful, especially if you check their sources (which might not always back up what they are saying!). But it's good to keep in mind that sometimes doing it yourself is actually faster.
My coworker has a similar setup and loves it. Personally, it feels diametrically opposed to the way that I like to use my keyboard. I don't even like holding Shift to type `{`, `_`, etc when programming. I wish I had dedicated keys for those and other common symbols. I don't mind moving my hands a few inches at all, but for some reason, it feels cumbersome to me to hold down a key to activate another layer. To each their own, of course.
Yes. You can be judged to be intoxicated even if you are under the limit.
What are more cost-effective ways of accomplishing the same goal?
Awesome. I there any chance of this change or something like it getting merged into the rustc compiler?
What language does he program in? ChatGPT and CoPilot have increased my productivity, sure, but I don't know if they've multiplied it by 2, and definitely not 3. I mostly program in Rust, and while they are good, they still often produce things that don't compile. Iterating back and forth to get something that works takes time, and it feels to me like sometimes doing it alone would've been almost as quick.
I could possibly be way off in my estimations, though. A true comparison would be having me do a task with and without it, but of course once I've done it once, the next time I will do it faster.
Imperative programs describe computations by repeatedly performing implicit effects on a shared global state.
Is this necessarily true? In Rust programs, operations do not operate on a shared global state – at least not in the way I think most people would understand 'effects on a shared global state.'
I subscribe to Reasons to be Cheerful [1]. I like it alright.
For anyone else who didn't know what a frame pointer was: https://softwareengineering.stackexchange.com/questions/1943...
No, mutation-based testing is different. Fuzzing varies the input to the program. Mutation testing varies the program itself as a means of testing the quality of the tests.
Yes. I highly recommend the book When by Daniel Pink: https://www.danpink.com/books/when/
I don't really think that software engineering is a trade per se. I think it is a much more creative activity that requires a lot more baseline knowledge. I think an automotive engineer is to a mechanic as a software engineer is to an IT administrator. There is still a fair amount of creativity and knowledge required for being a mechanic or IT admin, but I don't think it's nearly the same amount.
Software engineering is interesting, though, because it does not require as much formal education as many other engineering fields to get a job. I think this is in part because it is very economically valuable (in the US at least) and because the only tool you need is a computer with an Internet connection.
With all of that said, I think SWE is probably closer to a trade than other engineering disciplines, but not by all that much.
So I have not done research any software engineering field and have not read all that much either. One example that comes to mind from one of my courses that I took in software engineering is research around mutation-based testing. That form of testing is where you generate random variants of your test by doing things like deleting a statement, adding a statement, changing a less than sign to a greater than sign, etc. Then you check to see that at least one of your tests fails for each variant. If it does not, you either add a test or mark that variant as being effectively the same program. I forget what the term is for it. At any rate, I think there is still research being done on this topic, for example how to effectively generate programs that do not generate as many functionally identical programs. Software testing in general is a big part of software engineering, and I think there is still a fair amount of research that could be done about it.
In my opinion, the intersection of cognitive psychology and software engineering is also ripe for a lot of research. I feel like we as software engineers have a lot of intuitions about how to be productive, but I would love to see various things that could indicate productivity measured in a controlled lab setting.
It's very interesting to me that you say that because it hasn't been my experience. I am working in a ~20k-50k SLOC codebase with a few common patterns, and it seems to have picked up on most of them. It's not always right, but even when it isn't, I can write a comment above an empty line to nudge it in the right direction.
Happiness is not the only important thing. Fulfillment, meaning, and purpose are important, too.
That's a good point. Still, I think that's different from an AI agent attending a meeting "for you" as a surrogate. If I were in a meeting where someone sent their personal AI assistant instead of attending, I would be insulted. I'd much rather someone send me a note explaining why they can't be there and letting me know anything they want from those of us in the meeting.