MurphyA/hacker-news huggingface dataset:
by mezod | 2025-04-10 16:36:51+00:00
That's a whole other topic. There's a relevant part of Barcelona's society who reject tourists in general (not Americans specifically) because of the impact tourism has had in the city. Note that many still haven't recovered of the impact of 2008 GFC, 2010-2012 slump, with incomes still under pre-2008, and who are now having serious trouble to even afford a roof. So even though there might be some minor hostility towards tourism, it has nothing to do with americans. It's a problem in every major european city I believe.
by Signez | 2025-04-10 16:36:53+00:00
Surprised not to see a whole chapter on the environment impact. It's quite a big talking point around here (Europe, France) to discredit AI usage, along with the usual ethics issues about art theft, job destruction, making it easier to generate disinformation and working conditions of AI trainers in low-income countries.

(Disclaimer: I am not an anti-AI guy — I am just listing the common talking points I see in my feeds.)
by jakevoytko | 2025-04-10 16:37:23+00:00
Bazel runs into the problem that it expects to have the complete well-defined understanding of the inputs and outputs for your project. This might have made sense when Blaze was first designed and projects were done in languages with compilers that had rigid inputs and outputs. But now we're in a world where more and more systems are becoming layers of compilers, where each compiler layer wants to just have a bunch of dependencies thrown at it. In a frontend project, it wouldn't be weird for Tailwind CSS to be compiled and embedded in SCSS, where it's pulled into a JSX module via some import that magically provides type checking with the CSS under the hood. And so you either need to handwave over it and lose some of the benefits of incremental builds, or spend time getting it to work and making it continue to work as you add new layers.

So in my mind, Bazel is no longer worth it unless the savings are so great that you can afford to staff a build team to figure these things out. Most teams would benefit out of using simple command runners instead of fully-fledged build systems.
by derefr | 2025-04-10 16:37:26+00:00
> which is such an obvious nice product just like BigQuery

I always assumed (from outside Google) that the problem was that Colossus had to make a "no malicious actors" assumption in its design in order to make the performance/scaling guarantees it does; and that therefore just exposing it directly to the public would make it possible for someone to DoS-attack the Colossus cluster.

My logic was that there's actually nothing forcing [the public GCP service of] BigTable to require that a full copy of the dataset be kept hot across the nodes, with pre-reserved storage space — rather than mostly decoupling origin storage from compute† — unless it was to prevent some DoS vector.

As for exactly what that DoS vector is... maybe GC/compaction policy-engine logic? (AFAICT, Colossus has pluggable "send compute to data" GC, which internal-BigTable and GCS both use. But external-BigTable forces the GC to be offloaded to the client [i.e. to the BigTable compute nodes the user has allocated] so that the user can't just load down the system with so many complex GC policies that the DC-scale Colossus cluster itself starts to fall behind its GC time budget.)

---

† Where by "decouple storage from compute", I mean:

• Each compute node gets a fixed-sized DAS diskset, like GCE local NVMe SSDs;

• each disk in that diskset gets partitioned up at some fixed ratio, into two virtual disksets;

• one virtual diskset gets RAID6'ed or ZFS'ed together, and is used as storage for non-Colossus-synced tablet-LDB nursery level SSTs;

• the other virtual diskset gets RAID0'ed or LVM-JBOD-ed together and is used as a bounded-size LFU read-through cache of the Colossus-synced tablets — just like BigQuery compute nodes presumably have.

(AFAIK the LDB nursery levels already get force-compacted into "full" [128MiB] Colossus-synced tablets after some quite-short finality interval, so it's not like this increases data loss likelihood by much. And BigTable doesn't guarantee durability for non-replicated keys anyway.)
by skerit | 2025-04-10 16:37:31+00:00
> And what if you’re a Trump supporter? I believe that, yes, even Trump voters can have a good experience in Europe — provided that they travel with a spirit of empathy, curiosity, and open-mindedness.

I met an elder couple from Arizona on a European cruise last year. (Seated at the table next to us at dinner) While they were very nice, I had no intention of involving any politics in our conversations, out of fear of having to listen to batshit insane rants. At some point, it became clear that they were not in any way pro-Trump, and it made our conversations just a tad nicer to have that out of the way.

On my other side there was a couple from Canada and a couple from the UK. The Canadians kept talking about how they wish the conservatives would get back to power and-for some reason-their love for the _previous_ pope, while the Brits repeatedly said they miss Boris Johnson.
by 9rx | 2025-04-10 16:37:51+00:00
More specifically it is a travois, but a travois is a vehicle, and most people are going to have no clue what a travois is when casually reading a headline. They should know what a vehicle is. It is a common word.

The top article on HN right now is in the same situation: "Why Tap a Wheel of Cheese?" What kind of cheese? Parmigiano Reggiano, it turns out. For the sake of the headline, did it really matter what kind of cheese, though? Not really. Cheese is fine.

And vehicle is a perfectly fine word to describe what it is without getting too deep into jargon as well. What would you have selected instead?
by peab | 2025-04-10 16:38:00+00:00
I think code is purely functional - there might be a style component to it, but mostly what I care about is "does it do the thing I want it to do".

Writing, on the other hand, is much more about expressing one's inner self.

I write music and poetry as a hobby, and not once have I found chatGPT to be useful in this regard. Because the words aren't mine.
by aengelke | 2025-04-10 16:38:04+00:00
libgccjit is, despite its name, just another front-end for GIMPLE. The JIT-part is realized through compiling the object file to a shared library and using dlopen on this.

One big problem with libgccjit, despite its fairly bad compile-time performance, is that it's GPL-licensed and thereby makes the entire application GPL, which makes it impossible to use not just in proprietary use-cases but also in cases where incompatible licenses are involved.
by SR2Z | 2025-04-10 16:38:17+00:00
I think this is more analogous to "know and understand that your car is powered by an engine and also vaguely get how it works."

To be entirely fair, we have this exact same problem with cars. The sheer number of people who do not understand they need to change oil, rotate tires, and swap wiper blades is also too high. Even being able to change a tire yourself is considered advanced!
by yamazakiwi | 2025-04-10 16:38:25+00:00
I'm more interested in memory and knowledge retention in general and how AI can assist. How many times have you heard from people that they are doing rote memorization and will "data dump" test information once a course is over. These tools are less to blame than the motivators and systems that are suppose to be engaging students in real learning and the benefits of a struggle.

Another problem is there is so much in technology, I just can't remember everything after years of exposure to so many spaces. Not being able to recall information you used to know is frustrating and having AI to remind you of details is very useful. I see it as an amplifying tool, not a replacement for knowledge. I'm sure there are some prolific note taking memory tricksters out there but I'm not one of them.

I frequently forget information over time and it's nice to have a tool to remind me of how UDP, RTP, and SIP routing work when I haven't been in the comm or network space for a while.
by rglullis | 2025-04-10 16:38:30+00:00
> The only reason to take a train for me is for the novelty factor.

Sure, if you are willing to disregard all of the environmental and health costs associated with car-centric development, then there is no reason to invest in rail.

If you are willing to ignore the more than 40 thousand people that die on car crashes per year in the US, then there is no reason to invest in rail.

If you are willing to ignore the fact that all cities are going bankrupt because they don't get enough in property taxes to maintain the roads and basic infrastructure in the suburbs, then there is no reason to invest in rail.

If you don't care about the fact that your kids are growing completely isolated because they can't go anywhere unless they have someone driving them around, then there is no reason to invest in rail.
by taxicabjesus | 2025-04-10 16:38:47+00:00
There was a time when I was consuming a lot of industrial cheese. I developed a rash on my legs... One day I realized the rash was certainly being caused by my cheap cheese habit. I'm certain it was related to the "vegetarian enzymes" used as an industrial substitute for the traditional animal rennet. I stopped buying the cheap cheese, and my rash went away.

https://en.wikipedia.org/wiki/Rennet

Contaminants are a common problem in industrial food manufacturing: citric acid (fungal contaminants), vitamin C (heavy metals), and "enzymes" (?).

I'm glad Italians insist their cheeses be made following the traditional methods.
by hermitcrab | 2025-04-10 16:38:57+00:00
Interesting.

I wonder how easy it is to run distances carrying a pole?

>I didn't see anything about tattoos or the eye makeup, but the loincloth definitely came up. That was their typical clothing, regardless of weather, although I find kind of hard to believe.

Maybe that was just while they were running? And the way station provided some warm clothing when they stopped?
by pvg | 2025-04-10 16:39:18+00:00
The 'savings' could also take an unreasonably long time to realize. The capital outlay is not small (the scanning machines, their maintenance, still need humans to categorize the cheeses) and artisanal cheese probably isn't all that high-volume a business nor is it particularly bound by precision and tight tolerances - it can matter a lot that some doodad that goes into a machine is defect free, less so with a hunk of cheese.
by sepositus | 2025-04-10 16:39:22+00:00
> Compiling things and wanting a robust build cache so developers spend less time waiting isn't a problem remotely unique to Google.

That wasn't my argument at all. Plenty of modern tools address this exact need; it isn't unique to Bazel. If you read the article, the author made many interesting remarks on how Bazel reflects the unique design choices of Blaze, which were often picked due to Google's needs.

My point is that when people hit these barriers, they need to understand that it's not because they are unintelligent or incapable of understanding a complex system. That's what the OP I responded to was saying, and I was just providing some advice.
by tialaramex | 2025-04-10 16:39:41+00:00
> But is there any long-lived project for which this isn't true?

I don't think any other project like this exists. You're coming up on your 25th anniversary without shipping the release software !

I see that BString itself also uses this weird phrase "UTF-8 character". That's not a thing, and rather than just being technically wrong it's so weird I can't tell what the people who made it thought they meant or what the practical consequences might be.

I mean, it can't be worse than std::string in one sense because hey at least it picked... something. But if I can't figure out what that is maybe it's not better.

UTF-8 has code units, but they're one byte, so distinguishing them from bytes means either you're being weird about what a "byte" is or more likely you don't mean code units.

Unicode has characters, but well lets quote their glossary: "(1) The smallest component of written language that has semantic value; refers to the abstract meaning and/or shape, rather than a specific shape (see also glyph), though in code tables some form of visual representation is essential for the reader’s understanding. (2) Synonym for abstract character. (3) The basic unit of encoding for the Unicode character encoding. (4) The English name for the ideographic written elements of Chinese origin. [See ideograph (2).]"

So given BString is software it's probably working in terms of something concrete. My best guesses (plural, like I said, I'm not sure and I'm not even sure the author realised they needed to decide):

1. UTF16 code units. This is the natural evolution of software intended for UCS-2 in a world where that's not a thing, our world.

2. Unicode code points. If you were stubbornly determined to keep doing the same thing despite the fact UCS2 didn't happen, you might get here, which is tragic

3. Unicode scalar values. Arguably useful, although in an intensely abstract way, the closest thing a bare metal language might attempt as a "character"

4. Graphemes. Humans think these are a reasonable way to cut up written language, which is a shame because machines can't necessarily figure out what is or is not a grapheme. But maybe the software tries to do this? There have been better and worse attempts.

I don't love std::vector but I can't see anything to recommend BList at all, it's all using type erased pointers, it doesn't have the correct reservation API, it provides its own weird sorting - which doesn't even say whether it's a stable sort,
by LinuxBender | 2025-04-10 16:39:53+00:00
Something which causes a whole continent to lose electricity for a year needs to be a catastrophe of epic proportions, it’s not a mere emergency.

Call it what you want. It's a change in lifestyle. Humans did just fine for hundreds of thousands of years without all the current toys. Stock up on books, find outdoor hobbies, accept a change in lifestyle or don't. I'm sure some will not be able to cope with that big of a change and some will self delete. I am not going to try to save those people. We can't save everyone.

They didn’t live in an always connected world where everything runs on electricity and systems are explicitly designed to only work that way. There is a canyon of difference between living in a world where a technology doesn’t exist and one where most of society depends on one thing you suddenly lost access to.

Yup, never disputed that. The dependencies are entirely artificial. That's why now is a great time to learn older methods of living. Anything else is denial in my view. People in denial are going to suffer. Those open to change will survive. Some of them may even find happiness in the old ways even if it is a bit of struggle. I'm not suggesting everyone can suddenly adopt the Amish ways of life but it should be a stretch goal. Getting even half way there can mean the difference between survival and becoming a distant memory. That isn't a one person thing. It takes a collective of neighbors and that will be a struggle for younger generations that only text and stay indoors.

It’s like if someone asked what they should do to prepare for a meteor strike.

They did not ask about a meteor strike. That is a real threat given we pass through the Taurid meteor stream every year and have not even seen 10% of what's out there. Sure, if an earth sterilizing asteroid or comet hits beans won't help. Don't stress over such things one has no control over.

The probability of electricity going away for 1+ years is very high. One need only take out 3 major power distribution points in the US to end electricity nation wide. A HANES attack from a high altitude balloon could also take it out for 1+ years and we saw how poorly the government in the USA responded to that. China was certainly watching. We do not have spares for the really big transformers and they are made in China and most roads no longer facilitate moving them due to newer bridges. Ooops.
by staplung | 2025-04-10 16:40:01+00:00
On the one hand I feel like the #WARNING_SIGN is a welcome addition. On the other, I'm sensitive to the idea that it will be totally obnoxious if you need to grep/search for it in whatever tool you're using.

Was a little surprised to learn that the warning sign is generally considered an Emoji; I guess I don't think of it that way. Was even more surprised to learn that there is no great definition for what constitutes an Emoji. The term doesn't seem to have much meaning in Unicode. The warning sign - U+26A0 - goes all the way back to Unicode version 4.0 and is in the BMP, whereas most Emoji are in the SMP.
by NoTeslaThrow | 2025-04-10 16:40:24+00:00
> Please run the same query past ELIZA and Gemini 2.5 (https://aistudio.google.com/prompts/new_chat) and report back.

I don't see much difference—you still have to take any output skeptically. I can't claim to have ever used gemini, but last I checked it still can't cite sources, which would at least assist with validation.

I'm just saying this didn't introduce any fundamentally new capabilities—we've always been able to GIGO-excuse all chatbots. The "soft" applications of LLMs have always been approximated by heuristics (e.g. generation of content of unknown use or quality). Even the summarization tech LLMs seem to offer don't seem to substantially improve over the NLP-heuristic-driven predecessors.

But yea, if you really want to generate content of unknown quality, this is a massive leap. I just don't see this as very interesting.
by bravetraveler | 2025-04-10 16:40:33+00:00
From RFC 2606:

The ".localhost" TLD has traditionally been statically defined in host DNS implementations as having an A record pointing to the loop back IP address and is reserved for such use

The RFC 8375 suggestion (*.home.arpa) allows for more than a single host in the domain. If not in name/feeling, but the strictest readings [and adherence] too.
Show HN: I built an action figure generator tools
by wan21 | 2025-04-10 16:40:50+00:00
Hey all,

Recently I saw action figure images which are quite popular on social media platforms, but because it is too troublesome to input the prompt words, I wondered if I could make a tool to create images by simply inputting key information.

So I made this website to quickly implement action figure images.

Let me know what you think!
by sigil | 2025-04-10 16:41:10+00:00
This nginx local dev config snippet is one-and-done:

# Proxy to a backend server based on the hostname. if (-d vhosts/$host) { proxy_pass http://unix:vhosts/$host/server.sock; break; }

Your local dev servers must listen on a unix domain socket, and you must drop a symlink to them at eg /var/lib/nginx/vhosts/inclouds.localhost/server.sock.

Not a single command, and you still have to add hostname resolution. But you don't have to programmatically edit config files or restart the proxy to stand up a new dev server!
by BoiledCabbage | 2025-04-10 16:41:28+00:00
Thanks, and yes that makes perfect sense. It's a useful way to think about the problem space.

And then it does lead back to your "????" - which presumably represents the answer to the question of "What's the simplest abstraction that allows one to build a "Parser" (would this still be using combinators??) that is powerful enough to parse regular languages, but, by design, not powerful enough to parse context-free languages?"
by moomin | 2025-04-10 16:41:41+00:00
I remember when Brexit happened, every time I got chatting to someone in Europe they would, politely, try to figure out where I stood on the issue. When they figured out that I was pro-European they wanted to know my take on what was going on in the UK. I imagine that if I'd been pro-Brexit they'd have just avoided the subject and discussed the weather.

I imagine you'll experience the same thing as an American coming to Europe right now.
by Vt71fcAqt7 | 2025-04-10 16:41:57+00:00
I vaguely remember reading comments here that said you can get rate limited on R2 without warning if egress is too high. Was that true and is that still true? What is the limit if so?

I tried looking for that thread again and I only found the exact opposite comment from the Cloudflare founder:

>Not abuse. Thanks for being a customer. Bandwidth at scale is effectively free.[0]

I distinctly remember such a thread though.

Edit: I did find these but neither are what I remember:

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

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

[0] https://news.ycombinator.com/item?id=38124676
Key Indicator for Thinking
by demiculus | 2025-04-10 16:42:17+00:00
When it comes to tracking how healthy a person is, a lot of experts have started to converge on HRV (heart rate variability) as the key indicator.

What about for thinking? The speed, the quality. What could be a metric that would define a person is good at thinking? How would we measure it? How would we increase it?
by Freak_NL | 2025-04-10 16:42:34+00:00
Those are there because of overtourism, and the locals have a point. Europe is big enough, but if you have any sense you'll ignore Venice, Barcelona, Bruges, Amsterdam, Ghent, and even parts of Paris and Rome, and go to somewhere where tourists aren't mostly seen as a nuisance crowding out the local residents.

Or do go and get splashed at with water pistols.
by the_snooze | 2025-04-10 16:42:45+00:00
>People at companies like Apple have gone to such great lengths to hide the complexity--and limit the ways of composition--of software

They also do it in confusing, inconsistent, and self-serving ways. What does it mean to "save data" like an image or a document? In Google Photos, it means you associate a copy of it with your Google account. In MS Office by default, it means you stick it in OneDrive.

Everyone wants the "happy path" of data storage and retrieval to lead directly to their own proprietary systems with their own proprietary implementations of basic file-like operations. No one wants the default to be the tried-and-true method of local files and folders.
by aeturnum | 2025-04-10 16:43:20+00:00
Well, it totally gives up memory mutation. Each value is final (under the hood). So you lose an entire category of optimizations and an entire category of errors. You also gain some new optimizations you can do because values never change. In general that makes it worse at tight loops where you really want optimal machine code and better at handling heterogeneous calls like HTTP requests.
by aengelke | 2025-04-10 16:43:27+00:00
I'd add code quality as a reason. I find it much easier to understand and modify code in LLVM compared to GCC. Both have a fairly steep learning curve and not too much documentation, but often I (personally) find LLVM's architecture to be more thought out and easier to understand. GCC's age shows in the code base and it feels like many concepts and optimizations are just bolted on without "required" architectural changes for a proper integration.
by PaulHoule | 2025-04-10 16:43:38+00:00
Makes me wonder if I can get a fecal implant from Steven Curry or Patrick Mahomes.

I did photography of the finishers at a 10k/half marathon this weekend and what was remarkable was that the winner of the 10k was completely unremarkable. You see some people cross the finish line and they look triumphant and other people look like they've been destroyed by the effort. Some people look like both. This guy made it look easy, like it wasn't anything special at all. He's just really fast. Who wouldn't want a piece of that?
by szszrk | 2025-04-10 16:43:45+00:00
For home it's not that bad, but there could be conflicts at some point. Your clients will send data to the Internet unknowingly when dns is missconfigured.

It's better to use domain you control.

I'm a fan of buying cheapest to extend (like .ovh, great value) and use real Let's Encrypt (via dns challenge) to register any subdomain/wildcard. So that any device will have "green padlock" for totally local service.