MurphyA/hacker-news huggingface dataset:
by ammo1662 | 2025-04-10 14:47:23+00:00
Let me add some backgrounds:

For example, in 2001, Windows XP Home Edition cost 1,500 RMB. At that time, Beijing's average monthly income was 1,000 RMB, and assembling a computer cost around 4,000 RMB — requiring at least six months of savings to afford one. While piracy was clearly illegal, people would obviously use pirated copies if available rather than spending two months' worth of living expenses.

Today, Beijing's average monthly income is 8,000 RMB. While individuals at this income level rarely prioritize buying computers, you can still assemble a PC for 4,000 RMB. Meanwhile, Windows 11 Home Edition has dropped to 1,000 RMB. In New York, where the average monthly income is 6600 USD(by Google), the same Windows 11 costs 139 USD (roughly 1,000 RMB based on exchange rates)

It is not to say that piracy is excusable, but Microsoft's pricing clearly disregarded market realities and showed no intent to target individual consumers who would resort to pirated copies. To my knowledge, the largest clients for Windows XP at the time were Chinese banks and government, with virtually no revenue expected from individual retail customers beyond OEM partnerships.
by maeln | 2025-04-10 14:47:26+00:00
If you want to go this way, then the article 4,5 and 10 of the 1789 Déclaration des droits de l'homme et du citoyen is much more interesting.

But even by the U.N definition, the only part that could be of concern here is "receive and impart information and ideas through any media", but how exactly would that be put in place ? It is not like you can go to your local radio station and ask them to give you the mic since this is your right to impart information and ideas through any media.
by wpietri | 2025-04-10 14:47:33+00:00
> I don't think it's cognitive dissonance if you recognize the issue.

Well I recognize the issue and still experience a feeling of dissonance. Indeed, I work to be able to be tolerant of that feeling, because I think it's important in pursuing deeper understanding.

If you have a better term I'm all for it. But I think the "unknowingly" there is meant more as the general case rather than an absolute limit on the term.
by nodesocket | 2025-04-10 14:47:39+00:00
One of my favorite movies. The Tom Clancy (Jack Ryan[1]) themed movies are all very good. I wish Hollywood would make more of this type of genre today instead of recycled superhero garbage.

[1] - The Hunt for Red October (1990) - Patriot Games (1992) - Clear and Present Danger (1994) - The Sum of All Fears (2002)
by peteforde | 2025-04-10 14:47:53+00:00
I came here to ask the same thing. Bootstrap 5 still rocks, at least for those of us who inexplicably don't love adding 40 classes to every element.

One of the things most frequently ignored on the comparison chart is the fact that there's a massive ecosystem of free and paid Bootstrap themes which can massively shortcut development.

There's so much bikeshedding and yak shaving when it comes to this topic. Folks spending their time considering options that also won't be Cool in two years instead of actually building The Thing.
Show HN: Koreo – A platform engineering toolkit for Kubernetes
by tylertreat | 2025-04-10 14:48:20+00:00
A large part of our (Real Kinetic's) business is helping organizations implement platform engineering, but we've found the existing tooling to be lacking. For IaC, Terraform state becomes a pain because TF treats infrastructure as "one-shot" commands. The Kubernetes controller model provides a nicer approach to managing infrastructure, but the tooling here is also lacking. For configuration management, Helm just doesn't really scale with complexity, nor does Kustomize. For resource orchestration, Crossplane is a step in the right direction but still has challenges and limitations.

As a result, we ended up building something that's sort of a "meta-controller programming language" on top of Kubernetes called Koreo. It provides a solution for configuration management and resource orchestration in Kubernetes by basically letting you program controllers. We've been using Koreo for a while now to build internal developer platform capabilities for our commercial product and our clients, and we recently open sourced it to share it with the community.

Koreo has some similarities to configuration languages like KCL, Jsonnet, etc. since it is a means of configuration management (e.g. you can define base configurations, apply overlays, point patches, and so forth). Where it really diverges though is Koreo provides a unified approach to config management and resource orchestration. This means you can start to treat Kubernetes resources as "legos" to build pretty sophisticated workflows. For instance, the output of a resource can be used as the input to another resource. This isn't really possible with Helm, even with `lookup` because `lookup` requires the resource to already be in-cluster in order to reference it.

This is why we refer to Koreo as a meta-controller programming language because it effectively lets you program and compose Kubernetes controllers into cohesive platforms—either built-in controllers (think Deployment or StatefulSet), off-the-shelf ones such as AWS ACK or GCP's Config Connector, or custom operators. It lets you build or combine controllers without actually needing to implement an operator. Through this lens, Koreo is really more akin to Crossplane but without some of the limitations such as Providers and cluster-scoped managed resources.

It seems crazy and maybe it is, but I've found working in Koreo to actually be surprisingly fun since it kind of turns Kubernetes primitives into legos you can easily piece together, reuse, and build some pretty cool automated workflows. You can learn more about the motivation and thinking behind it here: https://theyamlengineer.com
by kstrauser | 2025-04-10 14:48:36+00:00
My ship celebrated July 4, 1994 off the coast of Mogadishu by holding a “steel beach picnic” on the flight deck. Everyone ran around under the noon equatorial sun in swimsuits while people grilled burgers, set up little inflatable pools to lounge in, played volleyball and soccer, and otherwise acted like we were at Ocean Beach on a hot day. At night we had fireworks (including rounds from the 5” guns) and the CIWS shot a stream of tracer bullets. It was glorious.

The US Navy spends long hours working hard, but I promise you it plays hard when possible.
by mrweasel | 2025-04-10 14:48:38+00:00
I tried to figure out the same, it seems to me that the issue is that US drivers licenses have historically been kinda shitty, with very little validation done to ensure the identity of the person that the licens is issued to. There's also some requirement about the drivers database being available across states, which apparently it wasn't previously.

Without knowing, my take is that it's one of those cases where each state has behaved more like individual countries, rather than a subdivision of a larger nation. So you drivers licens isn't really worth much out of state, at least not for validating your actual identity.

I could be wrong, it seems very unclear what Real ID actually is.
by justonceokay | 2025-04-10 14:49:31+00:00
Anyone interested in this might get a kick out of the book “To Mock A Mockingbird”.

The first half of the book is an almost exhaustive exploration of self-referential riddles. Like “if the barber shaves everyone who doesn’t shave themselves, who shaves the barber?” and “if one gremlin always tells the truth and the other always lies, how can you ask them for directions?”

The second half of the book is a rigorous examination of combinatorial logic through an analogy of birds who make calls depending on the calls of other birds they hear. It touches on function composition,recursion, fixed points, godels theorems, and the Y combinator (the mockingbird).

My only gripe with the book is that it stays completely within the bird metaphor, and doesn’t always explicitly state the underlying math concept.
by ty6853 | 2025-04-10 14:49:46+00:00
Radio is the media. It just means you ought to be able to broadcast pirate radio without a permission slip from the government to use the airwaves in a constrained range of speech. Not that you ought to be able to take over someone else's pirate radio. Unless of course they say the F word, then you can rat them out and the FCC can send their skull crackers or whatever they do to stop it.

Similarly with internet. You can make your own web server. You can't just hijack someone else's web server or send government goons to make them say what you want.
by dsyphers137 | 2025-04-10 14:50:03+00:00
I use Claude as a Learning Assistant in my classes in Physics. I tell it the students are in an active learning environment and to respond to student questions by posing questions. I tell it to not give direct answers, but that it is okay to tell them when they are on the right track. I tell it that being socratic with questions that help focus the students on the fundamental questions is the best tack to take. It works reasonably well. I often use it in class to focus their thinking before they get together in groups to discuss problem solving strategies. In testing I have been unable to "jail break" Claude when I ask it to be a Learning Assistant, unlike ChatGPT which I was able to "jail break" and give students answers. A colleague said that what I am doing is like using AI to be an interactive way to get students to answer conceptual questions at the end of chapters, which they rarely do on their own. I have been happy using AI in this role.
by esafak | 2025-04-10 14:50:10+00:00
So you can concentrate your energy on maintenance tasks, like memory consolidation and physical restoration, during the down time during which it is cold and dark -- when you can't effectively hunt and stay warm. If you did not do that, you would have to constantly allocate some energy towards these tasks, at the expense of more urgent ones. And the higher up you are in the food chain, the less risky it is to rest.
by triceratops | 2025-04-10 14:50:23+00:00
> I view the other party as at war my hobbies.

And they think you put your hobby above other people's lungs. shrugs

I'm sorry about the charter going out of business. A better bill would've made provisions to help businesses with upgrade costs.

Think of everyone's point of view. Not just "my hobby" and "they're doing stuff to me". If you don't care about others they won't care about you. That's what society is.
by pkhodiyar | 2025-04-10 14:50:57+00:00
Hey HN,

We’ve just rolled out an OpenAI-Compatible Endpoint at CustomGPT.ai that should make it super easy to try Retrieval-Augmented Generation (RAG) in your existing OpenAI-based code.

Now, hundreds of tools in the OpenAI ecosystem can add RAG capabilities with minimal changes.

Docs here - https://docs.customgpt.ai/reference/customgptai-openai-sdk-c...

All you do is: 1. Swap your api_key to the CustomGPT one, 2. Change the base_url to our endpoint. And thats it.

You can keep using your OpenAI Python SDK code. Under the hood, we handle context retrieval from your project knowledge sources before generating a final answer.

We support the chat.completions endpoint with the same request/response structure. If you call an unsupported endpoint, we return a 404 or 501.

This opens up the entire ecosystem of OpenAI-compatible tools, frameworks, and services for your RAG workflows. Everything else—conversation format, message handling, etc.—remains the same.

Check out a quick Python snippet:

from openai import OpenAI client = OpenAI( api_key="CUSTOMGPT_API_KEY", base_url="https://app.customgpt.ai/api/v1/projects/{project_id}/" ) response = client.chat.completions.create( model="gpt-4", # We'll ignore the model param and use your project's default messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who are you?"} ], ) print(response.choices[0].message.content)

We’re ignoring certain OpenAI parameters like model and temperature. If you try to call an endpoint we don’t support, you’ll get a 404 or 501. Otherwise, your code runs pretty much the same.

We built this because we kept hearing people say, “I’d like to try CustomGPT.ai for better context retrieval, but I already have so much code in the OpenAI ecosystem.” Hopefully this bridges the gap. Feedback and PR requests are welcome. Let us know how it goes!

Hope this helps folks who’ve been on the fence about trying RAG but don’t want to break everything they already have running!

If you have any question regrading the implementation, please ask below
by plus | 2025-04-10 14:50:58+00:00
For those who are curious, `...` is a placeholder value in Python called Ellipsis. I don't believe it serves any real purpose other than being a placeholder. But it is an object and it implements `__eq__`, and is considered equal to itself. So `...==...` evaluates to `True`. When you prefix a `True` with `-`, it is interpreted as a prefix negation operator and implicitly converts the `True` to a `1`, so `-(...==...)` is equal to `-1`. Then, you add another prefix `-` to turn the `-1` back into `1`.

`--(...==...)--(...==...)` evaluates to `2` because the first block evaluates to 1, as previously mentioned, and then the next `-` is interpreted as an infix subtraction operator. The second `-(...==...)` evaluates to `-1`, so you get `1 - -1` or `2`.

When chaining multiple together, you can leave off the initial `--`, because booleans will be implicitly converted to integers if inserted into an arithmetic expression, e.g. `True - -1` -> `1 - -1` -> `2`.

> There should be one-- and preferably only one --obvious way to do it.

This article is obviously completely tongue-in-cheek, but I feel the need to point out that this sentence is not meant to be a complete inversion of the Perl philosophy of TIMTOWTDI. The word "obvious" is crucial here - there can be more than one way, but ideally only one of the ways is obvious.
by zahllos | 2025-04-10 14:51:05+00:00
Only if the entire address space for that process is built using memory safe code (different from necessarily marked "safe" in the rust sense) and only if there are no soundness bugs in the rust compiler.

Otherwise C code can muck with things the rust code considers invariant and "verified". Or if something with a soundness issue is used, maybe safe doesn't quite mean safe.

As a counterpoint unsafe can be safe if the behaviour is well modelled and understood. It just means no checks are applied to the superset features of rust if they are used (outside of unsafe they can't be). The standard library of rust uses unsafe quite a bit.

Probably the best way I can try to put it is that "safe" is a subset of correct where you mean no memory safety issues (spatial or temporal) and rust tries to prove this for you. Except it you type unsafe then it is on you to promise to the compiler that the extra footguns it enables are used correctly. If you include this code in a larger program some of these guarantees are statically assured at compile time for performance including the correctness of the runtime checks rust does. There is no compartmentalisation unless you use OS features (separate processes) for that (or whatever webasm allows for).
by richardwc | 2025-04-10 14:51:58+00:00
MNTN (https://mntn.com) | REMOTE, must be US-based | Full Time

Sr Backend Engineer w/ Distributed Systems and Data Pipelining Experience

We're looking for someone to join the new Integrations team and help us build a "Zapier" for AdTech integrations. Must have experience building similar connector-type integration systems. Looking for a self-starter, capable of operating in a startup-like environment with fuzzy requirements.

Email me at Richard [at] mountain dot com with your resume. I'm the CTO - very serious about bringing someone onboard ASAP.

BONUS - we're also looking for a lead for this team.
by soco | 2025-04-10 14:52:23+00:00
I only know one active hunter and boy does he brag - if only given the occasion. So maybe the people you mention are just being afraid to be judged for their true ideas? Because either way, you can always go in the nature, and so many people go at least here in Switzerland, and just... go in the nature, spend time in that peaceful environment, period. You don't need a gun and a dead squirrel to be peaceful.
by Forgeties79 | 2025-04-10 14:52:57+00:00
I get what you’re saying but you’re kind of discounting how much proximity to an action matters. There’s a big difference in how a murder happening in front of me/somebody I know impacts me vs. knowing there was a murder of somebody I don’t know somewhere out there probably while I wrote this comment. both are equally tragic, both do not occupy my mental or emotional in space the same way
by iinnPP | 2025-04-10 14:53:07+00:00
I recently went back to school and got a look first hand how LLM's are used in classrooms.

1. During final exams, directly in front of professors: Check

2. During group projects, with potentially unaligned team-members: Check

3. By professors using "detection" selectively to target students based on prohibited groubds: Check

4. By professors for marking and feedback: Check.

And so, the problem is clearly the institutions. Because none of these are real problems unless you stopped giving a shit.

Good luck when you point out that your marked feedback is a hallucination and the professor targets you for pointing that out.
by AnimalMuppet | 2025-04-10 14:53:11+00:00
From the late 1970s to the late 1980s or early 1990s, typing BASIC in yourself was the fastest dopamine hit you could get. You could just do something. You could have an idea and see it become real. It was addicting. It changed us.

Since the early 1990s, pre-packaged games and social media have delivered more dopamine faster. It's changed children and teenagers, but it's changing them in a different way than BASIC changed their parents.
by andrewstuart2 | 2025-04-10 14:53:22+00:00
I haven't done it for a while (I've mostly just used 127.*), but I found the best one to use for dev purposes was the IETF-reserved `.test` TLD [0]. The main benefit at the time I was messing with this (10ish years ago now) was that all the browsers I needed to test on would actually attempt to resolve `.test`. If I remember correctly, firefox seemed to have issues with `localhost` being anything other than 127.0.0.1 (and would simply go to that address ignoring whatever was in /etc/hosts or DNS, again IIRC). It's been a while, though, so that behavior might have changed.

[0] https://datatracker.ietf.org/doc/rfc2606/
by jeroenhd | 2025-04-10 14:53:34+00:00
I use .local all the time and it works just fine. For TLS I use my existing personal CA, but HTTP links don't cause issues for me.

That said, I do use mDNS/Bonjour to resolve .local addresses (which is probably what breaks .local if you're using it as a placeholder for a real domain). Using .local as a imaginary LAN domain is a terrible idea. These days, .internal is reserved for that.
by daemonologist | 2025-04-10 14:53:39+00:00
I only ran the benchmark on Quasar Alpha*; the rest of the scores come from the original paper [0] which was published before 3.7 was available. This is a pretty expensive benchmark to run if you're paying for API usage - I'd actually originally set out to run it on Llama 4 but abandoned that after estimating the cost.

* - I also reproduced the Llama 3.1 8B result to check my setup.

[0] - https://arxiv.org/abs/2502.05167 / https://github.com/adobe-research/NoLiMa
by ravenstine | 2025-04-10 14:53:41+00:00
I know I will probably get pushback over this, but CalDAV sucks. People say that it's great and that it's easy; yet if that were true there would be way more self-hosted CalDAV solutions out there and they would be far more ergonomic than what's available. I was not impressed with Radicale. Because there's really only one calendar file I wanted to serve to myself, I tried implementing my own CalDAV server just for that purpose and pretty much gave up because of how unintuitive and complicated it was merely to make a single file available. I can see why it would be needed if sharing a calendar with other people with calendar apps that support CalDAV, but I think it's kind of a waste of time if hosting a calendar for one's self.

Instead, initially went with the approach of hosting my dynamically updating iCal file in an S3 bucket and using ICSx5 on Android to sync with it. No CalDAV needed – just HTTPS.

However, FOSS calendars for Android still suck, and for some reason I couldn't get ICSx5 to work within GrapheneOS, so I now use almost the same approach but with Proton Calendar which happens to support calendars from direct links to iCal files. It's not perfect, but it suits my needs enough.

I think the author's approach for using iCalendar format is a good one, though what I've discovered is the amount of support for various iCalendar features varies drastically between calendar software. Rather than dealing with that headache, I somewhat gave up and decided to shove most metadata into the description field rather than use the respective properties.

EDIT: My use case is software I wrote to grab data from various sites (Eventbrite, Meetup, pub trivia companies, public event calendars, etc.), filter for only social events I would be interested in, and combine them into a single calendar I can view in my normal calendar software.
by itissid | 2025-04-10 14:54:13+00:00
Nice!. I would like to do something like this but for Photos. I want to get off Dropbox and Google for a while. At the top of my list are:

1. Create a memories like feature from my photos to send on my cell phone, grouping by different features I like: anniversaries, similar activities, A `Me an X(X is Spouse, family, friends etc)`, Over the years(how x has evolved over the years).

2. Be able to save photos taken from my device to my servers.

I've set up three true-nas machines in different places with 2TB of space and want to slowly build this feature.
by indigodaddy | 2025-04-10 14:54:17+00:00
Here's a dev.nix file that works for FastHTML, which is a little tricky to get the preview working but using this dev.nix it works out of the box. Would probably work with any Starlette or Uvicorn based app as well (obviously make sure you have requirements.txt in order).

https://community.firebasestudio.dev/t/working-fasthtml-a-ne...
by ativzzz | 2025-04-10 14:54:22+00:00
> He believed that this approach would allow individuals to live according to their own values and beliefs

What if someone's values and beliefs are that certain other values and beliefs should not be allowed? Like what if a group believes that gay people shouldn't exist openly in society, or that certain racial groups should be genocided or stripped of their rights?

I think this is a fundamental issue of tolerance of beliefs - how do you tolerate intolerant beliefs without sliding into intolerance yourself?
by accrual | 2025-04-10 14:54:36+00:00
Neat setup! I do something similar on OpenBSD. I have a CSV file that maps IP, MAC address, and hostname for various devices on my LAN. A shell script reads the file and creates a matching hosts file, dhcpd config, and unbound config, then restarts dhcpd and unbound (caching DNS server).

Whenever a host requests a DHCP lease it receives its assigned IP which matches the unbound record, then I can always access it by hostname.
by cwmma | 2025-04-10 14:55:09+00:00
But when you drink <coffee>, it quickly washes around those bones and into your esophagus. It doesn't stick around. It's like getting a cross tattoo to become Jesus. coffee will be digested, and absorbed into your bloodstream, and cross your blood-brain barrier, for sure! But it won't stay adhering to your tooth-bones and the <yellowing> process never has a chance to start. That's absurd thinking that it somehow is internally effective. It's simply not the mechanism of action. There's not enough time for it to work. The process requires physical contact in order for a chemical reaction to occur!