MurphyA/hacker-news huggingface dataset:
by cube2222 | 2025-11-08 00:57:13+00:00
I’m doing Zig and it’s fine, though not significant amounts yet. I just had to have it synthesize the latest release changelog (0.15) into a short summary.

To be clear, I mean specifically using Claude Code, with preloaded sample context and giving it the ability to call the compiler and iterate on it.

I’m sure one-shot results (like asking Claude via the web UI and verifying after one iteration) will go much worse. But if it has the compiler available and writes tests, shouldn’t be an issue. It’s possible it causes 2-3 more back and forths with the compiler, but that’s an extra couple minutes, tops.

In general, even if working with Go (what I usually do), I will start each Claude Code session with tens of thousands of tokens of context from the code base, so it follows the (somewhat peculiar) existing code style / patterns, and understands what’s where.
by silcoon | 2025-11-08 00:57:19+00:00
Interesting article to get a bit more knowledge about the field. I went quickly trough some of the books cited and I have the same feeling that they’re not very practical. Also I didn’t find many practical books about LLVM either.

I would like to read in the future about what is the usual day of a compiler engineer, what you usually do, what are the most enjoyable and annoying tasks.
by rvrb | 2025-11-08 00:57:41+00:00
the answer I've seen when it has been brought up before is that (for allocators) there is not a practical impact on performance -- allocating takes way more time than the virtual dispatch does, so it ends up being negligible. for code bloat, I'm not sure what you mean exactly; the allocator interface is implemented via a VTable, and the impact on binary size is pretty minimal. you're also not really creating more than a couple of allocators in an application (typically a general purpose allocator, and maybe an arena allocator that wraps it in specific scenarios).

for IO, which is new and I have not actually used yet, here are some relevant paragraphs:

The new Io interface is non-generic and uses a vtable for dispatching function calls to a concrete implementation. This has the upside of reducing code bloat, but virtual calls do have a performance penalty at runtime. In release builds the optimizer can de-virtualize function calls but it’s not guaranteed. ... A side effect of proposal #23367, which is needed for determining upper bound stack size, is guaranteed de-virtualization when there is only one Io implementation being used (also in debug builds!).

https://kristoff.it/blog/zig-new-async-io/

https://github.com/ziglang/zig/issues/23367
by torginus | 2025-11-08 00:58:00+00:00
Even best in class LLMs like GPT5 or Sonnet 4.5 do noticeably worse in languages like C# which are pretty mainstream, but not on the level of Typescript and Python - to the degree that I don't think they are reliably able to output production level code without a crazy level of oversight.

And this is for generic backend stuff, like a CRUD server with a Rest API, the same thing with an Express/Node backend works no trouble.
by SamInTheShell | 2025-11-08 00:58:12+00:00
Haha, yeah. Idk any other language where I practically get a free parallelization+concurrency sandwich. It's kept me coming back to Go for a decade now, despite them using a signal that prevents using it for system level libraries. They literally broke my libnss-go package years ago when they selected the signal to use to control the concurrency portion of the runtime.
by hilbert42 | 2025-11-08 00:59:26+00:00
"Now more people…."

Yes, some will but unfortunately in actual per capita/percentage terms it'll be pathetically small.

Do you really think the marketers, economists and social scientists at Microsoft haven't got that figure off to a tee aready?

It's a certainty they have and they've figured it just amounts to noise in the grand schema of things.

.
by zdragnar | 2025-11-08 01:00:18+00:00
I can't think of any of my employers I've had in the last 15 years that would have cared that I committed code to a compiler project, with one exception. That one exception would have told me they'd rather have me work on a different product than the one I was applying to, despite the one I was applying to being more interesting to me than debugging compilers all day.

YMMV, I guess, but you're better off demonstrating experience with what they're hiring for, not random tech that they aren't and never will use.
by meander_water | 2025-11-08 01:00:55+00:00
I've noticed this too. The latest cursor version has a @browser command which will launch a browser with playwright, and call tools to inspect the html and inject JavaScript to debug in real-time.

When it has access to the right tools, it does a decent job, especially for fixing CSS issues.

But when it can't see the artifacts it's debugging, it starts guessing, confident that it knows the root cause.

A recent example: I was building up a html element out of the DOM and exporting to PNG using html2canvas. The element was being rendered correctly in the DOM, but the exported image was incorrect, and it spent 2 hours spinning it's wheels and repeating the same fixes over and over.
by all2 | 2025-11-08 01:01:09+00:00
My wife and I have this discussion on a regular basis. We want kids, but we've both had to navigate technology usage without any guide, and I've personally experienced how ruinous a smartphone can be.

We want to teach our children how to _responsibly_ use technology. We're still not sure what that looks like in detail, but the general agreement we've come to is something like 'no screens before age X'.
by anon291 | 2025-11-08 01:01:49+00:00
I've been in compiler engineering now for almost a decade. No grad school, just moved into the field and did a lot of random projects for my own entertainment (various compilers for toy languages, etc). It takes a particular type of person who cares about things like correctness. It is a very bizarre subsection of people with an improbably high number of transgender people and an equally high number of rad trad Catholics.

Which is to say that all it takes is an interest in compilers. That alone will set you apart. There's basically no one in the hiring pipeline despite the tech layoffs. I'm constantly getting recruiting ads. Current areas of interest are AI (duh) but also early-stage quantum compute companies and fully-homomorphic encryption startups. In general, you will make it farther in computer science the more niche and hard you go.
by TZubiri | 2025-11-08 01:03:11+00:00
True, I simplify it a bit based on the capacity of my mail provider. I have like 4 or 5 generic addresses that I give out and use for sending. Sometimes I mix up when sending, but my mail provider (zoho) is pretty decent at keeping track of the addresses anyways.

In a way if I reply, the other party gets upgraded to one of my 5 addresses, so if they send an email to ContosoCoffeeShop@myname.com I might reply from whatever flavour I'm using nowadays or is more appropriate like hello@myname.com

It's like a 3 layer security system, the least privileged get access to one very specific address, if they send me an email which makes sense and I reply, they get upgraded to a bucket. I might sign up directly with a bucket email and skip the most paranoid layer, that's fine.

In general I try to take more care of the newest alias and become more liberal with my older more ruined addresses, alias1@ has like 8 years of signups, while alias5@ has just 1 if any. And I'm sure the list will grow.

Downside is that if there's a leak it's harder to attribute exactly, but at least I can check the recipient to get some kind of hint.

It's more like art than it is a water-tight security protocol. You paint the world with your wacky addresses and occasionally surprise the observant employee with the inverted expectations (usually the name comes before the at)

Thank you for coming to my ted talk.
by skeeter2020 | 2025-11-08 01:04:48+00:00
>> I told him I wanted investment from Kevin Durant. It was fall 2018, KD was playing for the Warriors, and he had won Finals MVP earlier that year. I was a KD fan and had heard he did tech investing.

So you skipped a friend or family member because KD is good at basketball and has lots of money? Super "field guide" /s
by ProllyInfamous | 2025-11-08 01:05:21+00:00
The other thing that has helped is Toyota gave me a year of free satelite radio, and there are two channels which I mostly listen to: Chill & Netflix is a Joke. I've promised myself that I will cancel SiriusX if I revert to aggressive driving.

My only regret is that I didn't get a Rav4 Hybrid (instead) cause the Camry is really low to the ground (no clearance / headlights). But the MPG game is fun... I love going into fully-electric mode the last mile of my residential drive (a lá *South Park's "Smug" episode).
by luxuryballs | 2025-11-08 01:05:41+00:00
I wish, where I’m at we had to agree not to use it without “disclosure”, not even sure what that means. Oh but also we agree to do code reviews, and since we would review the code regardless of how it was written I don’t know what the concern is about… notably there was never anything written about not using code generation tools which have existed for many decades… anyways I just use AI anyways but it would of course be better if work would fund it!
by themaninthedark | 2025-11-08 01:06:57+00:00
> Rich appealed both immediately. The first appeal was denied in 45 minutes. The second in just five. > The platform claimed its "initial actions" (could be either the first takedown or appeal denial, or both) were not the result of automation.

If they claim that a non automated review occurred but then still took down/denied appeal, what caused them to change course?

What is your source that the restoration of the video was not because of the noise?
by zahlman | 2025-11-08 01:10:32+00:00
> modern (to me) Ruby's lambda syntax (in the .map call)

It's syntactic sugar for what Ruby does with a lambda, but fundamentally the purpose is to extract a method from the input. Python has that in the standard library, as `operator.attrgetter`. But also in Python, you generally convert by passing to the type constructor rather than calling a method; so you can just use that directly.

> parentheses-less function calls

Only methods are called here, not plain functions. You can get this effect in many other languages by defining properties instead of zero-argument methods.

> the fact that arrays implement <=> by comparing each item in order

This is also done in Python, and probably many other languages.

> that there's an overloadable compare operator at all, having multiple value assignments in one go

Idem.

> In any other language I can think of real quick (TS, Elixir, C#, Python, PHP, Go) a fair number of these parts would be substantially more wordy or syntaxy at little immediately obvious benefit.

A relatively direct translation looks like:

import functools @functools.total_ordering class AppVersion: def __init__(self, version_string): self.major, self.minor, self.patch, *_ = map(int, str(version_string).split('.')) def __lt__(self, other): return (self.major, self.minor, self.patch) < (other.major, other.minor, other.patch) def __eq__(self, other): return (self.major, self.minor, self.patch) == (other.major, other.minor, other.patch) def __str__(self): return f'{self.major}.{self.minor}.{self.patch}'

You don't need any `end`s, but you don't (in 3.x) have the convenience of a direct `<=>` analog (it used to be `__cmp__`). The actual integer conversion function could be done differently, of course, to handle invalid values (I don't know why the Ruby code is doing the `|| 0` business; `to_i` already takes care of that AFAICT).

Although the rough ecosystem equivalent of Gem::Version (https://github.com/pypa/packaging/blob/main/src/packaging/ve...) does much more sophisticated parsing. And you could also get the comparison logic by leveraging `collections.namedtuple`, `typing.NamedTuple` (but changing the initialization logic isn't so neat for these immutable types), `dataclasses.dataclass` etc. as in js2's reply.
by antonvs | 2025-11-08 01:12:50+00:00
> what prevented comprehension here?

This is an arrogant and unwarranted assumption. What's preventing your comprehension of this discussion?

The article sets up a straw man - the person who can convincingly fake being an expert without actually being one - and then demolishes it.

This doesn't resemble anything that I've experienced from LLM use in the real world. In my experience, amateur use of LLM is easily detected and exposed, and expert use is useful as a force multiplier.

I suppose the "Dunning-Kruger" accusation might apply to the first one, but I'm not convinced - the people doing that are usually very aware that they're faking their attempt at projecting expertise, and this comes across in all sorts of ways.
by herewulf | 2025-11-08 01:14:30+00:00
Yes. US residents' ability to obtain credit (cards, cars, houses) is based on three shadowy for-profit organizations who each keep a secret score on each resident.

One's employment history is not a factor in the score at all (contrast this with Europe).

Furthermore, privacy in the USA is so bad, the leaking of one's personal details which criminals can use to fraudulently obtain credit and ruin said score and possibly also one's finances is a major concern. Hence, "credit monitoring" exists in order to catch this kind of criminal activity in the act, and I don't know, become completely exasperated with the amount of ass pain that dealing with this then causes.
by pfannkuchen | 2025-11-08 01:14:35+00:00
Yeah that’s what I’m saying.

I don’t think grade 2 or 3 grades will paint the picture for them. Elementary school grades saturate quickly, there isn’t enough dynamic range. What IQ do you need to get perfect marks in elementary school? Sure, you’ll know you are above average, but the social experience for someone with a very high IQ is extremely different from someone with a slightly above average IQ.

I think the real problem is not providing enough challenge, so they get used to succeeding without trying and never learn the emotional side of trying and failing, until they can’t keep up anymore, which for really bright kids may not happen until they are basically adults.

If you praise for doing what they can do without trying, you get this problem. If you meet them at their level and actually challenge them from a young age, while also praising them for being clever, I suspect you won’t see this problem.

By analogy, is it harmful to tell a kid he’s naturally good at soccer, while providing the resources and coaching necessary to take advantage of the potential? I imagine the dynamics should be similar from the skill acquisition angle, the difference is just how the activity to perform is generated.
by throw3141592 | 2025-11-08 01:14:36+00:00
1) So you are perfectly happy with somebody else taking over, taking your code, giving it a different name, or not even that, spending a bit of money on advertisement to get more users than you, adding features to drag over your users, then taking development private and enshittifying it? EEE?

You have to understand in this world, advertising and network effects are much stronger than building a good product.

2) Again, advertising, cost of storage, having a better (meaning more addiction inducing) algorithm, etc.

3) You said it yourself, people have to create something first (which will be stolen or as you phrase it, unrestricted) so they can prove themselves so that anybody pays them to produce the next thing. Or would you pay a random guy with no credentials and no portfolio claiming he can create what you want?

Or what if somebody creates something really good but it's a one off. He changes hobbies, has children, has to care for an elderly parent, ... and doesn't have time to create more. Should he not get paid for the value of his existing work?

Your take basically means people will only get paid as long as more value can be extracted from them and then they're no longer economically viable so screw them.
by faangguyindia | 2025-11-08 01:15:18+00:00
Economies of scale. More efficient market can have less people parting in non important area and existence of central authorities means more resources can be deployed where it is needed.

Also, average science and math knowledge in America has regressed.

It's evident from the fact i come to US, so many people do not know 10+20= 30 and pull out mobile calculator to check that. Sighhhh
by LexiMax | 2025-11-08 01:17:30+00:00
The police have bosses, and the bosses want to have careers. From The Wire: S04E09.

Pryzbylewski: I don't get it. All this so we score higher on the state tests? If we're teaching the kids the test questions, what is it assessing in them? Sampson: Nothing. It assesses us. The test scores go up, they can say the schools are improving. The scores stay down, they can't. Pryzbylewski: Juking the stats. Sampson: Excuse me? Pryzbylewski: Making robberies into larcenies. Making rapes disappear. You juke the stats, and majors become colonels. I've been here before. Sampson: Wherever you go, there you are.

It's unfortunate that the "crime is higher than reported" narrative has been hijacked by bootlickers who are chomping at the bit for a pretext to sic the military on large cities, but the underlying idea that crime statistics can be gamed for the sake of self-interest isn't wrong.
by zahlman | 2025-11-08 01:18:32+00:00
> Then use the `total_ordering` decorator to provide the remaining rich comparison methods.

While we're here, worth highlighting `cmp_to_key` as well for `sorted` etc. calls.

> it's a little annoying Python didn't keep __cmp__ around since there's no direct replacement that's just as succinct

The rationale offered at the time (https://docs.python.org/3/whatsnew/3.0.html) was admittedly weak, but at least this way there isn't confusion over what happens if you try to use both ways (because one of them just isn't a way any more).
by pron | 2025-11-08 01:19:50+00:00
Thing is, having a good JIT gives you the performance of partial evaluation pretty much automatically (at the cost of less predictability), as compilation occurs at runtime, so the distinction between compile-time and runtime largely disappears. E.g., in Java, a reflective call will eventually be compiled by the JIT into a direct call; virtual dispatch will also be compiled into direct dispatch or even inlined (when appropriate) etc..
by fastily | 2025-11-08 01:20:21+00:00
> They know that with enough reports in a short period of time they can get the content removed for a while

This can be accomplished with bogus dmca notices too. Since google gets such a high volume of notices the default action is just to shoot first and ask questions later. Alarmingly, there are 0 consequences (financial or legal) for sending bogus dmca notices
by ssl-3 | 2025-11-08 01:20:22+00:00
No.

ZFS has been stable in FreeBSD for something like 17 years, and FreeBSD jails have been around for something like 25 years.

By the time Docker hit 1.0 (about 11 years ago), the use of snapshots and jails had already been normal parts of life in the FreeBSD space for over half of a decade.
by AlotOfReading | 2025-11-08 01:21:35+00:00
The stories of Hedy Lamarr and the computer women at NASA get repeated endlessly as if they're the only contributions women have ever made to CS, which must be absolutely discouraging to the young girls who are interested enough to dig deeper and find out that Hedy's contribution was essentially negligible.

It'd be much better to talk about Liskov, Goldberg, the women at Bluetooth SIG, or the countless other examples available.
by rvz | 2025-11-08 01:22:07+00:00
> You do not need to be 'goes to MIT' level of smart, but you do have to understand the basic concepts, which I think is an absolutely manageable amount - about a scope of a couple hundred page paperback or a single challenging CS course worth of info to get started.

You certainly don't need to be from 'top 3 college in US' at all. Neither did the creators of Zig (Andrew Kelly) and LLVM, Swift and Mojo (Chris Lattner) ever did.

All you need is genuine interest in compilers, the basic CS fundamentals including data structures and algorithms. Start by building a toy compiler and then study the existing open-source ones and make some contributions to understand how it all works.
by pants2 | 2025-11-08 01:23:16+00:00
Somewhat related, there has been lots of research on how your dating profile photo affects your chances at getting a match (smiling vs not smiling, etc). Little research on how your LinkedIn profile pic affects your job prospects. When I was dating I followed all the research for my profile pic (and met my wife) - haven't been able to apply the same to LinkedIn. Ha!
by tpmoney | 2025-11-08 01:25:20+00:00
We’ve been down this road before. Wikipedia was going to be the knowledge apocalypse. How were you going to be able to trust what you read when anyone can edit it if you don’t already know the truth.

And we learned the limits. Broadly verifiable, non-controversial items are reasonably reliable (or at least no worse than classic encyclopedias). And highly technical or controversial items may have some useful information but you should definitely follow up with the source material. And you probably shouldn’t substitute Wikipedia for seeing a doctor either.

We’ll learn the same boundaries with AI. It will be fine to use for learning in some contexts and awful for learning in others. Maybe we should spend some energy on teaching people how to identify those contexts instead of trying to put the genie back in the bottle.
by zahlman | 2025-11-08 01:26:17+00:00
Frankly I wish Python's standard library were more like this. Maybe then we wouldn't be seeing tens of millions of daily downloads of pip (most likely orchestrated by other copies of pip!), requests (already vendored by pip!), setuptools, six (compatibility wrappers for ancient 2.x code, declared as a dependency by python-dateutil so that it can keep supporting 2.x, even though it's overwhelmingly downloaded for up-to-date Python installations)....

...There are presumably many other ways to solve that problem, but still.