- > undersea fiber-optic cables is that they need amplifiers every N kilometers
Huh, I had no idea it needs to be done so frequently.
> These days optical cable repeaters are photon amplifiers that operate at full gain at the bottom of the ocean for an anticipated service life of 25 years.
> Repeaters are a significant cost component of the total cable cost, and there is a compromise between a ‘close’ spacing of repeaters, every 60km or so, or stretching the inter-repeater distance to 100km and making significant savings in the number of repeaters in the system. On balance it is the case that the more you are prepared to spend on the cable system the higher the cable carrying capacity.
https://blog.apnic.net/2020/02/12/at-the-bottom-of-the-sea-a...
- > south America and Europe they are all 16 or 32 for no clear reason
I don't know where you're getting your data from but it's clearly wrong or outdated. These are the most often sold routers in Czechia on Alza (the largest online retailer) under $100:
- TP-Link Archer AX53 (256MB)
- TP-Link Archer AX23 (128MB)
- TP-Link Archer C6 V3.2 (128MB)
- TP-Link Archer AX55 Pro (512MB?)
...
- Mercusys MR80X (256MB)
- ASUS RT-AX52 (256MB)
https://www.alza.cz/EN/best-sellers-best-wifi-routers/188430...
- Hmm, are the docs outdated then or are they talking about something else?
> The Visual Studio Code Remote Development extensions and their related components use an open planning, issue, and feature request process, but are not currently open source.
https://code.visualstudio.com/docs/remote/faq#_why-arent-the...
- ..and is not even open source (EDIT: I'm wrong, see below). Zed's remote server on the other hand seems to be OSS. One could probably install it themselves without relying on the automatic download.
https://github.com/zed-industries/zed/tree/633b665379c18a069...
- Traffic is cheap and has been for years. Providers do not pay for the amount of sent/received data but rather a fixed price for capacity at peak and this fee can easily be absorbed into the price of their service (they also don't pay any fees if they are peering with the destination directly). This is why many companies (even smaller ones) are able to provide unlimited traffic for free or free but limited to tens of terabytes (OVHcloud, Scaleway, netcup, Hetzner...).
How much would it cost to have unlimited 1 Gbps in a collocated server? A local datacenter I'm familiar with offers 2U with unlimited 1 Gbps for ~$60. Each additional 1 Gbps costs ~$20 up to 10 Gbps. The larger plans come with 10 Gbps by default (https://dc6.cz/cenik-server-housingu/). If these are the prices offered to end customers from a company, how little do the large players pay?
Cloudflare is able to provide free egress because they are not (as?) greedy. The biggest scam the cloud industry has been able to pull off is to convince people that paying for traffic in 2024 is normal and expected.
- > will that function also get to return a u8?
No, the main function (the entry point of the entire program) is special cased. Have a look at the source code. There you can see it's calling the user defined main function and handling its return value / error.
https://github.com/ziglang/zig/blob/2d888a8e639856e8cb6e4c6f...
> Also, what happened to argv/argc?
You can access argv with std.os.argv which is a slice of null terminated strings. It's better to go with std.process.argsAlloc though (requires an allocation but works on all supported platforms).
- > What I don't understand is the !void at the end of the declaration, if we're meant to be returning an int, surely !int would be the expected syntax (although I would prefer returns int instead).
`!void` means the function can return an error (e.g. return error.BadArgument) but doesn't produce any value itself. In the case of an error in the main function, the process will exit with 1, otherwise 0. The main function can also return a value directly (return type u8 / !u8).
- > This does bring Chromium in line with the URL spec, but Firefox still works properly with those callback links. Not sure which other engines you are speaking of, to my knowledge there really aren't any other viable Windows desktop browsers.
Hm, you're right, they're still working on it (https://bugzilla.mozilla.org/show_bug.cgi?id=1876105). Is it Safari then? I don't remember and don't have a way to test it right now. Obviously Safari is not something you care about on Windows anymore.
> On the server side, this is dead-easy to fix. For example register customprotocol64: and pass all your data in a base64 encoded blob, to stop the browser from mangling it.
You don't need to obfuscate it that much, just not start with // and then the rest can be still human readable/inspectable.
> Unfortunately every single offered workaround starts with deploying an upgraded version of your desktop application, so it understands the fixed link format. The challenge is not making the URLs spec compliant, it's getting the massive install bases upgraded to a version that properly parses the new URL format.
I agree. I'm a little bit surprised that they just dropped this and there wasn't any "grace" period where the browser would parse the URL as before but complained loudly in logs/console.
> PS Better just bite the bullet and start planning those emergency upgrades now, the odds of the Chromium team restoring non-standards-compliant behaviour to fix thousands of enterprise apps is essentially zero
It wouldn't be unheard of. If a big important Google customer complained enough, they might release a patch version with the kill switch turned on (base::kStandardCompliantNonSpecialSchemeURLParsing).
- For context this is indeed a breaking change but a change that brings Chromium in line with the URL spec and other engines. If your URLs are suddenly broken, it means they were invalid the whole time and functioned in Chromium due to bugs in their URL parser.
From the linked issue, the URL "customprotocol://https://example.com/test" starts with // after the scheme so it gets parsed as URL protocol=customprotocol: hostname=https port=<empty> pathname=//example.com/test. When you click the link, the browser will open "customprotocol://https//example.com/test" without the colon after "https" because an empty port is omitted (try opening https://example.com: in your browser).
Another example from the thread is "windx://host:scs/<port>;secure/MIS_VL_WINDX/v1/<sid>". This is invalid because it gets parsed as protocol=windx: host=host port=scs. "scs" is not a valid port number.
What if you want the previous behavior? Make sure the part after scheme doesn't start with //. In that case, the string will not be parsed as URL at all and just passed along.
1. customprotocol:https://example.com/test (protocol=customprotocol: hostname=<empty> pathname=https://example.com/test
2. windx:host:scs/<port>;secure/MIS_VL_WINDX/v1/<sid> (protocol=windx: hostname=<empty> pathname=host:scs/<port>;secure/MIS_VL_WINDX/v1/<sid>
- Maybe I'm missing something but why is the comparison table missing AMD Epyc 9684X (96/192) with a price of $14,756? Suddenly the price tag doesn't seem that outrages given the higher number of cores and performance gains. See benchmarks.
https://www.phoronix.com/review/intel-xeon-6980p-performance
- The Nix language also doesn't need to exist. They want to write pure lazy declarative derivations - great, you can do that in any existing language. It's a matter of style and APIs. You don't need to spend years developing a brand new language from scratch. Not to mention that many derivations end up calling a Bash script underneath anyway because at some point you actually need to perform an action in the real world. How would a derivation looked like if written in <insert your favorite scripting language> with lazy APIs?
- 2 points
- > On https://github.com/openzfs/openzfs-docs/issues/494 people unanimously agree that zfs native encryption is broken especially when sending or receiving raw encrypted zfs snapshots, and they blame the zfs leadership for refusing to admit that zfs native encryption is buggy because admitting that it is buggy is bad for the reputation of zfs.
More details on this can be found in a gist from the same author (keep in mind he's a well known zfs commmiter).
https://gist.github.com/rincebrain/622ee4991732774037ff44c67...
- > Valve is now providing a build service infrastructure
Fingers crossed this means Arch will support the ARM architecture* in the official repositories. There's a related RFC which has been accepted but but I'm not sure where things stand right now.
https://rfc.archlinux.page/0032-arch-linux-ports/
* I'm well aware of Arch Linux ARM but that's a separate project with even less resources (missing packages, some broken). Asahi used to use it before moving to Fedora due to similar problems.
- > I think you meant North Korea, not South.
South Korea is infamous for their internet censorship.
https://en.wikipedia.org/wiki/Internet_censorship_in_South_K...
- Curious as well. The only time I've seen it used in the wild is Redis' test suite. https://github.com/redis/redis/tree/unstable/tests/integrati...
- > Full disclosure happening at 20:00 UTC today, in a bit more than 2 hours.
> Also, to temper some concern about @evilsocket recent research... His bugs are in a thing that none of you should have installed so when it's published, please just uninstall that junk. Hopefully the response of the developer shows how badly you need to remove it.
https://web.dev/articles/bfcache