A nice practice that I try to follow it to always spell out what any Three Letter Acronyms (TLAs) the first time they are used. Then from that point onwards the simple TLA can be used.
In this case, BPF (shorthand for eBPF), stands for Extended Berkley Packet Filter. It’s a relatively new feature in the kernel that allows attaching small programs at certain “hook points” in the kernel (for example, when some syscall is called). These programs can pass information into userspace (like who is calling the syscall), and make decisions (whether to allow the call to proceed).
We do try to spell things out and/or link them in LWN articles to make the context available, but some things we just have to assume.
Additionally, spelling out "Berkeley Packet Filter" is not going to help any readers here; BPF is far removed from the days when its sole job was filtering packets, and that name will not tell readers anything about why BPF is important in the Linux kernel.
The same problem actually already exists for non-drone planes, because they must be able to operate in poor visibility conditions. FAA issues notams for construction cranes if they pose a risk to nearby airports. One solution for drones would be to extend these notams to all cranes/other obstacles, and the drones must subscribe to these notams to operate in the airspace.
I would tend to agree, I think dev time is better spent supporting Proton. I have even seen benchmarks where Proton on Linux outperforms Windows. As a Steam Deck owner, Proton is fantastic.
Yeah I’m not seeing any evidence that this actually works. I would’ve like to see some testing where they intentionally introduce a bug (ideally a tricky bug in a part of code that isn’t directly changed by the diff) and see if Claude catches it.
A good middle ground could be to allow the diff to land once the “AI quick check” passed, then keep the full test suite running in the background. If they run them side by side for a while and see that the AI quick check caught the failing test every time, I’d be convinced.
I swear I read in a text book once that Fourier discovered this while a boat. He looked out at the waves on the ocean and saw how there were many different sized waves combining to make up the larger waves. I could never find it again, but that visual helped me understand how the Fourier transform works.
The annoying thing is the official Swift extension can sometimes flag errors in perfectly fine code with zero problem in Xcode. So I’m forced to live with persistent “errors” when editing in VS Code/Cursor.
I’m building my first iOS app ever so I know it has much more to do with me not understanding Xcode but getting builds to succeed after making changes with Claude code has been a nightmare. If you or anyone have any tips, guides, prayers, incantations for how to get changes in one to not clobber the other and leave me in xproj symlink hell I would be so grateful.
> any tips, guides, prayers, incantations for how to get changes in one to not clobber the other
One caveman way:
1. Start your project using Xcode, use it to commit to GitHub, GitLab, whereever. In terminal, change into the dir that has the .git in it and launch claude.
2. Teach Claude Code your own system's path and preferred simulator for build testing. From then on it will build-test every change, so teach it to only commit after build passes. (By teach, I mean, just tell it, then from time to time, tell it to propose updates to claude.md in your project.)
3. Make sure before a PR or push that the project still builds in Xcode, if it doesn't, you can eyeball the changes in Xcode's staged changes viewer and undo them. If you change files via IDE, when you're back in Claude just say: I changed [specific/file, or "a lot of files"].
No xproj or symlinks get harmed in the making of your .swifts.
Honestly the train system in NYC is so good, I have only taken a cab a few times since I moved here. I’ll probably take a waymo once if they roll it out here for the novelty of it, but I’d rather see people getting exciting about public transit. Life is so much better when you don’t have to depend on cars to get you places.
As long as they make it easy to add a “made with AI” tag to the PR, it seems like there’s really no downside. I personally can’t imagine why someone would want to hide the fact they used AI. A contractor would not try to hide that they used an excavator to dig a hole instead of a shovel.
I guess if you write 1000 lines and you just auto tabbed an auto-complete of a variable name done by AI you might not wanna say the code is written by AI.
>I personally can’t imagine why someone would want to hide the fact they used AI.
Because of the perception that anything touched by AI must be uncreative slop made without effort. In the case of this article, why else are they asking for disclosure if not to filter and dismiss such contributions?
Did you actually read the post? The author describes exactly why. It's not to filter and dismiss, but it's to deprioritize spending cycles debugging and/or coaching a contributor on code they don't actually understand anyway. If you can articulate how you used AI, demonstrate that you understand the problem and your proposed solution (even if AI helped get you there), then I'm sure the maintainers will be happy to work with you to get a PR merged.
>I try to assist inexperienced contributors and coach them to the finish line, because getting a PR accepted is an achievement to be proud of. But if it's just an AI on the other side, I don't need to put in this effort, and it's rude to trick me into doing so.
>but it's to deprioritize spending cycles debugging and/or coaching a contributor on code they don't
This is very much in line with my comment about doing it to filter and dismiss. The author didn't say "So I can reach out and see if their clear eagerness to contribute extends to learning to code in more detail".
In this case, BPF (shorthand for eBPF), stands for Extended Berkley Packet Filter. It’s a relatively new feature in the kernel that allows attaching small programs at certain “hook points” in the kernel (for example, when some syscall is called). These programs can pass information into userspace (like who is calling the syscall), and make decisions (whether to allow the call to proceed).
More info here https://ebpf.io/what-is-ebpf/