Hacker Newsnew | past | comments | ask | show | jobs | submit | aoetalks's commentslogin

I was about to agree with you, and then I read the article on DTLS.

> And that data-stream the interface that TLS provides

That’s exactly the problem. You might lose a UDP packet. That would corrupt data encrypted with stream cipher.

With DTLS, each packet is encrypted individually.

https://en.m.wikipedia.org/wiki/Datagram_Transport_Layer_Sec...


Just on a technical note, TLS 1.3 only uses AEAD ciphers where the nonce is determined by the record numbers, so it actually is in principle possible to decrypt the packets even if they are received out of order by trial decrypting with different record numbers. You don't do this in TLS (as opposed to DTLS) because it runs over TCP and therefore you are guaranteed in-order delivery.

DTLS, by contrast, provides a record number hint (the low order bits of the record number and epoch) to assist in record number reconstruction: https://www.rfc-editor.org/rfc/rfc9147.html#name-reconstruct....


I would agree with you that DTLS is a misnomer; that it does not provide the layer-4/transport-layer -like interface that regular TLS provides.

(It isn't quite a layer-3/internetwork-layer -like interface; from the UDP that it sits on, it has a multiplexing component that is "half" of a layer 4 interface.)


Beej’s guide for networking really saved me:

https://beej.us/guide/bgnet/

I continue to find that knowledge useful in my day job working on distributed systems.



Thanks! It's probably better to merge the comments hither since this URL is more informative.


Virtual threads, generational GC, manual memory management, all things .NET has had for ages. Too bad it can’t shake the “MS tech is boring” reputation


I don't think .NET has virtual threads (async/await doesn't count), and it definitely doesn't have anything similar to ZGC/Shenandoah — two garbage collectors that provide sub-millisecond pauses with heaps up to the multiple terabyte range. You can also go completely pause-less on commercial JVMs from Azul.


The .NET GC philosophy, so to speak, is to provide such guarantees by allowing programs to avoid GC entirely with value types.

Eventually, Project Valhalla will provide this on JVM-land, but it doesn't seem like the day will soon come.


It's not generational GC, it's generational ZGC.

ZGC is a concurrent GC, both the marking phase and the evacuation phase are done concurrently with the program running. A generational ZGC is a generational concurrent GC.

MS does not have such kind of tech.


Well, yeah, that's been Java's explicit philosophy for decades. Let other languages evaluate cool new features first, then learn from their mistakes and promise backward compatibility "forever".


Also, keeping the language conservative, but being state of the art on the runtime level — there is absolutely nothing even close to Java’s GCs.


Linux support is bad on MS tech. Poor ecosystem and VM isn’t that great. JVM with ZGC is fast on Linux. Biggest lack is Value Types.

And I’m not deploying to Windows. That’s right out.

But lots of people find it useful, so more power to them. For me, it must deploy on Linux. That’s a dealbreaker. It’s not enough if some bare functionality is on Linux. I don’t want to be experiencing the equivalent trouble of trying to have a musl-only build.

JNI story is great. Can bind easily with rust-jni on Linux.

But need value types and some longer primitives (i128 and u128 would be nice).


Aren't you quite limited when targeting or developing on non-Windows platforms with .NET?


Not with the current versions, which are devrived from .NET core.


.NET officially supports Linux, macOS, iOS, and Android.


"Officially supported" is not the same as supported well.


Okay sure let's just ignore Linux, Apple Silicon, BSD support by .NET and Visual Studio.

It's obviously "MS tech is boring", e.g. TypeScript and VSCode.


> new software and hardware is being developed or rolled out right now that is incapable of working on an IPv6 network

I would be shocked if this were true for hardware. Even for software, every major OS in the last 10 years as supported IPv6, and prefers it over IPv4

I’m sure there’s horror stories, but I doubt it’s systemic.


> prefers it over IPv4

That's the problem. If the OS starts using IPv6 preferentially but the software on top can't handle it, then you get a crash.

E.g.: if you turn on IPv6 for DNS and it starts returning AAAA records instead of A records, then a lot of applications fall flat on their face.

Usually the type written in C and insisting on maintaining compatibility with whatever Berkley did in the 1970s.


Some enterprise software I guess? I have native IPv6 since 2010 and can't remember a single software that crashed because of it.


You can do zone affinity with service fabric. It’s difficult, but not impossible.


Granted, but none of the Azure services do that. It’s like the difference between someone that is illiterate and someone that never reads anything.


712 is another way to refer to a 717-200. Though it’s a bit odd they just didn’t say “717-200” in the article to reduce confusion.

https://flightaware.com/live/aircrafttype/B712


Thank you for the clarification. I should have searched around a bit more for an explanation before complaining about it here.

As soon as I have a little free time I'll do my best to update the relevant Wikipedia pages in hopes fewer people are confused by the nomenclature in the future.


How did I not hear about this before on HN? This is pretty cool.


I read this sentence like 5 times trying to make sense of it. Glad it wasn’t me.


This is incredible.


To give some more detail: hydrogen to helium fusion (even with intermediate steps) is extremely unlikely to happen. That's part of why the sun will last for billions of years. And that's also why first human attempts at fusion are not trying to use straight up hydrogen as the fuel.

Good old Wikipedia has this gem:

> The large power output of the Sun is mainly due to the huge size and density of its core (compared to Earth and objects on Earth), with only a fairly small amount of power being generated per cubic metre. Theoretical models of the Sun's interior indicate a maximum power density, or energy production, of approximately 276.5 watts per cubic metre at the center of the core,[63] which is about the same power density inside a compost pile.

https://en.wikipedia.org/wiki/Sun#Core

Another fun fact: there's a decades old design for a gadget that fits at the top of your desk and does nuclear fusion. You could build one yourself, if you are sufficiently dedicated. Unfortunately, no one has ever worked out how to run one of them as a power plant. Ie how to get more useful energy out than you have to put in.

https://en.wikipedia.org/wiki/Fusor


Those Fusors can make a decent neutron source however. Those were invented by Philo Farnsworth, who invented the cathode ray tube for television.


I’m so disappointed I can’t just buy a fusor online.

But here is a MAKE magazine article explaining how to build! https://makezine.com/projects/nuclear-fusor/


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: