See, this, to me, seems obvious, but I’m sure it’s more challenging/complex than I can imagine (I am NOT an expert on AI in any way imaginable). But there has to be a solution. Just yesterday I was asking Gemini to tell me about a certain college professor, and it gave me a list of facts about them. And it was perfect. Then, out of curiosity, I followed up with “tell me more about him!” and it spit out several more bits of information about this person that were entirely hallucinated (e.g., gave them credit for writing papers they didn’t write, said they won awards that actually someone else won). I know this is all complex and certainly beyond my limited skill set, but goodness, we’ve got to get this figured out with so many people depending on and trusting these things nowadays. It’s quite scary.
HN user
ExtremisAndy
I think you may be right. I enjoy tech and programming, but hardly any of my friends/family do. And nearly everyone in my inner circle (an admittedly small number of people, considering I'm an extreme introvert) condemns and avoids AI both for the reasons you mentioned and because they refuse to "outsource my brain to AI!"
In fact, the only time I personally encounter a lot of pro-AI commentary is when I come here to HN (and, obviously, there are plenty of anti-AI people on this site too).
I personally appreciate it and use it, but I'm still "old-fashioned" in the sense that I only ask it for very specific things and always read through what it produces. I'm honestly not entirely sure how I'm supposed to feel about all this. These are interesting times, to say the least.
Oh, my! This does look nice. Thank you for your hard work!
For real! I occasionally write assembly because, for some reason, I kind of enjoy it, and also to keep my brain sharp. But yes, there is no way I could do it without pencil and paper (unless I’m on a site like CPUlator that visually shows everything that’s happening).
This is exactly how I use them too! What I usually do is give the LLM bullet points or an outline of what I want to say, let it generate a first attempt at it, and then reshape and rewrite what I don’t like (which is often most of it). I think, more than anything, it just helps me to quickly get past that “staring at a blank page” stage.
language is the refuge of educated idiots
I love the way you've expressed this! This was my experience doing the lit review for my PhD. I read more than a few "scholarly" texts that were perhaps impressive from a language/vocabulary standpoint but contained ideas that were either poorly supported or too simple to amount to any meaningful contribution to the field.
I felt this comment in my soul. I’ll never understand it: I’ve written thousands of lines of code (as a hobbyist) to solve all sorts of problems I’ve run into and yet always seem to struggle to wrap my mind around the core algorithms any real developer should be able to handle easily. This is why I’ve never pursued programming as a career.
"AI isn't great at creating software, but it is great at writing functions."
This 100%. In my experience (ChatGPT - paid account), it often causes more problems than it solves when I ask it to do anything complex, but for writing functions that I describe in simple English, much like your example here, it has been overall pretty amazing. Also, I love asking it to generate tests for the function it writes (or that I write!). That has also been a huge timesaver for me. I find testing to be so boring and yet it's obviously essential, so it's nice to offload (some of) that to an LLM!
I have never heard of “jq”. Oh my goodness. Your comment may have just changed my life. I cannot emphasize enough how many times I have needed a tool like this (and, yes, shame on me for not making a better effort to find one). Thank you!
Wow, I’ve never thought about that, but you’re right! It really has trained me to be skeptical of what I’m being taught and confirm the veracity of it with multiple sources. A bit time-consuming, of course, but generally a good way to go about educating yourself!
Yeah, I love C++ as a hobbyist programmer but will readily admit I basically use it like C but with the added convenience of strings & classes. Hardly how you're supposed to use it these days, but this is fine for my toy projects. But I can't imagine using the language professionally where you've got to be aware of best practices, modern enhancements, etc. Seems overwhelming!
This is indeed a valid question, but I think it’s largely up to the user. For me, as a hobbyist programmer that sometimes writes code at work to automate certain tasks, I use ChatGPT to quickly create boilerplate/template type code AND to learn how to do new things. When I’m asking how to do something new, I try to actually learn what’s going on so that I won’t have to keep asking about that particular issue. But yeah, the temptation to just say “thanks, ChatGPT” and move on without learning anything is certainly there and could be quite harmful to one’s overall coding skills.
I'm trying to remain impressed and open-minded, and there's no question these things are super cool, and something genuinely exciting. And who knows how much they'll improve over the next few years? But so far, if I'm brutally honest, they have largely been frustrating to work with. I am a teacher, and I use them (mainly via APIs) to generate questions for worksheets and study guides for my students. The idea of letting the computer help me save time on creating those kinds of exercises so that I can then focus on the more interesting/challenging activities initially sounded so good, but I've found I'm completely unable to trust these systems to generate correct information. Almost every question set or study guide I've generated had at least one, sometimes several, serious errors that would have led my students astray. It does still save time, and I'm sure it will get better. But like you said, the fact that I have to constantly correct its output basically eliminates the possibility, at least for now, of using it as a tutor to teach me material that is genuinely new to me (something I was looking forward to doing). I simply can't trust it for that at this point. We'll see how things evolve.
I own one, but almost never use it. For quick, few-steps calculations I’ll use the iPhone’s calculator app. When I have more complex calculations, I almost always find myself needing to remember and label different values, so I’ll just type “python3” in the terminal and get to work ;)
I wanted to like React so bad. I tried. I loved JSX and really appreciated the way you could reuse components. That was all very cool, and I was initially quite enthusiastic about it. But for whatever reason, I just could not figure out state management/hooks. Drove me crazy. It just always felt so unnecessarily complicated compared to other languages and frameworks I've used (even vanilla JS). Now, don't get me wrong: I fully accept the blame here. I am mostly self-taught (and not even the best 'student' in that context, haha) so I'm sure I just lack the overall knowledge base/big-picture understanding to really appreciate what they've done here. I hope I'll give it another shot one day, and perhaps with fresh eyes (and maybe with the help of a patient tutor), it will all 'click'!
I always use it while developing a new web app, but admit that I always switch it to something "fancier" in production, mainly because I find alerts rather ugly. But, goodness gracious, it would simplify so many things! I've just sort of assumed that default browser alerts were considered a big no-no these days, but that assumption comes from the fact that I simply don't see them being used much. I guess I should look into this more. Sure would shorten dev times!
No idea about Go, but I was curious how GPT-4 would handle a request to generate C code, so I asked it to help me write a header-only C string processing library with convenience functions like starts_with(), ends_with(), contains(), etc.) I told it every function must only work with String structs defined as:
struct String { char * text; long size; }
...or pointers to them. I then asked it to write tests for the functions it created. Everything... the functions and the tests... worked beautifully. I am not a professional programmer so I mainly use these LLMs for things other than code generation, but the little I've done has left me quite impressed! (Of course, not being a professional programmer no doubt makes me far easier to impress.)
That's the key: they still trudge through it. I fully agree that those people are indeed amazing. In my experience, though, many complainers toss out every objection possible hoping to make the new project seem so difficult that it isn't worth doing (so everyone will just drop it). Those complainers are toxic and can kill progress. But yes, the ones who verbalize issues just to make sure everyone has a full understanding of a project and the challenges in completing it... but still have every intention to conquer those challenges and stick with it to the end... yes, give me those types of 'complainers' ANY day :)
Yeah, me too. I honestly rather enjoy and appreciate her answers, and it's nice to have links to where she got her info from (because she has made a few mistakes). But, yes, the 'eerie fun' of interacting with her is gone. And having to 'sweep' away our conversations after 8 replies is infuriating because I've been able to have some very normal and quite helpful conversations with her that I really wanted to continue. Oh well. Hopefully all these issues get sorted out over the coming weeks/months!
Oh, my! This is extremely helpful. And well organized, too.
The one-liners section alone is enough to earn this a place on my bookmarks bar. Many thanks to whoever put this together!
Absolutely agree. I’m creating a chatbot for my website, and while it primarily uses old fashioned pattern matching, it does send unrecognized patterns to a stronger AI to get help forming a proper response, and I certainly don’t want it offending my visitors!
I am definitely tired of the topic, but I’ll be perfectly honest as to the reason why: I am genuinely afraid of its impact on my career. My career has been sort of a combination of tech and education, and this (admittedly impressive) creation threatens both. And more and more of these things will be coming online over the coming months and years.
So, every time I see it mentioned I feel depressed and sick on the inside.
I will say, however, that so far it has actually enhanced my productivity in my current projects, and that’s fine. I just don’t think that its impact will remain so limited for long.
Of all the tech that’s been invented, this is the one I fear the most in terms of its negative impact on jobs. Hope I’m wrong!
Very good points. My Python skills are such that I would be laughed out of a Python job interview for hilarious incompetence, but the small subset of the language I know and am comfortable with has allowed me to automate all sorts of tasks and saved me an enormous amount of time over the years. What I love about Python is the great spectrum of possibilities with it over quite a range of skill levels!
Are you serious?! That is so hilarious to me, because I do the same thing! And I am always so terrified that I will get an interview, and they will want to see a sample of my code, and I will have forgotten to take out all the bits of juvenile humor that are scattered through the code of my personal projects!
Yeah, I have to wonder if something else is going on with your machine/browser. Runs absolutely perfectly on my 2015 MacBook Pro.
Not sure if anyone else has said it, but I sure will. I am the lone developer of my website, and it has been so wonderful to be able to remain in JavaScript for both front and back end development. Node also makes a fine scripting language, and the repl is where I normally go by default to practice/drill JS concepts so I won’t forget them. I’m incredibly grateful for NodeJS!
Wow. This method is so ridiculous I just might have to copy it.
Seriously though, I hadn't thought about using that time (which most people are guaranteed to have every single day, several times a day) for learning new things. I think I may start using this method for exploring things that I'd "like to learn some day" but that aren't urgent/currently important for my job. This would be a way to at least make me get started learning something genuinely new!
I have to. I definitely buy some tech books on Kindle and follow web tutorials too. I'm not against doing those things. But when I care to really understand a topic in tech, for reasons I'm not even sure I can explain, I need a real, physical textbook. Strangely enough, a lot of it has to do with my brain's need to mark important sections with a pencil (yes, I know I can highlight sections on the Kindle app too...but there's something about physically circling/underlining/drawing a star near a section with a pencil that helps me to recall it later).
One thing that’s worked for me is going old fashioned and getting my news in a daily 20-minute news video recap, not unlike the “old days” of watching the evening nightly newscast of your choice. These are often on YouTube nowadays, so you don’t even need a set schedule. I’ve done this with a Spanish language daily newscast (mainly to keep my Spanish sharp), and, unless there is something going on that requires my further investigation, I’m made aware of the big stories that any informed person should probably be aware of, and then can go about my day being productive. Only a 20 minute sacrifice. Just an idea if you feel you’ve let news improperly invade your time!
Totally agree! But oddly enough, I have this problem with all code/languages… I always write code much more easily than I read it. I can write fairly complex applications just by following the logic of what the application must do in my brain (but with ZERO cleverness). But give me the source code of even the simplest Unix command and I’ll struggle to understand the purpose of every #define, the variable naming scheme, etc., etc. I’m sure this is telling me something interesting about how my brain works but I’m not sure what!