MurphyA/hacker-news huggingface dataset:
by fxtentacle | 2025-05-08 09:06:26+00:00
I'll try to explain this from the point of view of someone who has tried to bring a bloatware-free hifi system to market:

Chinese copies + Amazon = flood of shit

It takes years to design, test, build prototypes, measure, re-design, re-build, calibrate, certify and produce a good hifi audio amp. That means you start your product journey with $500k in debt and unless you can show how you're going to sell enough units to recover this, your project is dead before it ever started. You typically need to sell at 8x of your real costs, because shipping companies, import agents, wholesalers and retailers all want (and need) their margins. If I expect to sell 2,000 units per month (which is A LOT already) for 2 years, then I need to add about $10 to my costs per unit to recover the R&D expenses. And that means as long as Amazon is happy to turn a blind eye on IP-infringing blatantly obvious clones that typically even re-use my product images or slogans or brand names ... then my "original" product will be undercut by $10x8 = $80 in price by Chinese clones. They don't have R&D to recoup because the can just buy my product, x-ray the PCB, and then make duplicates. And trying to get Amazon to follow the law is like playing expensive whack-a-mole with lawyers. It won't help to recover money.

That means as the manufacturer, I have exactly 1 way left to recover R&D expenses:

I lock down the software. And then I either shove ads in your face, or I bully you into a subscription. Or if the ads pay too little, both.

I hate the situation as much as you do, but I also see no better way forward. Nowadays, you need to plan for the flood of shitty clones on Amazon a week after launch. (Or in some cases, even before the original product clears import customs.) And that means you treat hardware as cheap and disposable, because your competitors do that and unless you join them, you're at a huge market disadvantage, because the average customer cannot tell the difference between a low-quality and a high-quality capacitor. (And Amazon doesn't care.)

https://www.cultofmac.com/news/selfie-stick-iphone-case-gets...

(And please note that these guys even had US patents on the product. Didn't help them, though.)
by lazide | 2025-05-08 09:06:43+00:00
India is also buying oil from Russia - at a discount, or used to - because it is one of the few that could do so openly.

Attacking Pakistan over this also strengthens BJP’s hand and distracts everyone from the complaints that have been eroding their support, like ongoing corruption, high taxes with lower quality of life, etc. etc.

Don’t expect the gulf countries to come to Pakistan’s aid over this, especially if it comes to money. Muslim countries in general like to pretend to be friends, and they certainly talk a big game.

When it comes to actually doing anything though, they just use anything going on as a chance to stab each other in the back. Even when there is a chance for going after ‘the common enemy’ like Israel.

India hasn’t even been close to interesting to any of them since the Mughals. The minority Muslim population in India (about 20%) is also just a little less than Pakistans entire population, and almost half of the entire Middle East’s population, so it’s not like it would be a clean ‘attack the Hindu’s’ type situation anyway.

Also, Indians in general are not particularly warmongering, but this is about as righteous a cause as anyone has been able to come up with for awhile to ‘make someone pay’, is total rage bait for the hardliners/Hindutva contingent and is a good distraction for BJP.

As long as it doesn’t get too expensive, or look like it will escalate to Nuclear war, I’d expect it to go on awhile.

India in general loves to get all worked up about Pakistan (and to a lesser extent Bangladesh, though in that case it’s often about illegal immigrants).

It’s a trope like getting worked up about Cartels and/or ‘the illegals’ from down South in the US.

Source: westerner living in India for awhile now. मैं हिंदी नहीं बोल सकता, but I still get around eh?
by FitCodIa | 2025-05-08 09:07:29+00:00
Thanks for the link to The Bitter Lesson.

I indeed find the lesson that it describes unbearably bitter. Searching and learning, as used by the article, may discover patterns and results (due to infinite scaling of computation) that we, humans, are physically uncapable of discovering -- however, all those learnings will have no meaning, they will not expose any causality. This is what I find unbearable, as it implies that the real world must ultimately remain impervious to human cognizance; it implies that our meaning- and causality-based human reasoning ultimately falls short to model the world, while general, computation-only methods (given ever-growing computing power) at least "converges" to a faithful (but meaningless) description of the world.

See examples like protein folding, medicine research, AI-assisted diagnosis, self driving cars. We're going to rely on their results, but we'll never know why those results work. We're not going to reject self-driving cars if those cars save lives per same distance driven and/or same time driven; however, we're going to sit in, and drive, those cars blind. To me, that's an unbearable thought, even apart from the possibility that at some point the system might break down, and cause a huge accident inexplicably. An inexplicable misbehavior of the system is of course catastrophic, but to me, even the inexplicable proper behavior of the system is an unsettling thought -- because it is inexplicable.

Edited to add: I think the phrase "how we think we think" is awesome in the essay. We don't even know how our reasoning works, so trying to "machinize" those misconceptions is likely bound to fail.
by logicallee | 2025-05-08 09:07:41+00:00
The screenshot is an example of someone making a reference to "removing fingers" (direct quote from the image) to make someone "care more" (direct quote from the image).

Regarding all the asterisks, your guess is as good as mine. Perhaps it is to make the text look scarier and more menacing, or more serious, or to make it seem like it was written by a madman who will actually do what is described. It's hard to know why they did that.
by ChrisMarshallNY | 2025-05-08 09:07:59+00:00
I’ve been using Apple’s docc[0]. It mostly just means that I write my code docs the same way as I always have (Doxygen markdown style), but it has an additional “compile” step, that produces a build artifact that integrates into the Xcode Documentation engine. You can make a pretty rich experience, with things like images and videos, all linked directly to your code.

Fairly cool, but it requires Xcode, to work properly. It doesn’t really have a decent “export” capability, for things like GitHub Pages. There’s a fairly awkward way prescribed by Apple, that is annoying AF, and breaks easily, so I don’t usually bother. I’ll use Jazzy Docs to produce the GH Pages output.

I would love it, if GitHub would parse docc artifacts for GH Pages, but it’s probably too much of a pain to do.

[0] https://www.swift.org/documentation/docc/
by iforgotpassword | 2025-05-08 09:09:19+00:00
If you argue that you can trust the cloud provider not to be malicious, you also just argued that you don't need SGX at all. No tinfoil hat required.

And yes, not using that tech is not a better approach then, but not worse either. But better in the way that Intel doesn't need to build convoluted shit into their cpus that might actually worsen security through exploits.
by dsign | 2025-05-08 09:09:23+00:00
My mom has complained her entire life about the Sahara sands, which, according to her, cross the Atlantic and find our home in the Caribbean. But the first time I visited the Canary Islands, there was a Calima blowing, and sand was in the air like mist is in Arthur Conan Doyle's novels. But I read somewhere that what caused the Green Sahara was higher temperatures in the tropics and equator[^1], which somehow increased the amount of atmospheric water and South African monsoon reach. Those conditions could occur again if the AMOC halts. OFC, it's all speculation on my part.

[^1] Linked to planetary axial precession, not anthropogenic climate change.
by raydenvm | 2025-05-08 09:12:01+00:00
My experience with Cursor - it's a great tool to work with websites and may be simpe yet vast app code updates. You have quite a lot of control and diffs are helpful.

For engineering though, it's probably better to spend more money on Claude Code. He will be your super-knowledgeable junior assistant, which will result in much higher efficiency. AIDER is also an option.
by jeroenhd | 2025-05-08 09:13:48+00:00
The world of email is full of zombie servers that should've died years ago but still linger. Configuring your email server to require the security that was considered "modern" ten years ago in terms of websites will still get you delivery failures when you start dealing with email servers. There's a reason Google is deprecating 3DES now, and not ten years ago when they reasonably should've.

Because email customers on all sides want email to arrive, there's little incentive to modernize configurations or requirements. When you disable ancient cryptography, you'll get blamed for your change making email from someobscurewebsite.gov no longer arriving. For a significant amount of mail servers, you can pick between "accept a random self-signed certificate using a cipher suite from the late 2000s" or "send email over unencrypted SMTP", and you just have to hope that the email server doesn't have your domain configured as "secure transmission required".

I'm in favour of Google just breaking the old, broken mail servers, but I wouldn't assume that TLS 1.2 is available on email servers.
by barrkel | 2025-05-08 09:15:33+00:00
Actually I think a big part of the problem in C++ is the low level of abstraction of the standard library. It isn't friction that might cause an image resizing library to be all-encompassing; it's the lack of an abstract Image class in the standard library which would enable a resizing library to live side by side with image encoders and decoders, instead of needing to bundle them together.

The C++ standard library isn't rich enough. It doesn't have enough concepts for a good ecosystem of smaller components.
by tialaramex | 2025-05-08 09:16:08+00:00
The latter.

What we're talking about here is a TLS negotiation. So, when you connect to a TLS server, in this case to deliver email to Gmail over SMTP - you tell it what ciphers you know [the RFCs list "Mandatory to implement" ciphers, but the IETF do not have an enforcement arm, so you could choose to list only ciphers you made up here for whatever that's worth] - and then the server picks one from your list.

Google's change here is when a client calls Gmail and professes that the least awful cipher it knows is 3DES, that's too bad, connection failed.

So yes, this only affects email which was previously using this awful cipher and now just can't be delivered instead.
by mvanbaak | 2025-05-08 09:16:18+00:00
I hate to be that guy but how on earth do you have a "high-end" system (your words) that does all this?

Sure, there is some boot up time to warm everything up, but there are no ads and no user agreements etc on mid to high end systems.

Even my entry level system (denon avr, lg c1 oled, appletv4k and ugoos as media players) does not take more then 10 seconds from totally off to showing the menu / plex interface, and no user agreement popups or ads
by jruohonen | 2025-05-08 09:16:33+00:00
"In response to these trends, publishers will be putting more effort this year into building relationships with AI platforms [...] such as ChatGPT and Perplexity, both of which have been courting high-quality content in return for citations and/or money."

SEO there, SEO here.

A little backtrack: media paywalls are supposedly increasing (or have already done so):

https://news.ycombinator.com/item?id=43923952

And citations are frequently hallucinated:

https://news.ycombinator.com/item?id=43818313

And now it seems they can be also bought. A prediction might be that soon enough these have even less resemble with the actual learning materials. Another might be that also sloppers will engage with the citation gaming.
by fxtentacle | 2025-05-08 09:18:05+00:00
Many devices nowadays use Linux internally and if the development team was too ignorant to change the default, it'll behave like a web server and wait for wifi to connect, then wait for the NTP time synchronization, and only then continue booting to userland.

So yes, you can probably shave off 3 seconds of boot time by never connecting your gadget to the internet.
by OskarS | 2025-05-08 09:18:26+00:00
> The only one that springs to mind is a View hierarchy in UI libraries.

I'd like to generalize that a little bit and say: graph structures in general. A view hierarchy is essentially a tree, where each node has a bunch of common bits (tree logic) and a bunch of custom bits (the actual view). There are tons of "graph structures" that fit that general pattern: for instance, if you have some sort of data pipeline DAG where data comes in on the left, goes out on the right, and in the middle has to pass through a bunch of transformations that are linked in some kind of DAG. Inheritance is great for this: you just have your nodes inherit from some kind of abstract "Node" class that handles the connection and data flow, and you can implement your complex custom behaviors however you want and makes it very easy to make new ones.

I'm very much in agreement that OOP inheritance has been horrendously overused in the 90s and 00s (especially in enterprise), but for some stuff, the model works really well. And works much better than e.g. sum types or composition or whatever for these kinds of things. Use the right tool for the right job, that's the central point. Nothing is one-size-fits-all.
by eru | 2025-05-08 09:19:55+00:00
Only if you also ate some random other stuff you found lying around. Doesn't even have to provide much in the way of energy, just enough 'dirt' to round out your diet with whatever other essentials you need.

Human bodies have evolved to survive for a long time on relatively little, yes. But not to evolve for a very long time on a single source of very 'clean' food like snickers bars. 'Clean' in the sense that chemically snickers has relatively well defined inputs, whereas hungry humans would eat just about anything, including insects and grass and bark or leather.
by DeborahWrites | 2025-05-08 09:19:58+00:00
Thanks for pointing this out. The post starts from the assumption that people have at least heard of "docs like code", because it's a widely-used term/practice in tech writing. So I was aiming at tech writers who heard the term, but lacked the knowledge to use the technique (original draft of the post was in response to a less technical tech writer asking me a ton of questions)

But perhaps I need to explain this up top, rather than hoping people will hang in there until the explanatory section.
by django-john | 2025-05-08 09:21:12+00:00
Nice. Clean and lightweight compared to full routing stacks like OSRM or Graphhopper, which can be a bit much for smaller/local tasks. Curious why the README calls it an "approximation" though — Dijkstra gives exact shortest paths unless you're simplifying inputs. Maybe that's referring to free-flow assumptions or limitations in the underlying network data? Still, cool to see a focused US-only tool.
by DeborahWrites | 2025-05-08 09:23:09+00:00
Very valid question. I have tested it a little! I wrote it because a less technical tech writer was asking me a ton of questions, and he found it helpful. I also got a non-technical marketing person to review it, and she said she was able to learn a lot from it (those are the two people I thank in the intro)

It's obviously not going to get someone up and running: it's not a hands-on practical guide. But there are already quite a lot of those out there (for instance, most static site generators have acceptable getting started docs) The aim is to provide the missing conceptual info that's usually assumed by the creators of tools, but that not all tech writers have. Ideally, it should make them feel more comfortable following, say, an intro to git tutorial, because they have a bit more context/explanation backing them up.
by zb | 2025-05-08 09:23:09+00:00
A city is not a tree: https://www.patternlanguage.com/archive/cityisnotatree.html

Even trees are not trees: https://en.wikipedia.org/wiki/Anastomosis

Evolution is most definitely not a tree.

Nature also tends towards practicality, even more so than programming. Trees aren’t a fundamental truth, they’re a made-up oversimplified abstraction.
by jfjfjtur | 2025-05-08 09:23:41+00:00
Yes, and it seems like it could’ve been written in-part by an LLM. But, the LLM could take your criticism, improve upon the original, and iterate that way until you feel that it has produced something close to an optimal textbook. The one thing missing is soul. I noticeably don’t feel like there was anyone behind this writing.
by throwaway2037 | 2025-05-08 09:23:45+00:00
> "Identity theft" is a term coined by banks to try to make it sound like random people should have to deal with the fallout of the banks' bad identity verification practices.

Wow, great point. I admit: I have been tricked by financial institutions to believe this term! Another (US military) term that is similarly misleading to me: "surgical strike". If they blow up the bus stop in your neighborhood with a cruise missile fired from 300km away... well, you won't ever feel safe in that neighborhood again... so the strike is certainly less than "surgical".
by PhilipRoman | 2025-05-08 09:23:47+00:00
Believe it or not, when I started to learn programming I had no idea that "plain text" was a thing, since I had only been taught Word at school. So I think this is very valuable for many people who work in tech adjacent areas.

Now I feel physical pain every time someone sends me documentation in Word format since I know there are at least five diverged versions floating around, with no easy way to compare them (Word diff is stuck in 20th century), full of embedded diagram PNGs that are impossible to update unless you were the author and inconsistent styling on top of that.
by django-john | 2025-05-08 09:24:15+00:00
Tried it out just now — really smooth experience. Feels way simpler than messing with ChatGPT image plugins or figuring out prompts. I am tech guy so it is easy to create a prompt, but others might not. The styles are actually pretty polished too. This seems like a good fit for people who just want a nice-looking, personalized image without jumping through hoops.
by int_19h | 2025-05-08 09:24:27+00:00
> Those default-implementations are only accessible when the object is accessed via that interface; i.e. they aren't accessible as members on the object itself.

That's true in C# but not in Java, so it's not something intrinsic to the notion of an interface.

> Furthermore, interfaces (still) only declare (and optionally define) vtable members (i.e. only methods, properties, and events - which are all fundamentally just methods), not fields or any kind of non-static state

This is true, but IMO largely irrelevant because get/set accessors are a "good enough" substitute for a field. That there is even a distinction between fields and properties in the first place is a language-specific thing; it doesn't exist in e.g. Eiffel.
by ignoramous | 2025-05-08 09:24:34+00:00
> Note: If you _need_ a blockchain in your VPN, I would say nym.com is the most trustworthy of them out there at the moment.

There's a wholespace of what's known as "dVPNs". I like the concept behind saurik et al's https://orchid.com/vpn; it was specifically marketed as a Tor replacement (with built-in micropayments): https://news.ycombinator.com/item?id=15576457
by akst | 2025-05-08 09:25:29+00:00
It isn't too hard to find resources on this for anyone genuinely looking to get a deeper understanding of a topic. I think a blog post (likely written for SEO purposes, which is in no way a knock against the content) is probably the wrong place that kind of enlightenment, but I also think there are limits to the level of detail you can reasonable expect from a high level blog post.

And for introductory content there's always that risk if you provide to much information you overwhelm the reader, make them feel like maybe this is too hard for them.

Personally I find the process of building a model is a great way of learning all this.

I think a course is probably helpful, but the problem with things like data camp is they are overly repetitive and they don't do a great job of helping you look up earlier content unless you want to scroll through a bunch of videos, where the formula goes on screen for 5 seconds.

Would definitely just recommend getting a book for that stuff, I found "All of statistics" good, I just wouldn't recommend trying to read it from cover to cover, but I have found it good as a manual where I could just look up the bits I needed when I needed it. Tho the book may be a bit intimidating if you're unfamiliar with integration and derivatives (as they often express the PDF/CDF of random variables in those terms).
by widdershins | 2025-05-08 09:25:50+00:00
> But even then, I notice React (& friends) have all moved away from this approach. Modern web development usually makes components be functions.

But what do those functions return? Oh look, it's DOM nodes, which are described by and implemented with inheritance.

I would agree that view hierarchies in UI libraries are one of the primary use-cases for inheritance. But it's a pretty big one.
by throwaway2037 | 2025-05-08 09:26:24+00:00
> Compare this to Europe, where every resident has an eID containing a keypair and X.509 certificate signed by the government containing their personal details.

Woah. First, on HN I keep seeing this term "Europe". Europe is 50 countries. Please try to be more specific. Did you mean EU? If yes, then my question: Really? All 27 EU nations support and actually use this identity programme with financial institutions? I never heard about it. And, just saying that it exists isn't enough. Do normies use it (like your parents & grandparents)?
by rdm_blackhole | 2025-05-08 09:27:40+00:00
> So the EU corrected their mistake.

No it did not. A court overturned the law yet as I explained not all countries in the EU complied with this court order to this day.

> The EU is not a federation (yet) so individual countries still abuse their sovereignty. Often, they are corrected or kept in check by the EU

If the countries were kept in check by the EU then France would not have tried to ban EtoE recently as it goes against the EU laws. If the EU as a whole was serious about data protection, the Chat Control law would have been dropped a long time ago.

> The above are examples of how the EU is actually successful rather than a failure in matters of data protection.

Tell me how successful is it when it portrays itself as a privacy minded place but it's parliament has tried to pass a law to strip literally all privacy from it's own citizens for the last 3 to 4 years? Those two things can't be right.

The EU is just the same as the US. It wants the data and is willing to sell out everyone in order to get it.

At least in the US the powers that be are not coy about it, they want the data because it is valuable. Here in the EU we prefer to sweep this stuff under the carpet and not admit that the goal is the same, just wrapped in a different package.
by int_19h | 2025-05-08 09:27:49+00:00
The issue with constructors is a real one, yeah. Although forcing `explicit` on single-argument constructors is a single linter rule (which is a good idea for this exact reason...).

OTOH placement-new is pretty much impossible to use by accident. If used intentionally, I don't see it as being any different from an explicit cast - again, you get what you signed up for.

Interestingly in some ways C++ is arguably more typesafe than languages like Java or C#, given how it handles dynamic type of object during construction & destruction...