HN user

roetlich

335 karma

Hi, my name is till. Feel free to reach out to me, contact info is on my website. There you'll also find some blog posts about programming languages.

Email: hn at my domain name. Website: https://till.red/ Business email: till @ business domain name. Business website: https://specificadvice.com/ LinkedIn: https://www.linkedin.com/in/till-schroeder/ meet.hn/city/ee-Tallinn

Posts4
Comments131
View on HN

Love the exclamation marks. So let's just use, for example, this definition: https://www.britannica.com/topic/ad-hominem

Here it's a type of argument, and it's only sometimes a fallacy. Seems like this how it's defined most of the time, unless you explicitly look for "ad hominem fallacy". Ad hominem without any context can be vague, I guess, so I tried to be more explicit.

I don't know, maybe I'm wrong, English isn't my first language, but I think "Obvious Fabrication" (capital letters) is a bit silly.

Oh yes, I didn't clarify that I meant an argumentum ad hominem, which isn't the same thing as the informal fallacy of the same name. So yeah, I agree, this isn't directly fallacious.

if Andrew isn't trying to enter the discussion

But he is. Both in the title, and in later half of the blog post, he directly enters that discussion. I'm not saying an ad hominem argument is always bad, but this clearly is one.

No, the discussion started with a the article from Bun, stating that rust has some technical advantages for them. The response from the Zig creator is a bunch of personal attacks directed at one guy, like calling him a stinky manager. All of these are fully unrelated to which language is better for Bun.

This is like the textbook definition of an ad hominem.

Great idea, to include learning into the regular work.

Can you explain how the lessons are generated?

It looks like there are no pre-generated lessons, they are created on the fly by the AI. Wouldn't it be possible to write a skill or similar that does the same with your existing coding agent?

Dumb Pipe 12 months ago

What?

I think there must be some misunderstanding? I think deathanatos just wants an easy way to send files between computers when the internet is down, which seems decently reasonable.

Unless you modify Redis, what do you want to share? You don't have to share any of your server code or anything. No reason to be so dramatic. :)

Oh, that makes more sense. Thank you!

Is this linked list type then mostly meant to be used as an internal implementation detail, and not be exposed in a public API? Because if I see a function that takes a non-generic list I won't really know how to call it. :)

Well I personally almost never use linked lists, don't like them. But Zig seems to think otherwise, they have two implementations in the standard library.

I don't know much Zig, I just wanted to ask how to use the type that the article talks about?

Let's use the very simple example from the article. Let's say I want to extract this code into a function:

    while (node) |n| {
      const user: *User = @fieldParentPtr("node", n);
      std.debug.print("{any}\n", .{user});
      node = n.next;
    }
1. How does that look, what's the type signature of this function? 2. What happens if I put in a list doesn't contain users? Do I get a simple to understand compile time error, or can I segfault because I'm accessing bad memory?

And I don't think that would need any generics, since the list type isn't generic, right?

Okay, thanks for explaining more.

And it's typesafe: if you write invalid code the compiler will give you an error.

One more question, if @fieldParentPtr("node", n) is typesafe and can get you a User, the compiler needs to know that the struct has the fields of a User, and that this pointer is indeed pointing at a node field, right? Then why do you need to specify "node" at all?

I think I don't understand Zig at all :)