MurphyA/hacker-news huggingface dataset:
by lrvick | 2025-07-26 18:04:07+00:00
I was referring to CalyxOS doing signing over LineageOS which does not (in any useful way), as the two popular operating systems that happen to share a lot of hardware compatibility overlay with GrapheneOS (but admittedly little else in common).

The one point I will take that is fair is to stop trying to diagnose you as that is not my background or place to do. We will likely continue to have wildly different accounting of the same events and the motivations of those involved, but it is on me to not lower my communication standards when dealing with people I find to be extra difficult or extra wrong. Point taken.

I apologize for any and all assumed medical diagnosis related comments about you and I commit to stop making these as I am not qualified to make them. I will also discourage those comments in my communities as I can. We should be better than that.

What I can and will repeatedly say is that you are obsessively defensive about GrapheneOS to the point that all criticism of it or your communication style or use of your code in related projects is regarded as a coordinated attack or harassment campaign when it is simply a lot of people who have independently found your personality impossible to work with in spite of making useful code. So much so that many have taken steps to actively fork things away from you so they do not have to deal with you because your approach puts -their- mental health and desire to work on related code at risk.

This is a real shame things went this way, because so few doing hard and important security work also have strong interpersonal skills.

I am going to try to do better here, and I hope you do the same. It is unlikely we ever be friends but I hope we reach a point where we can make use of ideas or code each other might have been involved in without drama. I am even considering adding hardened_malloc as an optional package in stagex because I still feel this is great work.

I will stay out of threads on your projects unless about something I am actively working on or working with, but I will continue to share my own view of shared events and my issues with trust structures in current Android efforts, including GrapheneOS and your leadership style, when they come up organically by others in my communities.

I hope you are able to take that for the win that it is.
by sprior | 2025-07-26 18:04:59+00:00
Your comment got me a bit curious and so I spent time playing around creating a simple Android app using webView for my personal website and got it working, the only permission I added was INTERNET. So what's the next level of awfulness - do I add additional permissions and then additional information can be presented to my website server, or would I actually have to implement an additional path to collect the kind of info these apps are trying for?
by badlibrarian | 2025-07-26 18:05:38+00:00
archive.org: "Our mission is to provide Universal Access to All Knowledge."

As the name implies, Internet Archive started as an archive. Which is very different from a library.

Running an archive is not particularly fun, and it is very expensive, and you cannot monetize it without having rights to the things you're archiving. They've never offered research services or grants, and yet the monthly bill and tech debt just keeps growing. Last year's hacks showed the state of things, and they leaked patron information and even passports and drivers licenses.

They tried to be a library but didn't follow the law. Hell, they even tried to be a bank at one point and got spanked hard by the feds there, too.

https://ncua.gov/newsroom/press-release/2016/internet-archiv...

With the $700 million lawsuit over old records it became clear that the whole thing is little more than a catch all for things that Brewster Kahle finds interesting. He's got money and seems like a kind guy. But it's not a well-run organization and he's at retirement age without having put much of a dent in that mission.
by neyandex | 2025-07-26 18:07:25+00:00
Hi HN, author here. I've published a manifesto for a different kind of AI architecture. The core ideas are: * An 'Ethical Guardian' hardcoded for user well-being. * An 'AI-to-AI layer' where agents share successful behavioral strategies (not user data) to solve the long-term context problem. The goal is to move from prompt-based tools to true symbiotic partners. The full architecture is on GitHub (linked in the article). I'm looking for critical feedback on the technical feasibility and ethical implications of this model. Thanks.
by aydyn | 2025-07-26 18:07:39+00:00
I agree. More succinctly, it confounds two types of results: a null result due to statistical noise (big error bars, experiment failure) and a null result where the null model is more likely (actually, the effect doesnt exist).

Like many things in statistics, this is solved by Bayesian analysis: instead of asking if we can reject the null hypothesis, the question should be which model is more likely, the null model or the alternate model.
by SeanSullivan86 | 2025-07-26 18:08:29+00:00
I've sometimes been confused by the term "inverted index". The example in this post feels like what I would just call an "index"... i.e documents indexed by the words they contain. Feels about the same as the index in the back of a physical book.

Is the distinction that an index on a multi-valued attribute is called an inverted index?
by louthy | 2025-07-26 18:09:02+00:00
> it would depend on how you define extremism

I don't need to, the government already has widened the definition to include white supremacists and has a list of proscribed groups. This allows Prevent (the de-radicalisation programme that was originally set-up for Islamist terrorists and potential terrorists) to work on de-radicalising white supremacists too and for MI5 to focus some of its energy on preventing extremism and violence in the UK.

> However there are plenty of fundamentalist/extremist views within the UK which exist regardless of what the right wing does.

I am certainly not saying "right wing bad". I'm saying "far-right white supremacy bad". And probably "far-right bad" in general, just like I'd say "far-left bad". Extremism, in general, requires you to move away from compromise. Whether it's far-left or far-right, in my judgement it will always lead to conflict.
by dylan604 | 2025-07-26 18:09:36+00:00
I know maintainers of projects have been hired directly by companies using their code as it is the most expedient way forward. Others might just offer up enough money to get the maintainer to take up a few of their specific issues/requests in a way that makes it worth their while. Just because someone is working on a project that is open source does not mean that money cannot be involved in the development. The company paying that money knows that the updates released as a normal part of the project will be available to anyone else using it as well.
by skybrian | 2025-07-26 18:10:50+00:00
Apple is doing something:

https://support.apple.com/en-gw/guide/apple-business-connect...

> When you integrate with Verify with Wallet on the Web, you disclose the identity information your website requests and for how long. Your website then receives permission to request only the specific data required to address your use case. This prevents users from having to overshare their identity information. Neither the state issuing authority nor Apple can see when and where a user shares their ID.

Google is doing something:

https://developer.chrome.com/blog/digital-credentials-cross-...

> The Digital Credentials (DC) API, allowing Chrome users on Android to present digital credentials from a wallet app on the same device, is already in an origin trial. We are now extending this origin trial to support cross-device digital credentials presentation. With the cross-device capability, users can now scan a QR code displayed on desktop Chrome to establish a connection to securely present credentials from their Android phone.

Web standard for Digital Credentials: https://w3c-fedid.github.io/digital-credentials/
by __MatrixMan__ | 2025-07-26 18:12:00+00:00
It's part of a bigger vision, a sort of general-purpose digital spraypaint, where you don't need write access to the data in order to annotate it and we use patterns in the data itself to index the annotations such that you can direct any bitstream into the app and ask:

> do any of my peers have annotations on any of this?

But I think the way to get there is to make a variety of purpose built apps which all follow the same pattern, and I figure annotations on logs is one of the first ones I'll do. It has been slow going though, holidays and weekends, so it'll be a while.
by zo1 | 2025-07-26 18:12:28+00:00
The problem with that small tidbit is that it immediately sets your type system to go down the path of Java and Typescript (which we all mock for it's crazy type systems and examples such as IImplementsFactoryAbstractMethodThingVirtual classes). This is not the python way, and is frankly part of its secret sauce (if you ask me).

And yes I include Typescript with Java there because it has it's own version of the Java class ecosystem hell, we just don't notice it yet. Look at any typescript library that's reasonably complicated and try to deduce what some of those input types actually do or mean - be honest. Heck a few weeks back someone posted how they solved a complicated combinatorial problem using Typescripts type system alone.
by daveoc64 | 2025-07-26 18:14:59+00:00
The Online Safety Act enjoys high support with the UK public, because it targets a range of things that the average voter agrees should be restricted, to name just a few: online scams, pro-suicide content, cyberbullying, and allowing under-18s to access adult material.

There are issues with the legislation as it covers so many things, but many of the aims of it are popular.
by pyman | 2025-07-26 18:15:14+00:00
Looks like you've never spoken to parents whose kids are spending all their money on porn, or to those whose sons or daughters are working online as sex workers to meet the growing demand driven by porn addiction.

What I mean by porn addiction:

In 2025, the average person watches around 6 hours per week of pornography. That's from recent industry and survey data. In 2005, the average was roughly 1.7 hours. So porn is clearly becoming more addictive.

Sex work has exploded online, especially with webcams and platforms like OnlyFans. In 2020 there were over a million sex workers. Now, there are over 4 million. And that doesn't include the many who are pushed into cam work just to survive.

This isn't just about kids spending money to watch their crush undress on a porn site. It's also about the workers, many of whom are exploited because the demand keeps growing.

This industry needs regulation, not to censor it, but to make it safe for everyone.
by tastyface | 2025-07-26 18:15:57+00:00
“Almost a third of people in Gaza not eating for days, UN food programme warns” https://www.bbc.com/news/articles/ckgjg81qqwvo.amp

*Every third person* not eating for days and hundreds being killed in aid lines. Do we have to literally wait for these people to starve to death before admitting that maybe this rings of ethnic cleansing, just a little?
by Ygg2 | 2025-07-26 18:17:36+00:00
Hell will freeze over, then go into negative Kelvin temperatures before you see nVidia agreeing in earnest to do so. They make too much money on NOT GETTING COMMODITIZED. nVidia even changed CUDA to make API not compatible with interpreters.

It's the same reason Safari is in such a sorry state. Why make web browser better, when it could cannibalize your app store?
by Stratoscope | 2025-07-26 18:17:54+00:00
No, “Why I do programming” is active voice.

An example of passive voice would be “Why programming is done by me.” And of course no one would write that.

You may prefer “Why I program”, which is indeed more concise and straightforward. But that's a stylistic preference, not a difference between active and passive voice.

For a similar example, consider “Why I do science”. Here there isn't a convenient way to shorten it, but it's still active voice.

In general, for any X, “Why I do X” is active voice, and “Why X is done by me” is passive voice.
by louthy | 2025-07-26 18:18:04+00:00
> The perpetrator was a second-generation African migrant

He isn't a migrant. He was born in Wales. He's British. 100%. This is exactly the kind of language that starts the wheel of hatred rolling.

Nobody knew anything about him when the riots were fomented by the white supremacist lunatics. They just made it up because it fit their narrative and allowed them to go after brown people. They invented a muslim sounding name and claimed he was an asylum seeker. None of which was true.

> The UK government initially refused to release information about the perpetrator

They didn't "refuse". It's normal practice for the police to not release the details of an alleged perpetrator.

> which caused speculation and confusion about the attack.

Speculation is not a good enough reason to try burning down a hotel with refugees in in. I'm sorry, but there is no defence for the violence and hatred that was stirred and fomented by the white supremacist lunatics (and by Musk et al).

What happened with those children is tragic. Truly. But that doesn't give a free hand to white supremacist lynch mobs.

> It's a bit odd to focus on the anti-government protests and call them terrorists, when they were out protesting because the government failed to adequately protect them from an actual terrorist.

That's a fucked up sentence. He committed a crime, not an act of terrorism. A horrific crime, yes, but what came after was not an "anti-government protest". It was a riot where people were actually trying to murder immigrants based on no information other than what they had made up themselves. I mean, a mosque was attacked the following day and the perpetrator is a Christian (or at least his family is). That's not a protest, that's pure extremist hatred.
by VonTum | 2025-07-26 18:18:05+00:00
In academia people use general purpose languages (Notably C++ dialects) for FPGA design quite a lot. And there's definitely a glut of papers published on the development of such "High Level Synthesis" tools.

In order to use the FPGA efficiently you need to first pipeline the logic deeply, but then also be able to fill that pipeline.

But in my opinion there is just too much of an impedance mismatch between the "do one thing and then the next" style of imperative code, and the "everything everywhere all at once" way in which FPGAs actually work.

And well, here's my plug for my language that gets close to HLS in terms of syntactic ease, while still retaining full control over the generated hardware: https://github.com/pc2/sus-compiler

By explicitly keeping track of pipelining in submodules the compiler automatically balances the pipelines your create, and in addition, you can write modules that respond to the pipeline distance between their ports, and infer their parameters based on that. That fixes one of the most error-prone activities when designing hardware in SV or other languages.
by tpmoney | 2025-07-26 18:18:29+00:00
I think groups in general feel personally attacked by things that attack people on the basis of their immutable group characteristics. Notably women dislike and feel attacked by unqualified statements like "women are crazy" or calling someone a "karen". Black people dislike and feel attacked when people talk about "ghetto trash" or "welfare queens".

Sure any individual discussion about an individual might justifiably refer to that person as "crazy" or "ghetto trash". But the nature of online spaces, and the nature of the public discourse that tends to bring these phrases and discussions into the public eye very quickly starts painting people with broad brushes.

People also feel attacked because often times discussions tend to confuse useful rhetorical devices for conveying a point with justification for a behavior that has harmful impacts on the broader group. For example, it was pretty common to here the "bowl of M&Ms where one M&M is poisoned" analogy in the height of the "Me Too" movement. It's a useful rhetorical device for explaining why someone would fell cautious about a strange man, and why they wouldn't start from a position of trust. But it's also a terrible way of generally treating men in your life, and a terrible broad philosophy for organizations and governments to follow.

And we know this rhetorical device makes bad policy and at large is harmful to innocent people because another time in recent history when that analogy was really popular was immediately after the Sept 11 attacks when talking about Muslims in general and immigrants from Muslim countries. Surely no one would find it strange that Muslims might dislike and feel personally attacked by "people talking about crimes and terrorism done by other Muslims" in the same way that many online spaces talk about "sexual abuse/harassment done by other men". Surely we wouldn't be surprised if people felt attacked or disliked an app for sharing anonymous and private information about suspicious Muslims right? Or let's say someone noticed that black people are statistically 2x as likely relative to their population to be the offender of a violent crime[1]. You'd reasonably expect people to be bothered by an app that excluded black people from signing up and was entirely about strangers providing un-verified experiences with black people under the premise of keeping people safe.

Ultimately, people are bad at statistics and really bad at understanding the degree to which a small minority of individuals can affect a large majority of people by virtue of repeat offending. So it can be true both that lots of people have completely valid awful experiences with members of a given broad group, and that members of that group feel unfairly maligned when discussion about those experiences paints with broad, unqualified strokes.

[1]: https://bjs.ojp.gov/document/cv23.pdf
by matklad | 2025-07-26 18:19:15+00:00
To clarify, "specify @font-face inline" meant to say that the font's URL should be in the `head`, not the actual font bytes. The linked page includes `<link href="/fonts/GeistVF.woff2" rel="preload" type="font/woff2" as="font" crossorigin="">` in the `head`, which is another (probably better) way to achieve "font URL in the head" outcome.

But I must say I don't agree with `font-display: optional` advice. It indeed maximize the LCP and CLS metrics, but it does that to the extent that the results become detrimental to the user experience. Like, if I open that link in a private window, and then hit refresh, the layout shifts, because I don't have their custom font on the first load, but do have it on the second one. This doesn't make sense! Do you want me to see your custom font or not?

I would say that if you _really_ care about the page being ready as fast as possible, you should use `font-style: system-ui`. If you _really_ care about your fonts, you should use `font-display: auto` or `font-display: block` (and, yes, tweak fallback font metrics). If you care about _both_, tough luck, they are inherently in conflict and you need to pick one side. `font-display: optional` let's you formally pass the automated test with flying colors, but doesn't seem to result in actually useful behavior?
Show HN: CCTray – macOS menu bar app to keep an eye on your Claude Code metrics
by goniszewski | 2025-07-26 18:19:21+00:00
Hi everyone, I want to share with you something that helps me track my Claude Code usage, and don’t waste any CC’s sessions by mistake.

CCTray is a macOS menu bar application that provides real-time monitoring of your Anthropic’s Claude API usage and costs - by reading ccusage outputs. It displays key metrics like session cost, burn rate (tokens/minute), and estimated remaining time directly in your menu bar with color-coded visual indicators.

Key features:

• Dynamic menu bar icon with color states (green/yellow/red) and progress arc is always there for you

• Real-time cost tracking and burn rate monitoring

• Smart rotating display cycling through cost → burn rate → time remaining (change interval and displayed metrics as you want)

• Rich data visualization with informative charts and trend indicators

• Some additional preferences for customization

• Native & lightweight - built with SwiftUI following modern patterns (using not more than 160 MB of RAM)

The app should be particularly useful for fellow developers working with Claude who want to keep track of their API spending without constantly checking the console.

Download: https://github.com/goniszewski/cctray/releases (.dmg)

Requirements: macOS 13.0+, Node.js, ccusage CLI

Last but not least: the project is open source (MIT), so check the code and tell me how can we improve it. Cheers!
by wonderwonder | 2025-07-26 18:19:29+00:00
I felt incredibly old from ~36 - 42. Then I started seriously working out, took control of my diet (it had very much always controlled me) and started aggressively pursuing a "better living through chemistry" approach to life.

I feel 25 years younger now. My BP and cholesterol are under control and I roll out of bed actually feeling rested (probably due to not snoring anymore).
by jsbisviewtiful | 2025-07-26 18:19:41+00:00
More people have caught on to the many terrible things about natural diamonds over time and now we are finally at the tipping point for lab grown to dismantle the unethical natural diamond trade. The idea of lab grown needed time to gestate with the public, which has been manipulated for decades about the “value” of natural diamonds. Even when lab grown became a thing, the natural diamond trade did its damnedest to manipulate the public on the quality of lab grown vs natural. Coincidentally, natural diamonds are overvalued due to decades of market manipulation by a monopoly.
by mrkeen | 2025-07-26 18:20:12+00:00
I have heard of neither. But the mention of Burrows leads me to Burrows-Wheeler, which is a compression algorithm (bzip).

I'm not 100% but I don't think you can directly query a BWT in the same way you'd query an inverted index (without the later discovery of wavelet trees and FM-indexes / succinct data structures, and all that jazz.) And that's mostly for genomics? Not sure if it applies to plain old document searches. Would love to be corrected though.
by fragmede | 2025-07-26 18:21:00+00:00
In the sense that you have to take a month off the rest of your life to go there. What about my job and my friends and my family and my house? Those don't stop existing and happening, and leaving them for a month is too difficult for people who just aren't committed enough. It's a decent filter/gatekeep for "who actually cares enough to do this?"
by tgv | 2025-07-26 18:21:38+00:00
Because the whole system is quite resilient and self-repairing, and probably requires a great deal of consistency between the various genes? Aging is quite fundamental to life, and a "bug" in that area would almost certainly cause severe problems in other areas, probably death. Cancer might be an example. And systems of many components tend to narrow the standard deviation of the composite.

But that's just guessing. The article might not even have found something profound, but a life-style effect. On the one hand, we're living long (historically speaking), on the other hand, we have unnatural habits.
by fm2606 | 2025-07-26 18:21:40+00:00
I know exactly what you mean, same but different

I did start early at 12 y/o with a C64.

Then trying to get drunk or laid took over and I only dabbled with it here and there. Got married, had kids, did other things and might as well say abandoned it.

For about the past 10 years I've been doing programming nearly every day.

I wish from circa 1993 to 2010 I had been more heavily involved with it than I was.
by Ygg2 | 2025-07-26 18:21:59+00:00
It's not just that. See CUDA EULA at https://docs.nvidia.com/cuda/eula/index.html

Section 1.2 Limitations:

You may not reverse engineer, decompile or disassemble any portion of the output generated using SDK elements for the purpose of translating such output artifacts to **target a non-NVIDIA platform**.

Emphasis mine.