| Well, for example, in one afternoon, I have a parsing engine to understand, which is 9 pages of code. I thought I knew OCaml, having written a few interpreters in it, but I didn't know the {foo| |foo} multiline string syntax, I didn't know about Printf.ksprintf, I didn't know about Buffer.create, I didn't know about String.escaped, I must have once known about List.exists and List.rev_append and forgotten, I'd never thought of pattern-matching Array.to_list Sys.argv as a way to parse a command line, I didn't know about Sys.file_exists, and now I also have to think about what the parse result should look like and how to use it. And Claude correctly pointed out that the way I had thought about handling things like heredocs (or {foo| |foo} strings) would violate the preconditions for using the Packrat parsing algorithm, and suggested that I use the alternative approach of parameterized productions as in OMeta, which I need to think over. I think that was the same day I prototyped an approach to using Service Workers from localhost as a platform for persistent mobile apps that don't show up in the app list but also don't rely on the TLS CA system for their security. Which involved learning a lot of stuff about the Service Worker lifecycle and localStorage and IndexedDB that I didn't know before. It's just a lot. |
| |
| ▲ | zero_shift a day ago | parent | next [-] | | I have been prototyping some network proxies in a largely "vibe coded" fashion and it has been a mixed experience. It has definitely accelerated my learning: through the process of writing rigorous plans, I have learned so much about network programming... the intricacies of HTTP2, how to design a fast MITM proxy, performance pitfalls in SSL... These are things I studiously avoided learning for a decade, now demystified, mostly through Claude patiently rendering many figures and diagrams. And with Fable, I was able to ship a working Envoy Rust extension in a one-shot. On the other hand, my grasp on the details is tenuous. Every so often the agent can't progress and I am stuck for ideas, hitting different prompts like they were slot machines. I forget how to solve problems by myself. I can feel myself becoming supine and dependent on something I know is going to become more expensive, a dependency AI vendors will seek to exploit. It has happened quickly. I do not really consent; it is forced on me by my employer. | | |
| ▲ | kragen a day ago | parent [-] | | One thing I may try this week is typing in all the code myself. With the level of back and forth that I've been happy with so far, Claude Pro seems to only be able to produce about 1000 lines of code a day in two or three five-hour sessions. I can totally type 1000 lines of code in a couple of hours if no problem-solving is needed. So maybe I'll look at Claude's code, switch screens to my editor, and type until I don't know what to type, and repeat. Obviously there are higher-level design issues that I might not notice while engaging with the code at the byte-by-byte level, but I won't have the embarrassing problem I had a couple of weeks ago where duck.ai wrote me a CPU in Verilog, and after I tested it, I tried to write something in Verilog myself and couldn't even figure out how to write a syntactically correct XOR-gate module. (Verilator's parse errors are not designed as a Verilog tutorial, it turns out.) | | |
| ▲ | zero_shift a day ago | parent | next [-] | | An interesting idea, like crib notes. Forces me to pay attention, and exercises the mechanical memory of programming. I'll try it. | | |
| ▲ | jakzurr 18 hours ago | parent [-] | | Agreed. And typing it in takes much less time than almost anything done during coding/dev. |
| |
| ▲ | queenkjuul 14 hours ago | parent | prev [-] | | This hasn't worked out that well for me. I have to try to do it myself, do something wrong, and ask for an explanation of what i broke. Just typing doesn't leave me with any retention. |
|
| |
| ▲ | nlawalker a day ago | parent | prev | next [-] | | I assume that they don’t have time to do that, and are lamenting the fact that exercising those capabilities is no longer on the critical path to getting paid work done. | | |
| ▲ | kragen a day ago | parent [-] | | Although I could be wrong about this, I suspect you still need them, for the reasons I've described in this thread. |
| |
| ▲ | keeda 21 hours ago | parent | prev | next [-] | | Yes! The best part is, at any point they are right there to answer any questions, or to challenge or validate and experiment with any ideas! You can go down fairly deep rabbit holes in either case to understand a topic, and -- unlike any other medium other than a live human expert -- you can hone in only on the areas that matter to you most. Or you can just ask it to do something (as long as it's in the digital realm) and see for yourself what happens. I always say that since one of the best ways of learning is by doing and given that with LLMs we can do so much so quickly, we are in a golden age of learning for those who really want to learn. | |
| ▲ | kragen a day ago | parent | prev [-] | | I'm guessing you've written a well-thought-out, clearly expressed blog post about this that I would absolutely love to read, if only I knew where it was. | | |
| ▲ | simonw a day ago | parent [-] | | I've been formulating this idea for a while now, but I don't think I've written it up properly anyway. I should do that! | | |
|
|