frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
624•klaussilveira•12h ago•182 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
926•xnx•18h ago•548 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
32•helloplanets•4d ago•24 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
109•matheusalmeida•1d ago•27 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
9•kaonwarb•3d ago•7 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
40•videotopia•4d ago•1 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
219•isitcontent•13h ago•25 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
210•dmpetrov•13h ago•103 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
322•vecti•15h ago•143 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
370•ostacke•18h ago•94 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
358•aktau•19h ago•181 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
477•todsacerdoti•20h ago•232 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
272•eljojo•15h ago•160 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
402•lstoll•19h ago•271 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
85•quibono•4d ago•20 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
14•jesperordrup•2h ago•6 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
25•romes•4d ago•3 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
56•kmm•5d ago•3 comments

Start all of your commands with a comma

https://rhodesmill.org/brandon/2009/commands-with-comma/
3•theblazehen•2d ago•0 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
12•bikenaga•3d ago•2 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
244•i5heu•15h ago•188 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
52•gfortaine•10h ago•21 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
140•vmatsiiako•17h ago•63 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
280•surprisetalk•3d ago•37 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1058•cdrnsf•22h ago•433 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
132•SerCe•8h ago•117 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
70•phreda4•12h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•8h ago•11 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
176•limoce•3d ago•96 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
63•rescrv•20h ago•22 comments
Open in hackernews

WebTransport is almost here to allow UDP-like exchange in the browser

https://developer.mozilla.org/en-US/docs/Web/API/WebTransport_API
57•BinaryIgor•3mo ago

Comments

ktpsns•2mo ago
I wonder why they did not extend the existing websocket API. Now if you want to be HTTP/1 or HTTP/2 backward compatible, you have to add another abstraction ontop of these two because WebTransports is HTTP/3 only.
silverwind•2mo ago
Yeah, I don't see this or HTTP/3 gaining any widespread adoption because HTTP/3 needs obscure DNS records and messing with firewalls.
kaoD•2mo ago
HTTP/3 does not need obscure DNS records (but it's greatly enhanced by them).

Messing with firewalls in what way?

baggy_trough•2mo ago
All it really needs is a UDP port 443 hole punch. The DNS stuff is an optional optimization.
CharlesW•2mo ago
I can't find 2025 stats, but HTTP/3 adoption was already widespread two years ago. https://blog.apnic.net/2023/09/25/why-http-3-is-eating-the-w...
chrismorgan•2mo ago
WebSocket and WebTransport are pretty wildly incompatible in an API sense. One provides a single reliable bidirectional stream. The other provides arbitrarily many unreliable and reliable unidirectional and bidirectional streams, according to your own orchestration.

It’s like saying “I had a violin, why didn’t they make this new ‘orchestra’ thing behave the same way?”

If you’re willing to limit yourself to a single reliable bidirectional stream, abstracting over both WebTransport and WebSocket will be easy.

WebTransport, in its fullness, also pretty clearly depends on HTTP/3. Any implementation based on HTTP/1 or HTTP/2 (which is in progress) will lack unreliable delivery and independence of streams (due to using TCP), and possibly more features.

advisedwang•2mo ago
There is a proposal to do this: https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-ht...
KPGv2•2mo ago
The websocket RFC is designed around TCP, and "extending" WS to work over UDP would essentially be a new protocol. Which is what this is.

You can think about this with HTTP/1 vs HTTP/3: HTTP/3 isn't an extension of HTTP/1. It's radically different.

mort96•2mo ago
I think WebTransport is cool.

What worries me is that some people involved in standardisation seem to be of the opinion that WebTransport supersedes WebSocket. WS has become my go-to transport when I just need to be able to reliably send messages back and forth, whether or not the web is involved at all, and I don't see WebTransport as a replacement for that use case. I hope WS sticks around forever.

Also, it's messed up that WT is only available in HTTPS. There are so many cool use cases for web technologies in local contexts where HTTPS is not a practical option, it's a shame most new technologies are arbitrarily banned from those use cases.

yladiz•2mo ago
You should be able to use things like WebTransport locally, localhost is considered a secure context.
mort96•2mo ago
192.168.0.x is not though
vscode-rest•2mo ago
port fwd through localhost?
mort96•2mo ago
You're missing the point. The useful thing is to run some service on the LAN, be it a web interface for a NAS, a web interface to control some lighting, a web interface into a media PC to do remote desktop type stuff or control media playback, a debug interface into some embedded product I'm working on, or a whole host of other things. The thing that makes web technologies useful for this is that it Just Works, from any other machine on the LAN (my laptop, my phone, a guest's phone, etc).

By making technologies available only in a "secure context", they're blocking them out of this whole category of use cases.

jimvdv•2mo ago
You can get a free cert from letsencrypt using their dns challenge. No need to expose to the internet. Add a DNS record that points to the address of your LAN and it’ll make things even easier for your guests.
mort96•2mo ago
Not interested in going through the effort of setting up a DNS record, go through the whole DNS challenge process, and go through a periodic manual renewal process, for every stupid little thing (many even just temporary things which don't even have a static DHCP lease). There's literally no advantage for my use case, except that I'd be allowed by the web standard bodies to use their shiny new toys that they artificially lock away otherwise.

For the permanent installation case, it's typically easier to use mDNS domains since they're shorter. 'mediapc.local' is easier for guests to type than 'mediapc.local.mort.coffee' or whatever I'd end up with.

What would be a good solution is self-signed certificates, but that too is a non-option until all browser vendors downgrade the warning from a "Someone is trying to hack you!" style scare screen to a more informative "this is a self signed certificate, do you trust it?" style warning screen.

sroussey•2mo ago
Self signed for 192.x would be one thing, self signed for gmail.com would be another.
mort96•2mo ago
I would be perfectly happy with a solution where browsers show a scare screen for self-signed certificates on the public internet but a benign-looking "Do you want to trust this certificate?" screen for 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 or mDNS .local domains.
otabdeveloper4•2mo ago
> you VILL spend effort to placate the corporate letencrypt gods with pointless encantations and you VILL like it

Gee thanks corporate overlords, whatever would we do without your cloying efforts to provide quote-unquote-"security"?

addisonj•2mo ago
not disagreeing with your point here, or in the follow-ups of the pain of https for "local network" apps... but I really wish that we could get to a place where we could get away from this distinction. Obviously, ipv6 is not that easy or realistic, but that really is, imho, the "right" long term answer.

Having gone down the path of being able to just spin up "local" services that get a publicly routable (but most often firewalled off) ipv6 IPs and then good DNS integration is really neat... but still requires lots of technical chops. I wish that weren't the case

mort96•2mo ago
I work with embedded Linux stuff and MCU stuff where we make a significant number of units. Even in an IPv6 world, there's no way each of those would get their own public static IPv6 address with an associated DNS record just for the purpose of being able to spin up a debug web interface. It's explicitly desirable for these devices to not be reachable through the public Internet.
stavros•2mo ago
Well then you set your firewall to default-deny. It doesn't make sense to hobble the internet just because NATs are inadvertently a convenient firewall.
mort96•2mo ago
And how do I assign the devices globally unique IP addresses? SLAAC is only for local addresses, right?
stavros•2mo ago
Wouldn't IPv6 work for that?
mort96•2mo ago
I don't know what you mean. I asked what process you would use to assign IPv6 addresses.
stavros•2mo ago
Maybe I'm not understanding the use case. Why can't you use DHCPv6 or SLAAC wherever the device is deployed?
mort96•2mo ago
DHCP doesn't give you a globally unique IP address...

If you're suggesting getting using a non-unique DHCP-assigned local IP address, I don't understand what difference you think v6 does compared to v4.

stavros•2mo ago
DHCP does give you a globally unique IP address when your ISP has allocated a prefix to your router, that's how all the Internet-connected IPv6 devices get their addresses. Where is our misunderstanding?
mort96•2mo ago
...

For many of these systems, I don't control the user's router. I don't know how you imagine I'm supposed to create DNS records for each device when they're assigned some random IP address at some random network I don't control.

stavros•2mo ago
Have the device ping a central server and create randomword.centralserver.com, for example. However, if the problem is the DNS record, why has this thread been exclusively about globally routable IP addresses until now?
mort96•2mo ago
In https://news.ycombinator.com/item?id=45957048, addisonj suggested that the problem stems from the distinction from "local" and "global", and that with IPv6, you don't need that distinction.

That quite naturally flows into the question: okay, how are these devices supposed to get global IPv6 addresses then?

stavros•2mo ago
Yes, with IPv6, there are are enough addresses that you don't need to use NAT. All IPv6 devices that are connected to the internet have global IPv6 addresses. I don't quite understand the question here, it seems to me that we're asking "but how could we possibly do this entirely mundane everyday thing?".
mort96•2mo ago
Not all devices connected to the Internet have globally unique IPv6 addresses, SLAAC and often DHCPv6 makes local v6 addresses. Where's the globally unique IPv6 address supposed to be coming from?
stavros•2mo ago
This explains it fairly well, I think:

https://thisbridgeistheroot.com/blog/dhcpv6-prefix-delegatio...

mort96•2mo ago
So you're talking about being assigned temporary globally unique addresses, if the network the device happens to be on at any given time happens to be set up in a certain way?

I still don't understand how this is supposed to help.

stavros•2mo ago
In https://news.ycombinator.com/item?id=45957048, addisonj suggested that the problem stems from the distinction from "local" and "global", and that with IPv6, you don't need that distinction.

This helps because you don't have a NAT distinguishing between "local" and "global", all devices are in the global namespace.

All the comments after that have been about solving an arbitrary and ill-defined problem with goalposts that keep shifting from globally unique addresses to DNS hostnames to permanent addresses.

mort96•2mo ago
How does getting a temporary globally unique IPv6 address from DHCPv6 solve any of the issues surrounding how new web technologies aren't available in "insecure contexts"?

I assumed that the suggestion was that you could assign a device a permanent IPv6 address, because I can easily imagine that as a part of a solution to the HTTPS issue. When every device has a permanent IPv6 address, and if every device is reachable through said IPv6 address, you could, in principle, also automate assigning each device a DNS record and set up SSL that way. It would be a pretty terrible solution that's way more complicated than just using a local address over HTTP, but it makes sense.

I have no idea how to even begin translating maybe getting temporary unique addresses through DHCPv6 into a solution to the HTTPS issue.

stavros•2mo ago
You can get a static prefix from your ISP. After you get the static prefix, it's up to your local network to make the local parts of the address static. There's no reason why your DHCP server can't give the device a static address, it's not like it's going to run out.

Then again, you don't need a static address to get a TLS certificate. You don't need an address at all! All you need is a domain name.

mort96•2mo ago
Some of the devices I'm talking about are running on my own residential internet connection or my sister's. Some are running on whatever corporate or residential or 4G network happens to exist where I need to interact with them. Some are running on whatever network the user has.

How does your proposed suggestion of getting a static prefix from an ISP apply to those situations? Should I start calling customers to get them to ask their ISP for a static IP address?

> Then again, you don't need a static address to get a TLS certificate. You don't need an address at all! All you need is a domain name.

I don't understand what you think this solves.

super256•2mo ago
I just read the MDN article of WS and you are right: WT is indeed treated as the successor of WS (in many use cases), which I did not expect at all: 'Additionally, the WebTransport API is expected to replace the WebSocket API for many applications. WebTransport is a versatile, low-level API that provides backpressure and many other features not supported by either WebSocket or WebSocketStream, such as unidirectional streams, out-of-order delivery, and unreliable data transmission via datagrams.'

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_...

gr4vityWall•2mo ago
Agreed. WebSocket works perfectly when someone wants a lightweight message-based protocol on top of TCP and doesn't want to implement it themselves, potentially in multiple languages. It being originally browser tech became a minor detail.
kixelated•2mo ago
I like to frame WebTransport as multiple WebSocket connections to the same host, but using a shared handshake.

It's common to multiplex a WebSocket connection but you don't need that with WebTransport, while also avoiding head-of-line-blocking.

But yeah I wish WebTransport had a better TCP fallback. I still use WebSocket for that.

mort96•2mo ago
The thing is, I very rarely (or arguably never) have a use case which requires that one client has multiple connections to the same server. The thing I want is almost always to have a bidirectional stream of messages where messages arrive in order. Essentially a simple message envelope protocol on top of TCP.
kixelated•2mo ago
For sure, if you want an ordered/reliable stream then WebSocket is ideal. WebTransport is useful when you also want prioritization and semi-reliable networking, similar in concept to WebRTC data channels.
Aurornis•2mo ago
Designed a protocol to supersede an old one is a good design goal. It makes encompassing all of the previous functionality and use cases a design priority.

It doesn't imply that websockets would be deprecated by WebTransport. It's a goal to make WebTransport an easy choice.

> Also, it's messed up that WT is only available in HTTPS. There are so many cool use cases for web technologies in local contexts where HTTPS is not a practical option

WebTransport is relatively heavy compared to websockets. Once you consider all of the layers, HTTP/3, possible HTTP/2 fallback, and transports, adding TLS is minimal overhead for code size.

For contexts where setting up certificates is not practical, I assume the workaround will be to generate a self-signed certificate and then tell the client to ignore certificate validation problems.

layla5alive•2mo ago
There are material performance overheads to TLS
mort96•2mo ago
Performance isn't really my main concern; I have some projects with configuration web GUIs running on MCUs where it could matter (especially the code size to include mbedtls), but most of the stuff I care about is on Linux machines which are powerful enough that it doesn't matter.

See my response to the certificates thing here: https://news.ycombinator.com/item?id=45820782#45956556

Aurornis•2mo ago
> I have some projects with configuration web GUIs running on MCUs where it could matter

I don’t think these are a fit for an entire HTTP/3 or HTTP/2 stack with WebTransport anyway.

WebSockets is fine for these applications and won’t be going away.

> See my response to the certificates thing here

If you don’t care about validating the certificate you can skip all of the renewals and DNS setup and everything else. The client will complain that it can’t verify the certificate against anything trusted and you tell the client that’s okay, just ignore it and continue.

If you don’t care about encryption then you also don’t care about setting up the certificate properly. You put something in there to enable the connection and then have the client ignore the fact that it’s not verified.

If your complaint is that browsers show warning signs for certs that can’t be validated and those might scare other users, that’s not going away.

mort96•2mo ago
I don't think you understand. I don't want to make services which, by design, show scare screens to people and make it sound like they're being hacked. It's better to use HTTP and restrict myself to features which work in "insecure" contexts.
rustyconover•2mo ago
Where are the server side implementations?
pphysch•2mo ago
Like this?

Golang: https://github.com/quic-go/webtransport-go

KPGv2•2mo ago
I would guess there aren't as many because, in order to implement this, your language must already have an HTTP/3 library. My language of choice doesn't even support QUIC yet (so I'm writing the library for it, then for HTTP/3). I wouldn't be surprised if other languages are similar.

As of one month ago, Java still didn't have HTTP/3 support. Though it's apparently coming in March (with JDK 26).

kixelated•2mo ago
I maintain https://github.com/kixelated/web-transport

But yeah the HTTP/3 integration definitely makes WebTransport harder to support. The QUIC connection needs to be shared between HTTP/3 and WebTransport.

mehagar•2mo ago
We tested this against WebRTC data channels (which also uses UDP) and found that the congestion control algorithm used for WebTransport limits its use for videoconferencing. We'll probably look into it again if browsers start allowing this to be configured.
valorzard•2mo ago
Did you try using the unreliable datagram extension?
Sean-Der•2mo ago
I haven't used WebTransport myself, how much can you control? I wonder how often libwebrtc does stuff that wouldn't be allowed in Javascript. Things like probing and overshooting the window?

Since libwebrtc is all in C++ and 'trusted' it can do stuff like faststart or have error correction/bandwidth estimation that is codec aware.

kixelated•2mo ago
There's no probing in any QUIC implementation but it's possible. There's a QUIC extension in the IETF similar to transport-wide-cc but it would still be up to the browser to use it for any upload CC.
kixelated•2mo ago
SCTP and by extension, WebRTC data channels, are supposed to use the same congestion control algorithms as TCP/QUIC. But I don't know which CC libsctp does these days.

WebTransport in Chrome currently uses CUBIC but the Google folks want to turn on BBR everywhere. It uses the same QUIC implementation as HTTP/3 so it's going to be more battle hardened.

greenavocado•2mo ago
SCTP: The FORWARD-TSN chunk was introduced to support selective unreliability: it allows the sender to tell the receiver that it will not retransmit some number of chunks, and requests that the receiver consider all these chunks as received.
kixelated•2mo ago
QUIC has a much better alternative to FORWARD-TSN, either via RESET_STREAM or QUIC datagrams.

I've implemented SCTP before to hack in "datagram" support by spamming FORWARD-TSN. Fun fact: you can't use FORWARD-TSN if there's still reliable data outstanding. TSN is sequential after all, you have to drop all or nothing.

QUIC as a protocol is significantly better than SCTP. I really recommend the RFC

greenavocado•2mo ago
Wow thanks for the tip
ilaksh•2mo ago
Okay so if sending raw binary is a normal use case, does that mean HTTP/3 is a misnomer? Or are they confusing me with the way they present Web transport ad being equivalent to HTTP/3 and WebTransport just sending binary data?

Also, what client libraries are there for Python, Rust etc. for WebTransport? Does it work with any HTTP/3/QUIC implementation?

kykat•2mo ago
With all these new APIs, I worry what the web will look like in 10 years, will be have this huge API surface always will us? Will we start to see deprecations in the web api? I'm worried if the XSLT is setting a precedent on deprecating "complex" and "hard to maintain" APIs.

EDIT: Think also about webgl1/2, webgpu, webxr, websocket, webrtc, webauthn ...

user3939382•2mo ago
10 years? We’re slowly re implementing yet another layer on the whole monster insane stack that already made no sense.
api•2mo ago
Everything that is extensible eventually becomes an OS.
mattvr•2mo ago
While WebTransport is promising, it's limited to client-server communication unlike WebRTC.

WebRTC supports peer-to-peer UDP connections as well. Thus it's better for use cases like low-latency games, video calling, and secure direct communication between devices.

A better push might be to make WebRTC more simple and modern, but I'm not sure if any standards committees are working on this yet.

Sean-Der•2mo ago
What do you think a more simple/modern WebRTC looks like?

* RTP over QUIC is promising https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-over...

Do you want a new PeerConnection API? Are you annoyed with the Offer/Answer model? Do you have beef with the protocols. The possibility are endless :)

mattvr•2mo ago
In a nutshell, ideally `peer.connect(remoteId)`. An API like peer-js/simple-peer. And symmetric negotiation would be great as well.

WebRTC should be the universal networking primitive for the next phase of the web, but the API exposes too many implementation details – its abstractions leak.

This plus the overall weight of integrations limit mass adoption by developers.

ranger_danger•2mo ago
> peer-to-peer UDP connections

Doesn't it require DTLS over UDP though?

kixelated•2mo ago
Yeah, technically it's SCTP over DTLS for data channels. Only the media layer gets to use raw UDP, limiting the scope.
r3tr0•2mo ago
I have been counting down the days.

It will help a ton with the low latency streaming we need to do in our eBPF based Linux performance tool. (https://yeet.cx)

dabinat•2mo ago
I’m completely unsurprised the holdout is Safari. I really wish Apple decoupled Safari updates from iOS updates. There are legitimate reasons why people might be stuck on an old OS (due to unsupported hardware) or simply not want to upgrade (e.g. because of the recent controversial UI changes). Tying updating your browser to updating your whole OS means web platform changes take much longer to become full baseline.

Plus Safari is often the last browser to get certain features anyway.