MurphyA/hacker-news huggingface dataset:
by dimonomid | 2025-04-21 17:48:36+00:00
I first responded before your edit about ssh and localhost, so: yeah, as briefly mentioned in the article, as of today there's no shortcut even for localhost. I was debating whether I should implement this feature before open sourcing it, but I had to draw the line somewhere (I have TONS of ideas what could be implemented), and since reading local logs isn't the primary focus of nerdlog, I decided to skip it for now.

But yes the bypass for localhost can definitely be implemented.
by CobrastanJorji | 2025-04-21 17:49:40+00:00
Terry Pratchett's classic book "Small Gods" has a section that is perhaps inspired quite directly by the Church, comparing it to a type of shellfish: "Around the Godde there forms a Shelle of prayers and Ceremonies and Buildings and Priestes and Authority, until at Last the Godde Dies. Ande this maye notte be noticed."

I think Pope Francis was committed to trying to dig through some of the shell to get to the godly bits of the religion, and this is deeply laudable. It was frankly weird to see the opposition to some of his seemingly obviously Christian stances. He'd say something like "I guess I don't really approve of gay people marrying, but I think we should be focusing on all of these suffering and dying poor people?" and then a bunch of people would bitch about it.
by neonsunset | 2025-04-21 17:50:52+00:00
.NET is open source and people working on it go into great lengths to ensure it is a good citizen to open-source projects and communities. It has been open source for almost 10 years damn it. All in all what other divisions or teams do is greatly unfortunate because it will get associated with the aforementioned. Personally, this annoys me because other languages like Go or Swift do not receive the same criticism for the bad practices their respective companies engage in. Go in particular.
by hombre_fatal | 2025-04-21 17:51:13+00:00
Javascript already has prior art here.

A library can extend an existing database library like 'pg' so that PgClient#query() and PgPool#query() require string template statements.

That way 'pg' can continue working with strings, and people who want nice templated strings can use the small extension library, and the small extension library makes it impossible to accidentally pass strings into the query functions.
by lantry | 2025-04-21 17:51:33+00:00
> this tabular programming environment isn't just about cramming programming capabilities into a Game Boy-like device. It's about rethinking programming from the ground up for a specific hardware context. (...)

> By rethinking how programming can work within tight hardware constraints, we might discover new approaches that actually enhance rather than limit creative expression.

This speaks to me. As a software engineer, I work with abstractions all day, and it is impossible for me to fully understand the system that I'm building. I often think I would be much happier if I worked on a product that I could actually understand from top to bottom and know all the details.
by zamadatix | 2025-04-21 17:51:36+00:00
GPL would have helped with the concerns around the distributed software (instead of just source) not clearly including attribution/copies of the license (which would also lead to a better form of notification than the conference and webpage acknowledgement). These were also the types of points Tanenbaum famously regretted regarding MINIX https://www.cs.vu.nl/~ast/intel/ despite him not having the further regrets in the article.

I do agree for the author to be _fully_ happy they would probably have wanted something even more restrictive than any traditionally "open" license like GPL, but about any choice would have better aligned with their desires than MIT.
by WorldMaker | 2025-04-21 17:52:04+00:00
I think the book analogy is maybe useful here too. Spelling errors and even grammar and continuity errors get corrected all the time in books. Books have the concept of an Edition, a basic version number referencing each batch of production ("printing" in the case of books). For the archeologists and the very curious, you can try to find earlier Editions and compare/contrast, they don't vanish from shelves but often live side-by-side, especially in libraries with endowments or other charges to collect the full edition history of certain books.

The book community and some publishing laws have built some required transparency here. Printings and Edition numbers are generally included as key front matter in the average book by all major publishers. Library catalogs understand that as key metadata.

Today film publishing doesn't include such metadata. It could. It probably should. Arguably Lucas himself experimented with trying to include such metadata when buliding the "Special Editions". "Special" isn't a great version number, sure, but it did make it explicit the idea that movies could have multiple editions intentionally, not just accidentally or by way of the implicit chance of change during processes like digitization and media transfers.

Relatedly, there's a lot of consternation in digital media that the side-by-side "sanctity" of editions isn't preserved. If you buy a book for Amazon's kindle at First Edition, it will silently deliver every updated Edition. Covers will change from the original art to "Motion Picture Inspired By This Book" art (or TV show, etc). There's a lot of questions about how much should Amazon disclose every time this happens and how much should Amazon be required to give you a copy of the edition you originally paid for on request?

(Maybe ideally every bit of media is collected in some form of "source control"? I wonder what it would take to make some form of source control the "required" or at least "most desired" form of digital distribution?)
by ein0p | 2025-04-21 17:52:08+00:00
This is a rather nice demonstration of the double-edged nature of sanctions IMO. Another example is Russia reviving its passenger aircraft manufacturing, including wrapping up the development and certification of modern, fuel efficient engines. And then, after the market saturates in a few years, China will start selling future versions of those accelerators to whoever wants them, for much cheaper than NVIDIA's cost.
by Jasper_ | 2025-04-21 17:52:30+00:00
The words "virtual machine" and "interpreter" are mostly interchangeable; they both refer to a mechanism to run a computer program not by compiling it to machine code, but to some intermediate "virtual" machine code which will then get run. The terminology is new, but the idea is older, "P-code" was the term we used to use before it fell out of favor.

Sun popularized the term "virtual machine" when marketing Java instead of using "interpreter" or "P-code", both for marketing reasons (VMware had just come on the scene and was making tech headlines), but also to get away from the perception of classic interpreters being slower than native code since Java had a JIT compiler. Just-in-time compilers that compiled to the host's machine code at runtime were well-known in research domains at the time, but were much less popular than the more dominant execution models of "AST interpreter" and "bytecode interpreter".

There might be some gatekeepers that suggest that "interpreter" means AST interpreter (not true for the Python interpreter, for instance), or VM always means JIT compiled (not true for Ruby, which calls its bytecode-based MRI "RubyVM" in a few places), but you can ignore them.
by billllll | 2025-04-21 17:52:48+00:00
Just because the shareholders didn't vote on it, or an exec didn't explicitly say "hey steal this" does not absolve the company. Leadership doesn't get to throw up their hands and say "not my fault" when something bad happens.

It is ultimately the responsibility of the company and its people to create a system where things like this are discouraged or prohibited. Not doing so is tacit approval, especially in this case where they have a significant history of doing the same thing.
by cflewis | 2025-04-21 17:52:53+00:00
IANAL but my understanding from floating around open source licensing circles is that you'd have a hard time with the judge if you didn't just ask for the license to be put back as step 1. Microsoft willingly not restoring the license would be more problematic.

The forgiveness clause in GPL 3 is as much an acknowledgement of actual reality than anything else.
by tbihl | 2025-04-21 17:53:01+00:00
>It can't make more sense to believe in one entirely made up thing vs another since they're both made up.

It makes sense to believe in Newton's laws, which he made up, even though we know the study of kinematics flowing from them is wrong. We have observed them being wrong. Someone else made up a complicated explanation of why and when Newton's laws are wrong. That guy's theories formed the basis for some incredible stuff that works really well, and he's probably wrong too... but I'll believe them both.
by immibis | 2025-04-21 17:53:13+00:00
They used to be decentralized. I remember a game making platform called BYOND. The website had a list of games. If you clicked on a button to play one, it pointed to a URL like byond://Author.Game?server=1.2.3.4 and if you had the BYOND software installed, it would open. And this wasn't just what BYOND did - it was just what apps were expected to do in order to integrate with the web. I suppose it went away when the apps could run inside the browser instead of being launched outside it.
by zamalek | 2025-04-21 17:53:15+00:00
> social contract overrides personal liberty

Not signing the contract simply means having no right to the protections that it affords. I have no responsibility to treat you with respect if you don't go out and vaccinate yourself. I have no responsibility to entertain traditions that you value, if you don't value the traditions of others.

You have attributed a loss of liberty to it, from the comment that you are replying to:

> You are free, of course, to not "sign" that contract - but that means that those who have are not obligated to apply it to you.

Participate in the social contract, or don't, your choice.
by kergonath | 2025-04-21 17:53:43+00:00
> She quickly snapped back at me that "they actually see themselves in him, have you not noticed all the sex scandals that happen in so many churches?"

I think she is right for some of these people. It is a human reaction, but it is still a moral failing. The proper Christian (well, Catholic, anyway) thing to do would be what is expected in a confession: recognise one’s failings, express regret, and accept consequences, including punishment. Then comes redemption.

Something that irks me fundamentally with most Christian religions is how they believe that they are Good People because they accepted God and rejected Evil. It’s all good as long as you play the part. Once you start looking for excuses, you failed twice: first, because of your behaviour, and then for failing to repent. If you support someone because he made the same error you did, then you fail yet again. This behaviour is understandable, but trippy incorrect from a religious perspective and very hypocritical.

In the grand scheme of things, it is very easy to get forgiveness, you just have to be sincere in your regrets (again, for Catholics, which is what I know).
by hiatus | 2025-04-21 17:54:34+00:00
That seems to be exactly the thing they are complaining about:

> Spegel was published with an MIT license. Software released under an MIT license allows for forking and modifications, without any requirement to contribute these changes back. I default to using the MIT license as it is simple and permissive. The license does not allow removing the original license and purport that the code was created by someone else. It looks as if large parts of the project were copied directly from Spegel without any mention of the original source.

Can you share what you think the author is really complaining about?
by conartist6 | 2025-04-21 17:54:59+00:00
Sorry for some reason I can't reply to the deeper posts. Depth limit I guess. You asked which editors could support syntax highlighting once the tag and the content that needs to be syntax highlighted are split apart. Currently there are none, though I am writing one that will be able to.

Python should be able to detect the magic syntactic pattern just the same way JS does and use that for syntax higlighting. In JS the magic syntactic pattern for triggering HTML syntax highlighting is:

html`<doc/>`

In Python the magic syntactic pattern would be:

html(t"<doc />")

My point in showing that JS counterexample was to demonstrate that the real reason people don't do that kind of thing isn't that they can't, it's that they like having syntax highlighting. That means the approach should work just as well in Python. This is the case even though the heuristic involved is very weak. Changing the name of the identifier or breaking into multiple expressions would be enough to break the heuristic in either language, which is why I think it's a really weak heuristic and dangerous pitfall for developers who might mistake the coloring for information about how the runtime sees that data (which is normally what syntax highlighting is for)
by legitster | 2025-04-21 17:55:05+00:00
If you actually work through the privacy directives with a legal team, which is something I have done for nearly a decade, the law itself has several self-contradictions and unresolved problems. How do you retain someone's choice for privacy without remembering who they are? How do you serve data in a TCP network without revealing an IP address? What constitutes clear opt-in language? If we don't sell to Europeans, do we still have to comply?

The European Commission very proudly does not work with lobbyists, and in this case it shows that they did not consult anyone technical. I think they were just not aware of a browser-level solution and put all of the compliance on individual companies.

While the banners seem a given now, in 2017 when we first started planning for GDPR nobody had a clue how to resolve all of the questions. And at the time the European Commission was also telegraphing very hard that they were going to be resolving most of these questions with case law - none of us wanted to deal with a lawsuit from the EU, so the most obvious thing became do what everyone else does, don't stand out, and wait for some future resolution.

I don't know if there's a fix. This is simply how EU regulators like to work - in the US we like laws that are black and white and apply equally to everyone (or at least have traditionally). And in the EU they like a bit more squishiness - let member countries interpret things a bit differently and build individual cases on only the bad actors. And you see this attitude when working with lawyers from the respective regions.
by dimonomid | 2025-04-21 17:55:17+00:00
Thanks. And no, as of today, there's no way to define a group like that. Might be a viable idea though.

However, before we go there, I want to double check that we're on the same page: this `log_files` field specifies only files _in the same logstream_; meaning, these files need to have consecutive logs. So for example, it can be ["/var/log/syslog", "/var/log/syslog.1"], or it can be ["/var/log/auth.log", "/var/log/auth.log.1"], but it can NOT be something like ["/var/log/syslog", "/var/log/auth.log"].
by gls2ro | 2025-04-21 17:55:26+00:00
yes but the bug is writing f instead of t and I assume f will just work.

To clarify even more:

The problem is not writing by mistake t instead of f => this is what we want and then for this we implement a new function

The problem is writing f instead of t => and this will silently work I assume (not a Python dev just trying to understand the language design)
by PaulRobinson | 2025-04-21 17:55:33+00:00
Not sure there is a shortcut. You're just going to have to go do your hobby and look out for opportunities to meet other people who are into it too.

The thing about moving to a new location is you're consciously choosing to start over: that has positives and negatives, but either way it's a ton of work to get re-established. Be brave, you'll find people the more you look for them.
by davepeck | 2025-04-21 17:55:44+00:00
We pushed these questions out of the PEP to keep its scope constrained. (See https://peps.python.org/pep-0750/#mechanism-to-describe-the-...)

But yes, the PEP leaves open an important question: how will tools decide to work with common types of content in t-strings, like HTML or SQL?

There are simple approaches that can be taken in the short term (content sniffing) and more robust approaches (type annotations, perhaps) that will take time and the broader tooling community to develop.
by Ukv | 2025-04-21 17:55:57+00:00
The original comment said that it'd replace

db.execute("QUERY WHERE name = ?", (name,))

with

db.execute(t"QUERY WHERE name = {name}")

It's true that in theory `db.execute` could ignore semantics and concatenate together the template and variables to make a string without doing any sanitisation, but isn't the same true of the syntax it was claimed to replace?

Just because templates (or the previous syntax of passing in variables separately) could be used in a way that's equivalent safety-wise to an f-string by a poorly designed library does not mean that they add nothing over an f-string in general - they move the interpolation into db.execute where it can do its own sanitization and, realistically, sqlite3 and other libraries explicitly updated to take these will use it to do proper sanitization.
by secondbrain | 2025-04-21 17:56:22+00:00
Three months ago, I started building Supedia, a digital resource hub for solopreneurs, creators, and anyone building online.

The premise is simple: the internet is full of valuable PDFs, templates, eBooks, and swipe files—but they’re scattered across blogs, Gumroad links, and tweets. Supedia organizes and curates them into a clean, searchable library.

The Problem I kept wasting time looking for the same types of tools and templates: a good landing page copy file, a Notion business planner, a content calendar, etc. Most of the good stuff was hidden behind paywalls or locked in someone’s link-in-bio. I figured others were facing the same issue.

So I decided to build a solution—start small, focus on quality, and iterate.

What Supedia Is Supedia is a membership-based resource library. No individual purchases, no upsells. Just a growing vault of digital resources for one monthly price.

There are two memberships:

Digital Resources – $5.95/month Access to every downloadable PDF, Notion template, marketing kit, and curated resource.

Limitless Pro – $14.95/month Includes everything in the base plan plus access to exclusive monthly online courses. Here’s the twist: Limitless Pro members vote on what course we make next—whether it's on content creation, launching a product, building a newsletter, or something else relevant to the digital builder space.

The Build Solo-built in ~3 months:

Used a simple CMS for uploading and organizing content

Focused on clean UI, mobile-first

Added internal glossaries (SEO-optimized) and creator profiles to boost discovery

Soft-launched on Twitter and in a few niche communities

No code-heavy magic—just curation, structure, and a membership model that felt fair.

What’s Inside So Far 500+ downloadable resources (PDFs, templates, toolkits)

Business glossaries for entrepreneurs and marketers

Deep-dive creator profiles (Hormozi, Naval, etc.)

Voting system for course creation (starting April)

What I Learned Curation is underrated: People don’t want more resources. They want the right ones, clearly presented.

Pricing matters: Offering one low-access tier and one premium tier works better than a complex pricing matrix.

People love having a say: The voting system for Limitless Pro has been more engaging than I expected. Builders want to shape what they learn.

What’s Next Right now, I’m focused on:

Dropping the first member-voted course (launching late April)

Growing the resource library weekly

Partnering with creators to bring in exclusive content

Still early days, but excited about the direction.

If you’re a builder, solopreneur, or just love curated knowledge, would love your thoughts or feedback.

Check it out here: https://supedia.io Membership details: https://supedia.io/limitless

AMA or roast me—I’m here for it.
by quantumHazer | 2025-04-21 17:56:40+00:00
Shifting from addressing the substance to referencing a personal remark like my joke about “burning out” from AI hype doesn't strength your argument. I expected more from someone in “EA/rationalism”. In retrospect, perhaps I shouldn't be surprised when substantive critique about presentation format gets poisoned with a personal comment rather than discussing the actual points about how scientific information is communicated. The medium is indeed the message. Bye.
by hwpythonner | 2025-04-21 17:56:59+00:00
One thing I didn’t see mentioned here yet: a lot of high-performance data center workloads don’t actually go through the Linux kernel’s network stack at all.

Instead, they use DPDK, XDP, or userspace stacks like Onload or VMA—often with SmartNICs doing hardware offload. In those cases, this patch wouldn’t apply, since packet processing happens entirely outside the kernel.

That doesn’t mean the patch isn’t valuable—it clearly helps in setups where the kernel is in the datapath (e.g., CDNs, ingress nodes, VMs, embedded Linux systems). But it probably won’t move the needle for workloads that already bypass the kernel for performance or latency reasons. So the 30% power reduction headline is likely very context-dependent.
Show HN: Open Codex – OpenAI Codex CLI with open-source LLMs
by codingmoh | 2025-04-21 17:57:03+00:00
Hey HN,

I’ve built Open Codex, a fully local, open-source alternative to OpenAI’s Codex CLI.

My initial plan was to fork their project and extend it. I even started doing that. But it turned out their code has several leaky abstractions, which made it hard to override core behavior cleanly. Shortly after, OpenAI introduced breaking changes. Maintaining my customizations on top became increasingly difficult.

So I rewrote the whole thing from scratch using Python. My version is designed to support local LLMs.

Right now, it only works with phi-4-mini (GGUF) via lmstudio-community/Phi-4-mini-instruct-GGUF, but I plan to support more models. Everything is structured to be extendable.

At the moment I only support single-shot mode, but I intend to add interactive (chat mode), function calling, and more.

You can install it using Homebrew:

brew tap codingmoh/open-codex brew install open-codex

It's also published on PyPI:

pip install open-codex

Source: https://github.com/codingmoh/open-codex
by andybak | 2025-04-21 17:57:22+00:00
> but the advent of dynamic linking of libraries in iOS

I'm not sure you can dynamically link to GPL in this case (LGPL maybe )? And I recall that there's also issues around signed bundles used on the various stores.

But the fact that we're not sure and the fact that we're having this conversation rather proves my point. People who aren't fully in the GPL world usually have to steer clear of GPL code entirely. This goes double for hobbyists and small orgs who can't afford a legal team.

> even if they aren’t available on Google Play.

As much as it's regretful this is a huge issue for most people who want to make apps that other people can use.
by michaelsbradley | 2025-04-21 17:58:04+00:00
In the early centuries of Christianity, as it spread geographically, there developed distinct rites of worship that solidified and then were handed down to the present, retaining strong links to the spoken-written languages used to express them originally.

https://en.wikipedia.org/wiki/Catholic_particular_churches_a...

Oversimplifying greatly, but in and from Western Europe we have the Latin Rite, and in/from the East we have the Byzantine (Greek) Rite. There are others, not of less importance, see the link above.

There’s quite a lot of history involved in all this. But in Western Christianity it was Latin that became predominant for public worship and knowledge transmission.