MurphyA/hacker-news huggingface dataset:
by zemvpferreira | 2025-09-14 08:35:42+00:00
Counterpoint: I've been semi-retired for almost 10 years. No money pressure. I spend most of my days on light hobbies and a few hours of work on a hobby business. I still feel like the years are going extremely quickly.

I think our brains are addicted to novelty, and memory formation / time perception is intrinsically linked to variety. Personally I have a very nice life close to family and a good daily routine, I have little desire to change how I live. But I still recognise I'm missing out on perception of time past. I'll probably move my work hours up and take on more responsibility just to solve this problem. It's that or have a kid.
by throw-qqqqq | 2025-09-14 08:38:02+00:00
Holy shit! This is an incredible piece of work.

And they are almost all drawn “manually”! I am SO impressed by the dedication

> For the last 10 years I have been able to draw around 2,547 stations

> A pen, a notebook, a bit of spatial vision and the willingness to navigate all the staircases, corridors, platforms and mezzanines are enough to draw a station

> Due to the boredom provoked by the COVID-19 lockdown in 2020, I decided to digitalize all the sketches I had drawn in since the early 2010s
Show HN: VittoriaDB – Zero-config embedded vector DB with HNSW and ACID storage
by antonellof | 2025-09-14 08:38:50+00:00
Hi HN! I built VittoriaDB as a zero-configuration embedded vector database that actually works out of the box for local AI development.

Core features:

• Zero-configuration embedded vector database - no setup, no config files

• HNSW indexing for sub-millisecond vector similarity search

• ACID-compliant storage with write-ahead logging for data integrity

• Complete REST API for language-agnostic integration

• Single Go binary - 8MB download, runs anywhere

• Python SDK with automatic binary management

Technical highlights:

The database uses HNSW (Hierarchical Navigable Small World) graphs for efficient approximate nearest neighbor search, achieving 2.6M+ vectors/sec insert rates and sub-millisecond query latency. Storage is ACID-compliant with WAL (Write-Ahead Logging) for crash recovery and data consistency.

Local AI integration:

Built-in Ollama integration provides high-quality ML embeddings without API costs or internet dependencies. Upload documents (PDF, DOCX, MD, HTML) and get automatic chunking, vectorization, and semantic search - the complete RAG pipeline runs locally.

Unlike hosted vector databases, VittoriaDB runs as part of your application process. No separate infrastructure, no network latency, no external dependencies. Perfect for local development, edge deployments, or anywhere you need vector search without operational complexity.

Performance benchmarks:

• Insert speed: 2.6M+ vectors/second

• Search latency: <1ms for optimized queries

• Memory usage: Linear scaling (1MB per 1K vectors)

• Binary size: 8MB compressed

Real-world usage: Developers use it for RAG applications, semantic search, document processing, and AI prototyping where you need production-grade vector operations without database administration overhead.

Links:

• GitHub: https://github.com/antonellof/VittoriaDB

• PyPI: https://pypi.org/project/vittoriadb/

• Install: pip install vittoriadb
by juliangmp | 2025-09-14 08:38:54+00:00
I feel like the entire pthread_cancel and cancellation point feature is only really useful when your application is exiting and resource management doesn't matter anymore. If you want to use it on a long running process, the thread that gets canceled must effectively be completely free of any resource allocation....

Unless of course you're making use of shared memory between processes, then you could still leak even when the entire process is shut down.
by tux3 | 2025-09-14 08:39:39+00:00
The technical content is okay, but there's some fluff with a characteristic LLM signature that cheapens the whole thing. Instead of an article hand-crafted by human hands, it screams to the reader that they are currently reading slop.

I would rather not read other people's slop. I could pass your article through an LLM myself, if I wanted that. Here's just one of the most tired snowclones that current LLMs love, everywhere in your content:

>This wasn't a minor limitation; it was a fundamental capability gap

>context-switch not just between data types, but between entirely different mental models of how to query data.

>This wasn't something we asked them to do. They discovered that the query builder could now handle their complex cases, and they preferred it over raw SQL.

>That's not just a technical achievement. That's validation that we finally understood the problem we were trying to solve.

It wasn't just a minor stylistic issue; It was a signal to close the page.
by jchw | 2025-09-14 08:41:06+00:00
Wayland core can barely do anything. The vast majority of Wayland functionality is split between wayland-protocols and xdg-desktop-portal.

If you say "Wayland can't do interactive window resizing" because Wayland core doesn't have xdg-shell, well, it's maybe right by some twisted logic, but it's utterly useless and confusing to users who think that it means they can't when using Wayland which isn't true.
by akoboldfrying | 2025-09-14 08:43:28+00:00
> Because these programs are flawed at some fundamental level.

No. Programs that pass borrow checking are a strict subset of programs that are correct with respect to memory allocation; an infinite number of correct programs do not pass it. The borrow checker is a good idea, but it's (necessarily) incomplete.

Your claim is like saying that a program that uses any kind of dynamic memory allocation at all is fundamentally broken.
by sylware | 2025-09-14 08:44:31+00:00
Another pane of AMD GPU R&D is the _userland_ _hardware_ [ring] buffers for near direct hardware userland programming.

They started to experiment on that in mesa and linux ("user queues", as "user hardware queues").

I don't know how they will work around the scarse VM IDs, but here, we are talking near 0 driver. Obviously, they will have to simplify/cleanup a lot 3D pipeline programming and be very sure of its robustness, basically to have it ready for "default" rendering/usage right away.

Userland will get from the kernel stuff along those lines: command/event hardware ring buffers, data dma buffers, read/write pointers & doorbells memory page for those ring buffers, and an event file descriptor for an event ring buffer. Basically, what the kernel currently has.

I wonder if it will provide some significant simplification than the current way which is giving indirect command buffers to the kernel and deal with 'sync objects'/barriers.
by Joker_vD | 2025-09-14 08:44:58+00:00
That's the problem with writing posts both of the "everyone else is doing things WRONG, those dang fools" (e.g. the series on RSS readers) and "oops, I did a stupid mistake, heh, TIL" styles and variety: the latter ones tend to attract comments from "The One" (oh noes) referencing the first kind of posts. Naturally, a humble person would simply read them, note them, and move on withouth replying — but a humble would person would not write the "everyone else is doing things WRONG, those dang fools" kind of posts either in the first place; and so we get the third kind of posts, the ones with "yeah, I did a small mistake, but I've admitted it myself, so no one else is allowed to criticize me; anyway..." disclaimer on the top.

P.S. I do distictly remember how a reply on HN to one of her earlier posts on RSS clients mentioned that her laments kinda miguided since her own feed doesn't set one very well-documented and basic cache-controlling HTTP header that most readers actually do respect; but some time later in her later post she described that header as matter-of-fact knowlewdge, no "I've learned about this one recently" remark or anything, and by that time, her RSS feed had started setting it.
by throw4847285 | 2025-09-14 08:45:10+00:00
Your argument contains the fallacy fallacy, a logical fallacy in which one wrongly cites an informal fallacy in order to discredit a valid argument.

The actions of several democratic governments is evidence that there is enough popular support for these actions to argue for a broader trend. And before you try for a gotcha, I am well aware that a democratic government can enact regulations without a direct vote proving that a majority of people support such an action. But inasmuch as a government reflects the will of the governed, etc etc etc.
by idoubtit | 2025-09-14 08:45:50+00:00
Thanks for explaining your goal and some of the context.

I suggest that stating them prominently would help the project. When I read Mago's home page, I downloaded the latest release, followed the "Getting started" process on a local repository, then nearly lost interest when I saw the amount of false errors. If I had first read "here is our goal, with this roadmap, this kind of validation on real projects, and this position toward existing well-known tools", I would have been much more willing to follow the project and accept its false positives.

As a side note, for my first try with Mago, I think its lack of parsing `@property` was a major source of false errors, because the source code it analyzed had a few omnipresent classes that used it. BTW, Mago panicked when I tried to lint another repository... I'll open a issue.
by librasteve | 2025-09-14 08:46:08+00:00
lol

Thanks for giving Raku a test drive (https://raku.org)

While Raku can access all the perl CPAN modules and Python modules via Inline::Perl5 and Inline::Python, I agree native modules are also a good indication of the level of "adoptability" of a language.

I would say that Raku is currently ready for "bleeding edge" and "early-adopters" but not for "early-main" (terms from Crossing the Chasm)

For example, there are three pretty nice actively maintained web framework libraries:

- Cro (also HARC stack that uses Cro) - Hummingbird - Web::App

For me the strength of being an early adopter is that the community is small and friendly (with many experts who help me out) and that I can be an influential contributor to shape the ecosystem to do things that meet my needs. And this is not in an ocean of cruft (like CPAN and Python).

Similar stories for each of the domains you mention: https://chatgpt.com/share/68c67f75-d654-8009-9c8d-fdb1081869...
by johnisgood | 2025-09-14 08:46:10+00:00
Not necessarily.

Ever heard of linkable systems? They can detect when multiple proofs come from the same person, even if they can't identify who that person is. The system can also force reuse of the same secret, which stops the "infinite proof factory" problem.

Unique secrets can also be tied directly to identity. For example, if the ZKP is about knowledge of a secret key bound to your identity, then you can't just mint 5000 independent proofs unless you also have 5000 identities.

There's also the concept of nullifiers, used in privacy-preserving identity protocols. A nullifier is basically a one-time marker derived from your identity secret that prevents double-use of a proof.

On top of that, zk-SNARK-based credentials or verifiable credentials can prove "I am a unique registered person" without revealing which one. These systems enforce uniqueness at registration, so you can't magically spawn 5000 ZKPs that all look like 5000 humans. Similar ideas exist with linkable ring signatures and even biometric-based ZK proofs.

So there are plenty of ways to counteract your "5000 ZKPs per human" story (what's usually called a Sybil attack).

If you're being pedantic, yes: a bare ZKP alone doesn't enforce "one proof = one person", but ZKP + uniqueness enforcement (nullifiers, credentials, commitments, etc.) does, and that's what I had in mind. I thought it was obvious, but then again, nothing is obvious, and I should have specified. My bad.

In any case, people ought to know just how powerful and useful these ZKP-based systems can be when designed properly. I think this is the only way forward if we want to preserve our privacy, and at the same time we want to prove we're human without sacrificing anonymity, or verify we know the password without revealing it, or prove we're eligible to vote without revealing our identity, or demonstrate we meet age requirements without showing our birthdate, or verify we have sufficient funds without disclosing our balance, or show we're authorized to access something without revealing our credentials, or verify our qualifications without exposing personal details, and so on.

Edit: excuse the technical brain dump, I literally just woke up. I hope this helps to clear up some things, however.

Happy to dig deeper if you want.
by formerly_proven | 2025-09-14 08:46:24+00:00
In terms of heat output the difference between an idling gaming PC from 10 years ago (~30-40 W) and one today (100+ W) is very noticeable in a room. Besides, even gaming PCs are likely idle or nearly idle a significant amount of time, and that's just power wasted. There are also commercial users of desktop GPUs, and there they are idle an even bigger percentage of the time.
by kaoD | 2025-09-14 08:47:01+00:00
Query builders are still an antipattern (what we traditionally think of when we say query builders) because they are still a DSL that (1) you have to learn along with SQL and (2) never map cleanly to actual SQL, so you always have to resort to `.raw` calls when you need anything more complex than a simple SELECT+JOIN.

Even for simple SELECTs, I lost count of how many times I had to enable runtime DEBUG logging in my query builders to get a query that I can copy-paste into my DB client for debugging, data exploring, etc. I should be able to copy-paste my query from code and run it in `psql` with minimal changes.

Raw SQL is the way to go[0]. Period. You just need a thin wrapper on top of it that adds escaping, arguments, type-safety and other QoL.

[0] https://gajus.medium.com/stop-using-knex-js-and-earn-30-bf41...
by SenHeng | 2025-09-14 08:48:55+00:00
Yes. My Japanese wife’s father and mine are the same age. FIL had a heart attack last year and almost died. Yet he’s still the president of the rotary club, travels every two weeks across the country to attend events or give lectures. Recently hosted an international student exchange at his workshop and is still making new pieces of art to be exhibited.

My father spends all day watching football or horses and has visibly started going senile.
by isaacremuant | 2025-09-14 08:48:58+00:00
The same institution that pretends to have "such a strong protest culture".

The suppression of free speech is quite funny to see, from those who claim to be such proponents of it. Of course, it's not free speech when it bothers my political sensibilities, it's only free speech when I'm the one being censored, not when I do the censoring.
by janwas | 2025-09-14 08:49:18+00:00
CPU-time would over-emphasize regions where many threads are running, right? I find wall-time useful for finding serial regions that aren't yet parallelized.

More detail here: https://github.com/dvyukov/perf-load. We recently implemented the same idea without requiring context-switch events: https://github.com/google/highway/blob/master/hwy/profiler.h...
by PeterStuer | 2025-09-14 08:51:15+00:00
World reserve currency is backed by massively outsized military spending and forever wars againdt anyone treathening the hegemony.

The only way out is to actually start creating and exporting something else besides war, weapons or weapon backed 'IP', or 'credentials' (degrees).

The credibility of the credentials has gone down the toilet.

To get the world to actually buy real stuff from you, you have to produce goods they actually want.

Not sure the US is actually ready to re-uptake 'manufacturing' of products at a quality and price point the rest of the world sees as good value.
by pzo | 2025-09-14 08:51:57+00:00
maintaining such infrastructure would be really costly: installing extra canopy, cleaning, removing snow (not easily accessible), extra inverters. I think solar only make sense if it's installed as solar farm (easy to maintain by one company) or in residential houses (owner maintain) or commercial units (owner maintain it). Solar prices went down but cost of installation and maintaining not much - this is the reason why many people in my family didn't buy it since it's still big investment and maintenance burden currently not worth the effort unless you are building new house.
by jddj | 2025-09-14 08:52:01+00:00
Very impressive work.

I also learned something, which I'd always wondered cynically but never thought to investigate. The walking connection between lines at some stations in Barcelona seems so long as to not make sense, but it's explained here that at the time the different lines and stations were dug and extended independently by different companies.

> Among the reasons for having such long corridors [in Barcelona] is the lack of planning or the vision of the metro network as a bunch of individual lines. As an example: line 1 and line 4 were extended to Urquinaona in 1932, but both lines were not connected until 1972, as they were originally operated by different companies.
by IshKebab | 2025-09-14 08:52:13+00:00
I have worked at a company that required an issue for every PR. It was dumb though. It just meant you made the PR, got shouted at by some checker for not having an issue, create an issue, copy & paste the PR title into the issue, submit the PR, and then the issue gets closer again.

Totally pointless.

> Discussion about a feature or bug is done before writing any code.

Not always. Not all PRs are significant enough to warrant discussion. For example I fixed a copy/paste bug recently where they had `foo_a = foo_b + i;` where it should have been `foo_b = foo_b + i;`. Obvious mistake. One character fix. Why on earth would I bother creating an issue and discussing how to fix it?
by DamonHD | 2025-09-14 08:52:52+00:00
0) Please prefix your title with "Ask HN:"

1) Make the site static (ie less/no JS).

2) Several MB (including >>100kB CSS) for a page that I can't even see most of because NoScript blocks it, is silly.

3) 141 requests over ~5 domains to build the page is silly.
by ticoombs | 2025-09-14 08:53:52+00:00
I solve this by Syncthing running on all clients. Very rarely do I ever have a problem with conflicts. Only if I add a new pass while my phone is offline and then make another edit on my computer would there be an issue. I think it only happened once, and that was because I did it on purpose to see what happened.

Turns out syncthing creates a .conflict file and then I tell keepassxc to do a merge on the two files and then we are back to normal.
by lemonberry | 2025-09-14 08:54:09+00:00
There are many kinds of meditation. I'm not sure what kind you're describing, but the way I've learned it is to not be focused on any one thing, but to let thoughts arise and pass without clinging to them or trying to push them away. The effect it's had on my own thinking is to have a better relationship with my brain. I'm less reactive and find myself ruminating a lot less.

There are still dangers here from what I understand. Those with trauma can have past events pop up unexpectedly and have, undertandably, negative reactions. Most medtiation teachers recommend seeing a professional for guidance for people like this.

While you clearly didn't benefit from whatever kind of meditation you were doing you may find that other kinds of meditation help you with the very problems you're identifying. Or not. Many (most?) people live fulfilling lives without ever meditating.

That said, I think most people benefit from physical activity. Note that I don't say exercise, I think the latter is great - I row almost daily in addition to doing calisthenics, working my kettlebells, etc. - but I think modern culture and the fitness industry have conflated physical activity and exercise.

Regardless, I'm glad you found something that works for you and that you didn't continue to force a path on yourself that clearly wasn't working. I think this kind of self-awarness and adjustment is important.
by maxglute | 2025-09-14 08:54:16+00:00
Leader in tech (by existential margin) -> manufacturing -> trade. US got reserve currency because they had (more or less monopolized) peak tech stack, and also happen to be only manufacturing superpower post war. Only way to develop to modern standards is to have what US had (hence existential), and only US can make it at scale. Over time the tech gap (well MIC gap) = US can leverage for petro dollar, i.e. like saying you can only buy water in USD. Then virtuous cycle of overwhelming accumulated liquidity for dominant reserve currency + FED policy functionally guaranteeing US will eat Triffin shit if investors kept propping up USD with favourable ROI. And IMO investors will continue to until US realize Triffin not worth it.

Meanwhile PRC not entertaining being reserve because eating Triffin shit / be global lender of last resort retarded. What PRC does offer is selling entire tech stack to get 90% modern at 30% cost. At least PRC fine for short/medium term if investors run to US to watch line go up (at the expense of US debt -> domestic drama), while industry runs to PRC to for material goods that keep their country running. It's a degree first/second order leverage (indispensable tech/industry to supply indispensable tech) that builds reserve currencies, having goods no one else has, in PRC case, having goods at affordable prices no one else can match, and in many ways bypass downsides of Triffin, as long as PRC can convince enough countries to settle in RMB for transactions relevant to PRC interest.
by teekert | 2025-09-14 08:54:46+00:00
I for one can only access rt.com from a European country if I use a vpn. So that is step 1. The next steps will come. Our government has shown itself willing and (partly) able to block content from its citizens, regardless of their intent. Ie being pro-Putin, or wanting to study what opinions circulate in Russia to try and maintain some level human understanding for our fellow humans on the other side.

Moreover a large part of our government is willing to implement something as egregious as ChatControl. So they are not above animing extremely invasive spying tech at their own citizens.

1+1=2. All prerequisites have been met for a European “firewall”. Hate the word btw, a firewall is supposed to be a defense tool. But these censoring tools are an attack on our agency. Every time I try to access something I am not allowed to access by my overlords I hear in my head "You are not allowed to see this information citizen."
by JaumeGreen | 2025-09-14 08:54:59+00:00
FYI naming it Catalan Spanish would be akin to naming Welsh as Welsh English. Catalan and Spanish (also known as Castilian) are two different languages, like French and Italian.

So it's normal that you didn't understand much, as even it having some words that are similar the tonalities and some of the constructs are very different.

And they might have been speaking in Balearic, which is a Catalan dialect, and that's sometimes even harder to understand.