MurphyA/hacker-news huggingface dataset:
Show HN: Real-time privacy protection for smart glasses
by tash_2s | 2025-08-11 19:40:47+00:00
I built a live video privacy filter that helps smart glasses app developers handle privacy automatically.

How it works: You can replace a raw camera feed with the filtered stream in your app. The filter processes a live video stream, applies privacy protections, and outputs a privacy-compliant stream in real time. You can use this processed stream for AI apps, social apps, or anything else.

Features: Currently, the filter blurs all faces except those who have given consent. Consent can be granted verbally by saying something like "I consent to be captured" to the camera. I'll be adding more features, such as detecting and redacting other private information, speech anonymization, and automatic video shut-off in certain locations or situations.

Why I built it: While developing an always-on AI assistant/memory for glasses, I realized privacy concerns would be a critical problem, for both bystanders and the wearer. Addressing this involves complex issues like GDPR, CCPA, data deletion requests, and consent management, so I built this privacy layer first for myself and other developers.

Reference app: There's a sample app (./examples/rewind/) that uses the filter. The demo video is in the README, please check it out! The app shows the current camera stream and past recordings, both privacy-protected, and will include AI features using the recordings.

Tech: Runs offline on a laptop. Built with FFmpeg (stream decode/encode), OpenCV (face recognition/blurring), Faster Whisper (voice transcription), and Phi-3.1 Mini (LLM for transcription analysis).

I'd love feedback and ideas for tackling the privacy challenges in wearable camera apps!
by alphan0n | 2025-08-11 19:40:56+00:00
The form of the question determines the form of the outcome, even if the answer is the same. Asking the same question in a different way should result in the adherence to the form of the question.

2+2 is 4

2 plus 2 is 4

4=2+2

4

Having the LLM pass the input to a tool (python) will result in deterministic output.
by zahlman | 2025-08-11 19:41:35+00:00
> agentic AI more or less has to be given documentation in order to be useful, whereas other humans working with you can just talk to you if they need something. ... In theory AI can talk to you too but with current interfaces that's quite painful (and LLMs are notoriously bad at admitting they need help).

Another framing: documentation is talking to the AI, in a world where AI agents won't "admit they need help" but will read documentation. After all, they process documentation fundamentally the same way they process the user's request.
by pron | 2025-08-11 19:42:19+00:00
The experience was that I once asked an LLM to write a simple function and it produced something very wrong that nothing with good reasoning abilities should ever do. Of course, a drunk or very tired human could have done the same mistake, but they would have at least told me that they were impaired and unsure of their work.

I agree that most of the time it does most simple tasks mostly right, but that's not good enough to truly "offload" my mental effort. Again, I'm not saying it's not useful, but more than working with a junior developer it's like working with a junior developer who may or may not be drunk or tired and doesn't tell you.

But mostly my point is that LLMs seem to do logical reasoning worse than other things they do better, such as generating prose or summarising a document. Of course, even then you can't trust them yet.

> But then I do all that for all code anyway, including my own

I don't, at least not constantly. I review other people's code only towards the very end of a project, and in between I trust that they tell me about any pertinent challenge or insight, precisely so that I can focus on other things unless they draw my attention to something I need to think about.

I still think that working with a coding assistant is interesting and even exciting, but the experience of not being able to trust anything, for me at least, is unlike working with another person or with a tool and doesn't yet allow me to focus on other things. Maybe with more practice I could learn to work with something I can't trust at all.
by lsy | 2025-08-11 19:42:27+00:00
There are two additional aspects that are even more critical than the implementation details here:

- Typical LLM usage involves the accretion of context tokens from previous conversation turns. The likelihood that you will type prompt A twice but all of your previous context will be the same is low. You could reset the context, but accretion of context is often considered a feature of LLM interaction.

- Maybe more importantly, because the LLM abstraction is statistical, getting the correct output for e.g. "3 + 5 = ?" does not guarantee you will get the correct output for any other pair of numbers, even if all of the outputs are invariant and deterministic. So even if the individual prompt + output relationship is deterministic, the usefulness of the model output may "feel" nondeterministic between inputs, or have many of the same bad effects as nondeterminism. For the article's list of characteristics of deterministic systems, per-input determinism only solves "caching", and leaves "testing", "compliance", and "debuggability" largely unsolved.
by JohnBooty | 2025-08-11 19:42:33+00:00
This has all been explained to you, thoroughly and repeatedly.

In the end... whatever. There are a lot of things that go into being a decent human being.

At the very least, I'm sure we'd agree on the big picture: the sum of how we care for our friends when they're alive is more important than what we do on the day of their funeral. So if you're being a good friend in other ways... hey, good on you.
Show HN: Drift – a featherlight, distraction-free writing tool
by dduplex | 2025-08-11 19:42:57+00:00
Hey everyone. I’ve been working on this for a little while as a fun personal project. It’s a minimalist writing app that mostly just leaves me alone. There is no text formatting, spellchecking, or markdown-ing. Just a bare-bones, decently solid writing surface.

There are a few features I’ve added over time that I thought were useful. There’s a small word counter, an auto-hiding nav, and a focus mode, which highlights the block of text you’re on and fades out the rest. I use it a lot for first drafts of things, which I like to print out and make edits to by hand, so I’ve set it up to be print-friendly with large line heights and roomy margins.

My initial focus was to create something first-draft-friendly. I have the type of brain that’s easily derailed by little distractions like red squiggles and pausing to format things. It’s very easy for me to lose my train of thought and creative flow, and I find I write best when I’m able to just get the words out. So I did my best to leave as much on the cutting room floor as I could.

I hope you’ll find this helpful too. Give it a try, and let me know what you think.
by more_corn | 2025-08-11 19:42:59+00:00
I would agree but then I think back on the codebases I’ve seen over the years. Ai doesn’t have a monopoly on crappy code and at least if you learn something you can add it to your cursor rules (let’s always follow best practices for security and data protection) Or you can add it as a pre-commit check. Whereas with human devs you can tell them a hundred times and they still won’t listen.
by medvezhenok | 2025-08-11 19:43:11+00:00
It's a MoE (mixture of experts) architecture, which means that there's only 3.6 billion parameters activated per token (but a total of 20b parameters for the model). So it should run at the same speed that a 3.6b model would run assuming that all of the parameters fit in vRAM.

Generally, 20b MoE will run faster but be less smart than a 20b dense model. In terms of "intelligence" the rule of thumb is the geometric mean between the number of active parameters and the number of total parameters.

So a 20b model with 3.6b active (like the small gpt-oss) should be roughly comparable in terms of output quality to a sqrt(3.6*20) = 8.5b parameter model, but run with the speed of a 3.6b model.
by Apreche | 2025-08-11 19:43:16+00:00
Clearly you have only worked at large tech companies with organization, processes, hierarchy, etc. Most places don’t have a PM, or even know what that is. They don’t have a cadence or a triage. What you are talking about is a rare exception.

Every company has a website. A very small percentage of those are tech companies. They just have some team, or some person, that makes the website. That team has little to no control over what appears on the website. The bosses at the company are in the business of what the company actually does, like sell food, or clothing, or whatever. They order the tech team to do something to the website, and they expect what they say to be done. They will sign contracts with other companies and agree to things that make the website slower without even consulting any technologically knowledgeable person until after the ink has dried. This is the norm.
by ivanjermakov | 2025-08-11 19:43:53+00:00
I wonder how Zig will tackle ergonomics of parameter cluttering. I imagine most function signatures end up looking like so:

fn foo(allocator: Allocator, io: IO, ...) !... {}

It's great in that it's explicit on what function is about to do (heap allocation and other i/o), but someone has to type all of that...

I think Odin went with implicit context system[1], making some state accessible across function boundaries, but it seems to be against Zig's philosophy on explicit control flow.

In practice it might end up being not a big deal, especially considering that both allocator and io can be shoved into struct's fields:

fn foo(self: *Bar) !... { _ = self.allocator; _ = self.io; }

Props to Andrew for going against the grain and making unorthodox decisions - the only way to get out of the local minimum.

[1]: https://odin-lang.org/docs/overview/#implicit-context-system
by lesuorac | 2025-08-11 19:44:11+00:00
It's not.

Buy-vs-rent is nearly always monetarily in favor of rent.

250k down payment is ~20% of 1.3 million which at ~6.5% comes out to you paying ~2.4 million. This doesn't include maintenance, insurance, or taxes.

I have a bunch of calculators in this post (https://news.ycombinator.com/item?id=44794529) but that thread also has a lot of other people explaining the same thing.
by throwup238 | 2025-08-11 19:44:28+00:00
In most cases yes, but the Associated Press makes its money mostly through members fees that scale based on circulation size and in return the members get to syndicate AP content so the incentives are better aligned towards editorial integrity. The AP has strict guidelines against allowing outside organizations to influence their reporting (FWIW).

Publishers and PR firms can send advanced copies but they can’t pay for one of AP’s independent critics for a submarine article.
by hnlmorg | 2025-08-11 19:44:36+00:00
The only reason The Barbican (London) works is because wealthy people moved in. In my opinion, it's still a very ugly estate but it is a well maintained estate. So people can still admire its design.

Whereas other examples were left to deteriorate because wealthy people moved elsewhere. And thus all people see is dilapidated, ugly concrete.

While we are on the topic of brutalism, one of my most disliked Sci-Fi tropes is concrete buildings used as "futuristic" buildings. I honestly think the only reason they do this is because concrete is featureless so it could be from any era. If they used Victorian-style architecture or Germanic Gothic buildings then all you'd see is historic-looking architecture which would pull you out of the moment. But I, personally, cannot "unsee" concrete buildings in Sci-Fi. Everytime I see that I just see lazy set design. Plus I'd hope in a few hundred years we'd have found a better building material than concrete.
Ask HN: Do you do anything with the "cool" languages that get posted here?
by AstroJetson | 2025-08-11 19:44:57+00:00
I was reading Hackaday about yet another Lisp and some other language mash-up. https://hackaday.com/2025/08/09/learn-c-with-a-lisp/

And got reminded of Forsp by this Hackaday article, https://hackaday.com/2024/06/13/forsp-a-forth-lisp-hybrid-lambda-calculus-language/ that pointed to the article here a year ago. https://news.ycombinator.com/item?id=40633003 about Forsp. https://xorvoid.com/forsp.html

I'm a Forth fan and dabbled in Lisp in the 80's And I remember playing with Forsp and thinking that it could be cool for embedded systems, but then my day$job got my attention and I didn't do anything with it.

But this go around I was thinking, whatever happens to these languages? Forsp got some love with a few fixes and additions (it now returns a 0 on a successful run). And from the HN comments more than a few people tried it out. But there hasn't been any follow on info and it seems to be languishing.

When you see these "cool" languages do you try them out? Have you fallen in love with one and use it when you can? If so what one(s) did you find/use.

If you are a proud parent of one of these languages, did it take off or are you still looking for some of us to get excited about it?
by chrisco255 | 2025-08-11 19:45:12+00:00
LLM does 0% of my work, don't know what to tell you. LLMs are like 3 years old, I learned to do everything I know without LLMs, how is that hard to believe? How do you think all the software you use everyday, including this site itself, was written? 99.99% of it without any LLMs at all.

Do I use LLMs as an alternative to Googling? Absolutely. That doesn't mean AI is doing my job. Google and Stack Overflow also do 0% of my job. It's great as a reference tool. But if you're going to be that pedantic, we've got to count any help I receive from any human or tool as doing some % of my job. Do I count the open source software I build on? Do I count Slack as doing some % of my job since I don't have to go into the office and interface with everyone face-to-face? Does Ford get some of the credit for building the vehicle that gets me to the office?

Have I used a meeting transcription tool? Occasionally, yeah. That doesn't mean it does any part of my work. My job was never to transcribe meetings. Do I use it to brainstorm? No, I've found it's fairly useless for that. Do I use it to create presentations? No, I just write my slides the old fashioned way.
by vouwfietsman | 2025-08-11 19:45:37+00:00
I'm not sure if you're in a country that has already received some upgrade, but over here in Europe Siri is seen as a funny tamagochi that sometimes misunderstands and thinks its needed and is then quickly told to shut up.

I think the last time I talked to anyone about siri we were wondering why it was still so bad, now that we have LLMs.
by boston_clone | 2025-08-11 19:46:15+00:00
Why compartmentalize your love? I recently attended a funeral and shared sympathies with several strangers that over the course of time, became closer to friends.

Your friend almost certainly loved their family, and their family loved your friend. Although they may be gone, you can still keep that connective love alive by doing the same things for others that you’d do for your friend - sometimes, it’s as simple as showing up, even just once, for someone else.

Do you really have to fake that?
by legorobot | 2025-08-11 19:46:22+00:00
I think my issue with this generalization is assuming the code itself is where complexity is measured and applied.

For example, the Quake Fast Inverse Square Root[1] takes into account nuances in how floating point numbers can be manipulated. The individual operations/actions the code takes (type casts, bit shifts, etc.) are simple enough, but understanding how it all comes together is where the complexity lies, vs just looking at the graph of operations that makes up the code.

Tools like Rubocop for Ruby take an approach like you mention, measuring cyclomatic and branch complexity in your code to determine a mathematical measurement of the complexity of that code. Determining how useful this is, is another conversation I think. I usually find enforcing rules around that code complexity measurement against your code to be subjective.

Going back to the article, the visualization of with vs without abstractions can cover aggregating the mathematical representation of the code and how to tackle complexity. Abstractions lets you take a group of nodes and consider them as a single node, allowing you to build super-graphs covering the underlying structure of each part of the program.

> both syntactically and semantically

I do want to cover semantic program complexity at some point as a deeper discussion. I find that side to me to be quite interesting. How to measure it too.

[1]: https://en.wikipedia.org/wiki/Fast_inverse_square_root
by alecco | 2025-08-11 19:46:38+00:00
> I had some issues getting it to understand that it wasn't meant to terminate, so I instead told it to write a basic bash script that calls claude with the -p flag and "please continue" whenever it detects its not running.

This is why we can't have nice things. Anthropic is placing more restrictive limits and now you risk being locked out for hours if you need to use it a bit more than usual (e.g. you have an impending deadline or presentation).

I wish Anthropic just banned these abusive accounts instead of placing draconian (and fuzzy) limits. The other day there was an idiot YouTube streamer actively looking to hit limits with as many concurrent Claude Code sessions as he could, doing nonsense projects.
by bitshiftfaced | 2025-08-11 19:46:41+00:00
Here's a list of cities with per capita homicide rates: https://en.m.wikipedia.org/wiki/List_of_cities_by_homicide_r...

I agree that it would be misleading to judge D.C. based on being at a 30 year low. Of the cities with the highest homicide rates, only Philadelphia has a higher population and rate. It's fair to say that there are other cities close in population. But it's clear that D.C. has a abnormally high homicide rate when compared to all of the other U.S. cities of its size or larger. Even if you only compared it to all other U.S. cities within, say, 100k of population, it's still at a very high percentile.
by toomuchtodo | 2025-08-11 19:47:07+00:00
Our World in Data: Fertility rate: births per woman - https://ourworldindata.org/grapher/children-born-per-woman?t...

To the surprise of demographers, African fertility is falling - https://www.mercatornet.com/to_the_surprise_of_demographers_... - September 19, 2024

> Previously in this space, under the heading “Africa Rising?” yours truly cited The Lancet’s latest population stats on sub-Saharan Africa: Sub-Saharan Africa is the world’s only region with an above-replacement total fertility rate (TFR), currently estimated from 4.3 to 4.6. They’ve gone from 8 percent of global births in 1950 to 30 percent in 2021, headed to 54 percent by century’s end. While the region’s TFR is falling fast, any sub-Saharan population contraction is at least a century out. However, according to Macrotrends, Africa’s TFR (4.1) has declined an average of 1.3 percent annually over the last three years. Should this trend persist, Africa will eventually plunge into below-replacement territory. Demographers believe fertility decline is accelerating faster than projected, especially in sub-Sahara Africa. Statista, the European aggregator of figures, projects Africa’s 2030 TFR at 3.8.

Fertility rates fall as education levels rise in sub-Saharan Africa - https://www.nature.com/articles/d44148-025-00026-3 - January 29th, 2025
by IceHegel | 2025-08-11 19:47:07+00:00
Microsoft’s software quality is poor. Azure is extremely bloated and difficult to use, and I suspect only gained market traction due to bundling/anti-competitive tactics. Microsoft inserts tabloids news into its operating system.

GitHub is their most trusted “tech” brand by far, and it has their only successful AI product, Co-Pilot.

It’s almost inevitable that GitHub and all its products will be consumed with Microsoft bloat in the next 5 years as more and more products coast off the GitHub brand.

Expect tabloid news in GitHub products soon.
by FredPret | 2025-08-11 19:47:32+00:00
China only started doing great when they relaxed their ultra-centralized economic rules a little bit in the 1990s.

Read business books and news from the 80's - 90's, and they almost never mention China - it's all Germany, UK, Japan, USA. The stats tell the same story - China spent half a century going nowhere fast.

After liberalizing their economy, China spent the 90's quietly growing, and only started making real waves in the news around 2000.

All this to say that economic authoritarianism has never worked and there's no reason to suppose that the social kind is going to fare any better for anyone either.
by tpm | 2025-08-11 19:48:20+00:00
> IMO take so far data is showing no amount of generous policies will convince people to have more than 1-2 kids (hit replacement TFR) long term unless they're living life of leisure + ample subsidies AND help.

How long is the long-term data we have? Is the generous support at the start of the policy still generous relative to the changed conditions much later?

> If Emrati/Qatari TFR stabilize below replacement in 10-20 years

My guess is they will collapse too; their lifestyle is financed by oil buyers. This will not go on forever and more importantly they have more and more people to feed and pamper but not more oil to sell. And now that we have technologies that can broadly replace oil, they can't raise the prices too much either.
by unnamed76ri | 2025-08-11 19:48:42+00:00
I don’t know, I won’t claim expertise on this subject. But it feels like any kind of UBI risks creating a permanent underclass of people much like current welfare programs that carry no incentive to get off said programs do.

Every economic system has its flaws and can be exploited. Capitalism has been responsible for lifting billions of people out of poverty. But it’s also been corrupted by cronyism.

The coming AI revolution will likely cause capitalism’s issues to be more pronounced.
by jsmith45 | 2025-08-11 19:48:43+00:00
I'm not sure that it necessarily follows from the overlap they are not linearly independent. As far as I can tell that alone would simply make them non-orthogonal basis vectors.

The issue is more that there isn't really any frequency that only stimulates the M cones. There are some that more or less only stimulate the L cones, but as we get bluer, the stimulation curves of the M and L cones mostly converge, so we can't really get fully independent M cone stimulation (at least not without tricks like locating specific cones and using lasers to stimulate just the M ones, while missing the L ones.) This does indeed make them not linearly independent, so your overall point still stands.
by ants_everywhere | 2025-08-11 19:49:33+00:00
IMO this was predictable and I recall walking a few people in the industry through the argument and suggesting they maintain a path to migrate off GitHub for when it finally gets re-orged.

Whenever someone makes a promise that a subsidiary or product will remain unchanged (typically because that's how customers/users prefer it), it's useful to ask whether that promise has any legal force that will prevent the company from reneging on the promise if organizational or market circumstances change.

There is almost never a barrier to having the organization change their mind, which means that the promise is at best a soft promise that in the near term they don't intend to change too much too quickly.
by correa_brian | 2025-08-11 19:49:40+00:00
I'm on an M2 and it takes <5 minutes to index a 2hr movie. If you're trying to index a lot of media at once, we will queue it up to be indexed. We also do smart sampling to detect similar frames so if it two talking heads vs. a lot of different shots, it will process faster. In that case the audio is more valuable for the talking heads.

The semantic search queries typically take 100-250ms.