MurphyA/hacker-news huggingface dataset:
by well_ackshually | 2026-03-02 14:38:36+00:00
Fundamentally, not enough. Linux's default security mechanisms are simply too weak for something as potentially hostile as a mobile device. Firejail is a good start, but proper user isolation as Android does is the right solution (each app is a different user, and accessing their data/user data is only done through Providers, or IPC), and anything else is naively trusting and not enough, no matter how many layers of sandboxing and suid-ing you do. Doubly so when all of its apps are written in C++. Can't wait to deal with use-after-free on my mobile device.

In addition, its compatibility with android apps is also chains: why would I bother developing for sailfish (especially since it involves Qt / Qt Creator) when I can just develop an Android app, and say it'll run well enough (unless it needs play integrity, which is the same problem, or somehow falls behind in android/androidx compatibility)
by hypeatei | 2026-03-02 14:39:10+00:00
> rampant militarism, the worship of death, and of the military?

See: the recent events in Minneapolis and the massive increase in funding for ICE. You don't have to look very hard to see what the new brownshirts are doing in blue cities and the MAGAs covering for them.

Oh also the federalization of the National Guard and US Marine deployment to Los Angeles. Things move quickly and people forget but that's exactly their playbook: flooding the zone with so much shit that it's hard to keep track.
by latexr | 2026-03-02 14:39:11+00:00
Maybe it played a part in Italy:

https://www.telegraph.co.uk/films/2016/11/16/disney-renamed-...

But it wouldn’t justify other countries. Apparently it’s a trademark thing:

https://www.lexology.com/library/detail.aspx?g=04d0b34d-efdb...
by theultdev | 2026-03-02 14:39:19+00:00
But that is what we end up needing.

Is the goal post a few groceries you get for a few days?

I have never seen one of these ridiculous looking bikes in any city or anywhere.

Where do y'all live, a Dr. Suess book?

I will not bike them in the rain,
With soggy bags and squishy pain.

I will not bike them up the hill,
When every pedal feels like drill.

I will not bike them when it’s hot,
With sweat that pours and cheese that rots.
by craftkiller | 2026-03-02 14:39:20+00:00
How would you have a user-configurable switch that physically disconnects things? The mechanism for that sounds complex. I'm not a hardware person, but I imagine you'd need to route the traces for each possible component to the switch and then have like a dip switch panel to control which behaviors are controlled by the switch. Either that or a software-controlled equivalent to a dip switch panel that can only be configured in the bootloader, otherwise the software-controlled physical disconnect would be no safer than a software disconnect.
by Lerc | 2026-03-02 14:39:35+00:00
This is my experience too. I can rehearse words to say or simulate the conversation of others in my head. I just don't use words when I'm not doing wordy things myself.

I didn't know the Comic strip Partially Clips was a pun until I told someone about the strip, then as soon as the words came out of my mouth realised the joke.

On the other hand I can play back non verbal sounds I have heard in my head, which I think not everyone can do either. Not to the degree of my daughter though, I mentioned how I had noticed an ad was using a singer (not super famous but we knew who they were) and when I told her about it some days later her eyes went blank as she listened to it again and then she said, "Oh yes, it's Nataly"

Brains are weird.
by amiga386 | 2026-03-02 14:39:44+00:00
What I currently see:

main page -> download and try! -> browse supported devices

lands on https://doc.e.foundation/devices which is a list of models, while

main page -> download and try! -> check device compatibility

lands on https://e.foundation/installer/ the chromium-only webusb page. It could be a better page; instead of showing a scary "navigator not suppored" modal demanding you install a particular browser, it could say the automated compatibility tester requires one of these browsers and your phone plugged in with USB, otherwise here's the device finder page
by somenameforme | 2026-03-02 14:39:57+00:00
I completely agree they're a thing, but at what scale? The current administration has deported something like 600,000 illegal immigrants. What do you think their accuracy rate is carrying out those deportations? An accuracy rate of 50% would mean there'd be 600,000 errors. An accuracy rate of 70% would mean we'd expect to see around 250,000 errors. An accuracy rate of 90% would mean we'd expect to see around 67,000 errors.

A quick search [1] on this topic showed 50 people have been wrongfully detained. Even if we increase that figure substantially, it implies an extremely high success rate, which isn't really possible if you're just engaging in widespread fishing expeditions.

[1] - https://www.propublica.org/article/immigration-dhs-american-...
by tacticalturtle | 2026-03-02 14:40:34+00:00
The state isn’t enforcing your rights for free - you still have to hire a lawyer and pay legal expenses yourself.

The state is just providing the infrastructure where you are allowed to make a claim, if you choose to do so.

This is like complaining that businesses get to use roads for free - ignoring that we all pay taxes already and built this infrastructure for enabling exactly that purpose.
by thereitgoes456 | 2026-03-02 14:40:36+00:00
My guess would be ~$30mm. MyFitnessPal itself, which generates the most revenue of all health&fitness apps, was sold as an undesirable asset for $345 million a few years ago and probably do not have mountains of cash sitting around.

Cal AI are popular and their revenue seems great, but their profit margins are probably quite slim, they rely heavily on advertising and I imagine 80%+ of their revenue is on day 1.
by crote | 2026-03-02 14:40:40+00:00
An even more important question is: why does Microsoft care so much about a handful of people using that term that they are willing to risk getting Streisanded over it?

Nobody cares about banning the few idiots who do nothing but spam "MICROSLOP SUCKS MICROSLOP SUCKS". But banning the entire term "microslop", just in case someone might use it? Well, what kind of response were they expecting?
by notaharvardmba | 2026-03-02 14:41:05+00:00
This whole thing feels like a troll. We should assume any new HN account created in the last 18 months is much more likely to be a bot, and now we got OpenClaw to worry about. Nothing stopping our true adversary or troublemakers from giving OpenClaw a plausible new identity and telling it to argue about given world view. Or pass whatever false information it can to try to change public opinion. Can you tell which replies in this thread are real vs propaganda?
by love2read | 2026-03-02 14:41:10+00:00
This article was clearly written by a human (and AI) but still has a few "LLMisms" such as:

- The key insight
- [CoreML] doesn't XXX. It YYY.

With that being said, this is a highly informative article that I enjoyed thoroughly! :)

The article links to their own Github repo: https://github.com/maderix/ANE
by lokoe | 2026-03-02 14:41:43+00:00
Hi HN,

I built Scouter because I wanted a professional-grade SEO crawler that doesn't require a monthly subscription or a complex CLI setup. It’s designed specifically for consultants who need a visual dashboard to analyze crawl data, internal PageRank, and content quality.

The core is built with PHP, using a specialized Go binary (Chromedp) to handle JavaScript rendering for SPAs and dynamic content.

Key Features:
* Deep Crawling: Multi-threaded engine with robots.txt respect and depth control.
* JavaScript Rendering: Built-in support for crawling modern JS-heavy sites.
* Internal PageRank: Calculates link equity distribution across the site structure.
* Duplicate Detection: Uses the Simhash algorithm to find near-duplicate content.
* Custom Extraction: Support for XPath and Regex to scrape specific data points.
* Self-Hosted: Docker-ready. You can spin it up in seconds with a single command.

I’m looking for feedback on the crawl performance and the internal PageRank implementation. If you’re an SEO or a dev tired of paying for crawling seats, I’d love for you to try it out.

Github: https://github.com/lokoe-mehdi/scouter
by mikkupikku | 2026-03-02 14:41:43+00:00
Virtually nobody who isn't ethnically Chinese will be able to become a naturalized Chinese citizen, no matter how sincerely they dedicate their life to productively fitting into Chinese society. On paper it's legally possible, but in practice it just doesn't happen. There is also the matter of global comprehension of the English language vs Chinese. I think these factors together severely limits the number of foreigners trying to get into Chinese universities.
by endemic | 2026-03-02 14:42:34+00:00
I don't think it's iPhone vs. Android, rather "mega-corp $$$" vs. hobbyists. At the point where Android could be considered "open" (e.g. removing Google Play Services, etc.) you've lost a lot of the functionality that people come to expect from a smartphone. Sure, there are workarounds, but let's be honest: they're hacky and not a great experience.
by well_ackshually | 2026-03-02 14:42:43+00:00
Material 3 is mostly not part of the AOSP tree (aside from some very, very deep code like shadows) and is just UI libraries. I actually wonder if M3 has View implementations, or if everything has been migrated to Compose.

You're also underestimating the amount of fundamental work that goes in Android. The vast majority is hardware integration. It's not all fancy little bells and whistles. It would have the added benefit of not having to relearn the security mistakes like LIST_ALL_PACKAGES or READ_SMS permissions being open to all, at least.
by joe_mamba | 2026-03-02 14:42:46+00:00
You're missing the point to argue in bad faith. The point was the even if a drunk driver hadn't run over Nokia, they'd still be dead from the Android and iOS onslaught, doesn't matter who ran over their corpse after that. A judge won't make you a murderer for running over a corpse, just a drunk driver, this is such a weird hill to die on.

BTW, we're still waiting on the Nokia insider details you were mentioning before.
by kolkov | 2026-03-02 14:42:52+00:00
Hi HN! Author here.

Some of you may remember the purego discussion from 2023 (https://news.ycombinator.com/item?id=34763681, 268 points). It proved that calling C from Go without CGO is viable. We built on that foundation.

Why another FFI library?

We needed to call wgpu-native (WebGPU) from Go — thousands of FFI calls per frame. purego's reflect-based dispatch (RegisterFunc → reflect.MakeFunc → sync.Pool per call) was too much overhead for our use case. We also needed struct passing by value and callback float returns, which purego doesn't support.

So we took a libffi-style approach:

cif := &types.CallInterface{}
ffi.PrepareCallInterface(cif, types.DefaultCall, retType, argTypes) // once
ffi.CallFunction(cif, fnPtr, &result, args) // many times, zero alloc

Type classification is pre-computed at prepare time, not at call time. The call path is: Go → runtime.cgocall → hand-written asm → C function. The asm loads GP/FP registers per ABI from a flat argument buffer — no interpretation at call time.

The assembly:

Three hand-written stubs: System V AMD64 (RDI,RSI,RDX,RCX,R8,R9 + XMM0-7), Win64 (RCX,RDX,R8,R9 + XMM0-3, 32-byte shadow), AAPCS64 (X0-X7, D0-D7, HFA support). Each is ~100 lines of Plan 9 asm.

What goffi does that purego doesn't:

Struct passing by value (8B in RAX, 9-16B in RAX+RDX, >16B via sret pointer). Callback float returns via XMM0 — purego panics on float/double return from callbacks. Typed errors — 5 error types with errors.As() instead of generic errors. Context support for timeouts and cancellation.

What purego does better (being honest):

purego supports 8 GOARCHes and 20+ OS×ARCH combinations — we cover 6 targets (amd64×4 + arm64×2). purego auto-marshals strings, bools, and slices — we work with raw unsafe.Pointer. purego has a much simpler API — one line to bind a function. purego has full Darwin ARM64 variadic stack packing — we don't yet.

Related projects worth knowing:

JupiterRider/ffi (https://github.com/JupiterRider/ffi) — pure Go binding for native libffi via purego. Supports variadic and struct pass/return, but requires libffi.so at runtime. If you need variadic calls today, that's a good option.

Where we use it:

goffi powers gogpu (https://github.com/gogpu) — a pure Go GPU computing platform with WebGPU bindings, zero CGO. It's also used in Born (https://github.com/born-ml/born) — an ML framework for Go with PyTorch-like API, type-safe tensors, and automatic differentiation. Both projects ship as single binaries with no C toolchain required. 89% test coverage, CI on Linux/Windows/macOS, MIT license.

We wrote a deep dive on the architecture, assembly, and callback mechanism: https://dev.to/kolkov/goffi-zero-cgo-foreign-function-interf...

Happy to discuss FFI internals, ABI details, or the trade-offs between the different approaches!
by andirk | 2026-03-02 14:43:06+00:00
Bitcoin bro here. Very cool! I'm working on something pushing the bare minimum too. Even minimaler if you could smash all the Javascript into the `onkeydown` and other "content attributes"[0] so there's not even a `<script>` tag!

[0] https://html.spec.whatwg.org/multipage/webappapis.html#event...
by rhdunn | 2026-03-02 14:43:18+00:00
Customizable snipping is a feature editors support (which I mentioned as they are related/similar to what the AI is doing), but is different to the AI autocomplete behaviour.

If I have a JSON structure, I can paste that into the file as a comment, e.g.:

# {"foo": 1, "bar": "test", "baz"}
@dataclass
class FooBar:
foo:

and the AI will/can autocomplete/generate that to:

@dataclass
class FooBar:
foo: int
bar: str
baz: int

using the JSON example. Then if you type:

def __str__(self):

the AI could then contextually generate, e.g.:

return f'Foo(foo={self.foo}, bar={self.bar}, baz={self.baz})'

Or if you have a SQLAlchemy model:

class Foo(Base):
__tablename__ = 'foos'

bar_id: Mapped[int | None] = mapped_column(ForeignKey('bars.id'), default=None)

typing `bar:` the AI can autocomplete:

bar: Mapped[Optional['Bar']] = relationship()

picking up that you have a `Bar` class in the file. Especially if you have other similar id/object definitions in the file.
by crashcatchlabs | 2026-03-02 14:43:21+00:00
I'm building CrashCatch, a crash analysis tool purpose-built for Windows C++ and Unreal Engine developers.

The problem: when your game or native C++ app crashes on a user's machine, you get a .dmp file. The raw output from WinDbg or Windows Event Viewer gives you exception codes, hex offsets, and a wall of ntdll.dll entries. Most developers spend 30+ minutes just figuring out which frame is their code before they've even started diagnosing the actual bug.

What CrashCatch does:

Symbolication uses DbgHelp + DIA SDK natively to resolve every frame to file/line. Engine frames are dimmed; your code stands out. PDB match status per frame so you know exactly why something didn't resolve.

Explain Mode reads the crash evidence (exception type, faulting address, frame ownership, register state) and produces a plain-English root cause with a confidence score. Not AI guessing evidence-based analysis.

Engineer Mode full CPU register dump at fault, every thread active at crash time, every loaded module with version and PDB match status, JSON export for diffing across builds.

It's Windows-first by design. Most crash reporting tools are built cross-platform and can't actually symbolicate server-side without running Windows analysis workers which most don't. CrashCatch uses DbgHelp and the DIA SDK natively because that's what the job requires.

Unreal Engine is a first-class target: drag & drop Unreal crash folders, parse CrashContext.runtime-xml, detect engine vs. game frames, Blueprint <-> C++ frame awareness.

The capture runtime (CrashCatchCore.dll) will be Apache 2.0 licensed. The analysis engine is proprietary. Fully offline no mandatory upload, no telemetry, no background agents.

Currently in development. Waitlist open at https://crashcatchlabs.com

Happy to talk through the minidump parsing approach, how we're handling symbolication on the server side, or anything else.
by hansvm | 2026-03-02 14:43:21+00:00
I really appreciate how out of all the security models they could've chosen, we ended up with the one which prevents you from writing better client-side frontends for incumbents or otherwise participating in a free and open ecosystem, while simultaneously being too confusing to use securely without a fair amount of explicit coaching and extremely careful code review for literally 100% of the junior devs I've met.

TFA is just a manifestation of the underlying problem. You thought you were publishing your thoughts to a world wide web of information, but that behavior is opt-in rather than opt-out.
by abcde666777 | 2026-03-02 14:44:17+00:00
An interesting thing is I think a lot of it's caused purely by the graphical fidelity. For instance an animated character back then was just a key framed polygon soup - compare that with the convincing humanoids games have now.

And yet often the actual gameplay code itself may only be 2x to 3x more complicated then the days of old.

I think of counterstrike for instance - it's still just guys shooting guns in a constrained arena.
Show HN: Apple Ads Toolkit
by ndxone | 2026-03-02 14:44:55+00:00
Hi! I have been running Apple Ads for around a year now. Couple days ago I open sourced our Apple Ads toolkit for automation:

* CLI and AI-friendly. this toolkit is being run by our AI agents daily, they use it to research, then update CSV files, log their decisions in git log and then we review PRs and apply updates to campaigns

* export/import data in CSV, store full config of campaigns, keywords, creatives in JSON/CSV

* does not require API access (which is hard/impossible to get for certain Apple Ads Orgs)

this allows us (just me really, I run all the marketing ops...), to scale of what otherwise would be impossible. and allows to fight instability/randomness of Apple Ads performance (git log contains full history of decisions, context, reasons, hypothesis).

inspired by Go analysis framework, I developed multiple "linters" that detect problems with setup, ensures best practices. you run apple-ads analyse keywords and get colorful rich ASCII with histograms, CPI/CVR. I am using very basic statistics for now (nothing beyond simple Bayesian was needed for now, which is why it is in Go).

the power of it, is that normally AI agents (say Claude Opus 4.6) would repeatedly write ad-hoc jq, awk, grep or low-quality Python scripts, which kind of the same. Now, I assembled all these learnings and what AI typically does, cleaned it up, made it better to use (based on typical problems when running it with AI agents in loop), things like time filtering, no-color output, help and documentation (inspired by Go analysis framework I made it self-discovery) so that your agent can just run apple-ads -h and learn how to run it instantly.

It is very much "Ads GitOps". It is is really effective, works well... and free. I think should belong to community. so here you go! if it helps someone save couple bucks that would made my day!

https://github.com/ndx-technologies/go-apple-ads
by graemep | 2026-03-02 14:45:03+00:00
I do not think you are deliberately trying to be polarising and I can understand why you feel the way you do.

I think where we disagree is that I am more optimistic and I think you have higher expectations of what is needed to give children a life worth living. There is a lot of pressure on parents to be perfect.

For example, I agree about outcomes being correlated with the quality of relationships parents have, but its not the only factor. I brought up my kids for many years in a deteriorating marriage, and in the last few years by ex-wife became increasingly emotionally abusive towards me and the children in the last few years of our marriage. That was painful for them, but there were a lot of happy times in their childhood before that.

In terms of outcomes they are balanced, kind people with great relationships with everyone in their lives except their mother. They have done well academically and the older one has a job she loves.

From my own point of view, I regret marrying my ex, but I do not regret having children with her.

The fear of bringing up kids who become extremists or other bad outcomes is reasonable, but its always been a problem. I love what Kahil Gibran says about this: https://poets.org/poem/children-1 Its a small risk as very few people are like extremists on social media, and the rewards are enormous.

I do think there are social problems in both developing good relationships, and in lack of social and financial support for bringing up children. We make parenting far to difficult these days.
by lxgr | 2026-03-02 14:45:08+00:00
CORS (or rather the same origin policy, of which CORS is an explicit server-side opt-out) is not a generic security improvement, it solves a very specific problem: (Code on) website A being able to make requests to website B with the cookies of B (often implying user login state/authentication at B) and read the response.

In a (possibly better) parallel universe, cross-site requests just don't send cookies or other ambient authentication state like that by default, and we wouldn't need CORS.
by well_ackshually | 2026-03-02 14:45:29+00:00
Yep. You can even run your own play integrity-like backend.

>This is something that could be addressed at least in the EU by mandating banks to allow alternative services or not use this service at all.

The EU mandates banks to be interoperable, and to guarantee the security of users. You can solve that issue by going through an alternative app that doesn't use play integrity and is PSD2 compliant so other banks let you call their APIs. It usually requires you to be a bank, and as a bank, you're really risk averse. So you use play integrity.
by Arnt | 2026-03-02 14:45:58+00:00
This seems like a good time to mention Adolf Hennecke. People who don't know much history don't know about the campaign that made him famous in the country where he lived.

Put briefly, Adolf Hennecke was the poster boy for a productivity campaign like what management tried to effectuate in the story, and that the author thinks has anything to do with neoliberalism. The thing is that Adolf Hennecke didn't live in a neoliberalist country or work for a neoliberalist company, he lived in East Germany and worked for a VEB, which you may translate as "public corporation". He worked for a state-owned company with a duty to general society rather than any shareholders.
by vanillameow | 2026-03-02 14:45:59+00:00
And in reality most of what does need a heartbeat loop can also easily be automated by just asking Claude to set up a cronjob. I think genuinely the most "novel" thing about something like OpenClaw is just that it "feels" more like a "real entity", like a partner rather than a chatbot, and for some reason that resonates with people. Whether that's by itself kind of a huge red flag or kind of a nothingburger, everyone has to decide for themselves.
by 0xbadcafebee | 2026-03-02 14:46:18+00:00
This is probably catching ~85% of cases and you can possibly do better. For example, some AMD iGPUs are not covered by ROCm, so instead you rely on Vulkan support. In that case you can sometimes pass driver arguments to allow the driver to use system RAM to expand VRAM, or to specify the "correct" VRAM amount. (on iGPUs the system RAM and VRAM are physically the same thing) In this case you carefully choose how much system RAM to give up, and balance the two carefully (to avoid either OOM on one hand, or too little VRAM on the other). But do this and you can pick models that wouldn't otherwise load. Especially useful with layer offload and quantized MoE weights.