Live data from Hacker News

HTTP/3 is everywhere but nowhere

httptoolkit.com

311–320 of 504 posts

Re: HTTP/3 is everywhere but nowhere

#311

Earlier quoted context omitted.

Yep, it's tragic because it all stems from unforced differences vs ipv4. The design was reasonable, but with perfect hindsight, it needed to be different. They needed to keep the existing /32s and just make the address field bigger, despite the disadvantages. "Everywhere but nowhere" is sorta how I'd describe ipv6. Most hardware and lower-level software supports it, so obviously it wasn't impossible to support a new…

> Yep, it's tragic because it all stems from unforced differences vs ipv4. The design was reasonable, but with perfect hindsight, it needed to be different. They needed to keep the existing /32s and just make the address field bigger, despite the disadvantages. Exactly. I would love to have seen the world in which that happened, and where all the other parts of IPv6 were independently proposed (and likely many of the…

The main problem wasn't all the smaller features but one big one in particular that can't be split into smaller pieces, the new addressing scheme. They wanted to replace all the existing addresses, which meant replacing all the routes. Besides the difficulty of that by itself, it automatically meant that the v6 versions of DNS, DHCP, NAT, etc wouldn't support v4, rather it'd be a totally separate stack.

There were also some small things. And routers often having bad defaults for v6, which btw, would not even be a concern if they left the big thing alone.

Re: HTTP/3 is everywhere but nowhere

#312
post #231

Earlier quoted context omitted.

.NET suffers from the long lasting reputational taint of Microsoft. It was seen as the sworn enemy of open source and Linux, and for good reason. Today’s MS is not what it was back then. But long memories are not a bad thing, really. If .NET suffers a bit from some unfair perception, perhaps that can remind MS and others what happens when you take an aggressively adversarial approach.

More than just that it came from MS. For a long time, .NET was completely proprietary, and only ran on Windows. Now it is open source and cross platform, but it is still fighting the momentum of being seen as Windows-only.

Can you name some examples of popular .Net applications on GNU/Linux or *BSD operating systems?

Re: HTTP/3 is everywhere but nowhere

#313

Earlier quoted context omitted.

"Depended on" is what I should have said. An ISP or website can be v4-only or support both, but it's not going to be v6-only.

this isn't true. I know because at some point XFinity started dropping ipv6 connections for me and I noticed because a number of sites (forget which) were broken

What do you mean by dropping ipv6 connections, like dropping ipv6 packets? That's only an issue if you're using v6. I disabled ipv6 on my router years ago and have never had a problem just using v4.

Re: HTTP/3 is everywhere but nowhere

#314
post #273

Earlier quoted context omitted.

except if you want to use for example system.windows.forms, then "oh well different teams maintain that, nobody made it for linux!!!" "the core is open!!!" they clearly WANT applications written in .net not to be cross platform

It's not about different teams, it's that System.Windows.Forms is exactly what the namespace says. It's Windows Forms. It's a fairly thin wrapper over the Windows API. It's never going to be adapted to be cross-platform and isn't really something they've put any development work into for many years at this point. If you want a cross platform UI, use WPF with Avalonia. Or if you want something entirely from Microsoft…

obviously system.windows.forms could easily be implemented elsewhere, but okay, does any of the other UIs work fully properly on for example linux?

Re: HTTP/3 is everywhere but nowhere

#315

> Really it's hard to point to any popular open-source tools that fully support HTTP/3: rollout has barely even started. > This seems contradictory. What's going on? IT administrators and DevOps engineers such as myself typically terminate HTTP/3 connections at the load balancer, terminate SSL, then pass back HTTP 1.1 (_maybe_ 2 if the service is GRPC or GraphQL) to the backing service. This is way easier to administ…

Speaking of gRPC, it's unfortunate that they went all-in on HTTP/2. Should have made it work over HTTP/1.1. I know others made it work, but it wasn't first-party. Maybe it could've been more popular than JSON-over-HTTP by now.

No reason to choose HTTP/1.1 over HTTP/2.

Re: HTTP/3 is everywhere but nowhere

#316

Earlier quoted context omitted.

Speaking of gRPC, it's unfortunate that they went all-in on HTTP/2. Should have made it work over HTTP/1.1. I know others made it work, but it wasn't first-party. Maybe it could've been more popular than JSON-over-HTTP by now.

No reason to choose HTTP/1.1 over HTTP/2.

The reason is that a lot of things don't support /2, ironically including Google's own AppEngine. Also Heroku.

Re: HTTP/3 is everywhere but nowhere

#317
post #292

Earlier quoted context omitted.

> GitHub was purchased, which is a bit different. Why is that different? The purchase was 7 years ago (?) at this point. Do we make an exemption for SharePoint because it, too, is an extension of FrontPage acquired via Vermeer?[0] At what point does it lose its exemption from "Hate All Things Microsoft"? 10 years? 20 years? [0] https://en.wikipedia.org/wiki/Microsoft_FrontPage

The difference here is that we didn't select to use a Microsoft product, a produce we used became Microsoft. It only matters in the context of it being "ironic" that it is used and favored in the coding community.

OK, then thoughts on VS Code and TypeScript?

Microsoft contributions to Python?

Do they all trigger some weird instant irrational reaction?

Re: HTTP/3 is everywhere but nowhere

#318

Earlier quoted context omitted.

Actually, the reason why they went with Go rather than C# is because they wanted to port the existing code as much as possible rather than rewriting from scratch. And it turns out that TS is syntactically and semantically much closer to Go, so you can often convert the former to the latter mechanically.

> And it turns out that TS is syntactically and semantically much closer to Go, so you can often convert the former to the latter mechanically. Are there examples of this? I ask because I've been working on a Nest.js backend in TS and it's remarkably similar to C# .NET Web APIs (controllers, classes, DI). Really curious to see the translation from TS to Go.

TSC codebase is quite unlike regular TypeScript code you will see out there. So it is about specific way TSC is written in being the easiest to port to Go rather than the TS language as a whole.

There's a screenshot comparing the two side-by-side, IIRC it was showcased on the video of the talk (if someone has a timestamp - please post).

Re: HTTP/3 is everywhere but nowhere

#319
post #153

Earlier quoted context omitted.

lot of people do use IPv6 but what turned out to be a big problem (not enough IP addresses for clients) was solved by CGNAT and a simple market (for servers) of course it's important to understand that it was cheaper to deploy thousands of CGNAT boxes than to upgrade the whole Internet (and corresponding software)

Surely most hardware / software that has had no support for IPv6 has been mostly phased out by now?

It seems cheap consumer ISP hardware works absolutely fine these days, but prosumer/small business devices sometimes still have trouble with hardware acceleration. You can sometimes get that acceleration when you flash OpenWRT so the problem seems to be a lack of effort from companies that should do better.

Also, IoT crap tends to disable IPv6 (for saving a few kilobytes of ROM I think) but that stuff is better off locked behind six levels of NAT anyway.

Post reply on HN