HNHacker News
TopNewBestAskShowJobs

boomlinde

3,721 karma · joined January 6, 2013

submissionscomments
boomlinde··on Zig v0.17.0
> Good to know they are trying pragmatic approach to LLM now.

What's this new approach they're trying?

boomlinde··on Zig v0.17.0
It's remarkable how easily these idiots can be conditioned into parroting the usual FOMO lines without question. Same people would've had me think I'm a fucking moron for not buying ugly monkey pictures during the NFT bubble.

I'm thinking their lives must be absolutely dreadful for this constant fear of being left behind.

boomlinde··on Zig v0.17.0
I don't care how it was prompted any more than I care about what exact thoughts went through your head before you realized it was a bug. The problem isn't usually a lack of information, but the abundance of non-information. Chatbots and the people who use them to pen bug reports frequently seem to have had "no time to make it shorter", as Blaise Pascal put it.

That you used an LLM to "confirm" the bug is an example of such non-information. The reproduction testcase and/or the reproduction steps and description of the expected outcome confirm the bug.

boomlinde··on More like SC-Forth-thousand, am I right?
Fun read. I look forward to seeing how they'll deal with bank switching.
boomlinde··on Zig v0.17.0
I just noticed it today upgrading to 0.17.0 from 0.15.2, while doing bitwise operations a lot of large integers. I haven't looked at a debugger yet, but my guess is that would benefit a lot from loop vectorization.
boomlinde··on Coding is not solved
Do you agree that this isn't a desirable state of affairs?
boomlinde··on Coding is not solved
> They aren't making that claim.

"[...] without ever reading a single line of code" begs to differ.

boomlinde··on Coding is not solved
> What LLMs make possible is for me to say: find out all the ways this thing works. Analyze the different ways we can run this software, build a fuzzer, build property tests, and run this software in every scenario possible. Log full traces. Log all the outputs. Now, analyze each scenario for bugs. You can't do that by hand.

How do you know that it's verifying that the system under test exhibits the properties you desire without either understanding or making blind assumptions about the code it generates to build a fuzzer or a property test? It seems to me that you have just shifted the problem of verification elsewhere and introduced another potential source of error.

boomlinde··on Coding is not solved
The person they responded to refers specifically to "healthcare, finance, automotive, defense, power plans, aviation, manufacturing", areas where I'd at least hope that we aspire to understand what the code does.
boomlinde··on Oral history of John Chowning, inventor of FM synthesis [video]
Phase modulation is essentially

    sin(phase + modulator * modulation index)
For a non-DC modulator without discontinuities it does result in an effective modulation of the frequency. You can think of phase modulation as a means to achieve frequency modulation with certain desirable properties that distinguish it from other methods.
boomlinde··on Self-Hosting on the Dark Web
Minimizing latency and connection count is only half of the problem, though. To the greatest extent possible not relying on JavaScript, and to the greatest extent possible not relying on third party libraries when you do seems like a good general takeaway.
boomlinde··on Pentium II at 600Mhz with Voodoo 3 Emulated on 86Box with M6 Mac Mini
Second sentence in the article:

> CPU timing, chipset behaviour, ISA and PCI buses, graphics chipsets, sound devices, and disk controllers all matter to getting period software to behave properly.

boomlinde··on Markdown in /src
> Much of the knowledge of writing the software is manifest and captured in those chats.

Why don't your chatbots just write clear, well documented code?

boomlinde··on Markdown in /src
I think long is fine if that's necessary to get a rough idea of what the change is about across. Discerning in the choice of what information to include is perhaps a better way to put it. In those terms we should consider how likely it is for prompts to be immediately useful information when browsing the commit history, and whether it can't instead be reduced to an informative summary.

As far as specifications for changes go, the diff itself is as good a spec as it gets. It unambiguously describes the exact change that was made. The prompt you give a chatbot to make that change is IMO something else. Maybe it's more fair to call that a specification of the work you wanted it to perform.

boomlinde··on AI Has No Wisdom and Neither Will You
You could also just remove the product from the market. That will guarantee a reduction of bugs in production to 0. That exposes a weakness in the existing approach to marketing and overall product design, meaning the problem is in marketing and product design.
boomlinde··on Markdown in /src
Do you think it is equally important to save complete transcripts of your deliberations with coworkers? If not, why not?
boomlinde··on Markdown in /src
I am skeptical of adding anything but a brief description of the change, the reason for the change and possibly some explanation of non-obvious implementation choices to the commit message.

The reason is that the commit message log serves as an overview of the changes commited. That's what humans use it for, anyway: to get an idea of what happened since they last pulled, to help give an idea of where a regression might have been introduced and so on, at a glance. To that end, brevity is very useful.

My understanding is that chatbots used to perform such tasks will also benefit from brevity.

boomlinde··on Z80 REPL (2018)
Btw, I've only had a rough idea of how these are actually implemented, non-maskable interrupt something-something, and never knew how they make sure that the interrupt vector points to some persistent routine that can invoke the monitor. I found this great article explaining at least how The Final Cartridge 3 does it (in the first two sections): https://www.pagetable.com/282
boomlinde··on AI Has No Wisdom and Neither Will You
> If it happened as you describe, with no change in the testing and validation processes, then it exposed an existing weakness in those processes, which should be improved.

I remind you that the belief you are defending is that an increase in the number of bugs produced per some unit of implementation "implies that testing and validation has gotten worse", not the general idea that you can or should improve software quality by improving testing and validation.

If we adopt the realistic perspective that the testing and validation process can only catch some fraction of bugs, then an increase in the number of bugs produced in the implementation stage is bad irrespective of what that fraction is. You can improve the testing and validation process so as to minimize the fraction of bugs that get past QA, but when you multiply that by the number of bugs produced in implementation you will be worse off if you produce 7 bugs per month during implementation than if you produce 5 bugs, regardless of whether you can also improve the testing and validation process. You will on average, over time, have fewer bugs in production if you produce fewer bugs during implementation given any testing and validation process that isn't completely fool proof.

boomlinde··on Z80 REPL (2018)
It's common in the C64 world to use freezer cartridges that allow you to interrupt normal operation and invoke a monitor program. These typically include rudimentary assemblers and disassemblers as well. Fun and useful for patching and reverse engineering!
boomlinde··on Markdown in /src
Humans aren't being committed to the src directory, so this is completely irrelevant to the point being made.
boomlinde··on AI Has No Wisdom and Neither Will You
> I don't think my comment implied that any testing and validation process will be fool proof.

It does by, attributing a change in quality to a "testing and validation problem".

If there is a change in programming methodology, as far as we know no change in testing and validation methodology and at the same time an increase in the production of bugs, it's not reasonable to attribute that increased error rate to testing and validation getting worse.

It's like adding spinning saw blades to the fronts of cars and then attributing the increased fatality rates to pedestrians not wearing safety reflectors.

boomlinde··on AI Has No Wisdom and Neither Will You
I think that we should realistically expect that even a very rigorous testing and validation process is not fool proof, just as we anticipated that the code isn't.

With that in mind, writing bad code is bad.

boomlinde··on What Zig felt like, coming from Rust
> You said

Yes, which you didn't respond to until now.

> And that’s far too broad in my opinion.

Similarly, it's far too broad to say that it's "much less error prone" to use a more general allocation strategy. Clearly we both make unspoken assumptions, but in the context of this discussion on Zig, where you initially responded to an example written in Zig, I think you actually understood what I meant.

boomlinde··on What Zig felt like, coming from Rust
You didn't answer nor apparently read my question. You can just answer it in whatever terms you consider some piece of software to be an application when you say "systems programming languages shouldn't be used to create applications in the first place."
boomlinde··on What Zig felt like, coming from Rust
How many seems like an irrelevant question to me. If there are such software domains at all, Zig may be a compelling alternative to languages that don't have a standard library that lets you choose an allocation strategy freely.

I also disagree that this is "the focus" of Zig. Technically speaking it seems like a rather minor design choice for the standard library.

boomlinde··on What Zig felt like, coming from Rust
You disagree with a point I never made. My point is that they enable easier memory management, regardless of whether they're more performant. I really don't understand how that point didn't get across. You must simply not have read what you responded to.
boomlinde··on What Zig felt like, coming from Rust
I don't know about more error prone. Benchmarks completely aside, freeing a batch of stuff you've allocated in a single place makes it easier to manage memory. I think it should be preferred wherever it's an option for that reason most of all. The "killer app" is something like an arena allocator that lives for the duration of an HTTP request.
boomlinde··on What Zig felt like, coming from Rust
What are the requirements and design constraints of an application? Please give a general answer that applies to all applications.
boomlinde··on What Zig felt like, coming from Rust
> But a lot of real world software just isn't that simple.

Zig doesn't force or even tends to prefer one way or another. If I want unassuming heap allocations that can be reclaimed in any order, there's an allocator for that. If I want an arena to discard at the end of something like a request or a video frame, there's an allocator for that. If I want to use a fixed backing buffer for the allocations, there's an allocator for that.

The point is that the standard library doesn't assume one or the other, which seems good if the problem is that "real world software just isn't that simple" in the more general sense that there's no one-size-fits-all allocation strategy.

Page 1 of 34Next →