5/4/2026 at 8:52:33 PM
Very grateful that OpenAI published the article/publicized their usage of Pion[0] a library I work on. If you aren't familiar with WebRTC it's a super fun space. I work on a book WebRTC for the Curious [1] that details how it works.by Sean-Der
5/4/2026 at 10:54:17 PM
I use pion thanks for making it!Curious if you thought their approach was necessary, it seemed like a ton of complexity to reduce one of the faster parts of a voice AI setup. Having a fast model and accurate VAD seems way more important than fine tuning WebRTC transit times.
by ericmcer
5/4/2026 at 11:24:37 PM
Thanks for using it :)I think It’s a case of you improve what you own. The owners of WebRTC servers were aggressively improving their part. They don’t own the inference servers.
by Sean-Der
5/4/2026 at 9:28:38 PM
Appreciate you putting the entire book online!I read parts of it a while ago when I had an idea on using webRTC data channels to pass data from databases to browser clients via a CLI. Your book made me understand that it's probably not a great fit for my use case. I just used a centralized control plane and websockets instead.
I still feel like there is something fun that we can do with webRTC data channels + zero copy Apache Arrow arraybuffers + duckdb WASM, but haven't figured it out yet
by aleda145
5/4/2026 at 11:33:00 PM
Thanks for reading it!You can't beat Websockets :) Especially since you have so much tooling/existing stuff that works with HTTP.
I have been trying to get a website off the ground that does Datachannels + SQlite in the browser and then users sync between each other. I have gotten distracted so many times though.
by Sean-Der
5/5/2026 at 8:07:22 AM
Super cool! Please give me a ping if you ever launch that (my email is on my website (in my profile))by aleda145
5/4/2026 at 10:36:53 PM
What is preventing the fun is that even though we now have IPv6 widely enough available we still can't have p2p connections in the browser without a cumbersome control plane of servers. If you could join a federation in the browser from some bootstrap IPs then I think we could have some real distributed fun.by oezi
5/4/2026 at 9:17:21 PM
Thanks for WebRTC for the Curious and for Pion! Not using the latter directly, but have used both to better understand WebRTCby dtran
5/5/2026 at 1:07:53 PM
For those unfamiliar with WebRTC, the Pion FAQ page has a good description:> WebRTC is a standardized protocol for P2P communication. It allows two peers to exchange media and data. It is encrypted by default, and handles connectivity establishment in many different network conditions. It is supported in browsers, and has multiple out of browser implementations.[0]
by ssgodderidge
5/4/2026 at 9:01:29 PM
slightly unrelated but what’s with storing the entire codebase in the root directory instead of a nested src folder? It makes getting to the README a lot more difficultby thatxliner
5/4/2026 at 9:13:23 PM
Thats the default for go projects. Go imports are repository strings (e.g.): import ("github.com/go-sql-driver/mysql")
so it's standard to have the library files in the root directory.
by nemothekid
5/5/2026 at 5:36:12 PM
FWIW I usually don't structure my Go projects this way unless they're very very small. This is what I usually do for anything larger than 2-3 files: ├── cmd
│ └── binary-name
│ └── main.go (may subpackage for things like CLI porcelain, etc)
├── go.mod
└── internal
└── app.go (and subpackages, etc)
by dgunay
5/5/2026 at 11:58:31 AM
I assume this is why GitHub has the annoying #readme-ov-file slugby saagarjha
5/4/2026 at 9:16:51 PM
This is valid criticism. Go fanbois don't like listening to any go criticism. They were all like who needs templates in go. and now go has templates.To me go code looks like somebody vomitted stuff in the root dir and i have to wade through that every time. No namespacing. nothing
by a456463
5/4/2026 at 9:44:07 PM
I don't like go as a personal preference but reducing them to "fanboys" is a bit reductive. I'm sure the same could be said about your own favorite language.by junon
5/7/2026 at 8:35:58 PM
Also as far as being civil: please watch literally any Rob Pike vibe chastizing Python and Java communities to no end. It is that rhetoric. That is why Go has fanbois. They can only see what the Gopher says and what Rob Pike says. Nothing else.Other languages have fanbois but they didn't disparage and denigrate other communities to prove themselves.
by a456463
5/4/2026 at 10:00:35 PM
Is it reductive when its describing a group of people that like something and refusing to hear any ill of it? The comment wasn't shade at people using the language in general.And you're right, fanboys are in every language. But resorting to changing the argument by whataboutism is a bit reductive.
by altmanaltman
5/4/2026 at 11:09:26 PM
I’m not a go fanboy, but I do know from other contexts that so-called “fanboy“ behaviour is frequently associated with level-headed supporters getting defensive in the face of imprecise criticism.There’s an oft-repeated pattern where valid specific criticisms morph into broad criticism, which morphs into judgement, which breeds defensiveness, which feeds the criticism. Once you recognise this pattern, you see it everywhere.
by simondotau
5/5/2026 at 1:18:04 AM
Sure, and there's the near-identical pattern where valid specific criticisms are taken as broad criticism even though they aren't, etc., etc..by twodave
5/5/2026 at 5:04:42 PM
Thats the defensive step outlined above.by xboxnolifes
5/5/2026 at 12:38:22 AM
Ok... The question was why is it like that. The answer is because it's in go. Nobody was anything other than civil before you neckbearded in here. Chill. There's a sane way to say what you said.by idiotsecant
5/7/2026 at 8:34:04 PM
I wish I could grow a beard. Also as far as being civil: please watch literally any Rob Pike vibe chastizing Python and Java communities to no end. It is that rhetoric. That is why Go has fanbois. They can only see what the Gopher says and what Rob Pike says. Nothing else.by a456463
5/5/2026 at 5:32:06 PM
I believe it was "They were all like who needs generics in go. and now go has go generate and templates."I guess I qualify as a Go fanboi -- it is not perfect but gets the job done for a lot of us, sorry it doesn't work for you.
But back to your point about "vomit in the root dir", Go does have namespacing of sorts via packages, and the pattern you criticized is not the only way -- often just a simple main.go at the root bringing in packaged functionality.
by pstuart
5/5/2026 at 2:07:01 AM
WebRTC is great and so is Pion, thanks for help making and maintaining it! I loved learning about WebRTC from WebRTC for the Curious!!!by willmeyers
5/5/2026 at 12:17:35 AM
I used pion and it was fantastic. Most of the article seems pretty standard webrtc techniques for performant voice.by ryanar
5/4/2026 at 10:10:27 PM
Only a software dev would start their referencing at 0 lolby haaz
5/4/2026 at 10:11:53 PM
I do this too I never made the connection.by vorticalbox