[HN Gopher] Tell HN: I asked ChatGPT to build a login form in Re...
___________________________________________________________________
Tell HN: I asked ChatGPT to build a login form in React and it gave
me the code
I asked OpenAI chatGPT to "build a login form containing email,
password, and login button in React using state" and it gave me the
full code along with an explanation. You can see the video of the
prompt and response: https://cln.sh/X4p01n I thought Copilot was
fairly advanced, but this chatGPT takes it to a whole other level.
What are your thoughts?
Author : jerrygoyal
Score : 110 points
Date : 2022-12-01 16:55 UTC (6 hours ago)
| qwertyuiop_ wrote:
| WITCH companies "consultants" would be avid users of this
| feature.
| CJefferson wrote:
| I tried asking it some programming questions -- I found if I
| asked it things that I was likely to find lots of copies of (or
| similar things), it did quite well. As soon as I asked it
| something a bit more unusual, even if the program was quite
| small, it broke.
|
| One easy way of catching out is to ask "write X in language Y",
| where X isn't something most people would write in Y -- it
| usually got it wrong for me.
| beepbooptheory wrote:
| Right, it seems so cool at first, but very quickly just feels
| like... google. I know its a sophisticated thing, but I really
| can't sustain enthusiasm for it, I don't understand how all the
| literal and figurative energy that goes into this is ultimately
| worth it, beyond being like "huh, cool" for a few minutes. It
| is immediately apparent that there isn't, like, synthetic
| judgements happening in the Kantian sense or whatever, just
| parsed html with maybe wrong answers and a very good ability to
| make it feel conversational.
|
| Ill stick to man pages and blogs for now. I like learning!
| chrisgd wrote:
| This is awesome. Would be amazing for a tutorial as well. I can
| code(defined loosely) in python, but seems like this would
| accelerate learning a new language significantly.
| egberts1 wrote:
| Uh? Is it me or this openai website is literally demanding a
| cellular phone number? Only have a landline number.
|
| What is this? I just gave my email. Isn't this enough?.
| jw1224 wrote:
| ChatGPT blew my mind this morning -- I was struggling with a
| regex, so asked it to help me.
|
| Here's how it went: https://i.imgur.com/PS6oPsq.png
|
| A pretty incredible developer experience, if you ask me!
| spaceman_2020 wrote:
| Wow! I've been learning how to code for a personal project but
| looking at this stuff, junior devs might be out of work soon.
| carom wrote:
| Which is unfortunate because then they will never become
| senior devs.
| bckr wrote:
| Yeah, remember how Fortran put all the ASM devs out of
| work?....
|
| ;)
| roflyear wrote:
| Hahaha that's wild, but... I have to feel like it's abuse to
| use regex here!
| jw1224 wrote:
| Given an arbitrary LaTeX string...
|
| - which may contain 0 or more \parameter macros
|
| - of which each will either have one (\parameter{123}) or two
| (\parameter{123}{blue}) arguments
|
| ... besides regex, how else would you suggest replacing the
| entire macro with simply the value of its first argument
| (i.e. 123)?
|
| I can do it in one line with regex, but if there's an easier
| way, I'm all ears :)
| LoganDark wrote:
| https://stackoverflow.com/a/1732454
| ShamelessC wrote:
| Shh, nobody tell them GOFAI didn't pan out.
| rstarast wrote:
| Impressive!
|
| It's lying though when it claims its regexes match the empty
| parameter cases, right? (The regexes do what's asked, just
| explanation seems buggy.)
| jw1224 wrote:
| That's right. The other mistake it made was including the
| curly braces when capturing the first parameter.
|
| Despite this, for a regex amateur like me I was very
| impressed. It saved me all the time I'd normally spend head-
| scratching in Regex101, trying to remember how it works.
| Instead I could just jump there at the end, validate the
| matching, and make any small tweaks far easier.
| gavinsyancey wrote:
| Also, a LaTeX macro will grab the first token as it's
| argument if there are no curly brackets which the regex
| doesn't support ... Not entirely surprised as that's hard
| (impossible if you don't assume default catcodes) to get
| right and probably not worth it for most usecases but worth
| keeping in mind.
| jw1224 wrote:
| For context, this is for a pretty strange use case -- I
| was trying to preprocess user-submitted LaTeX with PHP,
| by replacing occurrences of a specific macro with simply
| the value of its first argument.
|
| The macro just colour-codes its first parameter
| presentationally, whilst the rest of the LaTeX needs to
| be passed to a compute engine for solving. The compute
| engine doesn't know how to "solve" a colour, hence why
| I'm trying to strip them out beforehand.
| j2kun wrote:
| wait, you had to correct it for it to produce a working regex?
| [deleted]
| aussieshibe wrote:
| If it only required one round of correction, it's already
| better at regex than I am.
| jw1224 wrote:
| Exactly. I didn't expect it to be 100% correct (and nor was
| it).
|
| It just meant I could load up Regex101 having already
| gotten 90% of the way to the end result.
| bugfix-66 wrote:
| Look at Section 8 and Section 9 here:
|
| http://tug.ctan.org/info/tex-nutshell/tex-nutshell.pdf
|
| How is ChatGPT's answer wrong? The regex is matching square
| brackets instead of the correct OPTIONAL curly braces.
| Unseparated arguments aren't handled. The regex for the id
| is also wrong. The leading slash is correct, but other than
| that, the whole fucking thing is wrong!
|
| And of course it can't handle macro calls within the macro
| arguments (nesting).
|
| It's just an absolute clusterfuck, from top to bottom. The
| chatbot gave its user a useless piece of garbage, and
| Hacker News doesn't know enough to throw it away. Instead,
| we parade it around like some great success!
|
| Fooled by a language model.
| aussieshibe wrote:
| Did you mean to reply to someone else perhaps?
|
| The comment you replied to was a one line joke about
| being bad at regex. I didn't directly or implicitly make
| any claim about the quality of the output of the chatbot.
| It's unclear to me how my comment could be reasonably
| interpreted as "parading it around".
|
| On a tangent:
|
| > Fooled by a language model
|
| I suspect a reasonable person would understand this to be
| insulting on some level, so I assume you must have seen
| some other meaning/value in including it such that the
| "insultingness" is outweighed by the point you're making.
| I'm not seeing that point though, could you clarify?
| rkagerer wrote:
| As an aside, this is why I hate regex. The expressions
| are too convoluted for a human to readily parse and
| understand. Unless there's a good reason, I prefer to
| stick to imperative parsing code (and have developed
| personal tooling to help with that).
|
| Part of elegant development is abstracting at the right
| places to make your code communicate what it's doing to
| the next person working on it (which could include future
| you).
| 6yyyyyy wrote:
| Based on this and the other post where it delivered lies
| about Typescript generics, ChatGPT will--with total
| confidence--tell you things that _look_ correct but are
| horrendously wrong for anyone who understands the subject
| matter. Just like the "science news" section of any
| mainstream media.
| puffoflogic wrote:
| Thankfully all the other sections of mainstream media are
| much more accurate!
| egberts1 wrote:
| Mainstream needs journalists that can code. _headduck_
| jw1224 wrote:
| I can't see any mention of square brackets in section 9
| (macros). Also, my end goal was to specifically target
| the contents of the first parameter, which I know which
| will wrapped in curly braces.
|
| Regardless, even if my prompt didn't meet the LaTeX spec
| exactly, the regex I got back (after just 2 natural-
| language revisions) saved me a lot of time and hassle,
| and helped me get the job done in the way I needed it to.
|
| There's little point judging it to be a "total
| clusterfuck" without knowing what I'm even trying to
| achieve in the first place :)
| [deleted]
| criddell wrote:
| I wonder if ChatGPT could solve a travelling salesman problem?
| WandaVision wrote:
| It will never will. It's just glorified autocompleter. It's not
| capable of coming up with good explanations.
| satvikpendem wrote:
| I don't know, this other commenter begs to differ:
| https://news.ycombinator.com/item?id=33819439
| WandaVision wrote:
| https://regex101.com/ already does this and didn't needed 1
| Billion dollars in funding to do that.
| satvikpendem wrote:
| "I don't need a general purpose computer, I already have
| my trusty calculator right here."
| WandaVision wrote:
| I would rather have my calculator than a general purpose
| noise generating computer. Thanks
|
| https://pbs.twimg.com/media/Fi4A0W8UAAAFF47?format=jpg&na
| me=...
| kulhur wrote:
| Maybe, but I think AlphaTensor is a better bet when it comes to
| finding new algorithms.
| minimaxir wrote:
| It should be noted (and admitted in the blog post) that the high-
| level results from the new GPT-3 text-davinci-003 model and
| chatGPT should be similar, albeit without fancy syntax
| highlighting.
|
| Well, mostly. I tried the prompt in the OP into text-davinci-003
| and got this: const handleLogin = (e) => {
| e.preventDefault(); // check if the email and password
| are valid // perform login console.log(email,
| password); };
|
| Although that was with temperature = 0.7. temperature = 0.0 gives
| more reasonable results.
| candlemas wrote:
| Is this why Elon Musk is firing so many programmers at Twitter?
| throwjlkjlk33 wrote:
| ChatGPT has the IP problem with fast inverse square root again,
| like Copilot did: https://i.imgur.com/BqYSq7C.png
| alexb_ wrote:
| That is not ChatGPT.
| scottomyers wrote:
| No, but this is https://i.imgur.com/YGsYDlu.png
| muttled wrote:
| Did the code work?
| lucasmullens wrote:
| It looks correct from what I can tell.
| onemoresoop wrote:
| The trouble is that it doesn't know where it copied from.
| chironjit wrote:
| Just got kicked out of it an hour ago because it's too busy now.
|
| Been playing with it the whole day - got an idea on how to fix an
| old bug in an old programme of mine(that is still running).
|
| But, here's the thing, how good it is depends on the available
| knowledge out there.
|
| I've now tried, js, python, solidity, appscript(not tested the
| code), Excel and google sheets.
|
| When you're building common js, python, etc stuff, it's really
| handy to have one screen that basically gives you the answer
| rather than having to google it, parse through the posts, etc.
|
| However, if you're on the bleeding edge of tech, or looking for
| more obscure topics, it really starts showing its limitations.
|
| I managed to run into that for example looking for Jupiter
| notebook commands, optimisations, versioning (giving me python2
| results instead of python3 with obsolete/unmaintained packages).
|
| Its limit is basically what has been created and knowledge
| already available.
|
| Depending on what you're building, would suggest understanding
| what you're copy pasting and possible vulnerabilities that may
| arise from the code.
|
| Overall, I'm sold - defo wouldn't mind paying 20 to 40 a month
| for this. If it's pricier, not so sure.
| sasha_fishter wrote:
| We just had conversation about this in the company. I think it's
| a good way to give us the code that we know how to write but we
| waste some time to do that. I.e. I needed function that changes
| the index of the array, so I asked chatGPT which gave me correct
| function. I know how to do that but I need some time to think and
| to test it out. This is just a augmentation of the programming,
| tools that help us write better code.
|
| Maybe it can substitute StackOverflow, we will get better and
| faster code / explanation. But in the next 30-50 years, who
| knows. I guess it can write a lot of code for us, maybe we will
| be obsolete in that period of time, but as we know, prediction of
| the future often times goes really really wrong.
| nonameiguess wrote:
| I highlighted your prompt and clicked web search from the context
| menu and got this out of DuckDuckGo:
| https://www.educba.com/react-login-form/
|
| It's annoying blog spam that will hijack your attempt to scroll
| back with a modal asking you to enter an e-mail and subscribe,
| but it seems to be roughly the same thing, except the entire
| article appeared at once and I didn't need to interact with it
| and wait five minutes for the full answer.
| BoiledCabbage wrote:
| And in a similar vein:
|
| We've come up with a new pedagogical method to teach 4 year
| olds arithmetic. With two months of study they can easily
| multiply two 15 digit numbers in their heads.
|
| Well I can multiply those two numbers in a calculator to get
| the same result, and I don't have to feed or take care of it.
| renewiltord wrote:
| You can ask it to modify the program and it will. I asked it to
| add chocolate to a recipe.
| TurkishPoptart wrote:
| I would like to use this, but I find it weird that it requires a
| phone number to use.
| kelnos wrote:
| I wonder if this is lifted from a React tutorial, or if it is an
| amalgamation of other things.
|
| The big question is: whose code is this? Is it, verbatim, someone
| else's copyrighted code (assuming a snippet like that is novel
| enough to be copyrightable)? Or is it derived from someone else's
| code? And if it's derived, is it a derivative work in the legal
| sense, or is it no more derivative than if a human had read a
| tutorial or some documentation and then later written code like
| it?
| Wronnay wrote:
| Wow
| [deleted]
| satvikpendem wrote:
| I've done the same thing, first thing I tried with ChatGPT:
| https://imgur.com/a/d8LZicq
|
| Prompts:
|
| - Write a simple CRDT implementation in Swift
|
| - How can I make a GraphQL server using Rust using the async-
| graphql and actix-web libraries?
|
| - Write code to create a Dropbox clone in Rust
|
| - How do I make an HTTP request in Javascript?
|
| However, just like with Copilot, it can introduce subtle bugs.
| For example, in the Dropbox example, notice how it uses
| synchronous code in an async function. Also, longer prompts will
| reach the token limit and get cut off.
|
| Interestingly, this must be what Replit is also using for their
| AI codegen service too (https://replit.com/site/ghostwriter)
| since I believe they have some connection to OpenAI, as they got
| early access to OpenAI's service last year with their previous
| Codex product (https://blog.replit.com/codex).
| ignoramous wrote:
| > _I believe they have some connection to OpenAI_
|
| Sam Altman <--> Paul Graham <--> Amjad Masad might be it.
| satvikpendem wrote:
| Ah that would make more sense.
| dcolkitt wrote:
| The problem with GPT is that it seems to be in an uncanny
| valley, where it's smart enough to be convincing but not smart
| enough to be completely accurate. So using it is often _lower_
| productivity than just writing from scratch because you have to
| spend more time carefully going over every line of code for
| subtle errors.
| satvikpendem wrote:
| Indeed, I use Copilot as a glorified autocomplete, just for
| the next line or next few lines, which I then go over.
| Usually it saves time because it's what I was gonna write
| anyway.
|
| I never use it for full function generations, they're almost
| never correct.
| ilaksh wrote:
| ChatGPT is much better as far as I can tell.
| Fiahil wrote:
| Don't forget tests and documentation, which is something
| copilot is really good at and can really improve a
| codebase.
| revskill wrote:
| This seems like the ideal friend's developer, who can
| intelligently search google for nearly perfect answer.
| tmaly wrote:
| This makes me wonder if the tech jobs or the future will fall
| into two camps:
|
| 1. those that can specify concise requirements for the AI
|
| 2. those that can check correctness of the code the AI generated.
| mprovost wrote:
| Most programming jobs now require someone who can specify the
| exact syntax to satisfy the requirements of a compiler (or
| interpreter) and basically nobody checks the correctness of the
| (assembly) code that it generates.
| AtlasBarfed wrote:
| compilers aren't AI programs, they have deterministic output.
| Well, usually, I'm not a C++ programmer.
| triyambakam wrote:
| 3. those who can build and maintain the AI
| hdjjhhvvhga wrote:
| This assumes people will still be willing to make their code
| public so that AI can train on it.
| satvikpendem wrote:
| With the amount of people using GitHub and Copilot
| (including me) even with all the controversy surrounding
| it, I'm sure the assumption will hold true. Most people
| simply don't care enough about their code to make it stop
| being trained on a neural net, and if they get benefits
| from it in the form of stuff like ChatGPT or Copilot, then
| they're even more so not gonna care.
| terminalcommand wrote:
| 4. Somebody somewhere will still find a legitimate use case
| to code in assembly and blow everyone's mind.
| tmaly wrote:
| 5. AI governance is likely needed.
| 317070 wrote:
| What makes you think you need people for that other than the
| ones in category 1 and 2?
|
| Building an AI is just like building a website. It can mostly
| be done by an AI as well.
| triyambakam wrote:
| I think that assumes AGI which I don't believe is possible,
| or anytime soon.
| riffraff wrote:
| you know what a concise requirement for the AI is called? Code.
| It's called code. [0]
|
| [0] quasicitation
| https://www.commitstrip.com/en/2016/08/25/a-very-comprehensi...
| WandaVision wrote:
| Somebody would then start an AI company which does 1 and 2
| then. What then?
| ilaksh wrote:
| Since I found out about this last night I have already used it to
| do most of the work of three (relatively simple) programming
| tasks in bash and JavaScript. One of them was a simple class
| needed to prevent skipping/reusing numbers in some process that
| multiple users were accessing (and could sometimes fail). The
| other was adding up and deleting some temp files in my specific
| directory structure. And then there was a certain way that I
| wanted to add a duration to a date and format it.
|
| For a few of them it made a small error of one line that I had to
| fix. But also in a few cases I was able to just reply that there
| was a bug and what it was doing incorrectly and to fix it, and it
| worked.
|
| It gave me code that was very specific such as using the methods
| as I named and described them in the request for the class.
| zug_zug wrote:
| I feel like I've mostly seen these AIs produce code on things
| that are mostly just copy-paste examples (login, fibonacci,
| primes). From a theoretical standpoint I'm only impressed if it's
| combining things to do achieve something that has no code example
| on the internet.
|
| From a practical perspective I do think a lot of programmers are
| doing copy-paste in their day jobs, which means they should be
| reusing existing code (I would imagine there are numerous
| reusable customizable login forms).
|
| ---
|
| For example I asked it this:
|
| Can you write a javascript function that takes a callback and
| returns the value of that callback, but returns a cached value if
| that function has been called less than 5 seconds ago?
|
| And it produces code that looks right but doesn't work (doesn't
| handle arguments, failing its own example implementation).
| However, upon reminding it to support arguments it does work. I
| guess this is actually potentially useful.
| dmd wrote:
| It's definitely not JUST doing copy-and-paste, though...
|
| https://shot.3e.org/ss-20221201_153225.png
| CrackpotGonzo wrote:
| Genuine question for everyone here: if you were switching careers
| from a non-technical profession to learning computer science,
| where would you focus? Do you have any confidence in which skills
| will be future-proof? Or is everything open to being automated
| and humans are just biding our time? :)
| xapata wrote:
| Theory has the longest shelf-life. (That's the name of a class,
| in many Computer Science curricula.)
| anupamchugh wrote:
| It's decent for some results, but almost meaningless in others.
| I'd asked it to build a SwiftUI VideoPlayer application which is
| 5 lines of code. But I got an old solution, and despite giving
| proper guidance, it failed colossally and printed garbage towards
| the end.
|
| Here's my convo with ChatGPT: https://imgur.com/a/eIjvh8C
|
| If the text and code are just random stuff making no sense then I
| wonder how different it is from the Copilot results (besides the
| convincing style of answers).
| throwawaygo wrote:
| This is the new threat vector. AI copy pasta. Gonna make pen test
| research way more fun. Just describe the website you're at and
| read the source code.
| batch12 wrote:
| Can it work to identify vulnerabilities? For instance, if you
| feed it code and ask it to find the vulnerability and provide a
| description of the issue?
| pred_ wrote:
| Here's a relatively simple example where it identifies and
| explains a buffer overflow:
| https://twitter.com/moyix/status/1598081204846489600
| layer8 wrote:
| That will lower the barrier to entry for attackers. The
| script kiddy equivalent of the AI age.
| yawnxyz wrote:
| Kind of; here's a couple of (somewhat related) examples:
|
| - Solidity contract bug:
| https://twitter.com/gf_256/status/1598104835848798208?s=20
|
| - Simple JS bug: https://twitter.com/bentossell/status/159826
| 9697371185153?s=...
|
| - Buffer overflow (though ChatGPT generated this one as a
| code example, and explains it): https://twitter.com/bentossel
| l/status/1598269719202521088?s=...
|
| - Explaining worst case bubble sort: https://twitter.com/bent
| ossell/status/1598269721882681344?s=...
|
| - Fixing a Kubernetes file: https://twitter.com/PhilipZe9/sta
| tus/1598303853719560196?s=2...
| alexb_ wrote:
| "in the style of a fast-talkin' wise guy from a 1940's
| gangster movie" is hilarious - I'm going to steal this and
| try other things to see what it gets me
| lzooz wrote:
| Does it really generate the text like that, little by little, or
| is that just a needless animation?
| jw1224 wrote:
| It's literally the model's output, in real-time. The GPT-3 API
| lets you turn streaming on or off, but if you don't enable it
| you have to wait much longer for the completion to finish
| entirely, before getting anything back.
| satvikpendem wrote:
| Yes because it's the way the AI's architecture works, it
| generates the next token in a phrase based on the previous
| tokens. You can see it happen in real time or you can wait
| until it's all finished.
| patwolf wrote:
| I asked it a question about how to do something with dates in the
| .NET Entity Framework, and it give me a long explanation with
| code of how rowversion is used for optimistic concurrency
| control. Completely unrelated to what I was asking.
|
| I did ask it something more basic: "how to use fetch to download
| and parse a csv", and the code was helpful, although not much
| different from what I could find with google/stackoverflow.
| However, this next part was what really impressed me. The results
| used Papa for parsing, so I then asked it to do it with csv-parse
| instead, and it worked! That seems like the advantage over
| something like Copilot--it has contextual history of the question
| which can be used conversationally to tweak the results.
| [deleted]
| superfrank wrote:
| > I asked it a question about how to do something with dates in
| the .NET Entity Framework, and it give me a long explanation
| with code of how rowversion is used for optimistic concurrency
| control. Completely unrelated to what I was asking.
|
| Sounds exactly like some of my co-workers :)
___________________________________________________________________
(page generated 2022-12-01 23:02 UTC)