HNHacker News
TopNewBestAskShowJobs

Fiveplus

5,004 karma · joined April 9, 2019

Jack of all trades, master of none.

bll2ptpdn @ mozmail.com

submissionscomments
Fiveplus··on C++ std::move doesn't move anything: A deep dive into Value Categories
The reason performance-noexcept-move-constructor is not enabled by default is likely because blindly applying noexcept is dangerous if the underlying logic isn't actually exception-free. If you let clang-tidy slap noexcept on a move constructor that does end up throwing (perhaps because it calls into a legacy member or allocates memory internally), the runtime behavior changes from caught exception to std::terminate().
Fiveplus··on C++ std::move doesn't move anything: A deep dive into Value Categories
Regarding mistake 1: return std::move(local_var), it is worth clarifying why this is technically a pessimization beyond just breaking NRVO. It comes down to the change in C++17 regarding prvalues.

> Pre-C++17, a prvalue was a temporary object.

> Post-C++17, a prvalue is an initializer. It has no identity and occupies no storage until it is materialized.

Fiveplus··on Allow me to introduce, the Citroen C15
That would be the absolute dream engineering brief. If I actually sit down and design that vehicle, it would have something like this. List, off the top of my head.

1. You keep the modern metallurgy and the crumple zones. You keep ABS and basic traction control because they are solved problems that save lives without needing cloud connectivity.

2. Instead of a 2000 USD proprietary touchscreen that will be obsolete in 3 years, the dashboard could be just a double DIN slot and a heavy-duty, universal tablet mount with a 100W USB-C PD port. The car provides the power and the speakers and my phone provides the maps and music. When the tech improves, you upgrade your phone, not your dashboard.

3. Nobs and buttons instead of touchscreens like VW has done recently, if my memory serves me right.

The tragedy is that regulations in the EU and North America make this incredibly difficult to sell. The sane environmental stuff you mentioned has morphed into a requirement for deeply integrated electronic oversight. But I genuinely believe there is a massive, silent majority of drivers waiting for a car that promises nothing other than to start every morning and never ask for a software update.

Fiveplus··on Allow me to introduce, the Citroen C15
With all due respect, you are confusing a software race condition with a hard fault in a safety critical system.

Resetting the ECU only works if the error is a transient glitch in the code logic. If the failure is a physical sensor reading out of range?

Furthermore, modern automotive architectures store permanent diagnostic trouble codes in non volatile memory specifically to prevent people from "just resetting it" to bypass emissions or safety checks. You cannot clear those with a battery pull. You would need a proprietary manufacturer tool to force a relearn or adaptation.

But more importantly, your argument accepts a terrifying premise. That a 2.5 ton kinetic object moving at highway speeds should have the reliability profile of a consumer router. If I have to treat my vehicle like a frozen windows 98 desktop to get home, the automotive engineering has failed me. Physics doesn't need a reboot.

Fiveplus··on Allow me to introduce, the Citroen C15
The C15 represents a time when a vehicle was a tool. I feel vehicles want to turn into a subscription service these days.

I still see these running in rural Spain and France, usually held together with wire and hope, clocking like what 400k+ km? The XUD diesel engines are practically unkillable. They have no ECU to brick, no adblue sensors to fail and put the car into limp mode and thankfully none of those DRM locked headlights.

The argument for the countryside need of a modern SUV usually cites reliability and safety, and in 2026, modern complexity is the enemy of reliability. If your C15 breaks down in a field, you can fix it with a wrench. If your Range Rover breaks down in a field because a sensor in the air suspension noticed a voltage variance...you are stranded until a tow truck takes it to a dealer.

Fiveplus··on The Vietnam government has banned rooted phones from using any banking app
So, if you cannot cryptographically prove to a remote server that your device is running essentially unmodified, vendor-signed software, you are locked out of the economy?

The irrefutable part here is that the security model works. Locking down the bootloader and enforcing TEE signatures does stop malware. But it also kills user agency. We are moving to a model where the user is considered the adversary on their own hardware. The genius of the modders in that XDA thread is undeniable, but they are fighting a war against the fundamental architecture of modern trust and the architecture is winning.

Fiveplus··on How will the miracle happen today?
I couldn't help but focus on the vicarious adventure aspect Kelly mentions which was the "payment" he offered drivers in exchange for the ride. This is a mechanism that has largely been deprecated by the modern attention economy.

In the era of hitchhiking, the bandwidth for novelty was low. A driver on a long commute had no podcasts, no Spotify or audiobooks. A stranger with a story was high value. The transaction was something like = I provide logistics and you provide content; like the story of your cross-country bike trip.

Today, we have near infinite content in our pockets. The marginal utility of a stranger's story has plummeted because the competition is Joe Rogan or an endless algorithmic feed. We have largely replaced the P2P protocol of kindness with a sort of centralized platform of service. We stripped out the human latency and the requirement for social reciprocity and replaced it with currency and star ratings. It makes me surreal to think about this.

Fiveplus··on Kagi releases alpha version of Orion for Linux
Yeah, that was a bit harsh on my part. I removed that bit, apologies. Had no intention of coming across as crude.
Fiveplus··on Kagi releases alpha version of Orion for Linux
Hmm good point. The issue is also the distinction between widevine L1, i.e hardware-backed DRM and L3 (the software backed one).

Correct me if I'm wrong but to stream 4K, studios require a hardware root of trust and a verified media path. They need a guarantee that the video frames are decrypted inside a trusted execution environment and sent directly to the display without the OS kernel or user space being able to read the raw buffer.

AFAIK Windows and macOS provide this pipeline at the OS level. OTOH, ChromeOS gets 1080p/4K not because it has massive market share but cause the hardware and boot chain are locked down by the almighty Google.

On desktop Linux, where you have root access and can modify the kernel or compositor to inspect memory, there is technically no way to guarantee that secure path to the studios' satisfaction. Am I right in this assumption?

Unless the DRM providers change their threat model, which sounds unlikely to me. Or distros start shipping signed and locked-down kernel modules that prevent the user from being root, which is again unacceptable to most (me included), we will likely be capped at 720p for some time now.

Fiveplus··on Kagi releases alpha version of Orion for Linux
This is a healthy thing to happen to the Linux browser ecosystem imho.

We talk a lot about browser diversity, but on Linux and Windows, it is a lie. You have firefox (gecko) and fifty flavors of chromium. Webkit on Linux has essentially been relegated to embedded devices or the GNOME epiphany browser, which I'll admit while is a noble effort, lags a bit in the stability and power-user features department. Big reason for that is that it lacks the commercial backing to keep up with the modern web standards rat race.

Kagi bringing orion to Linux changes the calculus. It introduces a third commercially incentivized, consumer-grade engine to the platform. Even if you never use orion, you want this to succeed because it forces WebKitGTK upstream to get better, which benefits the entire open source ecosystem.

The sticking point like always will be media playback (read: DRM/widevine). That is the graveyard where Linux browsers go to die. If Kagi can legally and technically solve the widevine integration on a non-standard Linux webkit build, they win. If not, it will be a secondary browser.

Fiveplus··on Bose has released API docs and opened the API for its EoL SoundTouch speakers
They hardware always been and continues to be finessed. Worth the extra premium imho.
Fiveplus··on Bose has released API docs and opened the API for its EoL SoundTouch speakers
The hardware on the soundtouch 10/20/30 series was always surprisingly over engineered with heavy magnets, decent power supplies, and good enclosures but let down by a sluggish app and flaky mDNS implementation.

With this, they just became the best value proposition on the used market. Flashing these with a minimal distro running snapclient (for multiroom audio) and shairport-sync (AirPlay 2) makes them infinitely better than they were on stock firmware. eBay prices are probably going to double by tomorrow morning.

Fiveplus··on A closer look at a BGP anomaly in Venezuela
You're spot on regarding the mechanics. It's important to reinforce that in BGP, AS-PATH length is a cost metric and not a steering wheel.
Fiveplus··on A closer look at a BGP anomaly in Venezuela
I'm half sleepy but I liked the post. The analysis regarding path prepending really drives the accident theory home. If a state actor were trying to intercept traffic (MITM), the last thing they would do is pad the AS path multiple times because that tells the global routing table, "Don't come this way, I am the long scenic route" lol

This could be a classic fat finger config error, most likely a route map intended to manipulate traffic engineering for their own upstream links that inadvertently leaked widely because of a missing deny-all clause. Neverthless, a good reminder that BGP is still fundamentally a trust based system where a single typo in a config file can cascade globally. Never attribute to malice that which is adequately explained by a missing export filter.

Fiveplus··on Kernel bugs hide for 2 years on average. Some hide for 20
Before the "rewrite it in Rust" comments take over the thread:

It is worth noting that the class of bugs described here (logic errors in highly concurrent state machines, incorrect hardware assumptions) wouldn't necessarily be caught by the borrow checker. Rust is fantastic for memory safety, but it will not stop you from misunderstanding the spec of a network card or writing a race condition in unsafe logic that interacts with DMA.

That said, if we eliminated the 70% of bugs that are memory safety issues, the SNR ratio for finding these deep logic bugs would improve dramatically. We spend so much time tracing segfaults that we miss the subtle corruption bugs.

Fiveplus··on A4 Paper Stories
Nice! The author touches on the area properties and here's the most practical life hack derived from the standard I personally use. It uses the relationship between size and mass.

Because A0 is defined as having an area of exactly 1 square meter, the paper density (GSM or grams per square meter) maps directly to the weight of the sheet.

>A0 = 1 meter square.

>Standard office paper = 80 gsm

>Therefore, one sheet of A0 = 80 grams.

>Since A4 is 1/16th of an A0, a single sheet of standard A4 paper weighs 5 grams.

I rarely need to use a scale for postage. If I have a standard envelope (~5g) and 3 sheets of paper (15g), I know I'm at 20g total. It turns physical shipping logistics into simple integer arithmetic. The elegance of the metric system is that it makes the properties of materials discoverable through their definitions.

Fiveplus··on Why is the Gmail app 700 MB?
A significant portion of larger sizes is likely due to how Google handles shared code across its iOS suite. They rely heavily on a shared C++ backend (using tools like J2ObjC or similar internal transpilers) to keep logic consistent between Android, iOS and of course the web.

When you pull in the gmail dependency from the internal monorepo, you are most likely pulling in the entire visual stack for Google meet, chat and spaces, plus the heavy protocol buffer definitions and gRPC libraries that underpin them.

Even if you don't use the "meet" tab, the binary could be including the video codecs, the real-time transmission logic plus the AR filter assets, because the app is compiled as a "Super App" container rather than a modular mail client. I feel it's an organizational artifact as much as a technical one.

Fiveplus··on Show HN: Tailsnitch – A security auditor for Tailscale
This is what I've been looking for. I love Tailscale, but as our tailnet has grown from "just me and a few servers" to "entire engineering team + prod/staging/dev environments," the ACL file has become terrifyingly long.

I always have this low-level anxiety that I accidentally left a tag too open or messed up a source/destination rule in the HuJSON. Anyone else? The fact that this can run in CI/CD is a huge win.

Fiveplus··on The C3 Programming Language
I've been following C3 for sometime now, and I really appreciate the discipline in the design philosophy here.

Neither does it force a new memory model on you, nor does it try to be C++. The killer feature for me is the full ABI compatibility. The fact that I no longer have to write bindings and can just mix C3 files into my existing C build system reduces the friction to near zero.

Kudos to the maintainer for sticking to the evolution, not revolution vision. If you are looking for a weekend language to learn that doesn't require resetting your brain but feels more modern than C99, I highly recommend giving this a shot. Great work by the team.

Fiveplus··on Not for human consumption
People reading two abstracts on PubMed and deciding they can manage their own hormonal pathways is terrifying. The regulatory state is slow and bureaucratic, yes, and its got its own problems, but it was built on a graveyard of people who took unverified compounds. When (not if) a bad batch kills a few dozen people in a telegram buying group, the crackdown will be draconian.
Fiveplus··on Tally – A tool to help agents classify your bank transactions
This feels like the peak of resume driven development. The maker of this has taken a deterministic problem (substring matching transaction descriptions) that could be solved with a 50-line Python script or a standard .rules file and injected a non-deterministic, token-burning probability engine into the middle of it. I'll stick to hledger and a regex file. At least I know my grocery budget won't hallucinate into "Consulting Expenses" because the temperature was set too high.
Fiveplus··on Publish on your own site, syndicate elsewhere
The concept is sound, but the syndicate part is becoming increasingly hostile to maintain. I used to have scripts that auto-posted to twitter, facebook and reddit. Over the last two years, almost all of those broke due to API paywalls or aggressive bot detection.

I've found that "POSSE" is shifting more toward "Publish on Own Site, Manually Link Elsewhere."

Paradoxically, ActivityPub (mastodon/fediverse) is the only place where true automated syndication is still reliable. I think the future of POSSE isn't trying to hack together API keys for walled gardens, but treating your personal site as a fedi instance so the syndication is native.

Fiveplus··on Cameras and Lenses (2020)
Every time I come across one of Bartosz posts, I drop everything to read it. And I learn so much.

The way he builds up the mental model from a simple photon bucket to a pinhole and finally to a lens system is just incredible. I particularly loved the section on the circle of confusion. I've read dozens of explanations on depth of field, but being able to interactively drag the aperture slider and see exactly how the cone of light narrows and the blur reduces makes it click in a way that static text never could. This really should be the standard for digital textbooks.

Fiveplus··on Netflix Open Content
This could be a huge deal for anyone working on video codecs or display tech. Finding legally clear, high-quality, uncompressed (or mezzanine) 4K HDR footage to test encoders against is surprisingly difficult. Most test footage you find online has already been stomped on by YouTube or Meta compression.

Having the raw EXR sequences and the IMF packages for Sol Levante and Meridian means researchers can finally benchmark AV1 vs HEVC vs VVC using source material that actually has the dynamic range to show the differences. The fact that they included the Dolby vision metadata is the cherry on top.

Fiveplus··on GOG is getting acquired by its original co-founder
> Can I still download offline installers? Yes.

This is the only line I was looking for. I stopped buying on Steam sometime ago because I realized I was just renting licenses. GOG is the only major storefront where I feel like I actually own the product. As long as offline installers remain a core tenet, I don't care who owns the company. That said, it helps that it's someone returning to their roots rather than a private equity firm looking to strip-mine the assets.

Fiveplus··on Staying ahead of censors in 2025
The section on conjure is fascinating. For those who haven't followed the refraction networking space, the idea of leveraging unused address space at the ISP level is something academic papers have proposed for years [1]. Seeing it deployed in the wild is huge. The hardest part of this has always been non-technical by the way. Convincing ISPs to cooperate. If the Tor project has managed to get ISPs to route traffic destined for unallocated IPs to a station that handles the handshake, it completely breaks the censor's standard playbook of IP enumeration. You can't just block a specific subnet without risking blocking future legitimate allocations.

I'd be curious to know if these are smaller, sympathetic ISPs or if they managed to partner with larger backbone providers. I'm interested to hear more about this.

[1] look up tapdance

Fiveplus··on Calendar
That's good, you should also give me a way to hide the modal to actually see the calendar before I go for printing. Nice work.
Fiveplus··on I sell onions on the Internet (2019)
The internet was originally promised as a way to disintermediate these kinds of supply chains, yet we often ignore these "boring" businesses for hype trains. The fact that he added a phone number and it sometimes out-sells the website is the cherry on top.
Fiveplus··on The Ultimate Windows Utility (2022)
Be careful with the "debloat" features in scripts like this. In my experience, aggressively stripping out AppX packages and disabling services often breaks windows update or the Microsoft store in subtle ways that don't manifest until 3-6 months down the line. You'll eventually try to install a feature update, it will fail with a cryptic error code, and you'll realize it's because you removed a dependency that the new update expects to be present.

If you really want a clean windows environment, you are better off getting an IoT enterprise LTSC license. It is boring, stable, has zero bloat and doesn't require hacking the registry to stop candy crush from reinstalling itself.

That said, it feels like a constant arms race. Microsoft introduces a new user-hostile pattern (like making local accounts harder to create), the community builds a workaround and then Microsoft patches the workaround. I am tired of fighting my own OS.

Fiveplus··on Meta is using the Linux scheduler designed for Valve's Steam Deck on its servers
Valve is practically singlehandedly dragging the Linux ecosystem forward in areas that nobody else wanted to touch.

They needed Windows games to run on Linux so we got massive Proton/Wine advancements. They needed better display output for the deck and we got HDR and VRR support in wayland. They also needed smoother frame pacing and we got a scheduler that Zuck is now using to run data centers.

Its funny to think that Meta's server efficiency is being improved because Valve paid Igalia to make Elden Ring stutter less on a portable Linux PC. This is the best kind of open source trickledown.

← PreviousPage 2 of 9Next →