Hacker Newsnew | past | comments | ask | show | jobs | submit | codeprimate's commentslogin

You MUST use RAG (retrieval augmented generation) for ChatGPT to be generally useful for programming.

I use a ChatGPT-based script using RAG to work with code-bases. I include text documentation included in the repository, descriptions of application and folder conventions in the documentation folder, and file paths for source information in the augmented prompt. The documentation it creates is nearly as good as my own and I feed the output back into the documentation folder for even better understanding of the application.

I am working on an effective prompt to enforce overall implementation style and approach. ChatGPT strays toward system-agnostic and lower-level abstractions instead of application conventions. Conventions at a higher level of abstraction are a subtle but important aspect of the application theory.


Can definitely relate here. I've been accused of "mansplaining" and aggressive communication more than once, when I am only intending to communicate clearly and directly the same way I always do with everyone all the time. Clear communication isn't an insult. The tendency that some people have for unnecessary and unfounded offense is utterly obnoxious.


This has already been weaponized. I've been getting comment spam phishing attempts from Google service accounts and Google Docs linking to scripts like this: "REDACTED://script.google.com/macros/s/REDACTED/exec?sl=REDACTED&dn=REDACTED&t=moc&s=au&sec=s&"

I am not sure what the script does or how to analyze it without risking my account security.


It's a fact that I don't have an internal monologue. I didn't understand that people actually thought in words until I was a teenager.


I think the only thing that saved my career was dropping out of college 2 years early in 2000. I immediately started working in a print shop doing data processing work and earning my chops and programming experience through self-directed automation and process improvements. My friends in retail earned more than me, but I learned far more in 4 years there than college would have made possible. Leveraging my Linux and general programming experience I moved on to web development work in 2004 at a tiny consulting company based in the upstairs living room of my boss. We did "lean" and "agile" right and survived through the bust by wearing all of the hats and working hard. We could provide high quality solutions for half the cost quoted by large competitors. The pay was simply ok (but my colleagues and employer were amazing). Later, with a baby on the way I had to move on for better pay. Leaving was hard, but finding a position wasn't with all the experience I earned at a cut rate.

In short: I grew, barely survived financially, and made excellent connections.


The idea that one should be compelled or be obligated to support a group or organization that acts against one's morals is abhorrent.

I am sure that much of the open source developer community does not share the author's moral flexibility. Those that do can fill the void of products or services that conscientious objectors may no longer provide.


The author is not suggesting that developers outright support bad organizations:

> Of course, you can be an open source company and choose not to sell to an organization you find objectionable. At various open source companies for which I worked, we refused to do business with pornography or gambling companies, for example. Chef, in like manner, could choose not to do business with ICE. That said, at my open source companies, we could not block those same organizations from using our open source software (and some did), just as Chef couldn't block ICE from using its open source code.

If you put code into the world, you have to realize people you dislike are probably going to use it in some form. The alternative is keeping the code (and end product) closed and only giving it to people you vet.


No one is compelled or obligated to release their software under a free license. If you do chose to do so, then you are compelled to support indirectly whoever chooses to use the freedoms provided to them by that license.

It’s not about moral flexibility. If you want to control who use your software don’t release it under a free license.

It’s like people saying “well freedom of speech is obviously great, but some people use it to express bad things I disagree with, so let’s change it so it’s only a freedom for anyone I agree with”. That’s not freedom.


I don't see how it's possible to code without a mental model. It's like drawing something without "seeing" it.

That sounds really really hard.


In drawing, you see something and sketch before inking and coloring.


It sounds like you need something like rocket.chat


I keep notes of tasks, problems, solutions, caveats, and references. This makes for a highly searchable and understandable knowledge base. Anything beyond that proves to have little utility in the long-term.


Spend half your time learning many things shallowly and half your time learning a few things deeply -- your resourcefulness will know no bound.


This. I take notes of concepts that I don’t clearly understand/agree but have a gut feeling that is interesting, and as I read it repeteadly overtime I often get surprised by how the concept evolves on my mind.


Is this a quote from somewhere or something you just made up? Either way, I like it.


i sure hope so!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: