HNHacker News
TopNewBestAskShowJobs

frankjr

8,335 karma · joined February 6, 2016

submissionscomments
frankjr··on Ask HN: How does HN preserve state so well?
I think you're seeing the effects of Back/forward cache.

https://web.dev/articles/bfcache

frankjr··on Facebook building subsea cable that will encompass the world
> 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...

https://www.rp-photonics.com/propagation_losses.html

https://www.rp-photonics.com/fiber_amplifiers.html

frankjr··on Manjaro Linux prepares to enable telemetry by default
> The Manjaro project is backed by Manjaro GmbH & Co. KG, an open source driven company.

I'm guessing it's more likely they are looking for investments and need to show some credible numbers.

frankjr··on Why systemd is a problem for embedded Linux
> 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...

frankjr··on SSH Remoting
Thank you for pointing this out.
frankjr··on SSH Remoting
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...

frankjr··on SSH Remoting
..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...

frankjr··on Toasty, an async ORM for Rust
Nonsense. People use ORMs because the vast majority of queries are trivial. If you need something the ORM doesn't provide sufficient control over, only then you move to raw queries for these cases.
frankjr··on How is Cloudflare able to offer free egress for R2 objects?
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.

frankjr··on Zig is everything I want C to be
> 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).

frankjr··on Zig is everything I want C to be
> 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).

frankjr··on [dead]
https://news.ycombinator.com/item?id=41912354
frankjr··on PSA Google Chrome pushed a breaking change in custom protocol handlers this week
> 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).

frankjr··on PSA Google Chrome pushed a breaking change in custom protocol handlers this week
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>

frankjr··on EU leaders back extra Chinese EV tariffs despite split vote
> Although the tariffs did not win support from a majority of states, the opposition was not enough to block them – which would have required the objection at least 15 nations representing 65% of the bloc’s population.
frankjr··on Intel's latest flagship 128-core Xeon CPU costs $17,800
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

frankjr··on EU: Definition of "potential terrorists" opens door to broad information-sharing
Looks like the descent into totalitarianism is going well.
frankjr··on Keystone no longer used to update Chrome?
> Do you know if the new updater is safer to use?

I have no data on that. All software has bugs, the updater included.

frankjr··on Keystone no longer used to update Chrome?
Chrome uses Chromium Updater aka Omaha 4 on macOS.
frankjr··on NixOS is a good server OS, except when it isn't
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?
frankjr··on ZFS native encryption is currently broken for encrypted backups
> 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...

frankjr··on Why laptop support, why now: FreeBSD's strategic move toward broader adoption
You might want to read the comment you're replying to again.
frankjr··on The Arch Linux team is now working directly with Valve
> 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.

frankjr··on New standards for a faster and more private Internet
> 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...

frankjr··on Tcl 9.0
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...
frankjr··on A 9.9 CVE has been announced for Linux
Almost certainly CUPS related.
frankjr··on A 9.9 CVE has been announced for Linux
> 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://x.com/evilsocket/status/1839361276813902240

https://x.com/jduck/status/1839312872817803570

frankjr··on TIL: Cisco has the trademark for iOS and licenses it out to Apple
> In June 2010, Apple rebranded iPhone OS as "iOS". The trademark "IOS" had been used by Cisco for over a decade for its operating system, IOS, used on its routers. To avoid any potential lawsuit, Apple licensed the "IOS" trademark from Cisco.
frankjr··on macOS Sequoia is available today
> The right-click/control-click option for easily opening unsigned apps is no longer available. Users who want to open unsigned software will now need to go the long way around to do it: first, try to launch the app and dismiss the dialog box telling you that it can't be opened. Then, open Settings, go to the Privacy & Security screen, scroll all the way to the bottom to get to the Security section, and click the Open Anyway button that appears for the last unsigned app you tried to run.

https://arstechnica.com/gadgets/2024/08/macos-15-sequoia-mak...

frankjr··on Reasons I still love the fish shell
> My absolute favourite thing about fish is that I type, it’ll automatically suggest (in light grey) a matching command that I ran recently. I can press the right arrow key to accept the completion, or keep typing to ignore it.

You can also accept the suggestion with ctrl+f (or just a part of the suggestion with alt+f).

Page 1 of 23Next →