MurphyA/hacker-news huggingface dataset:
by justinbaker84 | 2025-04-14 17:50:53+00:00
I worked at a startup where I joined as the second employee before they raised any money and I basically got 0.5% of the company. They went on to raise over $100 million in VC.

I got $0 for my equity. Start ups have SO many ways to screw employees out of their equity.

The most basic is that you have options that you are not allowed to sell during equity rounds. If you accept them then you need to pay the strike price and they count as taxable income even though you got shares instead of money so you just lose a lot of money.

Say what you will about Elon, but at Space X employees are allowed to sell their shares for actual money at regular intervals. Very few start ups that succeed allow their employees to do that.

90% of startups that succeed just want to grind down their employees rather than pay them the equity they earned.
by Philpax | 2025-04-14 17:50:53+00:00
> Cursor agent mode puked all over itself using Gemini 2.5. It could summarize what changes would need to be made, but it was totally incapable of making the changes.

Gemini 2.5 is currently broken with the Cursor agent; it doesn't seem to be able to issue tool calls correctly. I've been using Gemini to write plans, which Claude then executes, and this seems to work well as a workaround. Still unfortunate that it's like this, though.
by greenavocado | 2025-04-14 17:51:00+00:00
Microsoft Neural Language Processing Hyperscale Datacenter Enterprise Edition 4.1

A massive transformer-based language model requiring:

- 128 Xeon server-grade CPUs

- 25,000MB RAM minimum (40,000MB recommended)

- 80GB hard disk space for model weights

- Dedicated NVIDIA Quantum Accelerator Cards (minimum 8)

- Enterprise-grade cooling solution

- Dedicated 30-amp power circuit

- Windows NT Advanced Server with Parallel Processing Extensions

~

Features:

- Natural language understanding and generation

- Context window of 8,192 tokens

- Enterprise security compliance module

- Custom prompt engineering interface

- API gateway for third-party applications

*Includes 24/7 on-call Microsoft support team and requires dedicated server room with raised floor cooling
by omoikane | 2025-04-14 17:51:04+00:00
There is a WARN[1] period before the employee is officially laid off, but their access to all the corporate resources are cut off immediately. From the employee perspective, they have lost everything the moment they are being told that they are laid off. It doesn't matter that they are still getting paid.

[1] https://edd.ca.gov/en/jobs_and_training/Layoff_Services_WARN...
by _DeadFred_ | 2025-04-14 17:51:05+00:00
I think it's just called the passing of time. Our bodies build up senescent cells. Our personalities do it as we move through being new adults in the world to old people shouting at clouds. You have something new and novel and empty and you add two pieces of knowledge/whatever and wow this is lively useful discussion. Over time you have 20,000 bits of knowledge/songs in the genre/etc and those two new bits aren't that exciting, get lost in the noise, get canceled by what came before.
by jillyboel | 2025-04-14 17:51:23+00:00
> depending on how your codegen works and how you're using protos at runtime, this approach might actually be faster at runtime

If your codegen is introducing runtime overhead you should use a different codegen.

> type inference in VSCode seemed reasonably fast with the toy examples I was playing with

It usually is. It can become a problem in a real project that has a lot of stuff going on, though.
by boomlinde | 2025-04-14 17:51:23+00:00
Out of curiosity I looked up some of the software I've meaningfully interacted with today. Of all I looked up—the operating system kernel, the init system, the shell, the terminal emulator, the browser, the compilers, the text editor, the windowing system, the window manager, the notification daemon, the audio server, the audio session manager, the GPG agent, the NTP daemon, the SSH daemon, the DHCP client, the wireless network manager, the power manager, the policy manager, D-Bus, the video player, the video editor—each uses linked lists. There's some more system software showing up in ps (which by the way uses linked lists) that I haven't considered but I am rather confident that most of it uses linked lists.

Maybe you only see these projects as a user, but linked lists are not uncommon. Your experience reflects your, well, experience. We all sit in different niches.
by zoogeny | 2025-04-14 17:51:24+00:00
I think we are confusing the word "prompt" here leading to miscommunication.

There is the prompt that I, as a user, send to OpenAI which then gets used. There there is "prompt" which is being sent to the LLM. I don't know how these things are talked about internally at the company. But they take the "prompt" you send them and add a bunch of extra stuff to it. For example, they add in their own system message and they will add your system message. So you end up with something like <OpenAI system message> + <User system message> + <user prompt>. That creates a "final prompt" that gets sent to the LLM. I'm sure we both agree on that.

With MCP, we are also adding in <tool description> to that final prompt. Again, it seems we are agreed on that.

So the final piece of the argument is, as that "final prompt" (or whatever is the correct term) is growing. It is the size of the provider system prompt, plus the size of the user system prompt, plus the size of the tool description, plus the size of the actual user prompt. You have to pay that "final prompt" cost for each and every request you make.

If the size of the "final prompt" affects the performance of the LLM, such that very large "final prompt" sizes adversely affect performance, than it stands to reason that adding many tool definitions to a request will eventually degrade the LLM performance.
by srean | 2025-04-14 17:51:46+00:00
Very poetically put and absolutely agree.

For the subset of shared experiences and emotions this should be possible, not only that, I feel that we must try (as in, it's a moral/ ethical obligation).

Training an ML on dialogues alone will not be enough. One would need to spend a lot of time to build up a wealth of shared experiences, so that one can learn the mapping/correspondence.
by mike_hearn | 2025-04-14 17:51:57+00:00
> Like what?

During COVID doctors had their licenses to practice revoked if they weren't on board with public health policies (set by people who were not doctors).

In just one example of many, this doctor [1] had his license revoked and the tribunal specifically stated that he was expected to (ab)use his patient's trust to get them to comply with government policies, even though he disagreed with them on health grounds.

Some people either didn't realize this, or agreed with the policy of forcing doctor's hands, and so have continued to trust. But I'd argue that if you knew about this policy, it was 100% irrational to trust what doctors told you on anything COVID related. The whole basis of trust is the assumption the doctor is doing what's best for you as an individual, but a doctor cannot do that if the advice they think is correct for your individual case is illegal to give you.

[1] https://www.cbc.ca/news/canada/sudbury/patrick-phillips-trib...
by mindcrime | 2025-04-14 17:52:14+00:00
Hmmm... my mountain bike (a Specialized Hard Rock) is from 2006 and I still ride it. So that's one candidate. Likewise my truck (a Chevy Suburban) is a 2004 model, so that's pretty old.

I have a few fishing rods / reels that date back to the early 90's that are still in my pile that I carry around when I go fishing; although of the two rods I use most often, none are the really old ones.

I have at least one toolbox and a few small hand tools (ratchets, wrenches, sockets, etc) that also date back to the early 90's. Most of that stuff is Craftsman brand.

My coffee pot (a Mr. Coffee brand drip machine) is from about 2004 or 2005.

Nothing else really jump to mind.
by cempaka | 2025-04-14 17:52:15+00:00
> I actually think Java is the better PL, but the worse runtime (in what world are 10s GC pauses ever acceptable).

This seems like a very odd/outdated criticism. 10s CMS full STW GCs are a thing of the past. There are low-latency GCs available for free in OpenJDK now with sub-millisecond pause times. Where I've seen the two runtimes compared (e.g. Coinbase used both langs in latency-sensitive exchange components) Java's has generally come out ahead.
by GMoromisato | 2025-04-14 17:52:33+00:00
Here's some quick math, which I wish the article had made more prominent:

If there are 500 million active users and OpenAI is burning $40 billion per year, then at most, each user costs $80 per year or $6.67 per month. That's the upper limit because there are development costs, so the actual operating cost per user is probably half that (maybe $3 per month).

Thus even assuming they don't come up with new revenue models, the $20 per month Plus plan is profitable.

Moreover, since there are 20 million Plus subscribers, each subscriber is currently subsidizing 24 other users. If they can get the ratio down to 1:6 (each Plus subscriber subsidizing 6 free users), the math would work out and OpenAI would be profitable (at least operationally).

And that's assuming that they don't unlock the huge enterprise business models that, IMO, are going to be the real drivers of revenue.

The whole article is predicated on OpenAI being unable to find profit, but with the article's own number, it doesn't seem hard to convince investors that profit will be there.

[The usual caveats apply: I'm just a random idiot and not a financial analyst. Also, I'm bad at mathing, so please correct me if I'm wrong.]
by tialaramex | 2025-04-14 17:52:36+00:00
If that's your preference you're going about it all wrong. Rust's safety is about culture and you're looking at the technology, it's not that Rust doesn't have technology but the technology isn't where you start.

This was the only notable failing of Sean's (abandoned) "Safe C++" - it delivers all the technology a safe C++ culture would have needed, but there is no safe C++ culture so it was waved away as unimportant.

The guy whose mine loses fifty miners in a roof collapse doesn't need better mining technology, inadequate technology isn't why those miners died, culture is. His mine didn't have safety culture, probably because he didn't give shit about safety, and his workers either shared this dismissal or had no choice in the matter.

Also "extreme focus" is a misinterpretation. It's not an extreme focus, it's just mandatory, it's like if you said humans have an "extreme focus" on breathing air, they really don't - they barely even think about breathing air - it was just mandatory so if you don't do it then I guess that stands out.
by foldr | 2025-04-14 17:52:50+00:00
It’s generally quite easy to use these over I2C without a driver. You can crib the sequence of initialization commands from the example code supplied by the manufacturer (or loads of examples on GitHub), and then the commands to draw to the screen are pretty straightforward. The chip has its own display RAM, so you don’t need to worry about redrawing every time the display refreshes or anything as low-level as that.
by ty6853 | 2025-04-14 17:52:51+00:00
It was in the defenses own filing. I don't have the link off hand but look up last week's filing of the case and they dug up that the contract was for 1 year, after which the US will decide the disposition of the prisoners. They used it as part of their argument that the US still maintains control over the prisoners, since the contract stated the US has control over their disposition.

It should be findable on either PACER or court listener, although all the ones I read were pdf from various news articles.
by lenerdenator | 2025-04-14 17:53:38+00:00
You don't know you're chasing ghosts until you start running.

There's not much wrong with the system so long as it's used as a place to get ideas for clinical studies or absolute last-ditch attempts at saving lives. On occasion (like the Milwaukee Protocol for rabies), those last-ditch attempts do work.

It's when people pretend there's no real investigation to be done that we get problems.
by agentultra | 2025-04-14 17:54:01+00:00
At some point, in order to make C safer, you're going to have to introduce some way of writing a more formal specification of the stack, heap and the lifetime of references into the language.

Maybe that could be through a type system. Maybe that could be through a more capable run-time system. We've tried these avenues through other languages, through experimental compilers, etc.

Without introducing anything new to the language we have a plethora of tools at our disposal:

- Coq + Iris, or some other proof automation framework with separation logic.

- TLA+, Alloy, or some form of model checking where proofs are too burdensome/unnecessary

- AFL, Valgrind and other testing and static analysis tools

- Compcert: formally verified compilers

- MISRA and other coding guidelines

... and all of this to be used in tandem in order to really say that for the parts specified and tested, we're confident there are no use-after-free memory errors or leaks. That is a lot of effort in order to make that statement. The vast, vast majority of software out there won't even use most of these tools. Most software developers argue that they'll never use formal methods in industry because it's just too hard. Maybe they'll use Valgrind if you're lucky.

Or -- you could add something to the language in order to prevent at least some of the errors by definition.

I'm not a big Rust user. Maybe it's not great and is too difficult to use, I don't know. And I do like C. I just think people need to be aware that writing safe C is really expensive and time consuming, difficult and nothing is guaranteed. It might be worth the effort to learn Rust or use another language and at least get some guarantees; it's probably not as hard as writing safe C.

(Maybe not as safe as using Rust + formal methods, but at least you'll be forced to think about your specification up front before your code goes into production... and where you do have unsafe code, hopefully it will be small and not too hard to verify for correctness)

Update: fixed markup
by arghwhat | 2025-04-14 17:54:05+00:00
Go for the SPI version, which is the same chip but just s different breakout board.

Many ESP32's can only do 400kHz I2C, whereas their SPI peripheral can often do 80 MHz or more (although you wouldn't want to go that fast here). 400kHz sort of works, but if you also want to handle other I2C devices it can easily become a problem.
by ThrowawayR2 | 2025-04-14 17:54:06+00:00
When these businesses are in their growth phase, they're relatively lenient about spending and generous to employees. When these businesses run out of opportunities for market growth or entering new markets to improve the bottom line, they turn to cost cutting and squeezing more out of employees to improve the bottom line instead. It's a natural progression for every megacorporation as they hit the limits of their growth.
by dennis_jeeves2 | 2025-04-14 17:54:28+00:00
>relationships do not survive being ripped away from the spatial and temporal context in which they were cultivated.

Very true, but also very unfortunate. The best people (a teeny almost non-existent minority) are not like that.

>weakly social with everyone except our direct family and significant others.

For a large number of people, (say 50 %) I suspect this is not true. Especially when people move from rural to urban areas.
by ryandrake | 2025-04-14 17:55:00+00:00
Everywhere you let the masses upvote and/or downvote, you're going to have the hive-mind problem. We have it here, too.

I'd propose having a separate UI for users to agree/disagree, vs. for users to flag rule breaking posts, like spam, flamebait, insults and so on. The agree/disagree count would just display a vanity number, but the rule-breaking UI would actually downweight the article or comment. You could audit occasionally and remove voting privileges from people abusing the rule-breaking UI as a "Mega-disagree."
by ninetyninenine | 2025-04-14 17:55:07+00:00
web development today is literally just massive massive mutation operations on databases.

Functional programming can't stop it, it just sort of puts a fence around it. The fence makes sense if it's just 10% of your program that you want to fence off. But the database is literally the core of our application then it's like putting a fence around 90% of the house and you have 10% of pure functional programming.

Most operations are located at the database level. That's where the most bugs occur and that's where most operations occur. You can't really make that functional and pure.

This high level stuff is actually wrong. At the highest level web apps are NOT functional.

I get where he's coming from but he missed the point. Why do functional paradigms fail or not matter so much at the micro level? Because web applications are PRIMARILY not functional by nature. That's why the stuff doesn't matter. You're writing and changing for loops into recursion/maps in the 10% of your pure code that's fenced off from the 90% core of the application.

You want to make functional patterns that are applicable at the high level? You need to change the nature of reality to do that. Make it so we don't need to mutate a database ever and create a DSL around that is functional. SQL is not really functional. Barring that you can keep a mutating database but create a DSL around it that hides the mutation.
by ysofunny | 2025-04-14 17:55:36+00:00
> I think speculative science always starts out as philosophy

or in my words: "the first approximation is poetic. the last one is mathematical"

from philosophy to hard-science and engineered tooling and other products (andor services)

similarly to

from poetry as dubious, cloudy, and vague ideas all the way to crystal clear, fixed and unmoving (dead) formalizations
by generj | 2025-04-14 17:55:41+00:00
This display is the modern 16x2 display for hardware hackers: cheap and versatile.

One of my favorite hacks is running this display over HDMI [0].

Note that it’s possible to refresh it at higher rates by using partial refreshes. Or even higher to 150 fps [1].

[0] https://hackaday.com/2022/04/01/making-your-own-technically-...

[1] https://hackaday.com/2018/05/08/push-it-to-the-limit-ssd1306...
by newfocogi | 2025-04-14 17:55:57+00:00
I recognize this is a somewhat rhetorical question and your point is well taken. But something that maps well is car makes and models:

- Is Ford Better than Chevy? (Comparison across providers) It depends on what you value, but I guarantee there's tribes that are sure there's only one answer.

- Is the 6th gen 2025 4Runner better than 5th gen 2024 4Runner? (Comparison of same model across new releases) It depends on what you value. It is a clear iteration on the technology, but there will probably be more plastic parts that will annoy you as well.

- Is the 2025 BMW M3 base model better than the 2022 M3 Competition (Comparing across years and trims)? Starts to depend even more on what you value.

Providers need to delineate between releases, and years, models, and trims help do this. There are companies that will try to eschew this and go the Tesla route without models years, but still can't get away from it entirely. To a certain person, every character in "2025 M3 Competition xDrive Sedan" matters immensely, to another person its just gibberish.

But a pure ranking isn't the point.
by Qem | 2025-04-14 17:56:07+00:00
> There are a number of small built-in functions, such as any, all, and enumerate, that are implemented in C. These functions are an obstacle to optimization as execution flows from Python to C and then back to Python. By rewriting these functions in Python, the optimizer can see across the function call boundary, so they can be better optimized.

Does this mean the experimental JIT could work better with code that uses map/reduce instead of the built-ins any/all? Or does the performance of map and reduce as currently implemented also suffer from this roundtrip between Python and C?
by numpad0 | 2025-04-14 17:56:26+00:00
These guys aren't privileged ruling class elites. They have no skills and paths and connections needed to see successes in such ventures. I actually think that is how China now has "football fields full of engineers", the competitive environment in Far East regions had been so over the top that qualities that should make somebody cream of the crop globally only float them halfway down the mug locally.
by alphan0n | 2025-04-14 17:56:52+00:00
> any death within 90 days of giving birth is labeled as a pregnancy-related death. The person could be hit by a car, or die of a drug-overdose, and it would be still be identified as a pregnancy related death.

Citation needed.

*The CDC directly refutes this claim.

> The Centers for Disease Control and Prevention (CDC) conducts national surveillance to better understand the causes of pregnancy-related deaths. The Pregnancy Mortality Surveillance System (PMSS) defines a pregnancy-related death as a death during or within 1 year of the end of pregnancy from any cause related to or aggravated by the pregnancy. Medical epidemiologists review and analyze applicable vital records, and additional available data from all 50 states, New York City, and Washington, DC. Beginning in 2020, data from Puerto Rico are included, and in 2021, data from Northern Mariana Islands are included in PMSS.

https://www.cdc.gov/maternal-mortality/php/pregnancy-mortali...
by Kerollmops | 2025-04-14 17:57:02+00:00
Meilisearch just improved the indexing speed and simplified the update path. We released v1.12 and highly improved indexing speed [1]. We improved the upgrade path with the dumpless upgrade feature [2].

The main advantage of Meilisearch is that the content is written to disk. Rebooting an instance is instant, and that's quite useful when booting from a snapshot or upgrading to a smaller or larger machine. We think disk-first is a great approach as the user doesn't fear reindexing when restarting the program.

That's where Meilisearch's dumpless upgrade is excellent: all the content you've previously indexed is still written to disk and slightly modified to be compatible with the latest engine version. This differs from Typesense, where upgrades necessitate reindexing the documents in memory. I don't know about embeddings. Do you have to query OpenAI again when upgrading? Meilisearch keeps the embeddings on disk to avoid costs and remove the indexing time.

[1]: https://github.com/meilisearch/meilisearch/releases/tag/v1.1... [2]: https://github.com/meilisearch/meilisearch/releases/tag/v1.1...
by runjake | 2025-04-14 17:57:20+00:00
1. Understanding the fundamentals deeply, so that it's "muscle memory". Everyone is trying to race and learn as much as they can. I think they'd get much farther by focusing more on the fundamentals of the technology they use and the whys of that technology.

2. Caring. A lot of people just plain don't care. This might not be their fault. It may be a compensation issue, I don't know, but it's pretty rare, in my experience.
by janalsncm | 2025-04-14 17:57:22+00:00
Don’t understand the cynicism either. Is this not way cooler than the latest pre-revenue series F marketing copy slop bot startup?

To me this task looks less like next token prediction language modeling and more like translating a single “word” at a time into English. It’s a pretty tractable problem. The harder parts probably come from all the messiness of hearing and playing sounds underwater.

I would imagine adapting to new vocab would be pretty clunky in an LLM based system. It would be interesting if it were able to add new words in real time.
by jellicle | 2025-04-14 17:57:34+00:00
So, HN has deleted this off the front page after about 20 minutes, and sure, they generally want to avoid "political" stories but the simple fact is that when a "political" story reaches a certain legal of magnitude it becomes the only thing of real importance. This is an issue of seismic importance for the tech world, or at the very least the US tech community, whether HN accepts that or not.