Tell me to "Sit with that" and I'll bitch slap you
It's now automatic. Stop reading, close the video.I'll decide if the argument has given me anything to site with.Usually not.
These steps come from the division of responsibilities, which requires layers of abstractions and associated tooling, each in theory isolating a layer of the stack with nice I/O boundaries, but adding up to a lot of handling to get that SQL query painted in the browser.
Paradoxically, React/Next is the worst possible starting point if you want performance, yet the LLM will reach for it automatically.
This question occupies my mind: given the necessary drive to validate market fit, and with the LLM reaching for common solutions like React/Next and an ORM, among many others, what opportunity is present for those who seek market fit but also develop a simplified stack that offers better performance?
Sorry no C, Emacs. Just some database stuff.
Eventually I had to solve it by making a front-end framework where there is only one way to do anything. Now my front-ends don't diverge like that any more. But there is still that nasty CSS expansion...
Courtesy, compassion, empathy, kindness.
Forget the hypothetical cases from ethics classes. Look around at the people who cross your path and start there.
It's now automatic. Stop reading, close the video.I'll decide if the argument has given me anything to site with.Usually not.
It may be easier to describe "what I'm really talking about" by going more concrete. For a browser app, we have two declarative languages and one imperative. A tool like React with jsx allows me to think entirely in terms of code, folding the HTML into code, and tying off CSS to be dealt with on its own. It's a delightful simplification at first glance, that happens to leak like a sieve and forces people to become React programmers instead of browser programmers. I tend to think it is successful because it lets us think in terms of telling the computer to do things, and imposes no required mental model on how you craft your components. React says, "make it more imperative, use more code, think of your HTML in terms of code."
So I go the other way, where I add data binding attributes to HTML. A server request that modifies data always gets a response in terms of data that a small bit of framework code uses to update the DOM according to the data bindings. It is highly constrained in the same sense as SQL, there is only a small fixed set of allowed operations.
This is what I mean by declarative. My HTML data binding attributes say what should be displayed, no app code required. Naturally there are more details, but that should make the idea clear. The driving motivation is performance and developer ergonomics. Performance is amazing. Ergonomics, I can't say - it's easy for me, but I wrote it.
But solutions like these do not gain traction usually. I believe it is because people prefer the open-ended nature of React, which does not require a mapping exercise into the supported patterns before it can be used.
This is probably what I was trying to say about declarative vs imperative. React does not constrain my choices (not at first glance), and allows me to mix declarative HTML into my code. I can write any code I want, and like an LLM, I can fix anything with more code. Declarative solutions, like my own HTML data binding attributes, constrain the user to fixed supported patterns, which may not map to how the programmer thinks of the problem.
Foxpro's local DB handling was amazing at pulling down tables, doing complex bulk operations, and pushing the changes. Data transfer was fast, coding ergonomics were great. On top of the extremely low-cost UI creation, it was a no-brainer.
But expectations were changing, everybody wanted to run it everywhere. Citrix bought some time, but the writing was on the wall.
I started hacking with TRS-80 Basic long ago. By the time I went pro in my early 20's, I had already developed a strong preference for declarative systems, so much so that I would from time to time create one if it made the solution at hand more robust. Having studied Physics instead of CompSci, I came to this preference outside of any knowledge of the existing arguments for/against or the...
For tools and architecture,I design data structures and let the LLM write the code, in small steps. Lots of discussion with the LLM. What Cory Doctorow calls centaur mode - a human mind augmented with a more powerful body. Applies to side projects and $DAYJOB.
For applications, I rewrote a framework of mine that I used 2003-2009. It is highly constrained so the LLM has few options to improvise. I can just tell it what features to add and it adds them without much in the way of slop. I still find code repetition which I just tell it to clean up.
We think we need perseverance when we get discouraged. Setbacks, dead-ends, conflicting priorities, all of these are discouraging. Too many at once or for too long, we get discouraged and doubt the endeavor.
Maybe the endeavor is not really yours. Maybe the other demands truly require more of your attention to lay them to rest, then you return to it.
"Inspiration" is snake oil offered to your lesser self, the self that wants to be on the mountaintop all the time.
All else being equal, the organization that can leverage the improved code maintenance tools has an edge, but a small one. Code is only part of the winning package.
It's great for learning to keep it lean.
Funny thing, 12 years later I met my wife on the zombified corpse of cupid. So... go figure.
In the context of side projects, I've come to these rules for code and text:1a) Code gets minimal review so long as I've architected the solution, built around the correct data structures (I've heard the code writes itself if the data structure is correct), and have specified the shape of the tests.1b) Tests I review to check for overfitting, cheats, etc.2) Comments in code can be chock-full of...
"Talk Like Claude Day" is proposed as a joke holiday in which participants would endeavor to communicate as if they were an Anthropic LLM. Participants would compete to cleverly combine "Claudisms" in novel and unexpected ways, and in novel and unexpected contexts.
The novelty is the real thrust - and it has teeth. Extending Claudisms to novel situations is what produces the humor. This is about fun, not work.
But what I really should have included was the benefits, because they are load-bearing. The humor here masks a purpose and process that underpin the proposal. As the robot overloads render us all into a permanent underclass, it is necessary to give that underclass outlets. Humor is well known to work - that is the purpose - to keep the new underclass from grabbing the pitchforks. The process rests upon the tendency of people to imitate their conquerors, combined with the remedial value of allowing satire to be directed at the powerful. Process satisfies purpose by allowing the permanent underclass of irrelevant humans to believe they have the freedom to mock their new overlords.
I hope I have cleared up any confusion caused by my earlier confusing points.
But one thing to keep in mind, we still have not cleared up the definition of what a "day" is. Shall I write that up now and add it?
> yes, write up the new complete post
In the US we have a joke holiday, "Talk like a Pirate Day". I propose "Talk like Claude day". I wrote this, it is not LLM generated.Yes, this is actually people talking like a computer, not a computer talking like people. Sit with that for a moment.There are two outcomes for production use, and both are very bad.*Emphasis Inflation*. Humans will be required to use lots of *bold stuff* in...