MurphyA/hacker-news huggingface dataset:
by kittikitti | 2025-11-26 19:06:43+00:00
A particularly insightful nugget in this article was your definition of vibe-coding from an experienced insider: "Ignoring the code entirely and only prompting". I've struggled with the definitions and wondered where the line is drawn. In private, I'm more strict with how I define vibe coding: "Prompting for information about code". However, it's strict so that I don't become dependent on AI while we're still discovering the harms.

It's unfortunate that head count is considered a cost to some. I always found that the people in an organization should be considered as important as profit. Where increasing headcount is as positive an indicator as increasing profits. I'm not sure how our economy came to this point, perhaps it's a symptom of our short-term financial planning.
by telui | 2025-11-26 19:07:22+00:00
Mercury VCS

Mercury VCS is a lightweight, beginner-friendly version control system with features Git doesn’t natively provide. It focuses on simplicity, workflow control, and commit rules enforcement for teams or solo developers. Features

Commit Rules Enforcement – Define rules for commit messages or file structures to maintain a clean and consistent repository. Simplified Versioning – Create unique versions with new-ver and automatically prevent duplicates. Beginner-Friendly CLI – Commands are easy to remember and use: commit <file> – Save a file (or files) to Mercury. commit-msg <message> – Add a commit message (supports spaces). restart-branch <branch> – Restart a branch quickly. list-ver – List all repository versions. create-rules <message> – Create a commitrules.txt file. new-ver <version> – Create a new Mercury version. mercuryversion – Show Mercury VC version info. Lightweight and Focused – Avoids Git complexity while still providing essential version control functionality.
by wood_spirit | 2025-11-26 19:08:13+00:00
Admittedly in a different league speed wise but also scope wise is my very fast timestamp library for Java https://github.com/williame/TimeMillis

This focuses on string <-> timestamp and a few other utilities that are super common in data processing and where the native Java date functions are infamously slow.

I wrote it for some hot paths in some pipelines but was super pleased my employer let me share it. Hope it helps others.
by TomasBM | 2025-11-26 19:09:03+00:00
The first point about documentation really has to do with the question: whom are you willing to support?

Instead of seeing it as "users of X platform", I think it's more useful to divide user groups into:

1. Completely non-technical users who, at worst, wouldn't know how to download anything, and at best only know how to install from an ".exe" file;

2. Middle-ground users who, at worst, are not willing to learn your preferred way of installation, or at best, are new to non-common installation methods;

3. Technically proficient users who, at worst, have arbitrary reasons for disliking your preferred way of installation, or at best, have legitimate reasons for disliking it;

4. Your ideal technically proficient users.

FOSS is often geared towards the fourth category, and for good reason. But if you want your tool to be adopted more widely, you have to learn more about those other user groups, and how to support them beyond documentation.

And here I'd say it's also fair to look for good reasons or funding for that extra support, because if it's not rewarding work, it doesn't have to stay free as in free beer (even if it's FOSS).
by jimbohn | 2025-11-26 19:09:20+00:00
>"Enough of them" really applies to any minority

It does not. You are allowed to pick and choose. Try asking any Baltic country if they'd like 2 extra million russians, and tell them they are wrong because their argument can be proven wrong when abstracted enough. Try asking the Ukrainians.

>If you find it difficult to distinguish between manipulation of ethnic conflict, propaganda, and the role of an individual in a society

This is peak irony, I wish russians would read on those topics.

>Regarding your interpretation of the parent comment:

I didn't state those 3 points. But choosing to operate in Serbia, and choosing to use Yandex, are signals about the company that I can decide to operate on. Clearly the company is pretty "lax" when it comes to this. If they have choosen to hire disproportionately more russian devs ( I don't know), that would be another signal. Choosing to opere in Serbia isn't equal to choosing to operate in Russia, mind you. But still, it's a different signal w.r.t choosing to operate in another country, e.g. Poland. I don't have strong opinions against Serbian people, mind you.

>And again, I still suggest you do the exercise: find another ethnicity others find controversial and adversarial

Again, you are still leaning on the fact that, when abstracted enough, we can bend every argument. I don't support discrimination, that doesn't mean I appreciate getting members from an openly hostile society (to say the least).

>I don't like nor support what the Russian government does, but I don't conflate those actions with those of Russian individuals or the people.

Feel free to keep your head in the sand and live the fairy tale where everything is because of the russian government and not of the people. There are centuries of evidence that this is not the case. I bet you are from a country that has not been under russian rule in the past, or are ill-informed about the history of that society/culture. Not all societies and cultures are equal. "Things seem much more adversarial online", how arrogant. I'm fairly able to distinguish a tribalistic ethnic conflict from something that is not.

Try asking those seemingly complex questions I've asked the russian poster to any russian, including those living in the west. You'll never get a straight answer.

FYI, I've worked with (and hired) people from virtually all over the world, and traveled quite a lot (not vacations, long-term movements), never had an issue. Held friendships with people coming from countries with an "evil" regime, these were normal and kind people. For some cultures a brutal regime is an "accident of history", for others, a tradition.
by zzrrt | 2025-11-26 19:09:56+00:00
What if the moved-from DB object lazily opens a new connection, if someone uses it again? Maybe that’s a null object, but at least the nullness isn’t really observable to the API user. Even the extra latency or possibility of failing to connect must be expected at any time from query() etc. so it changes little.

Also, I would say nothing is “unexpected” behavior if you document it and implement accordingly. And at least for this DB case, handling it is not onerous or stretching the idea of class invariants beyond usability.

I’m probably like what GP said, “high on the feeling of having finally grokked C++, which is no small feat.” But I either want to understand better why move is broken, or we can agree that things like move require too much skill to get right and there are better alternative languages.
by sershe | 2025-11-26 19:10:06+00:00
One day long time ago, I decided that hex grid coordinates lovingly described by redblobgames and used by every developer delivering actual games are inelegant. I wanted to store them in a rectangular array, and also store all edges and vertices in rectangular arrays with simple numerical addressing for the usual algos (distance, neighbors etc) between all 3. I messed around with it and a map generator for a few weeks. Needless to say it was as elegant as a glass hammer, 3 simple arrays beautiful to look at. I didn't finish anything close to a game. But it was a great fun.

If I ever want to deliver a game I might outsource my hex grid to AI. But back in those days I could have probably used a library.

Is hacking about messing around with things? You can still do it, ignore AI, ignore prior art. You can reimplement STL because std vector is "not fast enough". Is hacking about making things? Then again, AI boilerplate is little different than stitching together libraries in practice.
by asafira | 2025-11-26 19:10:09+00:00
There is large-enough consensus on this drug for its main use cases (treating diabetes and obesity), but more importantly for this conversation: it's actually quite common for drugs to get new indications after their initial one --- at which point, there might be a new, broader consensus on what the drug is good for.

Clinical trials are designed to treat a very specific subclass of individuals; pharmaceutical companies very carefully choose that subclass in an attempt to help ensure the clinical trials are successful, which is a combination of the following:

- Positive, statistically-significant results. - FDA approval with those results. - Insurance companies willing to pay for the given treatment. - A decent-sized addressable market.

Examples of drugs/medical technologies later getting other indications: - Minoxidil was a drug that only later got its approval to be used as a hair loss treatment; there are currently clinical trials for a more "advanced" minoxidil oral pill for this use case. - Re: GLP-1s: Tirzepatide later got an indication that it effectively treats sleep apnea. There are very many other clinical trials ongoing for GLP-1s, but perhaps most recently, Semaglutide (ozempic) failed to show statistical significance as a treatment for Alzheimer's. - The Galleri blood screening/test. The initial indication they are going for is folk who are at highest risk for cancer (I believe that's individuals between the ages of 50 and 70); however, that's not to say it would be bad for individuals younger or older. But, this is a way to help ensure the earliest product has a successful outcome.

These are ones I know off the top of my head, but I suspect an LLM can give several more examples.
by zamadatix | 2025-11-26 19:10:21+00:00
The magic numbers at the end of this explanation are the number of days of each part of the leap year cycle:

146097 days = 400 year portion of the leap year cycles (including leap years during that)

36524 days = same for the 100 year portion of the leap year cycles

1461 days = 4 year cycle + 1 leap day
by Noaidi | 2025-11-26 19:10:32+00:00
I’m not insulting you. I’m pointing out a reality. You’re reading comprehension is failing you right now.

Water does not freeze itself. That is the distinction. But myself, as a living being, can turn water into ice. And I can create an organize materials inside of my own body.

I pointed out something interesting. The least thing you could do is actually look up to see if there’s any validity or research on what I’m talking about.

By more abundant life, I’m talking about how the definition of life we have is limited, but it’s ever expanding based on the papers of the original post. I’m talking about a greater expansion of our understanding of life that’s discussed in papers that deal with entropy and life.

For instance:

https://www.quantamagazine.org/a-new-thermodynamics-theory-o...

But this has been a topic of conversation since the early 1900s. It’s not like I’m saying anything new.
by showcaseearth | 2025-11-26 19:10:55+00:00
The vibe coded aspect of this article seems quite irrelevant to me. If I read this correctly, an exec team (or just CEO?) got sold a terrible piece of software without proper vetting. Very bad software has existed for a long time, and this is an age-old story. Vibe-coded garbage perhaps has increased the volume of terrible stuff to wade through, but is secondary to a familiar story of dumb leaders making dumb decisions.
by AstroBen | 2025-11-26 19:11:09+00:00
"We're talking about systems that don't exist, and that we don't know how to build" - something to keep in mind from Ilya's interview yesterday

People are captivated by good stories, and AI makes for one hell of a sci fi narrative

It's hard to separate the maybe one day plausible fictional future from the on-the-ground reality
by hamasho | 2025-11-26 19:11:45+00:00
Honestly, I sometimes use heavy thinking models only to avoid wasting tokens on my expensive pro plans. In many cases, I prefer using quicker models to discuss something, gain better ideas about the topic, do "my own research" using Google, then discuss again. ChatGPT Pro mode is helpful, but it's too slow, and I have no idea what they say is true (even with sources) or I'm familiar with the topic so I can research faster myself.

I use coding agents often, but I don't burn all the tokens out of my Claude Max plan and ChatGPT Business plan with two seats.
by georgefrowny | 2025-11-26 19:11:55+00:00
My intuition is that the extra mass for the receivers would be a large negative in terms of travel time (1/sqrt(m) penalty assuming you can give each probe fixed kinetic energy).

Plus keeping a probe as active part of a relay is a major power drain, since it will have to be active for a substantial percentage of the whole multi-decade journey and there's basically no accessible energy in interstellar space.

Then again, it's still far from clear to me that sending any signal from a probe only a few grams in size can be received at Earth with any plausible receiver, lasers or not.
by neilv | 2025-11-26 19:12:16+00:00
Thanks for the very kind words. No blog yet. The closest thing to a blog was that I was writing a book, "Racket Tactical Field Manual" (RTFM), which would teach a programming language (Racket) and effective software engineering practices incidentally using Racket tooling, in one tractable, self-contained book (and beg Randall Munroe to do the cover illustration)... But then it looked like Racket was determined not to have commercial uptake, so I abandoned it.

I suppose, if I had a software engineering blog that was fortunate to be well-received, maybe I wouldn't get 90%+ interviews wanting to give me a LeetCode frat hazing. We could instead speak like colleagues, who can see that the other person has, say, written a bunch of open source code, and skip ahead to getting a feel for more important factors about how we might work together. Instead, the signal I get is that they really, really want to do the frat hazing. (Like the AI company I just got off a successful recruiter screen with, minutes ago.)
by Keyframe | 2025-11-26 19:12:18+00:00
i hate to be that guy, but.. before google was around, it was the first wave of commercial internet - for all of what five years? Online search was a thing, in-fact it was THE thing across many vendors and all relied on advertising revenue. Revenue on the internet which was ramping up still for dotcom era in those few years. Google's ad revenue vs 98 global ad spend revenue - is that inflation adjusted? Global markets development since then, internet economy expansion, even sheer number of people alive.. completely different worlds.

What might stand from comparison is google introduced a good product people wanted to use and innovative approach to marketing at the time which was unobtrusive. Product drive the traffic. It was quite a bit before Google figured it all out though.
by Anon1096 | 2025-11-26 19:12:24+00:00
I work on rec systems.

The ideal here will be a multi tiered approach where the LLM first identifies that a book should be recommended, a traditional recommendation system chooses the best book for the user (from a bank of books that are part of an ads campaign), and then finally the LLM weaving that into the final response by prompt suggestion. All of this is individually well tested for efficacy within the social media industry.

I'll probably get comments calling this dystopian but I'm just addressing the claim that LLMs don't do good recommendations right now, which is not fundamental to the chatbot system.
by h2o_wine | 2025-11-26 19:12:27+00:00
Out of frustration, I built an AI API proxy that automatically routes each request to the cheapest available provider in real-time.

The problem: AI API pricing is a mess. OpenAI, Anthropic, and Google all have different pricing models, rate limits, and availability. Switching providers means rewriting code. Most devs just pick one and overpay.

The solution: One endpoint. Drop-in replacement for OpenAI's API. Behind the scenes, it checks current pricing and routes to whichever provider (GPT-4o, Claude, Gemini) costs least for that specific request. If one fails, it falls back to the next cheapest.

How it works: - Estimates token count before routing - Queries real-time provider costs from database - Routes to cheapest available option - Automatic fallback on provider errors - Unified response format regardless of provider

Typical savings: 60-90% on most requests, since Gemini Flash is often free/cheapest, but you still get Claude or GPT-4 when needed.

30 free requests, no card required: https://tokensaver.org

Technical deep-dive on provider pricing: https://tokensaver.org/blog/openai-vs-anthropic-vs-gemini-pr...

I wrote up how to reduce AI costs without switching providers entirely: https://tokensaver.org/blog/reduce-ai-api-costs-without-swit...

Happy to answer questions about the routing logic, pricing model, or architecture.
by burntsushi | 2025-11-26 19:12:28+00:00
I already had a conversation with the GP specifically: https://news.ycombinator.com/item?id=45979127

They aren't presenting a coherent philosophy. And when asked for examples, or to engage directly with examples in my blog, they can't or won't do it.

But yes, of course it's okay to use unwrap(). It's just an assertion. Assertions are fine.
by inkcapmushroom | 2025-11-26 19:12:32+00:00
This summer I woke up early and stepped outside in some bright tie-dye. I had a hummingbird approach me within about 4 feet and check out my shirt, obviously trying to decide if I was just a really weird flower or something. It was really incredible to interact with such an interesting bird (even though I'm sure he was annoyed that I wasn't in fact a giant flower).

Nice documentary about hummingbirds: https://youtu.be/vGMJZSfVW1M?si=m-LmIO9vgt7l-nV4
by svieira | 2025-11-26 19:12:54+00:00
All that means is that the `Failure` bubbles up to the very top of `main` (in this scenario) because we're only caring about the happy path (because we can't conceive of what the unhappy path should be other than "crash") and then hits the `panic("Well, that's unexpected")` explicitly in Place B rather than Place A (the `.unwrap`). I'm not sure how that's _better_.
by DenisM | 2025-11-26 19:13:06+00:00
No one exposes SQL to clients though. I think where Gql differs from sql is it’s at a higher level. SQL bleeds performance and data layout (e.g. normalizing, limits), GraphQL does not.

It’s not clear if it’s high enough to abstract knowledge from storage. In the end it’s tension between enabling client to wander around productively vs being a bull in a china shop.
by MarkLowenstein | 2025-11-26 19:13:09+00:00
Example: new Yahoo! Mail AI summaries helpfully added to the top of each mail. Thanks, now I get to read each email twice! With the original text now placed in a variable location on the screen.

Unfortunately it's the coders who are most excited to put themselves out of business with incredible code-generation facilities. The techies that remain employed will be the feature vibers with 6-figure salaries supplied by the efforts of the now-unemployed programmers. The cycle will thus continue.
by elektronika | 2025-11-26 19:13:29+00:00
> Applications that directly use DC from PV arrays is cheap

Direct DC is very underrated in America. Almost everyone I know with solar panels is grid tied and they're missing out. Antique belt drive shop tools are cheap, relatively easy to restore and maintain, and lend themselves to solar conversion (just add DC motor). Only downside is that you can only work while the sun's shining.
by andai | 2025-11-26 19:13:59+00:00
I'm not implying a hierarchy of value or status here, btw. And the point about difficulty is interesting too. I did manual labor and it was much harder than programming, as you might expect!

You can certainly outsource "up", in terms of skill. That's just how business works, and life... I called a plumber not so long ago! And almost everyone outsources their health...
by embedding-shape | 2025-11-26 19:14:03+00:00
But maybe we don't have to stoop down to the lowest level of conversation about LLMs, the "marketing", and instead do what most of us here do best, focus on the technical aspects, how things work, and how we can make them do our bidding in various ways, you know like the OG hacker.

FWIW, I agree LLMs are massively over-sold for the average person, but for someone who can dig into the tech, use it effectively and for what it works for, I feel like there is more interesting stuff we could focus on instead of just a blanket "No and I won't even think about it".
by gishh | 2025-11-26 19:14:13+00:00
Roughly 2% of the US is vegan. About 5 million people.

This would be why the meat industry “plods along” century after century. For every vegan there are 49 people who eat meat, and probably 35 people who feed their pets meat.

There is actually a huge market for animal meat and it is the vegan industry that plods along.

In fact, what even _is_ the vegan industry? Or do you mean it’s basically marketing hype for companies that combine plants in various ways to sell as food?
by trevwilson | 2025-11-26 19:14:17+00:00
Part of the complaint is that RealPage actively discourages defection

> While some landlords might achieve higher profits by setting lower prices than recommended by the algorithm, it appears RealPage takes extensive measures to prevent such behavior. As alleged in the DOJ complaint, RealPage pushes its software users to turn on the auto-accept setting so that price recommendations are automatically accepted. The complaint also alleges that the process of rejecting a price recommendation can be onerous. For instance, in order to reject a recommendation from AIRM software, users must provide a “business” reason for doing so, and they must do so separately for each floorplan in the building. When it is costly for software users to override algorithmic recommendations, supracompetitive prices—prices above what would occur under normal competition—can be sustained.

https://bidenwhitehouse.archives.gov/cea/written-materials/2...

And the full complaint: https://www.justice.gov/archives/opa/media/1364976/dl
by frumplestlatz | 2025-11-26 19:14:20+00:00
> If formal verification hinges on having perfect engineers then it’s useless because perfect engineers wouldn’t need formal verification.

It doesn’t hinge on having perfect engineers.

It hinges on engineers being able to model problems algebraically and completely, prove the equivalence of multiple such models at different layers of abstraction (including equivalence to the original code), and then prove that useful properties hold across those models.
by aidenn0 | 2025-11-26 19:14:22+00:00
From the wayland readme:

> The wayland protocol is essentially only about input handling and buffer management

So sending input to clients and managing the buffers needed is what wayland implements. Everything else is either done in the clients (e.g. rendering) or the compositor (pretty much everything else).

Note that this is a subset of what X11 did (though rendering had pretty much already moved to the client for modern applications). X11, of course, handled input, and it also provided an IPC mechanism (which is how clients e.g. communicated things to the WM). Wayland, at its core, is just those two things.
by akho | 2025-11-26 19:14:35+00:00
The linked comment seems to imply that you have no kids of your own, and generally identify with a child still. That's fine, but not a good look for this kind of conversation.

Children should not have easy access to addictive drugs, digital or pharmaceutical. That exposure does not build agency, it does the opposite. You cannot expect a child to be able to resist the combined effort of a multi-trillion dollar industry toward building maximally addictive things.