Posted by gmays 3 hours ago
Sorry it's a bit of an aside, but I imagine many other otherwise "technical" folks feel the same unfamiliar sense of total loss like when encountering hard mathematics.
Cache, stack, heap, process, thread, socket, file, tcp, http, tls, websocks, socks, soc2???, deadlock, stack, queue, race, atomic, event loop, coroutine, async, database, transaction, index, replication, sharding, consistency, serialization, DNS, load balancer, container, namespace, and so on.
Every sub fields (web/kernel/backend/etc.) has a million/bazillion weird words used in a dozen different contexts and if you read a paragraph of even semi technical software text you will feel like an over stuffed turkey.
Even cache could mean the CPU caches, the page cache, a browser cache, a CDN cache, a Redis cache, or imagine the flurry of words we have that have real world meaning. Session, handle, pool, buffer, stream, channel, event, task, worker, or queue. Generally there is some overlapping meaning but often there isn't.
Learning anything in maths requires weeks of hard effort, learning enough to be broadly comfortable in how an 8086 CPU works can be done in a weekend.
I mean, we do for some things, especially algorithms (Boyer-Moore). Probably for the same reason the mathematicians do -- there aren't readily available real-world analogies.
And I won't even mention the branded future, with its "Google HyperZipper String Search" and "OpenAI/Red Bull speedmaxx distributed consensus algorithm"...
Nah, math is much harder because there is not just the lingo, but also all the math machinery behind it. Each math definition represents some long process behind it, which builds on another process, etc. The knowledge builds on itself , too much more so than computer science.
Similarly, at some point somebody pointed out to me "the reason you're confused is that the bold on that variable means it's a matrix"
whether he succeeded, is debatable. But APL is definitely powerful, succinct and "regular".
In APL you don't infer the operation from the types at all. × is elementwise, +.× is inner product /always/, on scalars, vectors, matrices, whatever. The glyph tells you what happens. Nothing is bold, nothing is inferred, nothing depends on what your professor assumed you'd absorbed.
I've been trying to get into Iversonian languages myself with the book: Calculous on J
https://www.jsoftware.com/help/learning/23.htm is the closest i've found, but wondering if i'm missing something perhaps, Julia?
tyvm
A decade or so ago I wondered if the reason maths was hard was the names being optimised for writing by hand. Everything's single letters if they can get away with it, so when mathematicians run out of Latin alphabet, they use Greek, bold, etc.
Even integration's ∫ is a fancy elongated s.
CS version would be e.g. integral(function=some_named_function, from=a, to=b, with_respect_to=argument_of_function), which may be longer, but is less opaque, especially when you get in so deep there's 3 other people in the world who've looked into this specific problem and you had to invent your own operations.
But that's all an outsider's perspective. I stopped with two A-levels in maths and further maths.
e.g. to use a very simple example on a white board "3" is "overloaded" as:
- the integer 3
- the rational number 3
- the whole number 3
- etc
When you write a proof in Lean, you have to specify the the type of "3" you mean.
Having using Python/Perl and Java over the years, I get that some math folks found handling this daunting or at a minimum friction to getting into using Lean.
LLMs seem to have been a big help here just for the "translate my math notation into a proof" feature.
but then I take a look at literally anything the Haskell people do and realize that it probably wouldn't have helped.
This is one of the great things about Lean becoming used for more and more mathematics: understanding exactly how an operator/function is defined is just an IDE click or few away. It completely removes the ambiguity present in hand-written proofs, although it still can require a lot of reading to actually meaningfully understand the definitions.
That, as well as how long we've been doing it (thousands of years!) and so how much of the more accessible parts we've explored very thoroughly.
Computer science/engineering strays from this, binary systems don't really track nature much, and hence a lot of their own unrelateable nomenclature arises, and then there is math, which is just way far out there on it's own plane of existance.
I like to emphasize that the ideas are usually very simple at their core. Sometimes they map to kinds of objects or reasoning that non-mathematicians use implicitly all the time in their daily lives, mathematicians just have words for them and so are able to use them explicitly.
And I suspect the density of the language/terminology may give the wrong impression about how mathematicians think about the math they are working on. I mean, different people think / experience / practice math differently of course but IME the underlying thought about a particular problem tends to be much looser and concrete than formal math writing would imply.
That more formal language is needed of course because at the end of the day, it is how we communicate our thoughts in the way that other mathematicians can understand them, not to mention how we can check our own thinking
"The special fiber is the associated graded ring.....and that the filtration admits sufficiently simple homogeneous lifts of the three generators, then one might prove"
In any other context I would at least have some degree of intuition about what is being discussed, but in in math? Absolutely no idea. And usually if I start digging and turning over stones to uncover meaning, I'm just met with even more totally dense code-word language. Unlike other fields were digging is usually quick to relieve ignorance, somehow in math it tends to get worse.
I'm sure I am capable of grasping this if I took the time, and perhaps even what is being discussed it rather intuitive, but the incredibly density of the nomenclatic swamp you have to trudge through for math is totally unrivaled.
One unfortunate feature of published pure math research is that often the ideas are quite accessible and straightforward and don't really require special abstractions or terminology, but those get used anyway because for someone who already has a math PhD it saves a bit of effort.
Big wrapping operations like sums, integrals, and matrices, then what's nearby them, give you a very good idea of where things are going context wise.
Some areas are hard in different ways. I could never quite wrap my head around the way logicians have to think. A clever combinatorial bijection is a work of art you probably can explain to a undergrad class easily but good luck coming up with it. And number theorists will throw the kitchen sink at their problems: no area of math is safe from getting used by them.
People who do this have spent years of their life thinking in this language and studying it, so it is going to be hard. We're also not good at communicating the intuition which for algebraic geometry often comes from other fields.
I'm sure having a compact notation is absolutely invaluable for people who dedicate their lives to maths, but for someone with just a passing interest, I find it more obscuring than helpful. I feel the same way about music notation.
Many mathematicians do what you do as well!
Math isn’t necessarily hard, but it’s incredibly dense
A simple statement like let f(x) be a continuous function can carry a lot of definitions
In that statement, if you missed the day in class where they covered continuous functions it might not even register that it’s a well defined term
And that’s the most over simplistic example I could think of
As a math major, I remember that being one of the first lessons I learned, that every single word could be carrying a lot of weight so to look things up in detail if I was ever struggling on a problem. One of the oldest entries in my memory.md file
```
A question is salient to the degree that its answer changes what we do next. Operationally, saliency = the product of four things:
- Decision-leverage — would resolving it one way vs another force a different design or invalidate a stated decision? (No leverage → drop, however interesting.)
- Residual uncertainty given current evidence — is it still genuinely open after reading the docs and the code? (Already settled → drop, however deep.)
- Load-bearing-ness — how much rests on the premise.
- Cost of finding out late — architecture-deciding / expensive-to-unwind raises priority; cheap-to-fix-later lowers it.
```
There are a few things to note about this prompt
1. There is no reason from looking at it that it should work, it even has the word load-bearing which people loathe, but it remarkably produces a stable design with questions from claude (atleast from claude Opus 4.8 and even better from Fable5). Otherwise the design document claude likes to really write are implementation level(code or otherwise). I usually pair this with matt pocock's grilling skill to make claude behave.
2. From design -> implementation, its is generally about understanding when claude is trying to trick you into making something sound like a good/easy solution but has tons of untested assumptions. Here you have to read and patiently spot if a how you would get to the solution is not clear. A common error here are when claude makes a big deal based on what it read and interpreted too seriously without questioning the assumptions.
But it also comes down to your experience as a SWE, much like a mathematician's. The frustrating thing about it is, it feels tha a skilled mathematician working with AI can make them productive in ways that are more reliable as compared to a SWE (e.g. lean is deterministic and can provide very strong feedback and LLMs are very good at using that feedback). Maybe a mathematician can chime in on that?
The first one was someone proving another conjecture false by just repeatedly saying "keep going" to ChatGPT: https://x.com/DmitryRybin1/status/2079904005652893709
What a world we live in.
LLM: This package hasn't made it to production.
ME: are you sure? i see it right here!
LLM: You're right to push back. I inferred that based on weak data. I see now that the package has been deployed!
If the above conversation is typical for me, how could one expect to achieve a sound result by repeatedly prompting an LLM to simply "keep going" in dense mathematical proofs? Perhaps the user in this case had actually checked the LLM's work before issuing the prompt, but I think you see my point anyway.
For posterity, this indeed works for most problems where an agent might give up. LLMs don't inherently know something is impossible.
The phrase I tend to use in my harder prompts to automate this with a sane loop breaker:
> **REPEAT THIS PROCESS UNTIL CONVERGENCE AND YOU ARE OUT OF OPTIMIZATION IDEAS.** You have permission to keep iterating.
"Worked for 88m 24s... >"
"<h1>Complete finite counterexample</h1>"
...
> You should do a breakthrough
This is just as funny and ridiculous as those "make no mistake" prompts.
without someone independently verifying it, it just dangles there
...
I started using "[leave-open" for those.
It lasted for a couple of years, until someone went through and "fixed" them all.
I can use AI for coding after decades of coding. I can't use it for theoretical physics because I can't evaluate the responses.
That is what will happen though to future generations: they won't be able to use it for anything because none of them will have the "decades of coding" experience that you have had the privelege to have without AI.
1. The counter example wasn't just a brute force selection, the polynomial is structured in a very specific way that ends up getting the result.
2. Terry Tao's questions are very specific and prompts the AI in a useful way, that without high math training you are not going to get the same information out of it. Terry seems to see some aspects of the problem and counter example and uses AI to brute force some parts of it.
At the end of the day, even if they are some insane oracle (pun intended), they're still bounded by training data and how it relates to the real world. Even if they're a near perfect tool, we are still the interface between them and our lived experience. If that stops being the case then why do we care about the output?
This assumes it doesn't graduate to just killing all of us and doing it's own thing, but within this paradigm it doesn't really have goals.
A community of those who distract themselves from the perfectly fixable problems in their lives corruptly self-evaluates. They validate each other's stagnation and unwillingness to move by finding flaws in each day that will enable shutting off the flow of any new data while condemning the world and any actions in it. The lay-z-boy they collectively protect appears as corroboration with a broad population but is in reality a repetition whose independence is meaningless since they are all copies of one system, one kind of person in the same kind of trap.
Immobile. Clogging the Suez with their sandbagging ways. Nothing to add except reasons to stay put. No aspiration. Only cynicism. They deserve nothing but all of our contempt.
Just awesome to see new knowledge hit an incredible mind like this. Having these "what if" discussions is what I miss most from JPL and academia.
Another satisfied customer!
"What am I going to do with these?"
"Try to trade them up for a Volkswagen?"
High IQ bros.
a) The model thinks on some questions while straight answers on others. (I wish I'd knew from the questions if this is somehow correlated to hard tasks or "inventive" tasks, but that's way out of my league).
b) The model sometimes pushes back. Again, I'd wish I knew if it was warranted, but I counted 2 instances where it said "yes, but with caveats", one where it said "mostly yes but with this correction" and one where it said "careful here, because x y z".
c) The model did q&a + pdf ingestion + code writing + more q&a + thinking + more q&a, for a looong while, while seemingly staying on topic (at least Terrence Tao seems to think they're still productive, so I'll trust that).
This is what model progress is, not number goes up on xBency or yBencher. Damn.
It's actually a bit annoying because it primes you to think that the caveats are real, but most of the time it's just something terribly obvious and not a real caveat, but the model probably has some system prompt that tells it to always consider caveats or something like that.
Same as the model starting every reply with a commitment to be "honest". LLMism are fun but I tend to just suppress them via AGENTS.md because they distract me
Where will we be in another 4 years? What a time to be alive!
Possibly somewhere amazing, but see also: https://x.com/pronounced_kyle/status/1768852493092680036
What image hosts work for you? Imgbb? Postimages?
/s