Recent submissions

Comment · 3 days ago
There aren't any _good_ elements that start with the letters D or E. Imagine if they name the next one "Dysprosium" where the Greek root translates to "hard to get at" or "difficult to access" reflecting how difficult it was for its discovers to isolate it in the late 19th century, but also sounds kind of untrustworthy to give an AI model such a name.
Comment · 8 days ago
Bonjour!
Comment · 8 days ago
True! there are lots of layers of abstraction written around that core `nsenter` piece of libcontainer. I just take issue with the "Go is kind of a terrible language for a container runtime" claim made by the OP. The maintainers' choice to use an expressive high-level language for most of the codebase is a practical one, I think. They also knew when it was not the right tool for the job and when to pull out the C bindings or how to work-around issues with forking the process. The OP mentions this, but for fork/re-exec helpers in the engine, this is where it lives now: [1]. I specifically remember needing to use something like this for the `docker-untar` helper during image pulls (I worked primarily on the container image filesystem-setup part of Docker) so that extraction of the image layer archives could be done in a chroot with fewer privileges. It was a security-sensitive part of the docker daemon and previously there were all sorts of malicious ways that a container image could be built so that contents are extracted _outside_ of the place they should be. This is the "images are just folders" part of OP's article. Another part I find funny is the "Containers really aren’t real". I think the best part of this is that when you use docker to "create" a container (`docker container create`), it mostly just creates the container's rootfs directory (it's actually multiple directories combined using an Overlay Filesystem) and its configuration file. The container doesn't actually "exist" until the process starts which is a separate command (`docker container start`) because Docker doesn't actually instantiate the namespaces or launch the container task until start time (and generally in Linux, namespaces are tied to living processes unless explicitly held open via bind mounts or another process reading a `/proc` file).

[1] https://github.com/moby/sys/tree/main/reexec

Comment · 8 days ago
some people do all of their software development in a container. It really only works well if you are comfortable using TUIs instead of desktop apps though.
Comment · 8 days ago
> Docker’s container runtime, runc, is written in Go.

I worked at Docker from 2014-2019. The most important part is actually written in C.

[I wrote a whole comment here about to explain how the hack works because I was too fixated on how technically incorrect "written in Go" is. Then I went back to read the rest of the article only to see that the paragraph immediately after this kind of explains it in its own way! Let that be a lesson to always finish reading the article before posting about it.]

Comment · 13 days ago
the chain of thought is not auditable. The best you can do is have another model which later maps the intermediate latent states at every thinking iteration to text describing that latent state, but it's going to be lossy.
Comment · 15 days ago
> without parentheses

> \x28

> \x29

does this not count as using parentheses?

Comment · 16 days ago
I like how he just casually posts a photo of over $30k worth of equipment on his disk like "this is accessible to everyone!"
Comment · 17 days ago
Comment · 17 days ago
Comment · 19 days ago
Comment · 25 days ago
Just to clarify, neither of those projects (2006 and 2013) was done by Fervo. Fervo wasn't even founded until 2017.

The Basel project caused earthquakes because it used a single, vertical well to pump high-pressure water into dense granite all at once, which accidentally over-pressurized and lubricated a major existing fault line. In St. Gallen, the earthquake happened when drillers unexpectedly hit a high-pressure methane gas pocket. The rapid injection of heavy drilling mud used to control the gas kick built up intense, localized pressure that triggered a nearby fault.

Fervo's modern method avoids these issues by using horizontal drilling to distribute fluid pressure gently across miles of rock rather than spiking it in one spot. They also use advanced fiber-optic cables for real-time micro-seismic monitoring, allowing them to sense tiny rock movements and adjust fluid rates instantly before a felt earthquake can ever develop.

Comment · 3 months ago
I have so far only completed about 14 minutes of the talk, but I would imagine it to be some sort of relatable analogy which foreshadows what the thesis of the talk is about. The "Christian Parents" are the authority figure and following their rules, lessons, and expectations for dating is a lot like doing only the software engineering tasks that management prioritizes for you. You end up unsatisfied with your life to the point where you become jaded about software (software development is like "dating" in this analogy) instead of learning the skills necessary to wield influence over what you get to work on. I'll watch the rest to see if I'm right.

edit: it's wasn't just about developing software but also using software. You don't have to accept the bad situation you're in (or the bad software you've been given or told to use). Finally, I'll say that while the speaker's comment about conservative christian upbringing isn't a universal one, it is a widely shared one. If you take offense by it maybe take a moment to pause and consider that maybe the way you were exposed to it was probably more balanced than what many others experience, or in the worst case that maybe your negative reaction to it is a sort of defense mechanism that you've learned to shield yourself from confronting the reality that your own conservative christian upbringing was not so good after all?.

Comment · 3 months ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton