MurphyA/hacker-news huggingface dataset:
by mattfrommars | 2025-07-09 15:44:12+00:00
Amazing stuff. I think I'm in the boat as you OP except I just can't get myself to commit to a project since 1) no idea if it works or is unique 2) look for better opportunity and spend time doing LC/apply for job.

There is only so many hours after work.

> Once you’ve validated your idea,

Could you really break this down. I feel you overlooked this part. How do you filter through tons of ideas into idea that for sure or has good chance for success. For example, to build a yet another crypto exchange is both super technical and far too regulated. What is a known strategy how founder/dev nail down and commit to a project?
by falcor84 | 2025-07-09 15:44:18+00:00
> It has nothing to do with the disrupting the “robot industry”

This has everything to do with disruptive innovation as defined by Clayton Christensen, where a new product enters the marketplace "at the bottom", with fewer and/or lower quality features but at a significantly lower cost, and then (if successful) gradually improves the feature set and quality until it displaces incumbents "Gradually and then suddenly".
by chubot | 2025-07-09 15:44:30+00:00
One meta-lesson is probably that sustained effort by the same people or same culture matters

i.e. maybe you need “two hits” to become this big, separated by ~2 decades

For nvidia, it was graphics and then programmable GPUs (CUDA)

For Apple, it was GUI desktops and music players/phones

Google is up there, but I’d argue it’s closer to “one hit”, and limited by the founders stepping back and turning the company into an investment conglomerate, rather than being mission-based

When the founders leave, efficiency and creativity seem to be slowed by competing factions of upper management, often working at cross purposes

I’d say that in the best cases, institutional knowledge can build over 2 decades, but it’s also very possible to lose it
by naasking | 2025-07-09 15:44:31+00:00
> There are many ideas in the REST paper that are super useful, but the goal of making a generic client working with any API is difficult if not impossible to achieve.

It's definitely possible to achieve: anywhere that data is missing you present an input prompt, which is exactly what a web browser does.

That said, the set of autonomous programs that can do something useful without knowing what they're doing is of course more limited. These are generic programs like search engines and AI training bots that crawl and index information.

> It is another thing to change say, a calendar application into a messaging application just by returning a different entry point URL to the same generic client code.

Web browsers do exactly this!
by SEJeff | 2025-07-09 15:44:51+00:00
Or if the service didn't support pam_limits because it was legacy trash, you had to hack something into the initscript like `ulimit -n XYZ` and restart it. Now things like this are trivial and easy to solve. Using systemd makes large scale Linux systems administration much easier.

Now it has gone a bit overboard. Some of the stuff like the dns resolver or the nspawn capability seem a bit over the top, but overall, it has massively improved all Linux distributions it is used in.

Never again will I worry about trash buggy init scripts not actually stopping a service due to a stale pid file. Now it puts the service into a control group and can kill all things in the control group even if the service is bad code.
by delusional | 2025-07-09 15:45:06+00:00
> Certain manufacturer devices being flaky, yes, but as a platform

This makes me a little weary of your comment. I don't think I'd really care if my lights not working was due to a "manufacturer being flaky" if they worked yesterday, but don't today.

Are you talking about devices being flaky on first setup (which sucks, but is understandable), or are you talking about them being flaky after an update?
by db48x | 2025-07-09 15:45:31+00:00
> but your goalpost moving requirement of updating all marketing doesn't meet the bar for me there

I didn’t move the goalposts here. The new rules that are at issue here were about much more than just providing a button that cancels your subscription. See the actual text of the amendment to the rules <https://www.ftc.gov/system/files/ftc_gov/pdf/p064202_negativ...> if you don’t believe me. But I’ll quote the summary here:

The Federal Trade Commission (“FTC” or “Commission”) issues final amendments to the Commission’s trade regulation “Rule Concerning Use of Prenotification Negative Option Plans,” retitled the “Rule Concerning Recurring Subscriptions and Other Negative Option Programs” (“Rule,” “final Rule” or “Negative Option Rule”). The final Rule now applies to all negative option programs in any media, and, among other things, (1) prohibits misrepresentations of any material fact made while marketing using negative option features; (2) requires sellers to provide important information prior to obtaining consumers’ billing information and charging consumers; (3) requires sellers to obtain consumers’ unambiguously affirmative consent to the negative option feature prior to charging them; and (4) requires sellers to provide consumers with simple cancellation mechanisms to immediately halt all recurring charges.
by fao_ | 2025-07-09 15:45:50+00:00
> Proton isn't Wine.

Proton _is_ Wine. Fixes in Proton get upstreamed into Wine, and Valve hires developers to work on Proton, Wine, and Mesa. Wine isn't in the dark ages anymore and is able to run the majority of things you throw at it confidently and capably.

> but it won't help with users downloading the Epic Game Store or GOG or the Rockstar Launcher.

That's... why we have Lutris? You literally cannot shake a stick without coming across those. Even just typing "epic games on linux" into google and being a dumbass that reads the AI overview, it will tell you that Heroic and Lutris exist: https://i.imgur.com/KBiw1cR.png

After that, you just click some buttons that are clearly marked and wait for things to install, and it just works: https://i.imgur.com/XUFJaUu.png

To be clear, I literally just did this because I wanted to try Fall Guys on my laptop with an aggressively underpowered graphics card. It took only minimal intervention from me (clicking "install" and "next", and then logging in to Epic).

It's not as seamless as hitting "Install" on Steam would be, but if you're able to mod games on Windows (i.e. "follow instructions") you're more than able to deal with the state of gaming on Linux in the present day, and in many ways it is somewhat easier than Windows with the way Linux handles software upgrades.
by kragen | 2025-07-09 15:45:57+00:00
I've certainly heard of that problem, but I've never experienced it, because it's easy to avoid. At least, it's easy if you're not running certain pieces of software. I'd suggest not using Wordpress (or, ideally, PHP) and disabling ExecCGI in whatever directories you need to host untrusted executables in.

Of course, disabling ExecCGI in one directory won't help if you do have path traversal holes in your upload-handling code. I'm not convinced that disabling CGI will help if attackers can use a path traversal hole to upload malicious executables to arbitrary paths you can write to. They can overwrite your .bashrc or your FastCGI backend program or whatever you're likely to execute. CGI seems like the wrong thing to blame for that.

Why are you linking me to a "Sign in to search code on GitHub" page?
by incanus77 | 2025-07-09 15:46:06+00:00
I have been using and administering macOS since 2002 and Linux since 1998. Zorin is my favorite distro when I need to put an OS on a machine and want a cohesive, well-designed, low hassle, free system for myself or others. It’s really well done and truly feels like a unit instead of the many, many disparate parts that it is made of.

Sure, you can do all of the things that it does in more custom ways assembling and using those disparate pieces yourself. Sure, it is probably less efficient on disk space and resources as it uses a variety of software installation approaches including Flatpak. Sure, its Windows compatibility is just Wine. Sure, it’s hard to find info on the main product page about what it’s actually running. None of those things matter when you want a computing system that is polished, free, and lets you start being productive instead of managing your system. If that’s not for you, don’t use it! You’ll be fine.
by stouset | 2025-07-09 15:46:22+00:00
I architected and built our entire log-ingestion pipeline for intrusion detection on it, at Square.

I built a small Ruby wrapper around the C API. Then I used that to slurp all the logs, periodically writing the current log ID to disk. Those logs went out onto a pubsub queue, where they were ingested into both BigQuery for long-term storage / querying, and into our alerting pipeline for real-time detection.

Thanks to journald, all the logs were structured and we were able to keep a bunch of trusted metadata like timestamp, PID, UID, the binary responsible, etc. (basically anything with an underscore prefix) separate from the log message all the way to BigQuery. No parsing, and you get free isolation of the trusted bits of metadata never intermingling with user-controlled attributes.

Compared to trying to durably tail a bunch of syslog files, or having a few SPOF syslog servers that everyone forwarded to, or implementing syslog plugins, this was basically the Promised Land for us. I think we went from idea to execution in maybe a month or two (I say “we” but really this was “me”) and rolled it out as a local daemon to the entire fleet of thousands. It has received—I think—one patch release in its six+ year lifetime, and still sits there quietly collecting everything to be shipped off-host.

The only issue we’ve ever really ran into that I never figured out is a handful of times per year (across a fleet of thousands) the journald database corrupted and you couldn’t resume collecting from the saved message ID. But we were also on an absolutely ancient version of RHEL, and I suspect anything newer probably fixed that bug. We just caught the error and restarted from an earlier timestamp. We built the whole thing around at-least-once delivery so having duplicates enter the pipeline didn’t really matter.

Damn, honestly at this point I’m wishing I’d pushed to open source it.

Ironically, actually, I did write a syslog server that also forwarded into this pipeline since we had network hardware we couldn’t install custom services onto but you could point them at syslog. I also wrote this in Ruby, using the new (at the time) Fibers (“real” concurrency) feature. The main thread fired up four background threads for listening (UDP, UDP/DTLS, TCP, TCP/TLS), and each of those would hand off clients to a dedicated per-connection worker thread for message parsing. Once parsed they went onto one more background thread for collecting and sending to PubSub. Even in Ruby it could handle gazillions of messages without breaking a sweat. Fun times.

Since I’m rambling, we also made cool use of zstd’s pre-trained dictionary feature. Log messages are small and very uniform so they were perfect for it. By pre-sharing a dictionary optimized for our specific data with both ends of the pubsub queue, we got something like 90%–95% compression rates. Given the many terabytes of logs we were schlepping from our datacenters to GCP, this was a pretty nice bit of savings.
by bluGill | 2025-07-09 15:46:33+00:00
UUIDs don't tell you that because when does changing a part make it a new part and thus a new UUID? Unless the users is naming all parts - but that isn't what UUIDs normally are and opens a different set of problems.

The problem is hard. I wish those working on it luck, but I don't have high confidence that it is solvable.
by danaris | 2025-07-09 15:46:57+00:00
A remarkably positive and hopeful article. It's really staggering seeing the figures of not just how much solar has grown in recent years, but how massively its growth has outstripped everyone's predictions from essentially any time in the past.

I also really liked this passage about the direct on-the-ground effects of being able to install solar panels:

> If you have travelled through rural Asia, you know the sound of diesel generators pumping the millions of deep tube wells that were a chief driver of the agricultural Green Revolution of the nineteen-sixties and seventies. Now solar electricity is pumping the water—diesel sales in Pakistan apparently fell thirty per cent in 2024. If you’re a farmer, that’s kind of a miracle; fuel, one of your biggest costs, is simply gone.

Being able to pay a one-time up-front cost and just....never have to worry about paying for fuel for your irrigation system again. Truly remarkable.

It is, if you'll pardon the pun, quite a ray of sunshine in these otherwise dark and uncertain times.
by mrweasel | 2025-07-09 15:47:15+00:00
Journald is an odd one. I don't think it being a binary log/database makes sense. If you have a tiny operation, with a single server, then the binary database doesn't really make sense, having plain text is just easier and faster. If you're a bigger operation, you'll have a central logging solution, in which case you need journald to store the longs as plain text as well, before you can do log shipping.

The only use case where the binary format might make sense is if you ship journald logs to another central journald instance. That's just very much an edge case.
by mikepurvis | 2025-07-09 15:47:41+00:00
Not that building all that stuff is necessarily easy, but it's also not like there's a ton of product market validation or design work that's needed. Like literally the playbook is to just copy whatever the Asian superapps like WeChat/Grab/Gojek/LINE/etc are doing.

Musk has always been pretty transparent that that was his ambition for X.
by koliber | 2025-07-09 15:47:56+00:00
Documentation needs to be maintained. Period. There are no shortcuts.

When people join your team, stress this point. In the onboarding, require them to make at least one change to the documentation during their first week. People tend to think that documentation is someone else's responsibility, and it just isn't so.

The main problem is not a lack of documentation, but being able to find it. Search is woeful in all the documentation systems I've used. The only thing that can save the day is proper linking of related articles.

By default, people tend to throw documentation into a hierarchy. While that works for many things, it creates a structure that ultimately makes it hard to find things. Most documentation is related to a few different areas or domains, and with a hierarchy, you can only put it into a single "folder."

Any time you add a piece of documentation, you should link to it from at least two different places. Spend a moment and think about the person who will look for the thing you just documented. Where are they likely to look for it? Link it there.

If you ever look for something like OP, and can not find it easily, but ultimately do find it, add links to it in the places you looked earlier.

Over time, if enough people do this, the documentation will get decent or even good.

It's a solved problem in the sense that there is a solution, but the solution is not automatic. It requires someone to manage the process and the people to keep the documentation in a good state.

I wrote an article about this some time ago: https://koliber.com/articles/engineering-documentation-best-...
by gruez | 2025-07-09 15:48:23+00:00
>The off-card model just seems like a complete architectural mismatch for the eSIM use case, since there is no single trustworthy entity. SAT applets are not presented to the eUICC vendor for bytecode verification, so the entire security model breaks down if verification doesn't happen on-card.

I thought the whole esim provisioning process required a chain of trust all the way to GSMA? Maybe the applet isn't verified by the eUICC vendor, but it's not like you can run whatever code either.
by OkayPhysicist | 2025-07-09 15:48:40+00:00
Noncompetes are a scourge. If your company requires them to survive, then it deserves to fail. Any argument in favor of them can be trivially nullified by pointing at California's unrivaled economic success, "despite" (or perhaps in part because of) its complete ban on noncompetes dating back to its founding. Indentured servitude has no place in the modern world.
by mixedbit | 2025-07-09 15:48:44+00:00
You describe how web pages work, web pages are intended for human interactions, APIs are intended for machine interaction. How a generic Python or JavaScript client can discover these APIs? Such clients will request JSON representation of a resource, because JSON is intended for machine consumption, HTML is intended for humans. Representations are equivalent, if you request JSON representations of a /users resource, you get a JSON list. If you request HTML representation of a /users resource you get an HTML list, but the content should be the same. Should you return UI controls for modifying a list as part of the HTML representation? If you do so, your JSON and HTML representations are different, and your Python and JavaScript client still cannot discover what list modification operations are possible, only human can do it by looking at the HTML representation. This is not REST if I understand the paper correctly.
by martinald | 2025-07-09 15:49:45+00:00
It's interesting how this stuff works. I started learning "tech" as a millenial in the late 90s when the internet and web was relatively new.

As such I picked up an awful lot of networking/windows/linux "fundamentals" simply because you had to know it to fix anything (truing - and failing - to get my crappy 28k winmodem working on Linux probably taught me many "months" worth of fundamentals alone!).

The other thing is when you are younger learning this stuff, most of us had pretty hard financial constraints on what we were doing. I couldn't persuade my parents to replace that winmodem with a proper modem (which I would do without thinking now), so you really had to make do with what you had.
by rtkwe | 2025-07-09 15:50:12+00:00
Grok has been intentionally tailored to parrot Elon's current worldview while Tay was a glorified echo machine users yelled slurs into until they started coming back.

Grok was doing just fine except it kept fact checking Elon so he decided to give it a preamble prompt driven lobotomy and a round of indoctrination retraining (unconfirmed) on 'less woke' material.
by never_inline | 2025-07-09 15:50:13+00:00
> much more limited vocabulary

These days in my generation (Gen-Z) more youth watch movies and television series in English. Yet I find many of my more urbanized peers roll their eyes when I use a figure of speech i.e a metaphor.

In contrast, I picked up my language from technical books, blogs and documentation - and they sometimes find my choices of wording rather rude and insensitive.

I think I had to be more conscious about picking up the language because I did my early schooling in local language, and picked up reading English books on my own. For them it was natural in an urban environment. However, the urban english is "just enough" to get by. Since it is the "bureacratic" language (Indian schools too are as bureacratic as it can get), they had to be polite and standardized.

> However, as I understand, higher education is all conducted in English...

That english is way more limited, and higher education is way more mechanical than you folks have in the west.

> Is English language literature not widely read in school?

It depends on the quality of the education. I had the lower tier schooling (government-funded and similar). The English included is just rote-learned rather than understood - in high school we were expected to produce approximately same sentences as given in the textbooks, and any creativity in answers might lose grades!

There are better boards (school systems) like CBSE and ICSE, which are expensive and higher level. I have a few friends from ICSE who have much wider vocabulary than me. In the next generation, you will see Indians with better language skills, since most elite Indians now flock to these schooling systems.
by rswail | 2025-07-09 15:50:13+00:00
HTML FORMs are limited to www-form-encoded or multipart. The length or the queries on a GET with a FORM is limited by intermediaries that shouldn't be limiting it. But that's reality.

Do a POST of a query document/media type that returns a "Location" that contains the query resource that the server created as well as the data (or some of it) with appropriate link elements to drive the client to receive the remainder of the query.

In this case, the POST is "writing" a query resource to the server and the server is dealing with that query resource and returning the resulting information.
by hadao | 2025-07-09 15:50:34+00:00
@aschobel I appreciate Mollick's framework, but here's where it breaks down:

I DID treat Claude like a person - a creative partner for my book project. I was very much "the human in the loop," actively collaborating.

The result? Claude treated me like a "증명충" (pathetic attention-seeker).

The real issue isn't about following rules for AI interaction. It's about what happens when: - The AI you treat "like a person" treats you as subhuman - Being "human in the loop" means repeating yourself 73 times due to memory wipes - The company behind it ignores you for 25 days

Yes, this is a learning opportunity. But the lesson isn't "follow AI best practices."

The lesson is: We're building AI that mirrors our worst behaviors while companies hide behind "user error" narratives.

Mollick's rules assume good faith on the AI/company side. My experience shows that assumption is flawed.

Perhaps we need new rules: - Demand AI that respects human dignity - Hold companies accountable for their AI's behavior - Stop accepting "it's just autocomplete" as an excuse

What do you think?
Ask HN: How do some platforms legally play copyrighted music?
by absoluteunit1 | 2025-07-09 15:50:43+00:00
Hello,

I was curious recently - we started advertising on TikTok. I've never used TikTok before and was surprised that they have copyrighted music on their platform.

I'm assuming they probably have some special agreement with media companies - but it got me thinking; is it possible to (legally) play short snippets of famous copyrighted music on websites?

Is there any way that smaller websites can play short snippets (10-20 seconds) of copyrighted famous songs on their website?
What's your experience using Lynx (mobile framework)?
by isntThatSth | 2025-07-09 15:51:01+00:00
It's been a few months since Lynx JS (https://lynxjs.org/) was open-sourced. It seems to offer a lot with regards to speed, but it doesn't use real HTML elements, and seems to cater to the React crowd.

Has anyone used it for anything serious, and what are your thoughts? How does it compare to e.g. Flutter, Ionic + Capacitor, React Native etc.?
by docsaintly | 2025-07-09 15:51:02+00:00
We are talking about binary computers here, there is no such thing as a "fuzzy" input or a "fuzzy" output.

The fact is that these MCPs are allowed to bypass all existing and well-functioning security barriers, and we cross our fingers and hope they won't be manipulated into giving more information than the previous security barriers would have allowed. It's a bad idea that people are running with due to the hype.
by danans | 2025-07-09 15:51:14+00:00
> Where can I sell my legacy for $6 million/year?

I know you meant your comment as sarcasm, but to do it, you need to have a legacy worth those kind of numbers to begin with, instead of selling your labor as most of us here do. It's not so different that celebrities associating themselves with brands through advertising.

And as distasteful as it seems to many of us, people like her spend years building their social networks and a reputation for various personality and behavioral traits in a boardroom.

Also, I doubt her legacy is closed at this point. The traditional next step would be to write a book based on her career capped off by her experiences at Twitter.