frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Write your BPF programs in Go, not C

https://github.com/boratanrikulu/gobee
41•boratanrikulu•4d ago•21 comments

Show HN: OpenBrief – Local-first video downloader/summarizer

https://github.com/tantara/openbrief
7•tantara•1h ago•0 comments

Show HN: Nerve – self hosted runtime for AI agents

https://github.com/ClickHouse/nerve
2•animetyan•36m ago•2 comments

Show HN: Audiomass – a free, open-source multitrack audio editor for the web

https://audiomass.co/?multitrack=1
507•pantelisk•1d ago•110 comments

Show HN: Fungible – A local personal finance app in the terminal

https://github.com/tomfunk/fungible
2•tomfunk•1h ago•0 comments

Show HN: Unsiloed AI – #1 on olmOCR-Bench

5•adnan9999•1h ago•4 comments

Show HN: Geomatic – A command-driven geometry studio enabled with autodiff

https://www.tinyvolt.com/geomatic
63•nivter•14h ago•14 comments

Show HN: Built a tool to create brand-consistent images using AI

https://inktag.io
4•gsharma1•2h ago•0 comments

Show HN: Bae – AI companion built around persistent memory architecture

https://bae.ppl.studio
2•zeshutmax•2h ago•0 comments

Show HN: TryPost – open-source Social Media Scheduler

https://trypost.it/en
2•paulocastellano•2h ago•2 comments

Show HN: I made Pokémon but with real animals in the real world

https://apps.apple.com/gb/app/animalis-game/id6762081213
2•robert-whiteley•3h ago•0 comments

Show HN: Volt – front end tooling for Phoenix that runs inside the BEAM

https://github.com/elixir-volt/volt
15•dannote•9h ago•1 comments

Show HN: Cursed Browser – a VLM reads the HTML and hallucinates the page

https://github.com/scosman/cursed_browser
5•scosman•5h ago•1 comments

Show HN: Linear Chess – Normal Chess, on a 1D board

https://youbee.cloud/chess/chess.html
3•MarcellusDrum•5h ago•0 comments

Show HN: Anyone interested in a tool helps to explore C++ ASTs

https://uvic-aurora.github.io/acav-manual/index.html
47•leomicv•4d ago•3 comments

Show HN: Freenet, a peer-to-peer platform for decentralized apps

https://freenet.org/
383•sanity•4d ago•268 comments

Show HN: ShadowCat – file transfer through QR Codes in a Browser

https://github.com/unprovable/ShadowCat
164•unprovable•3d ago•62 comments

Show HN: Local note engine uses LLM to organize notes into a knowledge graph

https://github.com/AlexWasHeree/NoteCast
8•AlexWasHeree•1d ago•4 comments

Show HN: My homelab is outperforming the stock market

https://stocks.sjer.red
9•shepherdjerred•1d ago•1 comments

Show HN: The Front Page – Newspaper-style front page for Hacker News

https://thefrontpage.dev/
20•stagas•1d ago•8 comments

Show HN: Kanban CLI (A local-first, agent-first task manager for the terminal)

https://codeberg.org/hydrafog/kanban
15•hydra-f•1d ago•8 comments

Show HN: Rmux – A programmable terminal multiplexer with a Playwright-style SDK

https://github.com/helvesec/rmux
191•shideneyu•4d ago•94 comments

Show HN: Agent.email – sign up via curl, claim with a human OTP

96•adisingh13•4d ago•106 comments

Show HN: I Dedicated 4 Years to Mastering Offline Password Cracking

267•bojta-lepenye•4d ago•60 comments

Show HN: NanoApps: Run custom homebrew apps on iPod nano 7th generation

https://twitter.com/freemyipod/status/2058920520708468974
3•user890104•8h ago•0 comments

Show HN: Open-source .docx editor library for building document apps

https://github.com/eigenpal/docx-editor
106•thisisjedr•4d ago•16 comments

Show HN: Forge – Guardrails take an 8B model from 53% to 99% on agentic tasks

https://github.com/antoinezambelli/forge
685•zambelli•6d ago•251 comments

Show HN: I reverse engineered Apple's video wallpapers

https://github.com/kageroumado/phosphene
426•kageroumado•4d ago•106 comments

Show HN: SaveNeighbor – food delivery through your own personal network

https://www.saveneighbor.com
2•JJonesRatio•22h ago•5 comments

Show HN: MarketChacha – Reddit for traders with verified track records

https://marketchacha.com
4•rsingh867•10h ago•0 comments
Open in hackernews

Show HN: Write your BPF programs in Go, not C

https://github.com/boratanrikulu/gobee
41•boratanrikulu•4d ago

Comments

shirleyquirk•1h ago
Sorry, why wouldn’t I write in the native language?
abtinf•1h ago
This transpiles to the native language.
sparrc•1h ago
I'm primarily a Go developer and love the language and will defend it for most use-cases, but to be honest BPF seems like Rust's place to shine.
bluejekyll•40m ago
I feel like every language has its fans. What invariably happens is that people want their favorite language to work in every situation that they might need to work.

Personally I would choose Rust as well, but I would choose Rust for almost everything I do. I can see why a Go developer would want a similar experience.

a1o•1h ago
What is BPF?
hnlmorg•1h ago
It's a low level networking interface https://en.wikipedia.org/wiki/Berkeley_Packet_Filter
all2•1h ago
BPF == 'Berkeley Packet Filter'

Here you go: https://github.com/pratyushanand/learn-bpf

auxiliarymoose•1h ago
I'm guessing Berkeley Packet Filter: https://en.wikipedia.org/wiki/Berkeley_Packet_Filter

This is why National Aeronautics & Space Administration (NASA) guidance is the following:

> Acronyms often confuse readers. Avoid them whenever possible. If an acronym is necessary for future reference, spell the full word and follow with the acronym in parentheses on the first reference. For example, The General Services Administration (GSA).

https://nasa.github.io/content-guide/abbreviations-and-acron...

There is also this longer memo on the NASA Technical Reports Server: https://ntrs.nasa.gov/citations/19950025292

aeonik•1h ago
To be honest BPF is one of those acronyms that I think might be more recognizable as the acronym than what it actually stands for.

Not quite as much as Radar or Laser, but halfway there.

hnlmorg•1h ago
In fairness to the authors README, there isn't really any other BPFs in this domain and if someone didn't already know what BPF was, then this project wouldn't be of any interest to them (and would be a bad place to start on an BPF journey too).

So I can't blame the project's author for the lack of explanation about what BPF is. Particularly when it's just someone's personal project.

And before anyone complains about this comment: I do think the GP is completely fair in asking for clarification as to what BPF is too. There sometimes seems to be backlash on HN against people asking for a term to be explained. This comment isn't that.

auxiliarymoose•50m ago
Sure, but if you are sharing with a general audience (where people aren't necessarily coming from your own domain) it's a good idea to make the writing accessible.

My first thought would have been Band-Pass Filter, which is also a filter potentially related to computer systems.

I work in an industry with a lot of Three-Letter Acronyms (TLAs) and eXtended Three-Letter Acronyms (XTLAs) (sometimes known as Four-Letter Acronyms (FLAs)), and there they are often overloaded in their meanings. So in my experience, being clear about the definition is helpful to readers so they can immediately understand the document without having to triangulate meanings from the rest of the document.

hnlmorg•44m ago
But again, this isn't intended for a general audience.

Anyone who might need this would already know what BPF is. And anyone who isn't familiar with the term BPF in this context wouldn't be the target audience for this.

It's also worth noting that BPF isn't ever referred to in it's non-acronym form. Literally no-one in the field calls this "Berkeley Packet Filter". Just like nobody calls PHP "PHP: Hypertext Processor" (or whatever backronym they've decided on this week), nor SQL as Structured Query Language. The name for this technically literally is just referred to as "BPF".

So while I agree with your point in general -- it's not really a fair complaint in this specific occurrence.

auxiliarymoose•39m ago
Well, it's posted on Hacker News which is a general audience including people working on electrical/signal/audio/radio-frequency systems among other things (not just low-level network code) where BPF has a different meaning, so I think disambiguation is appropriate.
hnlmorg•33m ago
> Well, it's posted on Hacker News which is a general audience including people working on electrical/signal/audio/RF systems among other things (not just low-level network code) where BPF has a different meaning, so I think disambiguation is appropriate.

And it's been explained on HN exactly what it is. So problem solved.

By the way, I noticed you didn't follow your own recommendation for the "RF" acronym in your comment. Nor "NASA" in your first reply. Perhaps you should check your own comments before you criticize others for doing the same.

Maybe you should also leave a comment in the Mullvad story (currently #1 on HN) that nobody has explained the VPN acronym there. Likewise for the threads where people reminisce about BASIC, of which there have been many lately. They're also only obvious if you already know the subject matter.

auxiliarymoose•28m ago
Thanks for the catch! Fixed :-)
ImJasonH•55m ago
What's NASA :)
auxiliarymoose•48m ago
~Well, if you asked a randomly-chosen person (technical or non-technical) they would probably say NASA is "the organization that does the space things" — it's pretty well-known~

~On the other hand, BPF means different things in different domains, and isn't ubiquitous in the same way~

Edit: I should have written it out, that's on me :-)

Retr0id•29m ago
Spelling out Berkeley Packet Filter doesn't really tell you anything about what eBPF actually is.
knome•43m ago
'berkeley packet filters', these days 'extended berkeley packet filters', are little program snippets you can inject into the linux kernel from userland programs to run logic on hooks on various events without the need to switch back to userspace.
badc0ffee•1h ago
In eBPF-land you're going to be calling C functions in the kernel, and using (generally) C data types like structs and null-terminated strings. You can't do loops (loops are unrolled by the compiler), you can't do variadic functions, and you definitely can't take advantage of all the cool Go stuff like goroutines, select, context, etc.

I'm not really sure why you'd want to use this. If you're writing eBPF, you already need to know how to read C kernel source.

hnlmorg•15m ago
> Why transpile, not generate BPF directly

> gc, the Go compiler, has no LLVM-based BPF backend. Adding one is a multi-year compiler project. rustc is built on LLVM and that's why Aya works. So gobee emits C and reuses clang's BPF backend, which gives us mature codegen, BTF, and CO-RE relocations for free.

I wonder if TinyGo (https://tinygo.org/) might be a better fit here:

> TinyGo brings the Go programming language to embedded systems and to the modern web by creating a new compiler based on LLVM.

I've not played with TinyGo much so would be interested to hear other peoples experiences.