Conversation

Is this... a valid consent form?

Like, if I have the option to disable data sharing, why must I consent to it and then disable it?

1
0
0

Update: so far, there is no "Settings -> Privacy", because there is no Settings menu???

1
0
0

There's a search bar, but it doesn't help me find Settings either.

1
0
0

OK, I should have known to find a bunch of toolbar icons (not labeled) and assume that they were the Settings menu implied by this consent form.

1
0
0

So, I'll at least provide credit where it's due. I appreciate the 24h grace period before data is shared. I still don't appreciate that I'm not allowed to disable data sharing while setting up this software.

1
0
0

@brenns10 reminds me a bit of the arbitration agreements you sometimes see where they require you to agree up front and then you have 30 days to opt out by going somewhere else. Definitely optimized for hoping you forget to do so!

2
0
0

@adrake Yeah it's definitely giving dark patterns vibes. Especially given that the instructions for disabling their data use are pretty... vague. Not saying I'm a a computer whiz, but I guess I expected a more obvious settings menu if the instructions were "Settings -> Privacy".

That said, in today's day & age, I'm just grateful for the opportunity NOT to feed my data into the AI while I learn about this thing.

0
0
0

@adrake But also, strong yes on the comparison to those arbitration agreements. Usually they also require you to send mail to a PO box, like we're living in the fucking 1980s! It's absolute insanity that such nonsense is allowed. If you're able to provide me an electronic notification of your practices, then you're almost certainly able to receive an electronic rejection of those practices.

0
0
0

Ok, so I would like this Cursor thingy to help me write a new drgn helper. I happen to know that this is possible, as my teammates have written some helpers similar to this. How does the AI perform?

1
0
0

Apparently I am required to create an account in order to use the AI features. Which seems fair, I guess. Having done that, the initial generated helper seems believable. It looks like kernel parameters must be kept on a linked list named `kp`.

1
0
0

Hm. Apparently `module.kp` is just an array of `struct kernel_parameter`. There's no linked list node here. Wonder why cursor said that. I'll ask it.

1
0
0

I pointed out this error, and Cursor has appropriately updated the code. It didn't hallucinate: `module.num_kp` exists and is the number of kernel parameters for this module.

Honestly, the use of drgn's string manipulation operations is impressive! `kp.name.string_().decode()` is pretty much correct. On the other hand...

`value = kp[i].ops.get(kp[i].arg)`

WTF is this? Cursor is trying to.. call a function pointer in drgn? That's not right. I'll try to ask why it's doing that.

1
0
0

Ok, now we have this.

So, there's no `perm` field of a `struct kernel_param_ops`. Thus, this entire function seems to be bunk. I don't even know where the numbers come from. Let's ask to improve it.

1
0
0

With my explanation, the Cursor AI has regenerated the code, and it seems a lot closer to reality. It's now interpreting the kernel parameter values according to the `get` function in the `ops` function pointer structure. It seems to do well, even for the `param_get_charp` and `param_get_string` functions. But admittedly now comes the daunting process of testing & validating the code.

1
0
0

On my laptop at least, the new version actually works against my kernel. It's not perfect, there is an error eventually, but it's reasonably impressive. The parameter values it gives me are reasonable.

1
0
0
@brenns10 I am extremely amused by Cursor's attempts at a drgn helper, thanks for sharing lol
1
0
2

@osandov I feel like drgn helpers are the ultimate AI litmus test for me. They look like Python but they really require knowledge of a C codebase that is widely available, but not easy to understand. AI can bullshit all it wants and it will pass all the compiler / linter checks, but if it doesn't adhere to the kernel types, the code won't actually work. I'm not _too_ worried about AI coming for my job, at least in 2025.

1
0
1
@brenns10 yeah, it's also an ideal test case in that it's somewhat mechanical. Maybe a bigger corpus of drgn helpers out there would help
1
0
0

@osandov We can make that happen 😜

0
0
1