MurphyA/hacker-news huggingface dataset:
by agarsev | 2025-05-25 11:19:20+00:00
I don't think democracy is about having the "best" government, that'd be technocracy, I guess. Democracy is about sharing the power, and having the most legitimate government based on the principle that everyone's voice is equal.

Also, it's not a zero sum game at all. First, even if the long stretches of good and bad governments equalized over the long term, it's much worse to live all your life under a bad government than have one half the time. Also,thinking as an engineer, think about the stability implications of a wildly swinging signal vs a smoothly swinging one, even if both are centered.

In any case, coming from a country which had a long dictatorship until not so long ago, it's fairly clear it's not a zero sum game.
by shahafzm | 2025-05-25 11:19:38+00:00
Hi HN!

I just open-sourced a universal metaobject and DSL API playground for PHP and JavaScript. - Define APIs and objects in a simple DSL file (`routes.dsl`) - Instantly expose GET/POST endpoints - Send and introspect full objects (including nested/meta objects) between browser and server - Includes a demo playground (main.html) and complete docs

Repo: https://github.com/badwolfzm/metaobject-protocol-demo

I’d love feedback, suggestions, or contributions. Thanks!
Show HN: SVG Animation Software
by msarca | 2025-05-25 11:21:22+00:00
Expressive Animator is an SVG vector animation software that helps users create and export animated icons, logos, and illustrations. Users can import SVG, PDF, Adobe Illustrator files, and Figma designs, and animate them using easing controls, motion paths, masking, and other techniques. Expressive Animator also allow users to export their animations in other formats as Lottie, GIF, PNG, and video.
by sensanaty | 2025-05-25 11:22:14+00:00
The default "voice" (for lack of a better word) compared to 3.7 is infuriating. It reads like the biggest ass licker on the planet, and it also does crap like the below

> So, `implements` actually provides compile-time safety

What writing style even is this? Like it's trying to explain something to a 10 year old.

I suspect that the flattery is there because people react well to it and it keeps them more engaged. Plus, if it tells you your idea for a dog shit flavoured ice cream stall is the most genius idea on earth, people will use it more and send more messages back and forth.
by hansvm | 2025-05-25 11:22:48+00:00
It's undefined because there isn't an obvious choice:

- At x:=0, every real is a reasonable limit for some path through the euclidean plane to (0,0). Ignore the 0/0 problem, then x/0 still has either positive or negative infinity as reasonable choices. Suppose you choose a different extension like only having a single point at infinity; then you give up other properties like being able to add and subtract all members of the set you're considering.

- However you define x/0, it still doesn't work as a multiplicative inverse for arbitrary x.

A good question to ask is why you want to compute x/0 in the first place. It is, e.g., sometimes true that doing so allows you to compute results arithmetically and ignore intermediate infinities. Doing so is usually dangerous though, since your intuition no longer lines up with the actual properties of the system, and most techniques you might want to apply are no longer valid. Certain definitions are more amenable to being situationally useful (like the one-point compactification of the reals), but without a goal in mind the definition you choose is unlikely to be any better than either treating division as a non-total function (not actually defined on all of ℝ), or, equivalently, considering its output to be ℝ extended with {undefined}.

Not that it directly applies to your question, ℝ typically does not include infinity. ℝ⁺ is one symbol sometimes used for representing the reals with two infinities, though notation varies both for that and the one-point compactification.
by fabian2k | 2025-05-25 11:23:00+00:00
It will take time for these effect to manifest. Conferences are organized quite far in advance, so most conferences this year and part of next year would likely not be able to change locations anyway.

But because they are planned in advance they might be even more careful then. They won't just take the status today into account, but also their fears of how much worse it could get.
by trinix912 | 2025-05-25 11:23:44+00:00
> 2. Just dump runtime data. Example: Mnemosyne’s old format. Do you use Python? Just dump your state as a Python pickle. (Con: dependency on a particular runtime, good luck rewriting it in Rust.)

Be particularly careful with this one as it can potentially vastly expand the attack surface of your program. Not that you shouldn't ever do it, just make sure the deserializer doesn't accept objects/values outside of your spec.
by root_axis | 2025-05-25 11:24:25+00:00
> Without fail, every one of them has a _visceral_ negative reaction to a hypothetical Trump 2028 term

This will change in the lead up to 2028. This is a pattern we've observed over and over again with Trump supporters, they draw a line, and once it's crossed they adjust to the new standard without fail. Trump now enjoys more popular support than ever before.

> That’s his best chance to stay out of jail

Absolutely zero chance he goes to jail. Not just because he's a former president and a billionaire, but also because it's a political impossibility. Even assuming Trump can't make a third term happen, and that the Democrats aren't indefinitely disaffected, holding Trump accountable is something that Democrats have proven themselves consistently unable to accomplish, nor do they want to, because it's a losing political agenda.

> He’s going to be old news in late 2028.

That's what they said in 2022.
by lrvick | 2025-05-25 11:24:49+00:00
As someone who has worked for and/or audited most major crypto custody companies, I am sad to report every single one takes shortcuts that give single individuals acting alone the power to move billions of dollars in value. They also never review third party dependencies. They blindly merge any code dependabot tells them to merge from internet randos and give it control of the funds.

This level of negligence should be illegal, but it isn't. Negligence is the default in crypto custody. There are no useful security regulations in this space.

Even the ones that think they have a good split custody solution or claim to use HSMs always let an IT manager have remote access to all workstations involved or a release engineer build the software that is used shifting the centralized power and risk to them.

Kidnappings and torture are becoming common as people realize this

https://github.com/jlopp/physical-bitcoin-attacks

If you directly or indirectly control secret keys of any significant financial value on your own, you are endangering yourself and your family.

Even if you only maintain an open source library used by crypto custodians that do not review the code you write, someone has good reason to coerce you into sneaking in malicious code.

To engineers working at custodians: Make your employers manage keys with a quorum of geographically distributed individuals with HSMs, immutable time delayed access controls, and a software supply chain that is full source bootstrapped, reviewed, compiled deterministically, and signed by multiple people so no single person can manipulate the flow.

My team and I open sourced a lot of tooling to do this safely. Please use it, or use it for reference to ensure your internal tooling meets the same bar.

https://trove.distrust.co
by sensanaty | 2025-05-25 11:25:32+00:00
I feel that 3.7 is still the best. With 4, it keeps writing hundreds upon hundreds of lines, it'll invoke search for everything, it starts refactoring random lines unrelated to my question, it'll often rewrite entire portions of its own output for no reason. I think they took the "We need to shit out code" thing the AIs are good at and cranked it to 11 for whatever reason, where 3.7 had a nice balance (although it still writes WAY too many comments that are utterly useless)
by dijit | 2025-05-25 11:27:12+00:00
I was once told that we can only hold 7 things in our heads at once, especially smart people might manage 9; this was by a psychologist that I respect- whether its true or not I am not certain. He was using it as an argument to either condense the array of things I was thinking about into smaller decisions, or to make decisions and move on instead of letting them rot my brain.

It was good advice for me.
by testing22321 | 2025-05-25 11:28:38+00:00
I bought my last guitar for $50.

Cooking a huge moose roast is very cheap when you shot and butchered it yourself. (Rifle was $250)

The bike I rode to work everyday cost me a case of beer.

The car I drove 50,000km all over Yukon and AK , into the arctic circle a dozen+ times was $450. Registration was $13 a year.

If you think you need internet and tv for entertainment, go live in the Yukon. You’ll be so busy doing unreal stuff you won’t have time to sit inside.

Some people just don’t believe reality.
by someothherguyy | 2025-05-25 11:29:57+00:00
> Please implement <function_name> for me. Please write a high quality, general purpose solution. If the task is unreasonable or infeasible, or if any of the tests are incorrect, please tell me. Do not hard code any test cases. Please tell me if the problem is unreasonable instead of hard coding test cases!

I have pretty good success with just telling agents "don't cheat"
Ask HN: How Do You Approach Public Docs for Small Open-Source Projects?
by jeeybee | 2025-05-25 11:29:57+00:00
Hi HN,

I’m the maintainer of PGQueuer, a minimalist job queue for Python that runs entirely on PostgreSQL—no Redis, brokers, or additional infrastructure required. It’s designed to offer solid concurrency with low overhead and fit seamlessly into projects that already use Postgres.

I’ve been working on improving the public documentation [1], and I’m looking for feedback from others who’ve gone through this process—especially those maintaining small, technical open-source projects where all the important knowledge lives in the docs. There’s no internal documentation and likely never will be, so clarity and accessibility are essential.

I’d especially appreciate your thoughts on:

* How do you decide what’s worth documenting for a technical audience who might just read the source anyway?

* How do you balance being thorough without overwhelming the reader?

* I’m currently using Read the Docs [2], but I’m considering switching to a self-hosted MkDocs site. What have your tradeoffs been between Read the Docs and self-hosting?

* What practices have helped you keep your docs in sync with your codebase?

* What’s worked well (or poorly) for encouraging contributions and getting users to help improve the docs?

If you have time to browse the current docs [1], I’d love to hear what’s missing, what’s confusing, or what stands out as helpful.

I’m here to learn from your experience—tools, workflows, hosting decisions, contributor strategies, anything. Thanks in advance!

---

[1] https://pgqueuer.readthedocs.io/en/latest

[2] https://readthedocs.org/

[3] https://github.com/janbjorge/pgqueuer
by Bostonian | 2025-05-25 11:30:13+00:00
https://archive.is/xfZmb

Once the students graduate, they will likely use AI at work. Does restricting use of AI in college make them more or less productive later? One could argue that college is about intellectual exploration, not just job training, but I think more students are there for the latter. When it comes to writing papers, the ideal could be for a student to write the initial draft on her own but then iterate with a LLM to improve grammar and logic, keeping a log of each version of the paper. I doubt that professors want to go through such logs.
by squigz | 2025-05-25 11:31:55+00:00
It's not like they were designed like that on purpose. It was a limitation of the technology of the time. If they could've made as many live service games back then, they would have.

This comparison is also unfair for a couple more reasons:

- It ignores the fact that when a game was released on CD back then... that's it. No updates. No patches. Nothing. You break it, that's it. Game ending bug that corrupts your save? TOO BAD. Oh, scratched your CD? TOO BAD. Maybe try one of these folk remedies with tooth paste or some such.

- And the flipside of that: that paying for live service games, you get consistent updates, new content, new cosmetics, etc, etc. You also get features like cloud saves. You don't have to worry about managing 100s of CDs or worry about a scratch on them or anything like that.

Is there a problem these days with online-only games being shut down? Yes, absolutely, and I hope the industry moves away from that.

Is romanticizing an era of gaming that was not all that great the way forward? I don't think so.
by pzo | 2025-05-25 11:32:30+00:00
On top of that they got released more than 10 years ago. We have a new generation of users - I think (might be wrong thought) for gen Gen Z privacy is less of an issue and they are heavy users or tiktok and snapchat (comparing to millenials).

Original glasses looked also more futuristic - new one like raybans looks more like sunglasses so other people less aware about being recorded.
by hansvm | 2025-05-25 11:32:54+00:00
The hyperreals don't fix the x/0 or 0/0 problems. Infinitesimals have a well-defined division and take the place of a lot of uses of 0 in the reals, but the hyperreals still have a 0, and the same problem posed in their comment exists when you consider division on the hyperreals as well.

I'm also curious what they intended, but there aren't many options:

1. The question is ill-posed. The input types are too broad.

2. You must extend ℝ with at least one additional point representing the result. Every choice is bad for a number of reasons (e.g., you no longer have multiplicative inverses and might not even have well-defined addition or subtraction on the resulting set). Some are easier to work with than others. A dedicated `undefined` value is usually easy enough to work with, though sometimes a single "infinity" isn't terrible (if you consider negative infinities it gets more terrible).

3. You arbitrarily choose some real-valued result. Basically every theorem or application considering division now doesn't have to special-case zero (because x/0 is defined) but still has to special-case zero (because every choice is wrong for most use cases), leading to no real improvements.
by ljm | 2025-05-25 11:33:35+00:00
I interviewed with them a fair while back and noped out as soon as they told me their ‘tech leads’ were typically assigned to handling 15 or 16 projects at a time for around £70-80k a year. Interviewed an ex senior engineer of theirs who was still junior/mid really.

By all accounts it looked like another web dev sweatshop and it just used AI as bait.

Decided to just step back from it all. Most AI startups are all talk and no action. Long hours and weekends with nothing to show for it.
by sensanaty | 2025-05-25 11:33:48+00:00
It's a massive hype bubble unrivaled in scale by anything that has ever come before it, so all the AI providers have huge vested interests in making it seem like these systems are "sentient". All of the marketing is riddled with anthropomorphization (is that a word?). "It's like a Junior!", "It's like your secretary!", "But humans also do X!" etc.

The other day on the Claude 4 announcement post [1], people were talking about Claude "threatening people" that wanted to shut it down or whatever. It's absolute lunacy, OpenAI did the same with GPT 2, and now the Claude team is doing the exact same idiotic marketing stunts and people are still somehow falling for it.

[1] https://news.ycombinator.com/item?id=44065616
by simonjgreen | 2025-05-25 11:35:31+00:00
Wow that NT era weave logo triggered a lot of memories. In particular Windows Back Office (which later became SBS). Many evenings spent fixing SMS, Mail, and ISA.

There is a lot to be said for on prem that the cloud era marketing departments have erased. I seriously miss the on prem first mindset. It’s not clear at all to me if there is a universal best/winner now.For example: I regularly hit issues with Entra where there are feature gaps vs AD such as MemberOf. But as a counter, I have no love lost for roaming profiles. You could probably debate it for weeks.
by dschuessler | 2025-05-25 11:38:51+00:00
> any library that treats facts like opinions

The word 'object' has different meanings. One includes arrays and the other does not. They prefer the latter. You prefer the former. I don't think this has much to do with 'facts' and 'opinions', but rather with the practicality of choosing a certain way to speak.

I’d liken it to the word 'sorting'. JavaScript libraries sort in a certain way that is simple to implement. However, this is so different from what we typically mean by 'sorting' that people came up with natural sorting algorithms. Are these people treating facts like opinions on how to sort? I’d rather say, they acknowledge the relevance of a certain way to speak.
by ben_w | 2025-05-25 11:39:01+00:00
"Bugfree".

The problem with "ZenTao" is that it's too close to a game (Zendo), Buddhism, and New Age hippies.

The problem with "Sanplex" is it reads like it came from an algorithm for permuting English sylables to produce things that sound almost like they might be brands if it's not your first language, like all the suspicious vendors on Amazon for the last few years: https://youtu.be/nQpxAvjD_30?si=Cxz18SU0UmiLdKLE

The other problem with "Sanplex" is every fourth time I read it, my inner monologue vocalises "Spandex" instead.
by joshstrange | 2025-05-25 11:39:15+00:00
I feel for publishes but also:

> The Best And Worst Infotainment Systems In Popular EVs Right Now

> https://dmarge.com/cars/best-worst-infotainment-systems-evs

This article is pretty barebones. 1-3 paragraphs be EV system, no video, vague descriptions (mostly “vibes” IMHO), and inconsistent information. For example, they mention CarPlay/Android Auto (as not being available) on _some_ of the cars but in fact I don’t think it’s available on any, they were just inconsistent in calling it out. Also there is no ranking system at all and making a comment like:

> Ther’s no Apple CarPlay. No Android Auto. And no real need for them. It’s a closed ecosystem, but a slick one, setting the benchmark for native infotainment design.

Typo aside, I disagree completely with that statement. Nothing I’ve used comes close to CarPlay (I’m sure Android Auto is similar, idk).

Each little “review” seems like it was written in isolation from the other reviews which makes it harder to follow and impossible to actually compare.
by klabb3 | 2025-05-25 11:40:05+00:00
Plain data in all glory but I’d rather (deterministically) generate and modify it than having big blobs checked in. If I have too much copy pasted data I often forget to modify until the test case runs and I realize it. This creates a false sense of confidence since there could be tests that pass and nobody ever checks they’re wrong. Essentially, minimize the number of human steps to verify it looks right which typically means optimizing for the least amount of code.

Flashback to when I committed a suite of tests in Python that were indented one tab too much, resulting in them not running at all. This passed code review (on a FAANG company) and was discovered months later from an unrelated bug. The point is even unit tests have a very human element to them.
by melvinzammit | 2025-05-25 11:40:09+00:00
Thanks for the thought provoking comment! Yes I totally agree. I need to fix the marketing a bit to highlight what the app is good at and not exaggerate what it can do. In reality one cannot compare a proper workout with this. Its for different people and different aims. My aim is just to get people moving and let them see the benefits of exercise. Anyway, thanks I will update.
by ekidd | 2025-05-25 11:41:37+00:00
> who may develop narcissistic tendencies with increased use or reinforcement from AIs.

It's clear to me that (1) a lot of billionaires believe amazingly stupid things, and (2) a big part of this is that they surround themselves with a bubble of sycophants. Apparently having people tell you 24/7 how amazing and special you are sometimes leads to delusional behavior.

But now regular people can get the same uncritical, fawning affirmations from an LLM. And it's clearly already messing some people up.

I expect there to be huge commercial pressure to suck up to users and tell them they're brilliant. And I expect the long-term results will be as bad as the way social media optimizes for filter bubbles and rage bait.
by StopDisinfo910 | 2025-05-25 11:45:44+00:00
The French Ministry of the Economy and Finance building, which was built in the 80s, is very interesting in this regard in a way which is not to dissimilar to the modularity of office buildings pre-open plan. [0]

I had the chance of joining a tour there years ago. Everything is build on a grid of 90cm cube modules and most rooms are bounded by movable panels - some plain other made of glass - which can be moved to reconfigure the space. That’s supposed to offer some flexibility as to how the building works.

[0] https://en.m.wikipedia.org/wiki/Ministry_of_the_Economy_and_...
by williamdclt | 2025-05-25 11:47:00+00:00
> What do you think about empty strings being falsy in most languages including js?

I don’t love it! I think it’s inconsistent with empty arrays being truthy.

In practice, I see a lot more mishandling of empty strings than empty arrays (eg “!myvar” catching null and empty strings when it’s not what was meant) which hints that it’s not the right thing to do: an empty string is a valid string, whether its semantically different from non-empty entirely depends on the context and shouldn’t be baked into the langage.

Generally, I think implicit casts are not a great idea and I’d rather they didn’t exist (one of the few things I think Go got right).

> For example with document.querySelectorAll, which returns an empty array if nothing is found

Yes I think it’s doing the right thing. It’s indeed returning the list of elements, whether there’s 0 elements or more it’s still a valid list. As you say, you don’t usually need to handle it any differently from a non-empty array (just iterate), so I don’t think it should cast to a different value.

However if for example you were passing something like a whitelist as an argument, I’d expect [] to mean “there is a whitelist, allow only these items (ie allow nothing)” and null to mean “no whitelist, everything allowed”. These two things are semantically different, I think it makes sense to cast to different values.

I do see your point and it’s definitely at least partly a matter of taste. Again id rather there was no implicit conversion at all, removing the risk of mishandling altogether!