MurphyA/hacker-news huggingface dataset:
by NitpickLawyer | 2025-05-08 12:57:38+00:00
> They also specify the use of "retransmission devices" (mifi routers, basically) in favour of native cellular capability

Yeah, this makes the most sense, there's no way they'd let a president's phone be connected to commercial networks. Tracking alone would be a huge issue, not to mention the plethora of ss7 abuses that can be done.
by nobody9999 | 2025-05-08 12:58:12+00:00
>Often issues such as this are the result of people involved in the verification process, being bribed or taking cash for approvals. This is even more likely to happen if you outsource part of the process.

Often, posters on HN engage in pedophilia, tax evasion and satanic rituals. This is even more likely if you allow just anyone to create an account.

That's ridiculous, right? Because I provide no evidence for my statement whatsoever. And yet, I manage to paint every HN user with that broad brush.

It's an example of 'reductio ad absurdum'. If you have any evidence that your hypothesis is any more valid than mine, please do provide it. Otherwise, you're just smearing people without any reason except to validate your world view.
by dcreager | 2025-05-08 12:58:16+00:00
To add to the complexity, you have to worry about not just which language you're analyzing, but also which language the type-checker is implemented in.

So if we were to do this for ty, we would have to carefully design the internal data types and algorithms that we use to model Python code, so that they're extensible in a robust way.

But we would also have to decide what kind of Rust plugin architecture to use. (Embed a Lua interpreter? dlopen plugins at runtime? Sidecar process communication over stdin/stdout?)

Solvable problems, to be sure, but it adds to the amount of work that's needed to support this well — which in turn affects our decisions about whether/when to prioritize this relative to other features.
by i_c_b | 2025-05-08 12:58:54+00:00
I was in the game industry when we originally transitioned from C to C++, and here's my recollection of the conversations at the time, more or less.

In C++, inheritance of data is efficient because the memory layout of base class members stays the same in different derived classes, so fields don't cost any more to access.

And construction is (relatively fast, compared to alternatives) because setting a single vtable pointer is faster than filling in a bunch of variable fields.

And non-virtual functions were fast because, again, static memory layouts and access and inlining.

Virtual functions were a bit slower, but ultimately that just raised the larger question of when and where a codebase was using function pointers more broadly - virtual functions were just one way of corralling that issue.

And the fact that there were idiomatic ways to use classes in C++ without dynamically allocating memory was crucial to selling game developers on the idea, too.

So at least from my time when this was happening, the general sense was that, of all the ways OO could be implemented, C++ style OO seemed to be by far the most performant, for the concerns of game developers in the late 90's / early 2000's.

I've been out of the industry for a while, so I haven't followed the subsequent conversations since too closely. But I do think, even when I was there, the actual reality of OO class hierarchies were starting to rear their ugly heads. Giant base classes are indeed drastically bad for caches, for example, because they do tend to produce giant, bloated data structures. And deep class hierarchies turn out to be highly sub-optimal, in a lot of cases, for information hiding and evolving code bases (especially for game code, which was one of my specialties). As a practical matter, as you evolve code, you don't get the benefits of information hiding that were advertised on the tin (hence the current boosting of composition over inheritance). I think you can better, smart discussions about those issues in this thread, so I won't cover them.

But that was a snapshot of those early experiences - the specific ways C++ implemented inheritance for performance reasons were definitely, originally, much of the draw to game programmers.
by codr7 | 2025-05-08 12:58:55+00:00
Ah, of course; templates and linking the full object.

Thanks for the update, my C++ is pretty rusty.

But it brings up another problem for me; when iterating a list like that, how do you know which of the links to follow? I get that you can do it manually step by step, but if you wanted to say write an iterator. Member pointers?
by bko | 2025-05-08 12:59:18+00:00
Disagree. Peter Thiel wrote about this in zero to one. The "well rounded" candidate is essentially hedging their bets. An indefinite optimist.

> You can expect the future to take a definite form or you can treat it as hazily uncertain. If you treat the future as something definite, it makes sense to understand it in advance and to work to shape it. But if you expect an indefinite future ruled by randomness, you’ll give up on trying to master it. Indefinite attitudes to the future explain what’s most dysfunctional in our world today. Process trumps substance: when people lack concrete plans to carry out, they use formal rules to assemble a portfolio of various options. This describes Americans today. In middle school, we’re encouraged to start hoarding “extracurricular activities.” In high school, ambitious students compete even harder to appear omnicompetent. By the time a student gets to college, he’s spent a decade curating a bewilderingly diverse résumé to prepare for a completely unknowable future. Come what may, he’s ready—for nothing in particular.

> A definite view, by contrast, favors firm convictions. Instead of pursuing many-sided mediocrity and calling it “well-roundedness,” a definite person determines the one best thing to do and then does it. Instead of working tirelessly to make herself indistinguishable, she strives to be great at something substantive—to be a monopoly of one. This is not what young people do today, because everyone around them has long since lost faith in a definite world. No one gets into Stanford by excelling at just one thing, unless that thing happens to involve throwing or catching a leather ball.

Cramming entrance exams is not super useful, but it does select for motivation and ability to focus intensely. Much more useful measure than having your parents set up a fake charity for you to volunteer at.
by krapp | 2025-05-08 12:59:36+00:00
And they should continue changing by repatriating artifacts if the original owners want them back. It's entirely possible that some cultures might prefer having their artifacts be kept by others, but that clearly isn't always the case. For instance, bones and sacred items taken from indigenous peoples.

And as far as instability is concerned, a lot of that was caused by the same imperialist governments that looted the artifacts to begin with, so blaming those governments for that doesn't seem fair.
by matheusmoreira | 2025-05-08 12:59:39+00:00
> The AGPLv3 is pretty easy for the corporations to comply with

> they just have to either use the unmodified code, or give their users access to the modified code

If it's so easy, then why don't they? Why do they treat it as legal kryptonite?

> You have to go to non-FOSS licenses if you want to change where the money goes

I agree with you. That's why I said "AGPLv3 or all rights reserved".

I don't necessarily want to change where the money goes though. It's about having the power to do whatever you want as the user of the software and especially as the owner of the computer that's running it.

AGPLv3 is simply the license that allows us to give away software while retaining the most possible leverage. Open source licenses just give it all away for literally nothing.

> but even that won't help, because if you get popular enough they will just use their giant amount of devs to re-implement your stuff and then beat you at marketing

That's okay. Spending one's own time and money on something is not exploitative in any way. They could also negotiate exceptions to the GPL with the copyright holders.

https://www.gnu.org/philosophy/selling-exceptions.html
by ryukoposting | 2025-05-08 13:00:11+00:00
How many people hear "JBL" and think "Bluetooth speaker" instead of "high end stereo gear?"

How many people hear B&W or Harman-Kardon and think "logo on my car's speakers" rather than "high end stereo gear?"

How many people hear "Mark Levinson" and think either "Lexus" or "who's Mark?"

I genuinely didn't know that there were still real, standalone speakers and head units made under half these brands that aren't whitelabeled Bluetooth detritus.
by josephg | 2025-05-08 13:00:12+00:00
> It just doesn't seem like that big of a problem.

It really, really depends on the codebase. There are absolute mammoth tire fire codebases out there - particularly in "enterprise code". These are often made up of insane hierarchies of classes which in practice do nothing but obscure where any of the actual logic lives for your program. AbstractFactoryBuilderImpl. Wild goose chases where you need some bizzaire and fragile incantation to actually create an object, because every class somehow references every other class. And you can't instantiate anything without instantiating everything else first.

If you haven't seen it in your career yet (or at all), you are lucky. But I promise you, hell is programmed by mediocre teams working in java.
by downsplat | 2025-05-08 13:00:16+00:00
Same here. Since I started using LLMs a bit more, the killer step for me was to set up API access to a variety of providers (Mistral, Anthropic, Gemini, OpenAI), and use a unified client to access them. I'm usually coding at the CLI, so I installed 'aichat' from github and it does an amazing job. Switch models on the fly, switch between one-shot and session mode, log everything locally for later access, and ask casual questions with a single quick command.

I think all providers guarantee that they will not use your API inputs for training, it's meant as the pro version after all.

Plus it's dirt cheap, I query them several times per day, with access to high end thinking models, and pay just a few € per month.
by enescakir | 2025-05-08 13:00:46+00:00
The riskiest line in your repo isn’t in "src/", it’s in ".github/workflows/"

Self-hosted runners feel more secure at first since they execute jobs directly on machines you manage. But they introduce new attack surfaces, and managing them securely and reliably is hard.

At Ubicloud, we built managed GitHub Actions runners with security as the top priority. We provision clean, ephemeral VMs for each job, and they're fully isolated using Linux KVM. All communication and disks are encrypted.

They’re fully compatible with default GitHub runners and require just a one-line change to adopt. Bonus: they’re 10× more cost-effective.

https://www.ubicloud.com/use-cases/github-actions
Show HN: Dexter – an opinionated day planner for Mac
by cvburgess | 2025-05-08 13:02:20+00:00
Hey HN, Dexter is a day planner I built for Mac (and web).

This was a grief project. Some people make art when they're soul searching, and making apps has always been a bit of an artistic outlet for me. Earlier this year my mother committed suicide and two weeks later the company I worked for laid off my entire division. After taking some time to grieve and process I started building something just for me, just for fun, just because I wanted to.

Dexter has been a slow project that started as paper sketches at my kitchen table and slowly morphed into a codebase. It allowed me to play with tools I wanted to get better at like Postgres and Typescript while also letting me try (and in some cases fail) experimenting with new-to-me tools like Tailwind, Supabase, Tauri, Electron, and Vite.

Small portions of the app and site were "vibe coded", but 99% is hand-crafted code (not necessarily good code), graphics, and data models. This was meant to be a fun project where I learned things just because I wanted to learn something, not a race to see how fast I could grind out a product.

For an example of "unnecessary but fun", I made each SVG on the marketing site twice with Figma - once in a light theme and again in a dark theme - so if you toggle your OS's dark mode, everything should change, even the images.

A few things about the app:

- Yeah, I know, it's an Electron app. I tried using Tauri and other tools but hit a few snags. The Electron ecosystem was incredibly mature and easy to use in comparison

- The app is open source [0] and so is the marketing site [1]

- Some friends and I have been using it daily for a few months and really enjoy it compared to our old multi-tool workflows

- Dexter is the name of my 12(?) year old husky, hence the dog branding

- There is a pricing widget on the marketing site but the app is currently totally free. I might integrate Stripe soon if (and only if) that feels like a fun project, but the goal isn't to get rich or even turn a profit, it's to have fun and build something genuinely useful that I use every day

There are a bunch of features I would love to add and enhancements I would like to make, and eventually I will. Currently, I pick up a feature just because it sounds fun that day and I put it down when it is no longer fun. It might not be a good business model, but it has been a wonderful antidote to an industry rife with burnout and a personal life that's been a little out of control.

I hope you enjoy it and maybe build something for yourself, just because it sounds fun.

If anyone gives it a try I will be in the comments today and happy to answer any questions!

[0] https://github.com/cvburgess/dexter-app

[1] https://github.com/cvburgess/dexter-www
by gilleain | 2025-05-08 13:02:47+00:00
Agreed. Some other points of tension in Stack Exchanges:

1) People want to ask homework questions (_eg_ on Biology, Chemistry, etc). I understand why that is not allowed, but that doesn't change people's desire to 'just have an answer, now!'. I guess that AI could really take over this niche.

2) Others want to ask very open-ended 'discussion' questions that require back-and-forth to get to the answer, which may be on the edge of known research.

While I do understand why people get frustrated about these things, as you point out - this is not what SO (and SEs) are 'for'.
by fxtentacle | 2025-05-08 13:03:17+00:00
No, you actually want to reverse-engineer the PCB so that you have schematics. That allows you to more easily replace components with cheaper alternatives and/or modify the firmware to continue working on your unintended hardware. (Fake products typically replace the on-board components with cheaper variants, like using lower-rated caps, to squeeze out a tiny bit more profit margin. Like really in the $1 per 10k units range.) Plus PCB x-ray is a common thing that also reputable manufacturers do for quality control or security assurance (e.g. Is there a HW backdoor in this mainboard?) so you can just book that as an affordable service. I remember Siemens recently bought a PCB RE provider, but I can't find the news article anymore.

To give you some price ideas:

10x10cm 4-layer PCB x-ray and RE: $200

STM32 firmware dumping: $700

EEPROM dumping: $300

The STM32 is the most expensive because you need to decap them to get the hardware encryption key. But it's still A LOT cheaper than building your own firmware from scratch.
Show HN: I built an app that auto-shares your referral codes for passive rewards
by DevDad_io | 2025-05-08 13:03:18+00:00
Hi HN,

I built REFER, a tool that helps people automatically share their referral codes where others are searching for them. It’s not a marketplace or a link tree—users just enter the codes they already have (for apps like Webull, Rakuten, Robinhood, etc.), and REFER distributes them for discoverability. The goal is to make it easier for people to earn from referral programs without constantly promoting links themselves.

Why I built it: I noticed a lot of folks—including creators and casual users—have valuable referral codes sitting unused. Most people either don’t know where to post them, or they end up buried in social media bios or YouTube descriptions. I wanted to make something that quietly works in the background to surface these codes without requiring extra effort or marketing.

I designed and built REFER solo. It uses Next.js, TypeScript, Prisma, MongoDB, Stripe (for optional paid tiers), and Auth0 for authentication. All code is deployed on Vercel.

What's different: All codes are continuously re-shared over time, not just the newest or most active—everyone gets a fair chance at visibility.

It’s focused purely on automation and visibility—set it once and forget it.

There’s a free tier, and you can try it here: https://www.refer-app.com/. You do need to sign up to add codes, but I’d be happy to set up a demo or provide a walkthrough if there’s interest.

Happy to answer questions, share more technical details, or hear feedback (especially the critical kind).

Thanks!
by diggan | 2025-05-08 13:03:24+00:00
Depends on "acquired" means. Pillages as part of a war? Then yes, why not give it back? "Acquired" in terms of gifted by the other party, like this Obelisk, then no, that wouldn't make sense. Same goes for purchased.

But things stolen with violence or threat of violence, should probably be returned (if they want it returned). While we shouldn't hold children responsible for the actions of our parents, we can also be better than our parents and return things we know aren't rightfully ours.

Off-topic, but you're probably one of the top 3 persons in the world with the most similar first+last name as myself, with a Levenshtein Distance of only 6 :)
by fiskfiskfisk | 2025-05-08 13:03:59+00:00
In my own experience it's not often the elected moderators that are the problem, but those with a golden tag in a specific tag. They're far too eager to close questions because they're the ones culling through a tag often - and then close the question as they quickly think "oh, it's that again".

But it often isn't, they just didn't spend enough time to see nuance.

And neither do they see that even if _they_ understand that the question linked to is the same thing, there is no way the asker can understand what the similarity is from their knowledge point of view (or why the linked duplicate question is the same question).
by zdragnar | 2025-05-08 13:04:04+00:00
I don't think this is charitable enough to the user's complaints, or even the person you are responding to.

If the moderation was effective and limited, people would ultimately be fine with it.

What people don't like is having a question closed as "duplicate" even though what it supposedly duplicates is very different, or any of the other myriad complaints.

The same story goes for Wikipedia. Moderators have an agenda, act in frequently erroneous ways, and are actively hostile to criticism.
by parsimo2010 | 2025-05-08 13:04:33+00:00
This satellite’s mission is soil readings. Most scientists are not part of the intelligence community. They may have noticed anomalous readings and excluded them from their analysis, but they don’t really have anyone to talk to about the military implications. Plus, while this is cool that you can detect this interference with a science satellite, the major space powers all have military and intelligence satellites that can map the interference at greater precision, so the NASA scientists can pretty much ignore this unless they are particularly interested in the soil readings in this part of the world.
by csande17 | 2025-05-08 13:04:56+00:00
I might be totally missing something here, but does Mycoria attempt to prevent network participants from learning the public-Internet IP address corresponding to a Mycoria router ID?

The "iana" field in the configuration kind of suggests that this is not a goal, and this system is basically Tailscale but with IPv6 and a global namespace. But if this is the case, I don't really understand the emphasis on "routing", since pretty much every Internet host can reach pretty much every other Internet host directly using NAT traversal techniques (like BitTorrent does).

If you are trying to hide public-Internet IP addresses (like Tor hidden services do), the routing scheme still doesn't make a ton of sense to me, because presumably you wouldn't want to leak data by picking routes with a deterministic or latency-dependent strategy.
Ask HN: What are good high-information density UIs (screenshots, apps, sites)?
by troupo | 2025-05-08 13:05:10+00:00
Just yesterday I tried to find examples of good high information density UIs... and seems to be an impossible task.

Search engines are full to the brim with vague articles repeating each other's talking points, and exception being this blog post by Matthew Ström: https://matthewstrom.com/writing/ui-density/

Image search is no better, with largely irrelevant results.

In the age when everything is spaced out and zoned out gray on gray, what are your go-to examples of UIs that pack a lot of info?
by barrkel | 2025-05-08 13:05:37+00:00
> The original idea of SO was building a knowledge repository, and that meant no duplication and pruning it endlessly

This is not true as I recall. On Joel and Jeff's podcast, Joel in particular was in favour of having lots of variants of the same question answered repeatedly. His rationale was that if people didn't find the golden original question, there was a reason for that (e.g. it's not a real duplicate, or it's a different frame of thinking about the problem shared by other people), and adding the supposed duplicate would mean that other people who search for it - and would similarly fail to find the golden original - would land on the supposed duplicate. Net win.

But this was in tension with cheap karma farmers. SO was structured as a points economy, but in any case anything with points rewards motivates some people to play the game of collecting points. A cheap way of farming points is to ask trivial questions then answer them yourself, or participate in an implicit network of people asking and answering trivial questions. How do you cut that out? Have canonical versions of the trivial questions, redirect people to them while asking, and motivate deduplication.
by lelanthran | 2025-05-08 13:05:42+00:00
> I wouldn't consider the remediation costs as being the costs of the exploit - that's more just a measurement of how widely used something is

Maybe you won't in general, but we're chatting on a thread about the threats of supply chain attacks.

Reading upthread, some GG...P thread espoused the idea that maybe the trade-off in using a memory-safe language with almost frictionless thirdy-party dependency might not always be worth it compared to a memory-unsafe language with very high friction for third-party dependencies.

In this context, the specific comment I replied to made a frankly asinine comment about how "this wouldn't happen in Rust", to which I felt compelled to point out that a) More expensive breaches have occurred in memory safe languages, and b) Supply chain attacks have large dollar impacts anyway.

To add, there's also c) The majority of breaches are occurring irrespective of tech stacks.
by Larrikin | 2025-05-08 13:05:57+00:00
What was the question?

If it is from 2010 and was a relevant question or answer then but has since become irrelevant or even wrong because the framework or language has moved on I actually support this kind of clean up.

There are a lot of best practices that just don't apply anymore that far down the line. Even simple things like whats the best way to use a variable inside of a string in Python would have an outdated (and to most users, wrong) answer if it was from 2010.