HNHacker News
TopNewBestAskShowJobs

danbruc

9,770 karma · joined October 13, 2012

submissionscomments
danbruc··on Microsoft Israel chief leaves amid ethical controversy
I am in favor of returning America to the Indigenous peoples of the Americas. And while we are at it, let us also return Australia to the Aboriginal Australians. We probably also have to return Europe, Asia, and Africa - or at least some parts - to someone.
danbruc··on US Government releases first batch of UAP documents and videos
No, I was only wondering how many people believe that we were visited by aliens for somewhat reasonable reasons. I would guess quite a few people would say that they believe that at least one of the UFO sightings was an actual UFO but I would also guess that most people are only informed by headlines or History Channel documentaries and only relatively few people have dedicated some non-trivial amount of time to look into the topic like you would for other topics that interest you.
danbruc··on US Government releases first batch of UAP documents and videos
What fraction of the population of your average country has done some serious thinking about UFOs? What fraction of those thinks at least one of those unexplained events involved aliens?
danbruc··on Multi-stroke text effect in CSS
I would assume they are just drawing the outline, not performing any distance calculations, and the differences are just a result of different linejoin choices. [1]

[1] https://www.w3.org/TR/fill-stroke-3/#stroke-linejoin

danbruc··on AI didn't delete your database, you did
If an AI driven car drives off the side of the road, I want to know why it did that. I could take the software developer to court, but I would much rather take the AI to court.

How would that work? You have the AI explain its reasoning - and trust that this is accurate - and then you decide whether that is acceptable behavior. If not, you ban the AI from driving because it will deterministically or at least statistically repeat the same behavior in similar scenarios? Fine, I guess, that will at least prevent additional harm. But is this really all that you want? The AI - at least as we have them today - did not create itself and choose any of its behaviors, the developers did that. Would you not want to hold them responsible if they did not properly test the AI before releasing it, if they cut corners during development? In the same way you might hold parents responsible for the action of their children in certain circumstances?

danbruc··on Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML
That usually does not matter in practice because you quickly reach a level of sufficient understanding.

We usually use UUIDs for this type of object but we have to send those objects to the legacy system XYZ, which only supports IDs with up to sixteen characters and is case insensitive, so we generate sixteen character random alphanumeric strings with uppercase letters which provides 82 bits of entropy.

Could you go deeper? Sure. Why do we have to send those objects to XYZ? Why does the legacy system still exist? Why does it not support UUIDs? Why is there no secondary key specifically for that system? Why are we using UUIDs?

But most likely you do not have to spell all those out. The point of a why is to explain why something is not what one would expect, you explain on top of some common knowledge. Everyone involved might know what XYZ does and why some objects have to get send there. If not, that is probably written down elsewhere. Why is the system using UUIDs? Maybe written down in the design for the persistence layer.

danbruc··on Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML
The source code is not the specification, the source code is an implementation of the specification. The specification tells you what happens, the source code tells you how it happens. Ideally you also have some additional documentation for the why.
danbruc··on Approximating Hyperbolic Tangent
Why would you want to approximate tanh for the use in neural networks? Every smoothed step function will do, so if your concern is speed, why not design something for speed, who cares if it is an established mathematical function? Because you might also need the derivative and tanh(x) has a quite nice one with 1 - tanh²(x) that is cheap to compute if you already have tanh(x)?
danbruc··on DaVinci Resolve – Photo
Complete tangent, what is going on with this image [1]? Render? AI? Too much post-processing? It has some computer game graphics look to me, but I can not quite put the finger on what seems off.

[1] https://images.blackmagicdesign.com/images/products/davincir...

danbruc··on All elementary functions from a single binary operator
But that is not an increase in the expression size, that is the effort for searching for an expression tree that fits some target function. And that is no different from searching an expression based on common functions, that is of course also exponential in the expression tree height. The difference is that a eml-based tree will have a larger height - by some constant factor - than a tree based on common functions. On the other hand each vertex in an eml-tree can only be eml, one, or an input variable whereas in a tree based on common functions each vertex can be any of the supported basis functions - counting constants and inputs variables as nullary functions.
danbruc··on All elementary functions from a single binary operator
Where do you see exponential blow-up? If you replace every function in an expression tree with a tree of eml functions, that is a size increase by a constant factor. And the factor does not seem unreasonable but in the range 10 to 100.
danbruc··on Why the US Navy won't blast the Iranians and 'open' Strait of Hormuz
So is everyone with enough power, every law requires enforcement. But even without enforcement or with the ability to outright block laws, being in violation of international law still matters. It informs others whether you truly belief in a rule-based order or whether you only use it as a tool if it benefits you and they will adjust their behavior accordingly. Also if you want support from others, if you are in violation of international law, the others will think twice if they should support you.
danbruc··on Why the US Navy won't blast the Iranians and 'open' Strait of Hormuz
The big mistake was attacking a state in violation of international law.
danbruc··on 4D Doom
On mine, too, forgot that link.
danbruc··on 4D Doom
Some of the scenes from the video remind me of Manifold Garden [1] - only 3D but a 3-torus [2] and you can change the direction of gravity, i.e. what is up and down. And also visually beautiful.

[1] https://store.steampowered.com/app/473950/Manifold_Garden/

[2] https://en.wikipedia.org/wiki/3-torus

danbruc··on 4D Doom
Now waiting since 16 years for the release of Miegakure [1][2][3].

[1] https://en.wikipedia.org/wiki/Miegakure

[2] https://www.youtube.com/watch?v=9yW--eQaA2I

[3] https://xkcd.com/721/

danbruc··on Gonon: Building a Clock with No Numerals
The question that started this wasn't about clocks. It was about what happens when you remove every cultural assumption from timekeeping and ask: what's left?

This still measures the time of day in seconds since midnight. It still encodes the number of seconds into the common base 60 system of hours, minutes, and seconds. It still encodes the base 60 digits as base 10 numerals. The only differences are the choice of digits - regular polygons instead of an established set of digits like the Arabic digits - and the writing direction - increasing in scale, radially outwards instead of horizontally or vertically - defining the positional value of each digit.

Simply a dot moving around a circle once per day would have abandoned way more cultural assumption than this. Of course at the cost of making it harder to read precisely and looking less fancy.

This combination of base 60 and base 10 can also be understood as a multi-base numeral system. 12:34:56 can be understood as 123456 with non-uniform positional values 1, 10, 60, 600, 3,600, 36,000 from right to left directly yielding the number of seconds since midnight as 1 x 36,000 + 2 x 3,600 + 3 x 600 + 4 x 60 + 5 x 10 + 6 x 1 = 45,296.

The polygon numerals are actually similar to Babylonian cuneiform numerals [1]. They use a positional system just like Hindu-Arabic numerals with the positional value increasing by a factor of the base - 10 for Hindu-Arabic numerals, 60 for Babylonian cuneiform numerals - from right to left but there are not different digits 0 to 9 - or actually 0 to 59 because of base 60 - but they just repeat a symbol for one (I) [2] n times like the Roman numerals do. This IIII II is 42 but in base 60, so 4 x 60^1 + 2 x 60^0 = 242. Ignoring the edges, the polygon numerals express the digit value by repeating a vertex 0 to 9 times and each scale increase of the polygon adds a factor according to the 60 and 10 multi-base representation described above.

[1] https://en.wikipedia.org/wiki/Babylonian_cuneiform_numerals

[2] Because repeating the symbol for one (I) up to 59 times is inconvenient, they have a symbol for ten (<) as a shortcut, just as the Roman numerals have V for IIIII. <II <<<IIII is (1 x 10 + 2 x 1) x 60^1 + (3 x 10 + 4 x 1) x 60^0 = 754.

danbruc··on Why Sora Failed: $15M/day inference cost vs. $2.1M lifetime revenue
Assuming I know what I want and am somewhat competent at describing it, I would guess ten times the final length should be plenty. If you are exploring different options, you can of course produce an unlimited amount of videos. But that is not really what I was referring to, I was more thinking of how many attempts it takes the model to produce what you want given a good prompt - I have never used it and have no idea if it nails it essentially every time or whether I should expect to run the same prompt ten times in order to get one good result.
danbruc··on Why Sora Failed: $15M/day inference cost vs. $2.1M lifetime revenue
How many seconds of video did they generate per day for those $15,000,000, i.e. what would it actually cost me to generate, say, a three minute music video for my garage band? This should probably take into account how many attempts I would likely need to arrive at something I am satisfied with.
danbruc··on Epoch confirms GPT5.4 Pro solved a frontier math open problem
Do they also publish the raw output of the model, i.e. not only the final response but also everything generated for internal reasoning or tool use?
danbruc··on Bombadil: Property-based testing for web UIs
How effective is property based testing in practice? I would assume it has no trouble uncovering things like missing null checks or an inverted condition because you can cover edge cases like null, -1, 0, 1, 2^n - 1 with relatively few test cases and exhaustively test booleans. But beyond that, if I have a handful of integers, dates, or strings, then the state space is just enormous and it seems all but impossible to me that blindly trying random inputs will ever find any interesting input. If I have a condition like (state == "disallowed") or (limit == 4096) when it should have been 4095, what are the odds that a random input will ever pass this condition and test the code behind it?

Microsoft had a remotely similar tool named Pex [1] but instead of randomly generating inputs, it instrumented the code to enable executing the code also symbolically and then used their Z3 theorem proofer to systematically find inputs to make all encountered conditions either true or false and with that incrementally explore all possible execution paths. If I remember correctly, it then generated a unit test for each discovered input with the corresponding output and you could then judge if the output is what you expected.

[1] https://www.microsoft.com/en-us/research/publication/pex-whi...

danbruc··on Palestinian boy, 12, describes how Israeli forces killed his family in car
Its independence war for Israel everyday since its 1948.

It is not an independence war, it is colonialization and occupation. And the Zionists at the time knew that and used this terminology themselves. 1948 was not an independence war, it was the preliminary culmination of the attempt to occupy and annex Palestine into a Jewish state against the resistance of the Palestinians. And the residence against this illegal act has continued to this day.

danbruc··on How I write software with LLMs
No, my judgment of not great code is not based on what the code does - and if it does so correctly - but on how the code is written. Those are independent things, you can have horrible code that does what it is supposed to do but you can also have great code that just does the wrong thing [1].

[1] I would however argue the later thing is more rare as it requires competent developers, however this still does not preclude some misunderstanding of the requirements.

danbruc··on How I write software with LLMs
It has not been formally verified which is essentially the only way to achieve code without defects with reasonable confidence. There are several studies that have found that there are roughly between one and twenty bugs per thousand lines of code in any software, this project has several thousand lines of code, so I would expect several bugs if written by humans and I have no reason to assume that large language models outperform humans in this respect, not at last because they are trained on code written by humans and have been trained to generate code as written by humans.
danbruc··on How I write software with LLMs
I don't know, I would assume it works but I would not expect it to be free of bugs. But that is the baseline for code, being correct - up to some bugs - is the absolute minimum requirement, code quality starts from there - is it efficient, is it secure, is it understandable, is it maintainable, ...
danbruc··on How I write software with LLMs
What actually stood out to me is how bad the functions are, they have no structure. Everything just bunched together, one line after the other, whatever it is, and almost no function calls to provide any structure. And also a ton of logging and error handling mixed in everywhere completely obscuring the actual functionality.

EDIT: My bad, the code eventually calls into dedicated functions from database.ts, so those 200 lines are mostly just validation and error handling. I really just skimmed the code and the amount of it made me assume that it actually implements the functionality somewhere in there.

Example, Agent.ts, line 93, function createManageKnowledgeTool() [1]. I would have expected something like the following and not almost 200 lines of code implementing everything in place. This also uses two stores of some sort - memory and scratchpad - and they are also not abstracted out, upsert and delete deal with both kinds directly.

  switch (action)
  {
    case "help":
      return handleHelpAction(arguments);

    case "upsert":
      return handleUpsertAction(arguments);

    case "delete":
      return handleDeleteAction(arguments);

    default:
      return handleUnknowAction(arguments);
  }
[1] https://github.com/skorokithakis/stavrobot/blob/master/src/a...
danbruc··on How I write software with LLMs
I randomly clicked and scrolled through the source code of Stavrobot - The largest thing I’ve built lately is an alternative to OpenClaw that focuses on security. [1] and that is not great code. I have not used any AI to write code yet but considered trying it out - is this the kind of code I should expect? Or maybe the other way around, has someone an example of some non-trivial code - in size and complexity - written by an AI - without babysitting - and the code being really good?

[1] https://github.com/skorokithakis/stavrobot

danbruc··on Newcomb's Paradox Needs a Demon
Where does this obsession with the simulation hypothesis come from, it has been so widespread in the last years? It is more or less pointless to think about it, it will not get you anywhere. You only know this universe, to some extend, but you have no idea what a real universe looks like and you have no idea what a simulated universe looks like, so you will never be able to tell which kind our universe is.

But what if we discover that our universe is made from tiny voxels or something like that, that will be undeniable evidence, right? Wrong! Who says that real universes are not made of tiny voxels? It could be [1] the other way around, maybe real universes are discrete but their universe simulations are continuous, in which case the lack of tiny voxels in our universe would be the smoking gun evidence for being in a simulation.

[1] This is meant as an example, I have no idea if one can actually come up with a discrete universe that admits continuous simulations, which probably should also be efficient in some sense.

danbruc··on Newcomb's Paradox Needs a Demon
You can only get a thousand - take both boxes - or a million - take only the second box, zero and one million one thousand are not possible - or at least unlikely - because that would require a misprediction by the predictor but we assume an [almost] perfect predictor.
danbruc··on Newcomb's Paradox Needs a Demon
The thing is, you can not chose once you are in the room. The fact that an [almost] perfect predictor exists implies that your choice must already be fixed at the point in time the predictor makes its prediction. Or the other way around, if you could still choose both options once you are in the room, say by basing your choice on some truly random and therefore unpredictable event like a radioactive decay - at least as far as we know truly unpredictable - then the predictor could not [almost] perfectly predict your choice, i.e. an [almost] perfect predictor can not exist.

So what you really want is to be in a state that will make you chose one box and you want to already be in that state at the time the predictor makes its predictions because the predictor will see this and place the million dollars into the second box. And as we have already said, you can not chose to take two boxes afterwards as that would contradict the existence of the predictor.

← PreviousPage 5 of 34Next →