← Back to context

Comment by relativeadv

3 days ago

Of course its fun. Making slop _is_ very fun. Its a low-effort dopamine-driven way of producing things. Learning is uncomfortable. Improving things using only your braincells can be very difficult and time consuming.

I have learned more - not just about my daily driver languages, but about other languages I wouldn't have even cracked the seal on, as well as layers of hardware and maker skills - in the past two years than I did in the 30 years leading up to them.

I truly don't understand how anyone creative wouldn't find their productivity soar using these tools. If computers are bicycles for the mind, LLMs are powered exoskeletons with neural-controlled turret cannons.

  • To extend the metaphor, which provides better exercise for your body? A bicycle or a powered exoskeleton with turret cannons?

    • I don't bike for exercise. I bike to get where I'm going with the least amount of friction. Different tools for different jobs.

      Also: I think we can agree that Ripley was getting a good workout.

The rate at which I'm learning new skills has accelerated thanks to LLMs.

Not learning anything while you use them is a choice. You can choose differently!

  • How are you using AI to learn? I see a lot of people say this but simply reading AI generated overviews or asking it questions isn't really learning.

    • I'm using it to build things.

      Here's an example from the other day. I've always been curious about writing custom Python C extensions but I've never been brave enough to really try and do it.

      I decided it would be interesting to dig into that by having Codex build a C extension for Python that exposed simple SQLite queries with a timeout.

      It wrote me this: https://github.com/simonw/research/blob/main/sqlite-time-lim... - here's the shared transcript: https://chatgpt.com/s/cd_6958a2f131a081918ed810832f7437a2

      I read the code it produced and ran it on my computer to see it work.

      What did I learn?

      - Codex can write, compile and test C extensions for Python now

      - The sqlite3_progress_handler mechanism I've been hooking into for SQLite time limits in my Python code works in C too, and appears to be the recommended way to solve this

      - How to use PyTuple_New(size) in C and then populate that tuple

      - What the SQLite C API for running a query and then iterating though the results looks like, including the various SQLITE_INTEGER style constants for column types

      - The "goto cleanup;" pattern for cleaning up on errors, including releasing resources and calling DECREF for the Python reference counter

      - That a simple Python extension can be done with ~150 lines of readable and surprisingly non-threatening C

      - How to use a setup.py and pyproject.toml function together to configure a Python package that compiles an extension

      Would I have learned more if I had spent realistically a couple of days figuring out enough C and CPython and SQLite and setup.py trivia to do this without LLM help? Yes. But I don't have two days to spend on this flight of curiosity, so actually I would have learned nothing.

      The LLM project took me ~1 minutes to prompt and then 15 minutes to consume the lessons at the end. And I can do dozens of this kind of thing a day, in between my other work!

      5 replies →

The OP is not talking about making slop, he's talking about using AI to write good code.