MurphyA/hacker-news huggingface dataset:
by inkyoto | 2025-10-02 00:54:29+00:00
You are conflating tha language capability with the hardware capability. C/C++ do not place restrictions on dereferencing the 0th address. Consider the following stub:

/* -O2 -std=c23 -Wall -fno-inline-functions */ int *ptr0 = 0; int *ptr0p = (int *)0; int main () { return *ptr0 | *ptr0p; }

Head over to godbolt, compile it, and check the code. Zero compilation warnings, and the compiler duly obliges to generate the code that accesses a memory cell at the address 0x0 and all architectures that godbolt supports (ARM, RISC-V, SPARC64, POWER64, TI, S390 and others – with no exceptions).

So if you run that code on a system before the MMU is activated or on a system without a MMU, «main» will return 0 on all systems[0] (if the memory is initialised with zeroes). You do have a point that some embedded systems[1] may have device registers mapped at 0, but that bears no relevance on the generated code – it will still attempt to read the 0th address.

You can also test the generated code in QEMU on an architecture of your choice in the «bare metal mode» (i.e. memory protection off) and observe that a read from 0 will give you 0 if the first memory page is filled with 0s.

> More info at https://stackoverflow.com/questions/63790813/allocating-addr...

You are most assuredly conflating a pointer to 0 dereferencing with the memory protection/virtual memory management system, and the explanation is in the first answer. It is Linux that implements a kernel-level check in mmap(2) on the address to mmap into, not the hardware. It is a Linux-specific quirk, and other UNIXes will allow the mmap to 0 to proceed but reading from 0 will still yield a SIGSEGV due to memory protection being in use.

> MMU is not the only way memory becomes magic. In fact, it's probably the LEAST of the magic memory mapping that can happen.

MMU is not magic. It is a simple and very efficient design that works in concert with the microarchitecture it has been implemented for – CPU traps, memory page descriptors and tables.

> I mean… you're just wrong. I'm not conflating unrelated things. I'm correcting multiple unrelated mis-statements you made.

Respectfully, so far I am yet to see a single compelling argument or tangible piece of evidence to support the claims you have espoused. I have provided a few very concrete and specific examples as supporting evidence, but I am not seeing the same on your side.

[0] The only exception that does not initialiase memory with zeroes that I am aware of is AIX (but not POWER/PowerPC that it runs on!) – the AIX VMM initialises a new memory page upon allocation with 0xdeadbeef to make unintialised pointers forcefully crash the process. Linux, *BSD's running on POWER/PowerPC do not do it, it is an AIX specific quirk.

[1] Again, embedded may have a nuance (subject to a specific hardware* implementation) as it is a commonplace in embedded systems to not* have a contiguous memory space and have holes in it, including the zeroeth address. It does not preclude the generated code to attempt to access 0, though, if the hardware supports it.
by eldaisfish | 2025-10-02 00:54:52+00:00
I am an electrical engineer based in Ontario, Canada. I'm very interested in the energy transition, especially the shift to electric vehicles, electric heat and the opportunities this creates in the electricity sector.

Looking for contract, part-time or volunteer work, specifically in renewable energy or smart grid consulting. I can also help write/review grant applications for Canadian federal/provincial support, but outside my areas of direct work.

Preferably smart grid technology, wind energy, solar PV, energy policy. Happy to chat about the long term revenue streams on the electricity grid, especially opportunities on the distribution system.

Location: Remote, prefer opportunities in US/Canada

Experience - Fifteen years total. Wind energy design background (Netherlands), Power systems degrees, experience working with the Canadian Federal government.

Remote: Yes, please. Willing to relocate: No.

Résumé/CV: On request. See linkedin: https://www.linkedin.co/in/eldrichrebello Email: eldrich [at] eldrichrebello.ca Scientific publications: https://scholar.google.com/citations?user=a0oog-YAAAAJ
by eldaisfish | 2025-10-02 00:55:15+00:00
I am an electrical engineer based in Ontario, Canada. I'm very interested in the energy transition, especially the shift to electric vehicles, electric heat and the opportunities this creates in the electricity sector.

Looking for contract, part-time or volunteer work, specifically in renewable energy or smart grid consulting. I can also help write/review grant applications for Canadian federal/provincial support, but outside my areas of direct work.

Preferably smart grid technology, wind energy, solar PV, energy policy. Happy to chat about the long term revenue streams on the electricity grid, especially opportunities on the distribution system.

Location: Remote, prefer opportunities in US/Canada

Experience - Fifteen years total. Wind energy design background (Netherlands), Power systems degrees, experience working with the Canadian Federal government.

Remote: Yes, please. Willing to relocate: No.

Résumé/CV: On request. See linkedin: https://www.linkedin.co/in/eldrichrebello Email: eldrich [at] eldrichrebello.ca Scientific publications: https://scholar.google.com/citations?user=a0oog-YAAAAJ
by kanjun | 2025-10-02 00:55:49+00:00
Imbue | Sr. Product Engineer | San Francisco (ONSITE) | Full-time

Company: Imbue builds AI systems that reason and code, enabling AI agents to accomplish larger goals and safely work in the real world. We train our own foundation models optimized for reasoning and prototype agents on top of these models. By using these agents extensively, we gain insights into improving both the capabilities of the underlying models and the interaction design for agents. We recently launched our first product, Sculptor: https://imbue.com/sculptor/

We aim to rekindle the dream of the personal computer, where computers become truly intelligent tools that empower us, giving us freedom, dignity, and agency to pursue the things we love.

For more example projects and benefits, see the full job description: https://imbue.com/careers

Please apply through the website above. All submissions are reviewed by a real person!
by pornel | 2025-10-02 00:56:15+00:00
Another aspect is that the majority of projects that keep using C, do it specifically to maximize performance or low-level control (codecs, game engines, drivers, kernels, embedded).

For such projects, a GC runtime goes against the reason why they used C in the first place. Rust can replace C where Fil-C can't.

A technically memory-safe C with overhead is not that groundbreaking. It has already been possible with sandboxing and interpreters/VMs.

We've had the tradeoff between zero-overhead-but-unsafe and safer-but-slower languages forever, even before C existed. Moving C from one category to the other is a feat of engineering, but doesn't remove the trade-off. It's a better ASAN, but not miraculously fixing C.

Most projects that didn't mind having a GC and runtime overhead are already using Java, C#, Go, etc. Many languages are memory-safe while claiming to have almost C-like performance if used right.

The whole point of Rust is getting close to removing the fast-or-safe tradeoff, not merely moving to the other side of it.
by maxbond | 2025-10-02 00:58:48+00:00
I'm partial to the piriform curve [1], which I call the "gumdrop curve." I had a lot of fun trying to make a game where the characters were gumdrops. I could change either parameter (width or height) while keeping area constant, so I could have procedural animations of them stretching to give the impression of falling from a great height and such. (Keeping area constant is a basic principle in making animations believable.) I didn't end up finishing the game but I learned a lot about programming UIs and using canvas-like interfaces.

If you turn up such a paper I'd love to take a look. It does seem like something that you could solve with gradient descent once you've guessed the right family of curves (eg Lissajous curves).

[1] https://mathworld.wolfram.com/PiriformCurve.html
by thaumasiotes | 2025-10-02 00:59:13+00:00
> What is true is already so. Owning up to it doesn't make it worse.

I think this is false in an interpersonal relationship context. Acknowledging something can make it worse.

I often think about a scene from Friends, with the following setup:

- Phoebe is visited, by surprise, by a character unknown to the audience.

- We learn that he is her husband, that he is a gay figure skater, and that the marriage was proposed as one of convenience, allowing him to get a green card by marrying an American.

- We learn that Phoebe agreed to the marriage because she was in love with him and wished she could be his wife.

- The reason for his return is that he's realized he isn't gay, and he wants to get a divorce from Phoebe so that he can marry another woman.

Phoebe naturally finds this distressing. Eventually she agrees to the divorce, but just before handing over the paperwork, she asks him whether, if he had realized earlier, she could have been the one he married (for love).

And then she immediately interrupts to say "Never mind, I don't think there's any answer that would make me feel better."

I am interested in the idea that any answer to this question would make Phoebe feel worse. I agree with it. But it's not obvious why it should be the case that every possible resolution is a step down from no resolution. On an expected value basis it cannot be the case.
by pizlonator | 2025-10-02 00:59:23+00:00
The key part I agree with most in your edited comment is that unsafe raw pointers are the easiest way to deal with cycles.

I think this is key. RC pointers don’t give you the ability to say: ok, I now know that this subset of the graph is dead because reasons so delete it. In RC, you’d have to walk the graph to break cycles. That’s a rather important difference from how you’d manage a cyclic data structure in C, C++, Java, C#, or any GC’d language. In C/C++, you’d delete what you know to be dead; in Java et al it would be enough to kill the references that point at the outer edges of the dead subgraph. But you wouldn’t have to walk the subgraph to detangle the cycle.

I think it really is worse than that; ie as you say, folks will just do anything but RC in that case. In Rust the safe bet would be to just shove all the nodes into an array and use indices (yuck!!!). But likely a lot of code with use raw pointers instead (also yuck). The whole thing where you reference count cyclic data structures is just too painful for sensible people
by nbstme | 2025-10-02 00:59:27+00:00
Appreciate the feedback. I’m not saying grep replaces RAG. The shift is that bigger context windows let LLMs just read whole files, so you don’t need the whole chunk/embed pipeline anymore. Grep is just a quick way to filter down candidates.

From there the model can handle 100–200 full docs and jot notes into a markdown file to stay within context. That’s a very different workflow than classic RAG.
by jgalt212 | 2025-10-02 01:00:11+00:00
> Grep works great when you have thousands of files on a local filesystem that you can scan in milliseconds. But most enterprise RAG use cases involve millions of documents across distributed systems

Great point, but this grep in a loop probably falls apart (i.e. becomes non-performant) at 1000s of docs, not millions and 10s of simultaneous users
by kalleboo | 2025-10-02 01:00:13+00:00
> price went negative (or null) for the entire month during the solar hours

Sounds like a great investment opportunity for storage providers?

Isn't this how it's going to work itself out just due to pure economics? Solar panels become so cheap to build and install that people keep doing it just to eke out more power during the more expensive duck curve hours/cloudy days. This causes even more overproduction during the daylight hours, which makes storage more attractive to build
by all2 | 2025-10-02 01:00:19+00:00
You might map out your functionality and see what you actually need in terms of programmatic functionality. LLMs are actually decent at creating the boilerplate if you know what you need.

Here's an example I had Claude throw together for states/substates for a door with a lock

https://mermaidchart.com/play?utm_source=mermaid_live_editor...

Wow. That's a lot of link. Here's the raw chart:

stateDiagram-v2 [*] --> Closed state Closed { [*] --> Locked Locked --> Unlocked: unlock / disengageBolt() Unlocked --> Locked: lock / engageBolt() } Closed --> Open: open [unlocked] / swing() Open --> Closed: close / checkSensors() note right of Closed Composite state with two substates end note note left of Open Simple state end note Locked: entry / engageBolt() Unlocked: entry / disengageBolt() Open: entry / startTimer() Open: exit / stopTimer()

The syntax in the text labels is written the same way the Harel paper proposes: <State>: <entry/exit> / <action>()
by dimal | 2025-10-02 01:00:43+00:00
This is the answer. I’m autistic and I don’t want anything for myself that I don’t also want for everyone else. All I want is to be treated like the individual human being that I am. I have specific things I’m good at and other things that are difficult or impossible for me. Other people have different abilities and challenges. Stop acting like there’s some “normal” that we all need to aspire to. No individual is normal.
by lunatuna | 2025-10-02 01:01:31+00:00
I’ve only read The Road and found it extremely difficult because of the nihilism. I put it down in the middle of it and stewed for 6 months before I picked it up again. I am so glad I did. I think his detractors are right, it is violent, nihilistic, masculine and whatever else. Through that the other side of the contrast becomes so vivid. Maybe there are better ways to get there. For me it hit.

My daughter and I talk about the message in the book regularly. Though she has yet to read it. I see more clearly my purpose as a dad and as a member in my community. Totally worth the read.
by tony | 2025-10-02 01:02:31+00:00
Location: RGV, TX, USA (US citizen)

Remote: Yes

Willing to relocate: No

Technologies: Python, TypeScript, React, AWS, Datadog, Sentry, LLMs (ChatGPT/Claude/Gemini)

Résumé/CV: https://tony.cv (PDF: https://tony.cv/cv.pdf)

Email: tony [at] git-pull [dot] com

Senior+ engineer — 2× YC, 2 acquihires. OSS maintainer of tmuxp/libtmux (packaged in major Linux distros, FreeBSD, Homebrew). Interested in AI/product work.
by throwup238 | 2025-10-02 01:04:29+00:00
> One of my favorite counterintuitive examples: The biggest economic gains from the 1800s Industrial Revolution actually came from the humble washer/dryer. By making routine homeware 100x more efficient, this (along with other home appliances) allowed more women to enter the labor force, nearly doubling labor force participation within a couple generations. Though, at the beginning, lots of people were opining about homemakers losing a sense of purpose or relaxing all the time.

What exactly did your professors mean by "economic gain"? It'd probably take an entire thesis to unpack what that means and all the ambiguities that anyone could drive a train through.

The only way I can square that circle is if they meant that women's economic prospects declined so much with the automation of textiles that they had nothing left but small efficiency gains. Maintenance tasks like clothes washing don't produce any economic value outside the household, whereas spinning/weaving/sewing produces something the household can sell, trade, or gift. Early textile mechanization took place decades before washing machines were even a novelty so sure, "biggest economic gain" as long as you're measuring from a local maxima.
by mirabilis | 2025-10-02 01:05:38+00:00
Haven’t read “The Road” yet, but I was able to take the time to read “Blood Meridian” this year— I don’t think I would describe the violence depicted as “relished.” It came across as vivid in an arduous, can’t-look-away-from-the-wreckage-so-bear-witness way, and I was really intrigued by how the Kid’s POV dissolves during the worst of it. And about “why someone might write about the worst among us”—the glory-seeking and hypocrisy of the Glanton gang also felt timely, to be frank. So, to me, it felt more like a clinical exposure of ugly rot rather than a luridly violent power fantasy like Inglorious Basterds.

Though I do kinda feel the “masculine” note in that quote haha, if only because the women that appeared in the story were steadfastly hospitable (or victims.) Disregarding any incident where the Judge was involved, it actually felt quaint, especially in contrast to everything else going on.

I’ll be interested as I check out the rest of his catalogue as to if the stomach-churning detail involved still feels necessary, or if my tolerance starts to change.
by orsenthil | 2025-10-02 01:05:47+00:00
My favorite quote of her has been.

Understanding what chimpanzees are like has made me realize that we humans are not so different from other animals as we used to think. What makes us most different is that we are far more clever than even the cleverest chimp, and we have words. We have a spoken language. We can tell stories about what happened a week or a year or a decade ago. We can plan for the future, and we can discuss things - one person's idea can grow and change as other people contribute their ideas. Great ideas become greater, problems are solved.

My Life with the Chimpanzees (1996), p. 140
by spoiler | 2025-10-02 01:08:05+00:00
It's complicated for me. Sometimes breakfast makes me notice my digestive system, which seems to make my ADHD-adjacent traits worse. I also get IBS... Which is different from the meds constipation. So eating is difficult. Because of IBS my bowels are also unpredictable, so dosing laxatives is hard. I don't know how many of these things are caused by meds.

Then there's the energy thing. I guess if I'm in ketosis it's fine, but after not eating for a whole day it's hard to sustain the next day, but eating isn't alway worth it.

The saddest part is that junk foot and Tesco meal deal is so is somehow easier to digest. So I often eat that.

I'm trying Kefir (even though I'm lactose intolerant, but I take lactase with it) for the 10 time probably. My GP recommended it. Alas, maybe it helps.

Soooo, tldr eating yes, I love it, but it can have consequences that completely tank my productivity. And each time I have to ponder this it feels like I've done a chore but without the reward feeling of completing a chore, even though I just say there in silence for 5-15 minutes

Idk if other people are in a similar boat
by sunnybeetroot | 2025-10-02 01:08:06+00:00
Will give it a shot!

Definitely agree with you, I think if Fuji made the X-E range contain an ND filter, then it would be the ultimate every day camera. Whilst the 27mm F2 on the X100IV is nice, being able to go to an even lower aperture can be priceless in some situations.
by zmmmmm | 2025-10-02 01:09:01+00:00
part of the challenge with autism is that nearly all it's features are shared partially or individually by ordinary people as pretty routine character traits (eg: socialising is energy draining for "regular" introverts).

It's (a) them being collectively combined and (b) the severity that creates the issue, but it's very hard for autistic people to explain and justify what's happening to them when everybody feels like they already experience these things and manage to just "deal" with it.
by foota | 2025-10-02 01:09:10+00:00
Ah, that makes some sense, although some reading says that struct member visibility is by default the module, which is a file if you don't do anything. If you wanted you could probably just wrap all the structs you want to be protected inside a module per file? It is a bit annoying though. I guess the issue here is that in rust struct fields need to be accessed for trait implementations. It wouldn't be backwards compatible obviously, but I wonder if they could have tightened that so that by default only trait implementations for a struct can access that structs members?
by Aachen | 2025-10-02 01:10:48+00:00
If you've ever copied text out of a PDF, you'll know it's not the original text anymore. Besides ligatures, you get broken sentences with extra hyphens inserted in wrong places (that were word/line breaks in the PDF-rendered version), if it'll properly let you select more than a few words at all. It works like "put these couple words at position x,y" and not (html's) semantic "here comes a heading" tag that helps people accessibly read your text, and if you're not suffering from any impairment or mobile devices with narrower screens than this particular render was designed for, it also lets you work with the document more easily. It's like you remove all HTML and keep only the CSS: all definitions of what's a section, sentence, emphasis, or caption are gone

I didn't mean literally an image, hence saying image-like. You get similar limitations to when using OCR, which seems very image-like to me
by voidhorse | 2025-10-02 01:10:53+00:00
Not to mention, unless you want to ship entire containers, you are beholden to the unknown quirks of tools on whatever system your agent happens to execute on. It's like taking something already nondeterministic and extremely risky and ceding even more control—let's all embrace chaos.

Generative AI is here to stay, but I have a feeling we will look back on this period of time in software engineering as a sort of dark age of the discipline. We've seemingly decided to abandon almost every hard won insight and practice about building robust and secure computational systems overnight. It's pathetic that this industry so easily sold itself to the illogical sway of marketers and capital.
by pizlonator | 2025-10-02 01:11:31+00:00
There are so many programs written in C or C++, but not in any of the languages you cite, that run just fine in Fil-C.

The thing that is interesting about Fil-C isn’t that it’s a garbage collected language. It’s that it’s just C and C++ but with all of the safety of any other memory safe language so you can have a memory safe Linux userland.

Also, Fil-C isn’t anything like ASAN. ASAN isn’t memory safe. Fil-C is.