MurphyA/hacker-news huggingface dataset:
by orev | 2025-04-21 15:37:02+00:00
The fact is that language matters, and the version number is a way to communicate the developers’ perception of how suitable something is for use. If they refuse to label it as 1.0, it means either: they don’t think it’s in a stable state yet, or they don’t realize the importance of this type of communication. Either way, it’s a red flag for people who might otherwise be making a large investment in time/money into using something.

It’s not feasible for everyone to do a full evaluation of everything. At some point you need to rely on an expert to at least provide some basic assurances before spending time on digging deeper.
by WorldMaker | 2025-04-21 15:37:11+00:00
C# InterpolatedString is very close, with the twisty bit being that C# can rely on static typing for safety so the "f-string" and "t-string" variants use the same literal syntax and depend on what function they are passed to, whereas in both Python and Javascript they have different literal syntaxes. Python chose to use a different literal prefix to its literals ("f" versus "t") and Javascript chose to use a function-call syntax as prefix (`templateString` versus html`templateString` where html is a function in scope).
by bigstrat2003 | 2025-04-21 15:37:11+00:00
> So if say Microsoft forks your library and its fork becomes more popular, they can't make it proprietary after capturing the market and effectively stop people from remixing what you made.

Neither can they stop people from such remixing if the project used a permissive license. The GP's project will still be there, still freely available for anyone to use however they see fit. Nobody is stopped from using it in any way.
by lukan | 2025-04-21 15:37:12+00:00
"Actually, it's my second favorite story. My favorite story is his insistence that he live in the Vatican guesthouse"

I believe that had mainly power reasons, because pope Paul II was pretty out of the loop, what the cardinals were doing.

And Francis likely expected to face opposition in what he was doing, so being closer to the "people" was likely helpful on having an eye on them.
by palata | 2025-04-21 15:37:14+00:00
Still, to me it's not even clear if "substantial parts of the code" were copied. What the article shows is really small snippets of pretty generic code. Ok, it keeps the original comment and the overall form. But if it's 15 lines, it may even count as "fair use", couldn't it? Remembering how LLMs use the concept of "fair-use" by stealing everything everywhere...

My point is that Peerd seems like it's loosely based on Spegel. Maybe a fork that was heavily modified. Not sure if they should track all the code that looks like it was not modified enough and attribute it everywhere.

Probably they should keep a copy of the original LICENSE file somewhere, sure. And if one asks politely, maybe they will do it.

Again: they did credit the original project. So it feels a bit aggressive to say that they "stole it without giving any credit".
by MyOutfitIsVague | 2025-04-21 15:37:23+00:00
You don't need a 12 month process with a legal department to not take code without giving credit. This is not untrodden ground.

> they mentioned the original project in the README

They thank them for their "generous insights". That's not the same thing. If I take chapters unmodified from Harry Potter and thank Rowling for her "generous insight", that's still not okay.

> Peerd is quite different from Spegel, it's not just a copy with a small patch.

Nobody said it was. It does, however, copy functions and other entire blocks of code with comments directly from Spegel without giving attribution. That is wrong. That is plagiarism.
by scrlk | 2025-04-21 15:37:59+00:00
> The developers who thrive in this new environment won’t be those who fear or resist AI tools, but those who master them—who understand both their extraordinary potential and their very real limitations. They’ll recognise that the goal isn’t to remove humans from the equation but to enhance what humans can accomplish.

I feel like LLMs are just the next step on the Jobs analogy of "computers are bicycles for the mind" [0]. And if these tools are powerful bicycles available to everyone, what happens competitively? It reminds me of a Substack post I read recently:

> If everyone has AI, then competitively no one has AI, because that means you are what drives the differences. What happens if you and LeBron start juicing? Do you both get as strong? Can you inject your way to Steph’s jumpshot? What’s the differentiator? This answer is inescapable in any contested domain. The unconventionally gifted will always be ascendant, and any device that’s available to everyone manifests in pronounced power laws in their favor. The strong get stronger. The fast get faster. Disproportionately so. [1]

[0] https://youtu.be/ob_GX50Za6c?t=25

[1] https://thedosagemakesitso.substack.com/p/trashbags-of-facts...
by vvillena | 2025-04-21 15:38:01+00:00
It's in the LICENSE file. With a MIT license, you assign a copyright to the project, or to a certain set of files. The Spegel license attributes copyright to "the Spegel authors", while Peerd attributes it to "Microsoft Corporation".

If some of the peerd code was lifted from Spegel, it's blatant stealing. Code attribution is the only thing a MIT license asks people to honor, and Microsoft couldn't even do that.
by cometapi | 2025-04-21 15:38:02+00:00
Google's Gemini 2.5 Flash stands out in the AI landscape for its multimodal capabilities, allowing developers to process and generate content across various data types, including text, images, audio, and video. Its design caters to high-volume, low-latency tasks, making it suitable for real-time applications. With a context window of up to 1 million tokens, it can handle extensive inputs, and its support for function calling and tool integrations enhances its versatility.
by yabones | 2025-04-21 15:38:30+00:00
Engines that are set up for maximum performance are absolutely not designed for longevity, so I would guess that after a record run like this it would be torn down and rebuilt sooner than later. For drag racing, engines are fully rebuilt after every single run due to the sheer amount of heat & stress put on it.

On the other hand, you have plenty of old V8's built decades ago still running just fine with regular maintenance. Low output, low stress, long life. For example, toyota de-tuned the 2UZ engine in the original Lexus LS400 to make sure it would be as smooth, reliable, and durable as possible because their reputation was staked on it.

Modern engines with small displacement and high boost turbos will probably not last as long as their predecessors because of the high stress, high heat, and low tolerances. We'll see in a few decades, I guess.
by Terr_ | 2025-04-21 15:38:43+00:00
When I say lazy, I mean the essential work of modeling what's going on and making a decision which can only be made by a human. In this respect, choosing what exceptions-types to throw is like choosing what regular-types to return. If I return a GraphNode instead of a DatFile, then I should probably throw a GraphNodeException instead of a DatFileChecksumException.

Syntactic sugar should make it easier to capture the decision after it's been made. For example, like replacing "throws InnerException" (perhaps a leaky abstraction) with something like "throws MyException around InnerException".
by nh23423fefe | 2025-04-21 15:38:50+00:00
imagining that alpha is what stops people from being good at math is a useless take. why pretend that such a low bar could prevent anyone from understanding? its some fake generosity towards "newcomers" that is completely unwarranted. math notation is by and for professional mathematicians.

are you really saying that "let function(argument has type RealNumber) has type RealNumber be a function from a real number argument to a real number" is somehow superior to "let f(x) : R->R"
by 9rx | 2025-04-21 15:38:52+00:00
> Isn't 80% or some other ridiculous percentage of population of Canada in large cities?

Only 59% (and shrinking!) of the population live in places with more than 100,000 people. You are correct that ~80% of the population live in urban areas, but Canada's definition for urban includes places with 1,000 people.
by duped | 2025-04-21 15:39:17+00:00
A pipeline operator is just partial application with less power. You should be able to bind any number of arguments to any places in order to create a new function and "pipe" its output(s) to any other number of functions.

One day, we'll (re)discover that partial application is actually incredibly useful for writing programs and (non-Haskell) languages will start with it as the primitive for composing programs instead of finding out that it would be nice later, and bolting on a restricted subset of the feature.
Ask HN: How are you managing your prompts?
by toomuchtodo | 2025-04-21 15:39:24+00:00
How are you cataloging, maintaining, versioning your prompts? Are you relying primarily on one toolchain where they are organizing by default in the toolchain interface (but locked in the toolchain)? Or are you using some other mechanism? Are you using a mechanism that enables you to share and permission them with team members, colleagues, friends?

The intent with this inquiry is to improve my own workflow(s) and potentially those of others interested in this topic. Thank you!
by palata | 2025-04-21 15:39:26+00:00
Ok, but then why not just opening a PR in the repo asking for that? Sounds like a very minor change. Yes, they have to do it and they should. But I feel like insulting them because they gave credit in the README but not exactly in the proper way is a bit aggressive.

Engineers in big companies are quick to criticise how the legal department is a pain in the ass, but when I see the reactions here, I completely understand why it is.
by pjc50 | 2025-04-21 15:39:33+00:00
As someone else points out, this is just a rooftop solar question and utility has better economics unless land is really expensive everywhere or your grid connection permitting regime is broken.

My rooftop solar installation is about 10 years old, has long since broken even, and has required .. exactly one incidence of maintenance, to fit pigeon-proofing. Which could have been done at the initial install time, I just wasn't aware of how necessary it could be.

It has huge advantages against HVAC (and, by extension, all the plumbing-based systems like nuclear) in that it doesn't have any plumbing. The panel is a big photodiode. There is basically nothing to go wrong unless you have serious storm damage - and my panels have survived winds that took down nearby trees and fences.

> What happens when these solar panels need to be serviced?

To a first approximation, they don't. Maybe at the 20-25 "EOL" mark.

(even cheaper option would be balcony solar, but that requires legalization)
by alexdanilowicz | 2025-04-21 15:40:01+00:00
The biggest difference is that we only do frontend, and that's very intentional. There's no database provisioning, no integration with an auth provider.

At first this may sound like a disadvantage, but it helps us stay very focused on actual product teams and their workflows.

Examples include: 1. we have an infinite, real-time canvas for collaborating, 2. reusable components and leveraging your existing brand, 3. export to Figma, 4. password protection on designs, 5. feedback collection. These are all features that customers have asked for; we haven't found that product teams need to spin up a database or leverage a Stripe integration.

Last note: this space is absolutely massive and we find all the other tools popping up very motivating. We first launched in October 2023 (before most other tools) when all you could generate with GPT 3.5 was a small React component. Our long-term vision is to be the one-stop shop for frontend.
by linsomniac | 2025-04-21 15:40:11+00:00
You CAN get access to the calling scope of a function. Something like:

current_frame = inspect.currentframe() env = current_frame.f_back.f_locals.copy()

I did it in uplaybook so that you can do things like:

for module in ['foo', 'bar', 'baz']: ln(path="/etc/apache2/mods-enabled", src="/etc/apache2/mods-available/{{ module }}.load")

This is an ansible-like tooling with a python instead of YAML syntax, hence the Jinja2 templating.
by nexo-v1 | 2025-04-21 15:40:38+00:00
I really like this idea too. Generators are one of my favorite parts of Python — super memory efficient, and great for chaining transformations. But in practice, I’ve found they can get hard to reason about, especially when you defer evaluation too much. Debugging gets tricky because you can’t easily inspect intermediate states.

When working with other engineers, I’ve learned to be careful: sometimes it’s better to just materialize things into a list for clarity, even if it’s less “elegant” on paper.

There’s a real balance between cleverness and maintainability here.
by pyrale | 2025-04-21 15:40:47+00:00
In this case, there's an open source maintainer who was fine with a MIT license, and even helping onboard people from a big tech firm, only to realize that even attribution was too much to ask.

Since the terms of the license were violated, there's not much to learn about which license was chosen. The only lesson to learn is that big tech will steal everything that isn't nailed to the ground, and then some.
by pansa2 | 2025-04-21 15:40:58+00:00
While your code is a valid alternative way to implement @haberman's description, the feature is actually much more flexible.

The "subsequent logic" has full access to the interpolation results and strings. Not only can it escape the results, it can do whatever it wants to them. It can also do whatever it wants to the strings, and then combine everything in any way it likes - it's not even necessary that the final result is a string.
by mjburgess | 2025-04-21 15:41:06+00:00
It's trivial with respect to the question of whether political free expression in the UK is somehow under threat, yes. A handful of weird cases of extremely mild police overreach, corrected by a court -- hardly add up to anything. Every legal system in the world has such cases, in almost every other, they are much more extreme. In the UK, no one is paying for legal cases they win, unlike in the US where "free speech" is obtainable only if you can pay for your defence.

I mean in the UK we aren't used to using the court system to obtain our rights, but this is basically the american system. It's extraordinary to hear americans express concern that a handful of people in the UK had to use the standard court procedure to have their rights enforced, which they did.

Would the UK be better if these cases did not happen? Sure. But there's no legal system, almost by definition, that isnt going to have these cases. That's what courts exist to do -- to prevent executive overreach.

The question is why are a handful of people, whose rights were enforced by the courts, being used as political agitprop against the UK? The answer is pretty obvious. It's a deliberate project of the far right to create popular resentement towards democractic governments in the west, at the time these governemnts are arresting rioters for attempting to murder immigrants.

This isnt hard to see. These stories are spread by a very narrow range of extremely famous propagandists with a very obvious agenda.

None of them mention that these cases were all thrown out on appeal. Nor that there's a tiny number of them. Nor that all the ones that result in conviction are basically domestic terrorism
by PopAlongKid | 2025-04-21 15:41:09+00:00
What is the new approach?

For example, I use Quickbooks. There is a feature that allows you to create a mapping from each income and expense account in your chart of accounts to the appropriate line on the tax return (it knows about Schedule C, S-corp, partnership returns). After this one time activity, you can simply run a "tax summary" report every year which shows the appropriate numbers for each line of the tax return.
by madjidbr | 2025-04-21 15:41:28+00:00
I’ve just launched https://regexhelper.com/, a free and interactive tool designed to help you learn regular expressions (regex) step-by-step. The tool provides a guided, hands-on approach with real-time feedback, so you can practice regex without any setup. Check it out here: https://regexhelper.com/

Feel free to share your thoughts or any feedback!
by vvillena | 2025-04-21 15:41:55+00:00
Yes, it would be cool, and it's the usual way to do these things. You can license code under a more restrictive license, and clarify licensing by adding an extra section to the main license, adding the license to a subdirectory, or adding license headers to the individual files.

Whether the MIT license is the right one to choose is probably a different debate.
by shoemakerevan | 2025-04-21 15:42:16+00:00
This is super cool—love how you’re flipping the AI-assisted creation story to focus on design-first workflows. The frontend-only scope is such a smart constraint, especially for PMs and non-designers trying to validate ideas fast without diving into fullstack territory.

I’ve seen firsthand how hard it can be for non-designers to clearly communicate product ideas, and Magic Patterns seems to lower that barrier in a really meaningful way.

I noticed the GitHub Sync option—curious how teams are using that today. Is it more of a dev handoff (e.g. PR previews) or a starting point for custom builds? Would love to hear how that fits into engineering workflows—especially for folks skipping Figma entirely.

Also really appreciate the collaborative angle. Real-time team prototyping on a canvas feels like the future of internal product reviews.

Rooting for you both—this is such a focused and thoughtful approach to a real gap in the market.
by jofla_net | 2025-04-21 15:42:23+00:00
The same technology used to foist madness upon someone is also used to insulate the creator from feedback. Its a double edge sword. Virtually every touchpoint of society is being turned into this awful dynamic as its unregulated. All actors with power take their playbook from a familiar guy in a turtleneck on stage pointing to his users and saying " youre holding it wrong". As if every one participating in this "experiment" is indeed a willing "user"
by MyOutfitIsVague | 2025-04-21 15:42:25+00:00
They have to say what code where is copied from the other project. It can't just be "parts", because that obscures the authorship.

You can open that PR, if you care to identify which parts were copied and label them all. Really, the people who copied the code in the first place should have done so, and really should have known better, given they work for a massive corporation that claims to love open source and has had a massive interest in copyright over the past three decades. It's not just a "mistake", it's unacceptable for a professional programmer for a corporation to take code from a FOSS project without crediting it. That's a level of incompetence bordering on malpractice for a profession that deals so heavily with copyright on a day to day basis.

edit: According to the MIT license, the notice itself just needs to accompany the code, so I was wrong about the specificity needed. Still, it does mean that any further forks would be unable to remove the license without personally identifying if all the original code was removed. It's always better to identify what code belongs to who.
by palata | 2025-04-21 15:42:41+00:00
> You don't need a 12 month process with a legal department to not take code without giving credit. This is not untrodden ground.

Well, I have been in big companies where it takes a lot of time for the legal department to check those things. Not because it's fundamentally hard, but because the queue of things they have to do is pretty big.

> They thank them for their "generous insights". That's not the same thing.

Sure, it's wrong. But it's not "purposely stealing without giving any credit at all" either. It feels like an engineer did that, tried to give credit and did it wrong. And now we go on and on saying how this engineer is evil.
Show HN: Beancount Language Service (LSP Server and Client VSCode Extension)
by fengkx | 2025-04-21 15:43:02+00:00
In my spare time, I wrote a Beancount VSCode extension (Language Server & Client). Feel free to try it out~

The main motivation for this was the need for cross-device editing, primarily using github.dev. Therefore, this plugin supports VSCode Web Extension and can run in the browser. It also supports the typical capabilities of a Language Server, such as:

- Semantic Syntax Highlight

- Auto Completion

- Diagnostic

- Document Symbols

- Go to Definition / References

- Rename

- Formatting

etc...

Marketplace: https://marketplace.visualstudio.com/items?itemName=fengkx.b...

Source Code: https://github.com/fengkx/beancount-lsp
Show HN: Mapping the top 1k r/Earthporn posts into a heatmap and GeoGuessr thing
by kikkia | 2025-04-21 15:43:03+00:00
I was curious about the posts on r/earthporn and where they all came from since the PNW is seemingly over represented. I pulled the top 1000 posts and then using a mix of GeoGuessing myself, as well as seeing if LLMs could Geoguess too I mapped them all out onto a heatmap. I Also added a minigame to guess them yourself. Writeup in the github readme. Enjoy, thanks :)
by kelnos | 2025-04-21 15:43:10+00:00
> Why so?

Because it can't be proven either way. An atheist who claims to know for certainty that there is no god is expressing a religious, faith-based viewpoint. I guess that isn't necessarily at odds with being an atheist, but part of why I'm an atheist is that I try to avoid believing in things that aren't provable and don't fit existing evidence.

> If we go for that, sure, we cannot be sure of anything.

We can be sure of things that have been proven using the scientific method. Certainly we can't be 100% sure, because that method is applied by fallible humans. But it's silly to suggest that levels of sureness don't matter; I can be more sure about the idea that we don't live in a giant ice cream than of other things, and that's fine.

But I think it's true that we can't really be sure of anything... and that's also fine.
by freedomben | 2025-04-21 15:43:14+00:00
In those cases, I would still talk about it, but let them know that you can't give certain specifics because of an NDA, but that you will talk about it at a high level.

For example, if the company was doing something you felt was evil That you can't specifically mention, then just say That you disagreed with an important strategic decision. Explain what you did to handle it in generic terms, such as talking with your manager, writing up a memo, quitting the company, etc
by fnordpiglet | 2025-04-21 15:43:15+00:00
I think GenZ still deeply reveres him but he was so old at that point that he had little day to day impact on their lives like he did the prior generations. Most Thai people of any generation would have given their life to him in a heartbeat. But as he disappeared from day to day politics as his health failed his best he could do was simply not abdicate and try to not die for as long as possible.

The son however - I’ve rarely seen his picture hung in homes or shops - just his father.

The truth though is Thailand has been run by big last name power as a structural thing. While Thai people generally embrace liberal humanism due to their Buddhist beliefs, the elite social structure still tries to hold onto the slavery based society of the past. The police are the primary fulcrum of their power, in a cross relationship with organized crime. The military waxes and wanes in its control, but it’s the police and dark powers that truly control Thailand.