MurphyA/hacker-news huggingface dataset:
by slfnflctd | 2025-05-11 13:02:56+00:00
Planning is absolutely essential.

However, "no plan survives contact with [the enemy]/[reality]/[stakeholders]/[users]/[etc.]"

You have to start doing things at some point, and revise your plans continuously. It's a delicate, interdependent dance.

The worst working situations I've been in almost all had to do with either lack of planning or refusal to abandon a clearly flawed plan. It's exhausting how many people fail to recognize when they need to change their behavior in one area or the other. It's not one or the other, it's both.
by bustling-noose | 2025-05-11 13:05:29+00:00
I’ve been working with a team of so called ‘junior’ devs and coding is the least of the problems. Design and architecture is by far the most difficult thing for people to understand and get a hang of. A staff engineer won’t replace 2-4 junior devs with LLM. He will focus on the design and architecture and then get 2-4 engineers to execute it with LLMs. The two might sound the same but it’s not. And that’s the difference between understanding software engineering and coding. LLMs make coding easier, not software engineering.
by nickpeterson | 2025-05-11 13:06:00+00:00
I want to agree because I think you and I have similar values. But experience has shown that people tend to add things to obscure problems, never simplify. So while you and I would like to kill those kubernetes clusters with a script, the company selling solutions to CTOs will introduce 'Kubernetes Prime' or some bullshit and talk about how "they heard you liked containers, so they put containers in your containers, now you can virtualize your virtual lives."
by mtlynch | 2025-05-11 13:06:39+00:00
This is one of the best articles about running a bootstrapped business that I've ever read.

These are all great tips that obviously come from years of hard work and introspection.

> When I started, I integrated with standard SaaS product analytics software that most big SaaS products use. They tend to have features like session recording, where you can see exactly where their mouse moves in your product, and funnel tracking for working out how many users make it the whole way through from landing page to using your product.

I had the same experience. When I started out, I'd see people talk about complicated views in their analytics with cohort analysis and A/B testing. I'd think those people were succeeding because of their analytics, so I kept trying to build complicated views in Google Analytics or investigate expensive alternative analytics platforms. And I eventually just landed on going even simpler than Google Analytics and not checking it unless I had a specific question I wanted to answer.

> People will suggest you should build particular features to improve your product. They'll never use those features.

I've experienced this as well. Early on, prospective customers would tell me that they'd definitely buy if I had X feature, and I'd spend a week implementing it, and then the customer would disappear or say they couldn't purchase for some other reason.

> When a user signs up for OnlineOrNot, I have an automated email going out asking what brought them to sign up today. I explicitly tell them I read and reply to every email. This is the main source of my insight for building product.

I like this a lot. The main competitive advantage indie founders have is a personal touch and direct access to the founder.

I think too many indie founders over-automate and over-outsource their customer interactions. It always drives me crazy when I use a product from an indie founder, and I reach out with feedback and the response is just a generic, outsourced customer service rep who says, "Thank you for your feedback. I'll pass it along to the team."

> Tracking your MRR is a crap way to measure how you're doing as a business... Find another success metric to figure out if people are actually using your product, and whether it's bringing them value. Things like number of images generated, or number of form completions, for example.

I agree, but I'll add the caveat that the other metric should be as proximate to revenue as you can get.

Early on, I made the mistake of measuring success based on things like social media followers or SEO rank, even though those things didn't directly translate into revenue. I felt like I was succeeding, but I eventually realized I was pursuing metrics that were too loosely related to revenue.
by jaybrendansmith | 2025-05-11 13:07:21+00:00
It's called journalistic ethics. Look it up. https://en.wikipedia.org/wiki/Code_of_ethics_in_media https://www.npr.org/ethics https://www.pbs.org/standards/accuracy/ https://www.bbc.com/aboutthebbc/reports/policies/codeofcondu...
by sam_goody | 2025-05-11 13:07:47+00:00
Didn't VMWare make their products free?

I am not trying to be difficult - I know that I can now download VMware for both Windows and Mac, and two years ago I could not. And yet the article refers to ridiculous licensing fees and licenses.

Who needs to license, are there multiple products with the same name, and what "audit rights" are given to someone who installs the VMWare Pro player on their laptop?
by _aavaa_ | 2025-05-11 13:08:18+00:00
I’m perfectly fine with disallowing Microsoft, Sony, Nintendo from doing the same thing. They can have their store and their cut, but they must allow people to sell games through their own stores or bring their own games to the console.

Printer manufacturers also sell below costs and then screw consumers on the ink. That approach is equally anti-consumer. Especially when they start adding DRM to the ink cartridges.
by rco8786 | 2025-05-11 13:08:26+00:00
> It's still not entirely clear (for remote servers) to me what you can do with MCP that you can't do with just a REST API,

Nothing, as far as I can tell.

> the latter being a much more straightforward integration path.

The (very) important difference is that the MCP protocol has built in method discovery. You don't have to 'teach' your LLM about what REST endpoints are available and what they do. It's built into the protocol. You write code, then the LLM automatically knows what it does and how to work with it, because you followed the MCP protocol. It's quite powerful in that regard.

But otherwise, yea it's not anything particularly special. In the same way that all of the API design formats prior to REST could do everything a REST API can do.
by sk10945 | 2025-05-11 13:09:00+00:00
The pattern you've said makes sense. The amount of full stack engineering roles will reduce with LLMs and agents able to complete these tasks with the required context.

Computer Engineering domain will continue to grow. This will be due to 1) need for better GPUs and CPUs 2) need for data centre infrastructure engineers

LLM ecosystem will also continue to grow along with Machine learning ecosystem. Regression based models cannot be replaced by LLMs due to inherently not being reliable in producing consistent output for structured problems
by Waterluvian | 2025-05-11 13:09:05+00:00
All I can say is that at my level in an org, if I want to say “instead of developing X this quarter, I want to test the effects of 2038 on Y,” that’s a far easier conversation if I can say something like “in similar embedded devices they crashed and wouldn’t even respond to OTA updates” vs “something bad could happen. Not sure.”

The latter is just a ripe plumb, left to rot in the backlog.
by bgentry | 2025-05-11 13:09:31+00:00
You can get pretty high job throughput while maintaining transactional integrity, but maybe not with Ruby and ActiveRecord :) https://riverqueue.com/docs/benchmarks

That River example has a MacBook Air doing about 2x the throughput as the Sidekiq benchmarks while still using Postgres via Go.

Can’t find any indication of whether those Sidekiq benchmarks used Postgres or MySQL/Maria, that may be a difference.
Show HN: Save hours after networking events with this AI business card organizer
by VarunGuptaHAI | 2025-05-11 13:10:11+00:00
I always get overwhelmed by the stack of business cards I collect after networking events—and most of them end up forgotten. So I built an app that helps me (and now you) actually do something with them.

With this app, you can: • Snap photos of the cards • Auto-organize them by your event goals and relevance to yourself and your business • Get AI-generated follow-up emails tailored to your goals

It’s designed to save you hours and help you turn contacts into real opportunities.

Would love feedback from the HN community!
by spwa4 | 2025-05-11 13:10:22+00:00
I think you're even forgetting where the real strength of AI will always lie. AI can reliably make a lot of dumb, simple decisions. AI will massively expand what we can automate, and we can hope that this will bring back, things like textile manufacturing, orchards, large scale agriculture (even where "complex", like harvesting), delivery services (e.g. within companies) ... and all these new firms will suddenly find they require programmers, developers, embedded development, electrical engineering, ...

A LOT of new to be created firms will suddenly find they require programmers, developers, etc. Hence a lot of jobs.

We'll need a small level of improvement in the current crop of robots available, but not much.

I think the developer market is about to expand massively if tariffs are spreading (because that will force a lot of countries to move a lot of production back onshore, as goods are prevented or obstructed on the borders).

Of course, either I'm totally wrong or people haven't yet really realized they can do this, as it's not happening on the level I'm predicting ... yet.
by Retric | 2025-05-11 13:10:45+00:00
> your reference on this?

It’s not a single line but rather a mental model I found that makes reading what he wrote seem more consistent. I can support the argument, but there’s a reason people write long books about several thousand year old works.

Trying to wade through ancient philosophy even when reading translations is a difficult process as they fundamentally think in different terms. For us the moon and the stars are just different physical places we could in theory visit, I’ve touched moon rock and seen photos taken on other planets. However, for much of human history it wouldn’t seem unreasonable to treat the stars as other. I can’t really prove how someone thought that, but it definitely fits a great deal of writing.
by eqvinox | 2025-05-11 13:10:59+00:00
> If the implementation is "modern" why would I allow 1.0 ?

Because there's a distinction between "using" (especially by default) and "implementing".

The real world has millions (billions?) of devices that don't receive updates and yet still need to be talked to, in most cases luckily by a small set of communication partners. Would you rather have even the "modern" side of that conversation be forced to use some ancient SSL library? I'd rather have modern software, even if I'm forced to use an older protocol version by the other endpoint. Just disable it by default.

And it's not like TLS 1.0 and 1.1 are somehow worse than cleartext communication. They're still encrypted transport protocols that take significant effort to break. That you shouldn't use them if at all possible doesn't mean that you can't use them if anything else is impossible.
by vacuity | 2025-05-11 13:11:38+00:00
> With components and APIs, unless we resort to some universal baseline (such as a small finite semantic API like REST's "verbs") that basically can marshall and unmarshall any arbitrary function call ('do (func, context, in-args, out-args, out-err)' the Lego metaphor break down very quickly.

I agree that this is generally what happens, and I would like to suggest that there is a better, harder road we should be taking. The work of programming may be said to be translation, and we see that everywhere: as you say, mapping domain semantics (what-to-do) to structural components (how-to-do-it), and compilers, like RPC stub generation. So while a few verbs along the lines of RPC/REST/one-sided async IPC are the domain of the machine, we programmers don't work well with that. It's hard to agree, though, and that's not something I can sidestep. I want us to tackle the problem of standardization head-on. APIs should be easy to define and easy to standardize, so that we can use richly typed APIs with all the benefits that come from them. There's the old dream of making programs compose like procedures do. It can be done, if we address our social problems.

> The second issue are the modalities of 'interactions' between components. So this is my first encounter with "Sans-IO" (/g) but this is just addressing the interactions issue with a fiat 'no inter-actions by components'. So Lego for software: great overall expression of desired simplicity, but not remotely effective as a generative concept and imo even possibly detrimental (as it over simplifies the problem).

I'm not sure what you mean, so I may be going off on a tangent, but Sans IO, capabilities, dependency injection etc. are more about writing a single component than any inter-component code. The part that lacks IO and the part that does IO are still bundled (e.g. with component-as-process). There is a more extensive mode, where whoever controls a local subsystem of components decides where to put the IO manager.

> Now we have 2 different pieces of software tech that somewhat have managed to arrive at component orientation: using a finite set of predefined components to build general software.

> So we can get reusable component oriented software (ecosystems) but we need to understand (per lessons of GUIs and WebApps) that a great deal of (semantic) glue code and infrastructure is necessary, just as a lot of wiring (for GUIs) and code frameworks (for WebApps) are necessary.

I agree, which is why I want us to separate the baseline components from more powerful abstractions, leaving the former for the machine (the framework) and the latter for us. Does the limited scope of HTTP by itself mean we shouldn't be able to provide more semantically appropriate interfaces for services? The real issue is that those interfaces are hard to standardize, not that people don't make them.
by VarunGuptaHAI | 2025-05-11 13:12:01+00:00
I always get overwhelmed by the stack of business cards I collect after networking events—and most of them end up forgotten. So I built an app that helps me (and now you) actually do something with them.

With this app, you can: • Snap photos of the cards • Auto-organize them by event and relevance • Get AI-generated follow-up emails tailored to your goals

It’s designed to save you hours and help you turn contacts into real opportunities.

Would love feedback from the HN community!
by jcranmer | 2025-05-11 13:12:22+00:00
From the title, I thought this was a factorization of the RSA-2048 integer (i.e., the one you get the prize for factoring). So I quickly skimmed to the results section to see what the factors where.

It's not. It's a factorization of the product of two 1024-bit numbers that are known to differ only in two bits (and the bit positions they differ may also be an input to the algorithm, not clear on that). The only relevance to RSA-2048 is that it's not technically a lie that they factored a 2048-bit integer.
by vandyswa | 2025-05-11 13:12:53+00:00
Yes, I understand the C++ aspect, but I was never a C++ coder, and D "fit in my hand" in a way which made me certain that its creator had coded extensively in C and understood the aspects which made it so perfect for its time. It really felt like D, not D++ to me.

(Oh, disclosure, I'm just a D user, no organizational or financial interests here.)
by crazygringo | 2025-05-11 13:13:24+00:00
> easily share a (long) link, why the hell you need to use a link shortener?

Because it makes the QR code simpler (less "pixels") and therefore more robust. Given the same physical size, scratches affect it less, and a phone can read it from further away. You want to avoid long links in QR codes whenever possible.

The other thing is analytics, of course. You can generate 10 different small QR codes that lead to the same long URL, to find out where they're getting scanned, so you know which locations are popular and worthwhile and which ones are not.

And maybe don't criticize restaurant owners for being technically incompetent? I'm sure they would find you just as incompetent at cooking at scale.
by freeopinion | 2025-05-11 13:13:28+00:00
This back and forth is not possible if the researcher is anonymous. And it places all power in the hands of the developer. If the developer says, "I need a year" but the researcher doesn't give them a year, then the developer sues? Or files a criminal complaint? Why is all the risk on the researcher?

So a gunshy researcher stays anonymous to keep their risk lower. They craft a disclosure with a crypto signature. They wait for the developer to post a public announcement about the disclosure that doesn't expose a ton of detail but does include the signature hash and general guidance about what to do until a fix is released.

The researcher then posts their own anonymous public announcement with however much detail they choose. They might wait 24 hours or 7 days or 7 months. They might make multiple announcements with increasing levels of detail. Each announcement includes the original hash.

Anybody can now make an announcement at any time about the vulnerability. If an announcement is signed by the same key as the original and contains more detail than given by the developer, the public can argue back and forth about who is being more or less responsible.

Now the researcher can negotiate with the developer anonymously and publicly. The researcher can claim a bounty if they ever feel safe enough to publicly prove they are the author of the original report.

Developers who routinely demonstrate responsible disclosure can earn the trust of researchers. Individual researchers get to decide how much they trust and how patient they are willing to be. The public gets to critique after the fact whether they sympathize more with the developer or the researcher. Perhaps a jury can decide which was liable for the level of disclosure they each pursued.
by kergonath | 2025-05-11 13:13:31+00:00
> Everytime someone blocks an ad, someone else has to watch it.

No, that’s not how it works, at all.

I give money to some people on Patreon, I pay for Nebula, but I am never going to give Google a single euro willingly. I’ll leave YouTube in a heartbeat the moment the people I follow (whom I am already giving money otherwise) make their content available elsewhere.
by bonzini | 2025-05-11 13:14:26+00:00
Back when it still had async support, I looked at using Zig in QEMU.

My main qualm with it is that it doesn't try to integrate with existing C programs. The ideal C replacement for me would be a two-way per-file C transpiler, in the same way as the Vala language was. Cython also works the same way even though it's not a C replacement.

Having to know the full set of Zig sources in advance due to error types, and the strong accent on Zig as a build system, are both a non starter for integration in existing large C programs, for example.
by 90s_dev | 2025-05-11 13:14:36+00:00
> Of course, if you don’t use pos, the compiler will say that this is an error and refuse to compile as well. And if you discard that error (typically using _ = pos;), the compiler will complain that it should be a const.

This was one of the main things that bothered me about Zig when I last tried it. This actively works against me when writing prototypes, exploratory code, and especially when writing code to learn the language. I get the rationale, that it's trying to protect me from shipping poorly designed code. But helicopter mom features do not belong in a programming language. They are just as hindering to progress as a literal one would be to a grown man, and for the exact same reasons. I know Andrew has made up his mind, but minds can be changed. So please, Andrew, please take away this helicopter mom feature.
Ask HN: How do early-stage builders solve the distribution problem in a AI era?
by grandimam | 2025-05-11 13:15:09+00:00
With the rise of vibe coding and tools like Vercel, Supabase, GPT, and React/Next.js templates, we're seeing indie hackers and startup teams launch polished MVPs in hours or days, not months. The "move fast and break things" mindset used to be a differentiator. Now it feels like table stakes.

In this new era, when every hacker weekend ends with a slick new product on Product Hunt or Twitter/X, what becomes the new moat? If speed and shipping early aren't enough, how do we solve for distribution?

Is it audience-first? Better storytelling? Exclusive partnerships? Building in public? Would love to hear how others are approaching this shift—especially those in the early stage or solo founder space.
by thrance | 2025-05-11 13:16:48+00:00
Here we are treated to yet another clickbaity piece of quantum disinformation. Since the only tangible potential use case of this crackpot industry is cracking RSA encryption, its actors resort to misleading publications claiming success to part yet more money from clueless investors.

Here, they picked artificially constructed numbers that are designed to be easy to factor. Something classical computers could do far more efficiently mind you, but hey, maybe some guy won't read the article and invest a few extra bucks in D-Wave based on the headline, in which case it was all worth it. It only required further degrading the credibility of this clown industry.
Show HN: Printstack – I'll print and post your Substacks to you
by mbanerjeepalmer | 2025-05-11 13:17:12+00:00
I've been turning individual Substacks into books -- actual paperbacks and hardbacks that you can put on your shelf -- for a little time now. (See the homepage.)

So when a friend pointed me towards a tweet about doing it weekly across all a person's subscriptions, it seemed like a reasonable thing to test. I know where a few of the beartraps on the route from Substack to paper are.

Do share feedback and thoughts.
by arp242 | 2025-05-11 13:17:16+00:00
The thing is that the current US government is just ignoring laws and even judicial rulings. So looking at all of this mess I have exactly the opposite feeling: it's fine to have some reasonable laws restricting the excesses of free speech, because when the shit hits the fan the laws don't really matter anyway.

What exactly "reasonable laws" and "excesses of free speech" are is not an easy topic in itself and lots of reasonable trade-offs here, but I would start with threats of violence. This includes not just "I will punch you in the face" which is already illegal in the US, but also general statements encouraging violence which are typically not. For example "Hitler did nothing wrong, we need to clear the lands of Jews", "the NYT building should be bombed with all the journalists still in it", (Ann Coulter on several occasions), or celebrating the deaths of gay people (Rush Limbaugh). "Haha, only serious"? There is a very direct and straight line between all of this and Trump, and I don't think we would have had Trump today if it wasn't from four decades of non-stop high-aggression vitriol stuff from people like Coulter, Limbaugh, etc. etc.

If you want to have a free "marketplace of ideas" then you need to have some sort of baseline. This baseline doesn't need to be very high, but I would say that "I encourage your murder and everyone like you" is below it.