I spent a couple of days putting together a JSON text editor in a modal dialog for a project I'm working on. I'm combining the Ace editor with the Bootstrap toolkit. I've used both components before, but never together. And they're always a bit tricky to get working because I'm impatient and the docs are spread out, and there are different versions. It's all kind of a mess, so you just get it working and move on, never quite sure why it works, and I rarely end up with reusable code. But it's certainly a lot better than starting from scratch, which basically is impossible, given the depth of the two components. After spinning my wheels a bit, I did what I always do in 2024, I turned to ChatGPT, outlined the problem, and asked if it knew of any sample code, which it proceeded to write for me, in about two seconds (not kidding about that). I copied their code and pasted it into my editor and ran it. It worked. Then I went through a number of iterations, restructuring the code to meet my needs, each time checking with ChatGPT, asking what it thought of my code. And of course there were problems, for example at one point there were two vertical scrollbars, and each time we worked together to figure out the problem and the fix. In the end, I have a solid editor that works exactly as I want it to, and best of all, I understand how it works. Here's the transcript of the work I did with it, over more than 24 hours, a few different sessions. #
I'll try to remember when this code ships as part of a product, to link to this perspective.#
Next up, I'd like to get it to understand my coding conventions, so when it shares code with me it can save me the step of having to convert its conventions to mine. In other words, I'd like to return the favor. It's doing a great job of teaching and coaching me. I'd like to teach it how to do that better, so we work better together over time. And perhaps it can teach human programmers what I've learned about programming in over 50 years of doing this work. #
A bit of philosophy. People say these things aren't intelligent, but seriously, if I can engage with it as if it were intelligent, far more intelligent in ways than I am, what's the difference between that and actually being intelligent? I know from a lifetime of dealing with supposedly intelligent humans, and being one myself, how rarely we focus on the idea that the person we're conversing with has an inner life that's vastly different from ours and no less complex, and contradictory. We tend to think of others as being like us, or like someone who raised us. Always in a movie, never in the moment. So why is it interesting that ChatGPT is a machine? These are questions thinkers and writers have been pondering for decades if not centuries, but -- now we're living it. I'm so happy to have made it this far! An amazing experience, so much learning in so little time. I don't understand how people can sit on the sidelines and not want to be the first to try all this stuff out, to be part of its evolution. I feel so lucky. #
A puzzling thing, in the transcripts I'm identified as "anonymous," but I am logged in. It must know my name. I bet this is some kind of setting which defaults to anonymous, to play it safe. #
One more thing. I copied and pasted the text above into ChatGPT. Here are its comments. A funny thing about ChatGPT is that you can't ask it how to use ChatGPT itself. It doesn't know about the chat UI? #
Yet another thing. I remember my father, when he was forced to retire by illness, said how fortunate he was that the internet was there, so he could be involved in the world even though he had stopped working. He said his father would have loved it, and I don't doubt that he would. Same with ChatGPT. My parents and uncles were always looking up stuff, wanting to understand how things worked. This is a whole new level. The machines are now far better at collaborating over the net than humans are. Where will that take us? Maybe this is something else we can learn from the machines. #
Last update: Sunday January 28, 2024; 6:38 PM EST.
You know those obnoxious sites that pop up dialogs when they think you're about to leave, asking you to subscribe to their email newsletter? Well that won't do for Scripting News readers who are a discerning lot, very loyal, but that wouldn't last long if I did rude stuff like that. So here I am at the bottom of the page quietly encouraging you to sign up for the nightly email. It's got everything from the previous day on Scripting, plus the contents of the linkblog and who knows what else we'll get in there. People really love it. I wish I had done it sooner. And every email has an unsub link so if you want to get out, you can, easily -- no questions asked, and no follow-ups. Go ahead and do it, you won't be sorry! :-)