Has anyone else had the experience of dreading a session with Claude, because his personality is often chirpy and annoying; he's always got positive things to say; and working with him as the main code author actually takes away one of the joys of being a programmer -- the ability to interact with a system that is _not_ like people -- it is rigid and deterministic, not all soft and mushy like human beings.
When I write piece of code that is elegant, efficient, and -- "right" -- I get a dopamine rush, like I finished a difficult crossword puzzle. Seems like that joy is going to go away, replaced by something more akin to developing a good relatioship with a slightly quirky colleague who happens to be real good (and fast) at some things -- especially things management likes, like N LOC per week -- but this colleague sucks up to everyone, always thinks they have the right answer, often seems to understand things on a superficial level, and oh -- works for $200 / month...
What bothers me is this: Claude & I work hard on a subtle issue; eventually (often after wiping Claude's memory clean and trying again) we collectively come to a solution that works.
But the insights gleaned from that battle are (for Claude) lost forever as soon as I start on a new task.
The way LLM's (fail to) handle memory and in-situ learning (beyond prompt engineering and working within the context window) is just clearly deficient compared to how human minds work.
And the thing is all these “memory features” don’t help either because the “memory” is too specific either to the task at hand and not generalizable to all things, or it is time bound and therefore won’t be useful later (eg: “user is searching for a new waterbed with flow master manifolds”). And rarely can you directly edit the memory so you are stuck with a bunch of potential nonsense polluting your context (with little control when or why the memory is presented).
The reason these tools haven't achieved greatness yet is because 99% of us are struggling at work with domain knowledge - how does this special project work in the frame of this company. If an AI tool is unable to "learn the ropes" at a specific company over time, they will never be better than a mid-senior developer on day 1 at the company. They NEED to be able to learn. They NEED to be able have long-term memory and to read entire codebases.
Yes, it's a common problem. There are 'memory' plugins that you can use to collect insights and feed it back to the LLM, but I tend just to update an AGENTS.md file (or equivalent).
The amount of time spent churning on workflows and setups will offset the gains.
It's somewhat ironic the more behind the leading edge you are, the more efficient it is to make the gains eventually because you don't waste time on the micro-gain churn, and a bigger set of upgrades arrives when you get back on the leading edge.
I watched this dynamic play out so many times in the image generation space with people spending hundreds of hours crafting workflows to get around deficiencies in models, posting tutorials about it, other people spending all the time to learn those workflows. New model comes out and boom, all nullified and the churn started all over again. I eventually got sick of the churn. Batching the gains worked better.
Missing in your description is that at least some of that work of "people spending hundreds of hours crafting workflows to get around deficiencies in models, posting tutorials about it, other people spending all the time to learn those workflows" is exactly what informed model developers about the major problems and what solutions seem most promising. All these workarounds are organically crowd-sourcing R&D, which is arguably one of the most impressive things about whole image generation space. The community around ComfyUI is pretty much a shapeless distributed research organization.
Where do people on HN meet these devs who are willing to do this sort of thing, and get anxious about being 3 months behind the latest and greatest?
In my world, they were given 9 years to switch to Python 3 even if you write off 3.0 and 3.1 as premature, and they still missed by years, and loudly complained afterwards.
And they still can't be bothered to learn what a `pyproject.toml` is, let alone actually use it for its intended purpose. One of the most popular third-party Python libraries (Requests), which is under stewardship by the PSF, which uses only Python code, had its "build" (no compilation - purely a matter of writing metadata, shuffling some files around and zipping it up) broken by the removal of years-old functionality in Setuptools that they weren't even actually remotely reliant upon. Twice, in the last year.
You just need to be a frontend dev in a very overstaffed team (like where I work) and then you need to fill up your day doing that and creating a task per every couple of line changed, and require multiple approvals to merge anything.
It takes me ~1 week to merge small fixes to their build system (which they don't understand anyway so they just approve whatever).
This statistic looks really bad but a large number of subway stations are very close to each other, so it's rather easy to find an alternative accessible station somewhat nearby in many cases (especially in Manhattan)
When the MTA prioritizes accessibility projects they take this into consideration and prioritize stations that have few options for alternatives.
I also think it’s funny that people bring up NYC transit accessibility statistics when it’s not like the cars that people are forced to drive in just about every other city are accessible.
And of course there are different types of disability. You’d much rather be blind in NYC than blind in Omaha Nebraska in regard to your ability to get around.
The NYC buses require you to take the kid(s) out of the pram and fold it up. A total PITA
Another kvetch: using car seats in taxis. Maybe it's different now with Uber but 20 years ago the drivers hated it because you have to find the seat belt and secure the car seat...
NYC parents already know this and have strollers that fold up to backpack size. The stroller market has progressed incredibly in recent years, there are strollers designed to fold with only one hand.
Ubers/taxis with car seats are no big deal as long as you’re quick about setting them up. And even then, kids are only in full blown car seats for a few short years.
Now that I think of it, if using damped springs, the system would not be reversible. Energy is dissipated through the damping, and the system will increase in entropy and converge on a local energy minimum point.
Another way of looking at it: there are 4 states going in (0 or 1 on 2 pushers) but there are only 2 states of the 'memory' contraption, so you lose a bit on every iteration (like classical Boolean circuits)
You know the initial conditions, the position function x(t), the velocity function v(t), and acceleration is constant. Why can't we evaluate the state at any point in time without having to calculate previous states?
A deterministic system isn't a necessary or sufficient condition to be able to calculate a particular future state without calculating intermediate states.
It just happens to work for the system you propose, not all systems of that class.
Very cool! I've often wondered whether one could procedurally generate sounds of objects interacting in a physics engine? This approach seems like a good place to start.
Same here! Not a physics engine per se, but I've been eyeing Taichi Lang (https://github.com/taichi-dev/taichi) as a potential next stop for running this on a much larger scale.
My assumption has been that any physics engine that does soft-body physics would work in this regard, just at a much higher sampling rate than one would normally use in a gaming scenario. This simulation is actually only running at 22050hz, rather than today's standard 44100hz sampling rate.