One of the hardest problem in programming is naming your variables correctly.
I love chaining because it reduce the number of occurrences of that problem.
HN user
One of the hardest problem in programming is naming your variables correctly.
I love chaining because it reduce the number of occurrences of that problem.
"What Elon Musk think or at least pretend to think" is indeed an useful/interesting piece of information, and I don’t see why a commentary on it is necessary or particularly useful ?
I mean, I can do the "critical reading of CEO claim" part myself, thank you very much.
And it’s not just CEOs. Politicians, spokepersons of foreign nations, academics, journalists also do that "X said a thing" thing. It’s perfectly fine. I don’t need or desire the personal take of the journalist on that declaration. They have opinion pieces for that.
versitygw is the simplest "just expose some S3-compatible API on top of some local folder"
Why would I pick this over established players : Maddy, Mox, Stalwart ?
You’re just doing brute force, but with extra steps. It turns out that partial collisions are more common than you think, and it’s not particularly hard to find some.
Here, a 186-bits partial collision, found in less than two minutes on my CPU, by brute force :
sha256(cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4b897f4a0000000000) = 692207e28eb8dd3eb4f8fab938ea5103faa1060c3bbed204f564e10c65d06b33 sha256(cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4be8c33e0000000000) = 006347a21f7c9b3eb4fa52b75d0e5a03dbe556b579d6d2867d44c38c06546f6f
(in Python :
>> hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4b897f4a0000000000")).hexdigest()
'692207e28eb8dd3eb4f8fab938ea5103faa1060c3bbed204f564e10c65d06b33'
>> hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4be8c33e0000000000")).hexdigest()
'006347a21f7c9b3eb4fa52b75d0e5a03dbe556b579d6d2867d44c38c06546f6f'
>> a = hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4b897f4a0000000000")).digest()
>> b = hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4be8c33e0000000000")).digest()
>> sum((x^y^0xff).bit_count() for (x, y) in zip(a, b))
186
)
Intuition pump : the expected number of equal bits for two random inputs is 128.
Yes it should, because hopefully errors are logged and reported and can be acted upon. Missing name doesn’t.
It was goofy and fun-looking when the first blog did it.
Now that everyone and its dog does those "goofy" illustrations, I find them insufferable.
I think you should clearly spell out how the key is derived.
From the description, I believe it's random string hard-coded in the executable + user-provided password => AES key ?
Also… "full offline", but "my API is on a digital ocean droplet" ? What ?
(I guess the API to generate a .exe with its own random string ? But again, very unclear of what it is, what’s it’s doing, and how)
Operational concerns trumps raw performances most of the time. Stored procedures live in a different CI/CD environment, with a different testing framework (if there’s even one), on a different deployment lifecycle, using a different language than my main code. It is also essentially an un-pinnable dependency. Too much pain for the gain.
Now, give me ephemeral, per-connection procedures (call them unstored procedures for fun) that I can write in the language I want but that run on provider side, sure I’ll happily use them.
That was my first thought, an aimless dialogue is going to go toward content-free idle chat. Like humans talking about weather.
They failed hard with Claude 4 IMO. I just can't have any feedback other than "What a fascinating insight" followed by a reformulation (and, to be generous, an exploration) of what I said, even when Opus 3 has no trouble finding limitations.
By comparison o3 is brutally honest (I regularly flatly get answers starting with "No, that’s wrong") and it’s awesome.
Mostly males. I’m French and "Claude can be female" is a almost a TIL thing (wikipedia says ~5% of Claudes are women in 2022 — and apparently this 5% is counting Claudia).
A priority was to make setup and trial easy for non-technical users
That’s a very strange priority. Why would non-technical users would be interested in a file format and a Python library ?
Yes. This is partly why this article is crap. k*G is never defined, and is the core operation in ECC (also: the article insist on using an elliptic curve in R, but you need to do it on a finite field, because on a smooth curve you can just use a smooth interpolation to solve the logarithm — and obviously once you go on a finite field the curve no longer looks nice, it’s just a seemingly random cloud of points).
Very roughly speaking, putting the complication of "point at infinity" problem under the rug, a characteristic feature of a EC is that a straight line passing through two points on the curve will pass through a third point on the curve (yes, unless you take a vertical line, point at infinity). So you can define an "addition of points on the curve" : take two points A and B, draw a straight line passing through them, name the third intersection point between the line and the curve C, declare A + B = C (actually there’s a symmetry around the x axis involved for the usual properties of addition to hold, another complication, let's sweep it under the rug too).
(for A = B, take the tangent of the curve at A ; in R you can see that it works because you can take the limit as B goes arbitrarily close to A : that gives you the tangent ; in a finite field that’s less obvious but the algebraic proof is the same)
So k*G is just G + G + ... + G, k times.
If you want more details, your favorite reasoning LLM can do a better job explaining what I’ve swept under the rug.
Remember that input tokens are quadratic with the length of the conversation, since you re-upload the n previous messages to get the (n+1)-nth message. When Claude completes a task in 3-4 shots, that’s cents. When he goes down in a rabbit hole, however…
2200 lines. Half of them unit tests I would probably have been too lazy to write myself even for a "more real" project. Yes, I consider $20 cheap for that, considering:
1. It’s a learning experience 2. Looking at the chat transcripts, many of those dollars are burned for stupid reasons (Claude often fails with the insertLines/replaceLines functions and break files due to miss-by-1 offset) that are probably fixable 3. Remember that Claude started from a really rudimentary base with few tools — the bootstrapping was especially inefficient
Next experiment will be on an existing codebase, but that’s probably for next weekend.
I decided to try seriously the Sonnet 3.7. I started with a simple prompt on claude.ai ("Do you know claude code ? Can you do a simple implementation for me ?"). After minimal tweaking from me, it gave me this : https://gist.github.com/sloonz/3eb7d7582c33e95f2b000a0920016...
After interacting with this tool, I decided it would be nice if the tool could edit itself, so I asked (him ? it ?) to create its next version. It came up with a non-working version of this https://gist.github.com/sloonz/3eb7d7582c33e95f2b000a0920016.... I fixed the bug manually, but it started an interactive loop : I could now describe what I wanted, describe the bugs, and the tool will add the features/fix the bugs itself.
I decided to rewrite it in Typescript (by that I mean: can you rewrite yourself in typescript). And then add other tools (by that: create tools and unit tests for the tools). https://gist.github.com/sloonz/3eb7d7582c33e95f2b000a0920016... and https://gist.github.com/sloonz/3eb7d7582c33e95f2b000a0920016... have been created by the tool itself, without any manual fix from me. Setting up the testing/mock framework ? Done by the tool itself too.
In one day (and $20), I essentially had recreated claude-code. That I could improve just by asking "Please add feature XXX". $2 a feature, with unit tests, on average.
Ironically, you exemplify the standard of discourse that the rationalist spaces of discussion like lesswrong strives to go above, which is what makes them so valuable.
Loaded question (well, affirmation), on a confident sneery tone while using poorly defined terms ("essential humanity") and very poor comprehension of object-level facts of the ground ("Markov chains"). And no sign of even trying to understand the other side, just trying to score rhetoric points on a internet board.
I don't think most rationalists would consider themselves leftist
Yes they do.
https://docs.google.com/forms/d/e/1FAIpQLSf5FqX6XBJlfOShMd3U...
You average grad student in physics is less wrong than Newton in physics (he knows about special relativity for example). It’s not "smugness", of course building on the shoulders of those who comes before means building better than them.
You know that what you are describing is the central observation of rationalism right ? "Humans rationalize, so you better be skeptical of your own beliefs".
You presenting it as a blind spot of rationalists, but that’s precisely the blind spot that rationalism warn about !
One possibility is that AGI remains a tool, without a mind or direction other than what we give it
"Solve for the equilibrium" is the name of the game. "AGI remain a tool" is nice, until you notice that some people will use it lightly (solve some day-to-day problems I encounter when running my business, but I still do most of the work and decisions), some people will use it less lightly (I give you complete access to my mail box and my bank account — now run my business for me), and the first one will get absolutely crushed by the second in any market that is remotely close to free.
If you can ensure that "AGIs remains a tool", you just get to the same result, "AGI controls the future", with an additional step of nominally-in-charge humans rubber-stamping decisions made by AGIs.
I sometimes feel that the doomers lack imagination.
It’s really the opposite.
I have asked a lot of people, "doomers" or not, "what is the positive vision of a future where there are AGIs around that dominate human in all cognitive tasks ?". All the answers feel superficially good and correct, until you actually use your imagination to poke and probe at it. It always fall apart. The only exception is those accepting : "humans not in control of the future is good actually, I don’t mind having infinite entertainment and zero responsibility". I have nothing to reply to that except : I personally abhor that picture.
Did you really think I have not enough imagination to generate by myself the hypothesis "what if AGIs stay tools ?". Of course I have. It’s just that I have used my imagination to dig deeper at that image. And the result is still not the pretty happy story it initially looks like.
Once you generate a dozen of such hypothesis, dig, and find the same outcome, you start to get the feeling that it is not exactly an accident.
It is not a lack of imagination. The problem is fundamentally extremely hard, possibly impossibly hard.
The world is chaotic. We have no way to predict that this is what it will end up like.
I strongly disagree with that. Chaotic behavior on the micro-scale is not incompatible with predictability on the macro-scale. Almost all science is like that actually. Even tho you can’t predict when and in which individuals a particular mutation will arise, and the exact life path of those individuals, you can still have laws relating relative fitness and fixation rates, and the prediction that eventually, a beneficial mutation will fixate in a population.
Everything you know works like that. Electromagnetism does not require knowledge of individual photon/electron interactions to describe Maxwell equations. Thermodynamics do not require detail knowledge of molecular dynamics to relate quantities like pressure and temperature.
Today we summarize the native/settlers conflicts by "Eventually the Settlers displaced the Natives from their lands". And while it leaves some nuances out, it is not a bad summary. If you ask a human living this period, he will say what you say "world is chaotic, who can predict what the outcome will be ?". Actually the overall outcome was pretty obvious given the significant technological gap. Details may be surprising ; the big picture isn’t.
Edit : I focus too much on AGI on this message, not enough on humans. The problem is at the end mostly a human problem. Accepting diversity — true diversity, "I abhor your vision for a future, but I agree you should have a place to realize it with other like-minded people, as long as you don’t interfere with other people realizing their vision of the future" is the cure. If humans can accept genuine diversity, I believe there are pretty straightforward solutions that are robust to at least my level of poking and probing. I do not expect humans to be able to accept genuine diversity tho, and the more I reach out to other humans, the more I despair on this particular axis. It’s very easy to make a human say "Yes Diversity is Good" in the abstract. Then you start to paint some concrete pictures, and the mask fall off: "actually the diversity I like means accepting some people slightly, superficially different from me".
"There is no good answer to that" is precisely my concern.
Why aren't there autonomous vehicles already?
There’s a lot of reasons. Not in the order of importance, just what in the order of what comes first in my mind :
1. While Real World Interactions (robotics, autonomous driving, factories automation,…) are somewhat parallelizable with Purely Digital AGI (games, text, videos, programming,…), it is way more easy to do AGI first and Real World Interactions second. This is why you see the Big Brains and the Big Money going to Anthropic/DeepMind/OpenAI. If you have AGI you have Waymo. So predictably, OpenAI/DeepMind/Anthropic will go faster than Waymo.
2. The source of the difficulty gap is easy to understand. It is hard to parallelize and scale experiments in the real world. It is trivial in the digital world, just takes More Money. AlphaZero is an AI engine doing dozens of millions of games playing against itself, eventually reaching super-human capabilities in chess and go. Good luck doing that with robotics/cars.
3. "I learned to drive faster" : It is unknown how much bits of priors evolution have put in the human brain (we don’t even know how genes encode priors — a fascinating question). It is certainly not zero. Evolution did that hard work of parallelizing/scaling the "learning to interact with the world" before you were even born. Hell, most of the work on this problem was probably already completed by the start of the mammalian line. No wonder you find this easy and Waymo find this hard. It is not that the problem is inherently easy and "how bad are AI are to fail this simple promble ?" It is that you are custom-tailored-built for it.
4. We have higher standards for AI than humans, and regulation reflect that.
con: losing your job. pro: the best health care you can imagine. the best education for your kids. etc etc
The con is that humanity is going to lose pretty much any influence on the future. "losing you job" is a pretty bad way of picturing it.
It is a frustrating topic. Let me try to explain you the stakes in a few words, and let’s start with this image :
https://en.wikipedia.org/wiki/German_revolution_of_1918%E2%8...
It’s a communist militia in Berlin at the early stages of the Weimar Republic. The specifics doesn’t matter, you don’t have to judge who was right or wrong. I could have taken a picture of the proto-nazis, or the SDP, or anyone really. The story is the same.
Why are those humans here ? In the cold, in a potentially dangerous situation ? What’s going on in their head ?
"This a an important moment. I have to be the Best Person I can be, take the Best Actions I can take. If I am right, and I do this right, my actions will help better my future. It will help my family. My neighbor. My community. The World. My actions and my choices here Matter. I Matter".
Those two words, "I Matter" is I believe a fundamental requirement of what is it to be human. To my great surprise, there are people who actually actively disagree with that. "Mattering does not matter very much". Maybe you are one of those, I don’t know, I don’t know you. Those people should indeed accept and welcome the AGI. No human will matter anymore but who cares ? Great healthcare, great education, great entertainments.
But AGI being way better in all cognitive domains : Business/Economy, Policy/Politics/Governance, Science, Arts,… means exactly this : humans will no longer have any place in those domains, and this "I Matter" feeling will be lost forever.
EDIT: I forgot a point :
and I'm not sure 'trend predictions' work that well
It’s not trend prediction. It’s engineering. Roadblocks have been identified. Solutions to those roadblock have been identified. Now they are just the phase of "implement those solutions". Whether those solutions are sufficient to go all the way to AGI is a bit more speculative, but the odds are clearly in the "yes" side.
Yes, collective suicide means we no longer have any Climate Change issue. Calling this "a solution" stretches the definition of the word tho.
If we are to survive and thrive long term we need to become true masters of our environment, and that means we need to be smarter, stronger and more productive.
Yes. I fundamentally agree with that vision. We want this for us. We/Us humans.
If we build AGI we won’t thrive. We won’t be smarter. We won’t be stronger. We won’t be more productive. We won’t be masters of our environment. The AI will be all of this. We’ll just be relegated to passive, helpless spectators.
For now - we're not there at all.
Both OpenAI and Anthropic think it’s a question of a couple of years at most. Gwern, who has a good track record of predictions, think so too. We’re pretty much here.
I arrived at the same conclusion independently. Not because I’m a genius like Gwern and Could Work at a Big Lab if I Wanted, but because it is in fact pretty obvious. People focus way too much on the current limitations of current models, not enough on their strength. The core strength of current LLMs are already superhuman (speed, memorization, ability to navigate long context) by a significant margin. Their overall ability is heavily constrained by their weaknesses (mainly planning — hallucinations is a non-story). There are known solutions to this. AlphaZero is "training to plan" and predates GPT-2, you just have to adapt it to the LLM paradigm. What did you think AlphaProof was ? An idle experiment just for fun ?
The only hope now is that there’s some non-identified and non foreseen weakness, where LLMs currently sit well below human-level but has been obscured by the lack of planning, that significantly limit capabilities of the planned models in the same way that planning limits current models, and that has no obvious solution. But at that point that’s just Copium.
Or that we collectively fucking wake up, realize that "we’re pretty much there" and "we don’t want this", and do something. But at that point that’s just Copium too: the governing elites got the memo and are okaying this (cue Andreessen on the Trump camp, the last Biden EO ordering to fast-track AI-scale datacenters on the Democrats camp).
The big issue is that people who don’t want this (the vast majority of people I believe) think we’re not here, and people who think we’re here want this (the labs, the two big parties).
It does not helps that usual human irrationality kicks in heavily on this topic. "I don’t like AI and its consequences" => "I enjoy disparaging AI and consuming content disparaging AI" (look at those 10 epic fails of ChatGPT !) => "I’m going to inflate their weaknesses and downplay their strength" (I can’t believe it can’t count the r in strawberry !) => "Yes AGI is Very Bad News but it’s not there, have you looked at where we’re at ?". Expect a lot of Pikachu Faces in the following months/years.
2028 was the initial timeline given by, I believe, Shane Legg. He recently said he’s on track. You better give some credence to that or wake up with some very, very nasty surprise very soon.
Yes, but this time the automation (AI) can immediately displace humans in the newly created, "more productive form of work" jobs too. Recursively.
But diff does not exists in a vacuum. It would need to be integrated to IDEs, editor, merge tools, PR tools. You now have to have `patch` understand and depend on the details of the syntax of your language. In a way that may break between different versions of diff and patch. Not even starting with variants of a language, different interpretations of how to handle the preprocessor/macros system, different editions of the same language.
All that, just to not have to add a trailing comma ?
You want diff to know the syntax and semantics of every programming language out there ?
Trailing commas actually have an important role.
Let’s say you have some code :
const foo = {
x: 1,
y: 2,
};
and you want to add a field : const foo = {
x: 1,
y: 2,
z: 3,
};
Without trailing commas, the diff is - y: 2
+ y: 2,
+ z: 3
With trailing commas : + z: 3,
The second diff is actually much clearer at what’s happening.This is why it irritates me when people forget the trailing comma. It’s not a problem in the moment. But I know it will be a small but avoidable cognitive burden on the next PR (wait, why did "y" changed ? Oh, right, it didn’t).