HNHacker News
TopNewBestAskShowJobs

ARob109

85 karma · joined September 10, 2023

submissionscomments
ARob109··on Killswitch: Per-function short-circuit mitigation primitive
That’s how this[0] project mitigates e.g. CopyFail.

BPF LSM if you want to return -EPERM.

Or a kprobe that kills the process via bpf_send_signal() if BPF LSM isn’t enabled.

[0] https://github.com/cozystack/copy-fail-blocker#how-it-works

ARob109··on Oneplus phone update introduces hardware anti-rollback
Firmware (XBL and other non OS components) are versioned with anti rollback values. If the version is less than the version burned into the fuses the firmware is rejected. The “boot” partition is typically the Linux kernel. Android Verified Boot loads and hashes the kernel image and compares it to the expected hash in the vbmeta partition. The signature of the hash of the entire vbmeta metadata is compared to a public key coded into the secondary boot loader (typically abl (fastboot before fastbootd was done in user space to support super partitions))

The abl firmware contains an anti rollback version that is checked with the eFuse version.

The super partition is a bunch of lvm logical partitions on top of a single physical partition. Of these, is the main root filesystem which is mounted read only and protected with dm-verity device mapping. The root hash of this verity rootfs is also stored in the signed vbmeta.

Android Verified Boot also has an anti rollback feature. The vbmeta partition is versioned and the minimum version value is stored cryptographically in a special flash partition called the Replay Protected Memory Block (rpmb). This prevents rollback of boot and super as vbmeta itself cannot be rolled back.

ARob109··on An interactive guide to sensor fusion with quaternions
I've been seeing "that's vibe coded" comments a lot lately on posts. Comments that call out code that may or may not be vibe-coded. At what point should these types of posts start getting down-voted? It's not constructive, and IMO imparts a negative connotation.

HN: Show HN Awesome New LLM can Code!! Also HN: TFA is vibe coded angry pitchfork or ugh

ARob109··on Ford reveals breakthrough process for lower priced EVs
/s the breakthrough: A basic car with that happens to have EV power train.

The anti-secret: EV power train that accelerated 0-60 in 1s and all the software engineering going into a software defined, internet connected autonomous vehicle with subscription services and such that balloon the costs of a modern vehicle?

ARob109··on Job-seekers are dodging AI interviewers
Ugh, already have to deal with filtering out interviewees who are obviously using AI to answer questions. It's annoying when you ask someone how they go about troubleshooting a misbehaving SPI peripheral. Instead of their personal routine, they give a bulleted and summarized AI response. It's obvious, first they fumble the answer to buy time, while looking away from the camera, then they read off the bullet points.
ARob109··on Hiding secret codes in light protects against fake videos
Wonder if you could measure your breathing rate and heartbeat and cryptographically sign the time series data as ground truth. Then post process the video with Eulerian Video Magnification to recover the values and compare.

edit forgot the link: https://people.csail.mit.edu/mrub/vidmag/

ARob109··on Rollercoaster Tycoon (Or, MicroProse's Last Hurrah)
RCT, Railroad Tycoon 2 (which has scripted scenarios and sandbox ), SimCopter and Streets of Sim City were great

RRT2 has it scenarios like Hell or High Water where you have fill in a giant crater with cement by orchestrating trains before ocean levels rise or just sandbox play building railways buying up business and watching connected cities boom. Always loved using cheats to make all competitors trains break down then take over their bankrupt company.

SimCopter and Streets of Sim City had missions/scenarios. Or you could just go fly/drive around any SimCity2000 map.

Remember a SimCopter cheat would essentially nuke the city and set everything in fire.

And Street let you blow up buildings by adding weapons to your car.

ARob109··on Rollercoaster Tycoon (Or, MicroProse's Last Hurrah)
I always used the Do Not Enter marquee signs such that once guests entered the park they could never leave. Great for helping meet the total park population scenarios.
ARob109··on The Minecraft game score unexpectedly became big business for its composer
That and before The Minecraft Movie came out, you could play multiplayer LAN from Xbox to PC cross platform without an XBox Live subscription.

Once the movie was released and they updated the game to add movie related content, this feature stopped working. Now to play multiplayer cross platform LAN, you have to pay for M$ servers you don’t use.

You couldn’t even load your world locally on the XBox if it was marked for multiplayer unless you had an Xbox Live account, meaning you got locked out of your world.

Fortunately you can edit the world setting to remove the multiplayer option to recover, but this was not documented at the time encountered.

ARob109··on The bewildering phenomenon of declining quality
Making physical goods low quality, cheap, and therefore disposable is the equivalent of rent seeking.

Instead of growth and innovation, it’s how can the Company get recurring revenue after first sale.

The balance for the Company is finding a quality to price point ratio where either 1) the customer doesn’t care if it breaks because it was cheap and they know it’s cheap or 2) it’s cheap and breaks but the utility of it to the customer warrants (or with some goods, necessitates) them buying a replacement.

In the second case, the trade off would also include brand risk, but in the world of Amazon and TEMU, you can just sell the same thing under a new random name, there is no brand identity.

ARob109··on The hidden JTAG in a Qualcomm/Snapdragon device’s USB port
The Debug Policy apdp partition is flashed with an ELF “mbn” file. It is possible that sections are encrypted. At the very least it is likely signed. From a security perspective, hopefully the vendor signed with a prod key and not a test key.

In my experience, it is possible read to the fuses with a TrustZone TA, at least on a non-secure device.

ARob109··on Math.Pow(-1, 2) == -1 in Windows 11 Insider build
I see what you did there
ARob109··on Ask HN: What Are You Working On? (June 2025)
Would love to see a write up on this
ARob109··on Memory safety is table stakes
Learning Rust ATM and using bindgen on a C header. Just looked and it generates Rust enums from C enums. I'm not sure what the default behavior of bindgen is, but it seems there is option for constifying enums

--constified-enum <REGEX> Mark any enum whose name matches REGEX as a series of constants

--constified-enum-module <REGEX> Mark any enum whose name matches REGEX as a module of constants

IMO, saying bindgen avoids the issue presented in the article is not accurate.

edit: formatting

ARob109··on Hybrid AC/DC distribution system with a shared neutral (2020)
I keep telling myself one day I’ll design a PoE DC to 120VAC adapter board so I can run PoE to a standard outlet box or light switch.
ARob109··on Landrun: Sandbox any Linux process using Landlock, no root or containers
Would be cool to see integration of landlock with configuration file in a way that a service launched by systemd can apply the configuration to the executable.

Akin to systemd SystemCallFilter directive for no-code application of seccomp filters to the sandboxed process https://www.freedesktop.org/software/systemd/man/latest/syst...

ARob109··on A look at the creative process behind Bluey and Cocomelon (2024)
I regularly sing “I Never go to Work” and make new lyrics for to the tune.

My wife and I really enjoyed Caspar Baby Pants and Laurie Berkner for kids music.

ARob109··on Httptap: View HTTP/HTTPS requests made by any Linux program
Using uprobes to hook the SSL library, would it be possible to filter content by inspecting and modifying eg the decrypted HTTP response ?
ARob109··on Bypassing disk encryption on systems with automatic TPM2 unlock
Android too in a way via Android Verified Boot. I think ChromeOS uses AVB as well.

Android Verified Boot extends the System on chip Hardware based secure boot to the kernel and rootfs. Root of trust is fused into the SoC, and second stage bootloaders are signed. Second stage boot loader eg uboot,UEFI/edk2 contains a public key that is used to verify a signed AVB partition. This signed partition contains signed rootfs dm verity metadata and signed hash of the kernel(+initrd). AVB validates kernel hash with expected hash and loads kernel if good. It provides the trusted rootfs verity hash to kernel via cmdline. Then when kernel reads rootfs, the dmverity system will calculate hash and check if matches the expected one. If not, the system reboots and the AVB metadata is flagged to indicate tampering/failure of the rootfs.

edit to add: If the SoC supports hardware based full disk encryption, the filesystem can be encrypted as well, with the key being stored in Androids secure key store. Android though has moved away from FDE in favor of file based encryption.

ARob109··on Bypassing disk encryption on systems with automatic TPM2 unlock
Seems like this could be easily mitigated with a read only root filesystem using dm verity

Store the root hash of the dm verity formatted rootfs in the PCR. If a malicious partition is presented to initrd, its root hash will not match the trusted one stored in the TPM.

Or if you need a writeable rootfs, use fs verity and store the signature of init into the PCR. The trusted init signature won’t match signature of malicious init.

LUKS for encryption and verity for integrity/verification.

ARob109··on Ask HN: Best non-fiction book you read in 2024?
Yes. I could not put this book down.

If you liked this one as an against the odds shipwreck survival story, David Grann’s The Wager is also very good.

ARob109··on I discovered mysterious hidden signals on a public radio channel (2013) [video]
Not sure about TA, but definitely saw radio station in Indianapolis using RDS to broadcast advertisements. In between the artist/song info, ads for an injury lawyer appeared. Thought it was super lame use of RDS.
ARob109··on Buildroot
> `oe-pkgdata-util find-path` Thanks for that one. Will keep it in mind.

With buildroot, I can use menuconfig to search for available packages and add them to the rootfs.

Yocto AFAICT you have to get the recipe name and manually add it to the rootfs via IMAGE_INSTALL:append

ARob109··on Buildroot
I found the learning curve to be much easier with buildroot and compared to yocto whose build system is python but uses mixed shell/python to describe the build.

Builroot errors seemed to happen much less, and easier to understand compared to Yocto errors. Also seemed easier to corrupt the Yocto environment to the point of having to wipe and start fresh

Buildroot kconfig and TUI menuconfig was super simple to find and add packages to the rootfs, even custom ones patched in to tree to out of tree directories that could be added in with a config option.

Yocto AFAICT does not have a package discovery via TUI. You have to guess at package names, add them to you config and wait for build error to say not found. It will at least sometimes recommend similar named packages or the actual package name that eg provides the library you wanted. Otherwise it’s a search on openembedded to find package recipes that are not in the Yocto poky reference.

Adding OOT tree code to Yocto is pretty simple, once you figure out to write shell/python recipe

The makefile/Kconfig way of buildroot seemed much more intuitive especially given the kernel, busybox and uboot all use kconfig. So if you’re used to those, buildroot just seemed a natural extension to the rootfs.

ARob109··on "Frost crack" sounds may come from sky, not trees
He’s 7.5yo. Don’t think he really understood The Secret Brian’s mom had, and probably still hard for him grasp severity of the situation, but he was very engaged and enjoyed the book. I don’t recall how old I was when i first read it… but I do recall accidentally finding a Gary Paulson book in the adult literature section of the library and quickly realizing it was not for a young juvenile :D

Don’t let your kids read Roald Dahls adult literature either, Switch Bitch is no Giant Peach

ARob109··on "Frost crack" sounds may come from sky, not trees
That’s the alternate story line as told in Brian’s Winter. He did not ordeal the winter in The Hatchet.

One of my favorite books as a kid, just recently read Hatchet to my boy

ARob109··on The Kimchi Masters of South Korea
I’m a first time kimchi maker, used the a Baechu ( napa cabbage ) Kimchi recipe from “Fiery Ferments” ISBN-13 978-1612127286

Came out really good despite not having some of the ingredients because I’m disorganized (left out carrots, ginger, scallions). My Taiwanese neighbor suggested adding apple to sweeten it up a bit, cut the sour, and less Korean pepper flakes.. but I like mine spicy.

Working on a second batch now.

The book has a couple other kimchi recipes in addition to dozens of other fiery ferments.

ARob109··on I2c-USB-hub: An i2C Controllable USB 2.0 Hub
For full software no hardware kvm solution, there is Microsoft Garage Mouse Without Borders. Wish it was open source. Mostly useful for multi monitor setup where you don’t need to change sources just change keyboard and mouse. For soft switching source I use a script to send DDC commands to the monitor
ARob109··on ZF makes magnet-free electric motor uniquely compact and competitive
I suspect this ZF motor is like what is described in this paper [1]. An air gapped transformer is used to transmit power to the rotor and diodes rectify it. See Figure 1.

This [2] appears to give a good summary of PSM vs ASM vs EESM and introduces iEESM (i is for inductive excitation instead of brushes, sounds like the ZF motor) at slide 14.

[1] Design of Inductive Power Transmission into the Rotor of an Externally Excited Synchronous Machine

https://mediatum.ub.tum.de/doc/1226682/1226682.pdf

[2] https://cdn.vector.com/cms/content/events/2018/vEMOB18/01_In...