IRC channel logs

2023-10-19.log

back to list of logs

<lilyp>Not bootstrapping is a crime against humanity.
<matrix_bridge><jcmdln> I thought zig-bootstrap still fully reproduces Zig from a C/C++ toolchain?
<matrix_bridge><jcmdln> from there you can skip steps when updating and use Zig to build an updated wasm target to avoid LLVM. maybe I have that wrong
<nektro>zig-bootstrap also uses the wasm blob
<matrix_bridge><jcmdln> oh, yeah I see it now
<lilyp>and of course they had to add a package manager because we don't have enough of those already
<NickH>h01ger: No one in Debian was sufficently interested in Zig to sponsor my package even when it did bootstrap.
<oriansj>h01ger: well yes. It is a crime against future generations, not yet born. A technological debt that might become unpayable.
<oriansj>think of it like the crime of environmental pollution; burning some wood to warm one's house. Not realizing the collective release of CO2 is going to kill billions and thinking, hey It makes my life better and it is not going to harm anyone. But that very thinking is why so much CO2 is being emitted year after year at ever growing rates.
<matrix_bridge><jcmdln> is it really _that_ bad?
<matrix_bridge><jcmdln> it's just not O(1) bootstrap. lots of things aren't.
<matrix_bridge><jcmdln> the vitriol seems unnecessary
<lilyp>It's fine to have a longer bootstrap, but there's more than that to consider: First, zig for a long time advertised its bootstrappability as a feature. Going back on that promise and shipping a WebAssembly binary is–imho–not a great move overall.
<lilyp>Further, the implementation details make it seem as though we got from O(1) to O(none) in one release. That WebAssembly binary, that ain't source code.
<lilyp>How do you build it from source code? We have yet to see that this'll make future zigs compilable from anything.
<muurkha>I'm not convinced it's so crucially important
<matrix_bridge><jcmdln> As far as I can guess as I am not a Zig user, Zig 10.1 would be used to run zig-bootstrap/zig/build.zig which generates the wasm binary. Maybe upstream could clarify. Andrew also uses libera and is good at responding.
<muurkha>also I don't think burning wood can kill billions either
<muurkha>it can't add more CO2 to the atmosphere than was locked up in plants, which got it from the atmosphere
<muurkha>coal, yes, that's a big problem. wood, that's a local air quality problem that goes away within a day
<matrix_bridge><jcmdln> Let's not derail this further. I wasn't looking to start an argument. This has been a very friendly place of people working on really interesting problems.
<lilyp>An atmosphere that was once unlivable for humans. Thought experiment: What happens if you burn all the wood in a country?
<muurkha>easter island happens
<muurkha>the bootstrap toolchain is a potential defense against Karger-Thompson attacks, but it's not the only defense, and it's valuable even if it just reduces the exposure area to them
<muurkha>beyond that, it's an intellectually fascinating exercise, and one that clarifies the foundations the software universe is built on
<luke-jr>it is better that a language not exist at all, than that it be impractical to bootstrap
<muurkha>for some purposes, sure
<muurkha>but until a few months ago all languages were in that position
<muurkha>do you think it would have been better not to have them until then?
<luke-jr>no, they weren't
<muurkha>well, all the ones I used were. until Fiwix
<muurkha>and they're still not bootstrappable from a minimal hardware seed, though we'll probably get there soon
<nektro>lilyp, it was decided to temporarily regress because it was slowing down the team a lot. zig gets flack because it makes a lot of great waves but it is still pre 1.0
<nektro>as the language becomes more stable i personally, among others, am looking out for the best way to bring back zig's bootstrappability
<nektro>working on an alternative implementation right now would be a similar spot as mrustc but to a lesser degree
<nektro>at least on the zig side there's an end in sight
<lilyp>imho, there would have been better options of "temporarily regressing in bootstrappability"
<lilyp>I don't see what having a 2.4MB blob declared as "source code" would ever achieve
<muurkha>concur
<nimaje>could have done it like idris and specify which earlier version is needed at least to bootstrap and and offer the blob to not need to do the full chain
<h01ger>oriansj: i find that sick and out of place. driving a car instead of a bycicle is not the same as killing someone. using emacs (bloat) instead of vim is not the same as driving an SUV.
<h01ger>but lets leave it there
<lilyp>Driving a car almost universally leads to killing someone somewhere sometime. That's how cars are engineered. You may call Emacs bloated, but at least it's not engineered to both kill fellow people and the planet.
<muurkha>haha
<stikonas>a bit offtopic but indeed burning wood is considered to be CO2 neutral, if you don't burn it, it will still decay, e.g. on the forest floor and release the same amount of CO2
<h01ger>stikonas: "considered". its bullshit. rotting in 20y vs burning in 2h
<stikonas>20 years doesn't really matter for climate change
<stikonas>it's long term climate
<lilyp>that only counts if you actually plant the same amount of tree as you burn
<lilyp>which folks kinda don't
<stikonas>no, even if you don't plant
<lilyp>(safe for china maybe)
<stikonas>just takes 20y like h01get said
<stikonas>s/h01get/h01ger/
<lilyp>you're assuming that we only take wood that would otherwise rot, which we don't
<lilyp>we actively cut down trees for heating
<stikonas>well, that's bad for other reasons
<lilyp>true
<stikonas>but longer term that doesn't change co2 balance, surface + atmosphere carbon stays the same
<nimaje>can plants even absorb that CO2 if it is released in just 2h, instead of in the span of 20y? and where that CO2 is released matters too
<lilyp>fair point, our buffers are finite size
<lilyp>trees and oceans are probably better at doing this than CC tho :)
<stikonas>yeah, plants are surprisingly good at this, I think speed of photosynthesis increases with CO2 concentration unless one hits other limiting factors such as the amount of light which wouldn't increase
<nektro>the majority of photosysthesis is done by algae
<nektro>and the the majority of carbon storage is in tundras, but those are also at risk of melting
<rekado>it took a global effort over more than 100 years to release that much carbon and energy. It would take at least as much energy to trap the CO2 again. If we don’t trap it it’ll continue heating the planet until the oceans have eventually taken care of it (at the cost of global ecosystem collapse).
<rekado>cycling the CO2 for a few years longer in above-ground stores does nothing to solve the immediate crisis.
<rekado>we must keep the oceans from becoming too acidic and reflect more of the incoming solar radiation because we cannot lower the amount of greenhouse gases quickly enough to avert collapse. The easiest known way is to increase fine particle pollution.
<oriansj>muurkha: thank you for that clarification.
<oriansj>lilyp: well the limit for CO2 uptake has to do with available light, water, bioavailable nitrogen, phosphate and potassium. (basically the chemicals needs to build the cells themselves in the ratios used in the cells in bioavailable forms)
<oriansj>rekado: technically it will require even more energy to recapture that CO2 than it released when we used it. But yes, the damage needs to be corrected as soon as possible.
<msavoritias>taking it back to computing, computing as a sector has much much bigger problems than bootstrap or emacs vs vim for pollution
<msavoritias>like the data centers or the endless upgrade cycle of hardware or repairability
<msavoritias>i doubt compiling too much is on anybody's roadmap for pollution/energy usage
<msavoritias>although at some point it should be. but mostly for other reasons than pollution imo
<oriansj>msavoritias: agreed, it usually takes 7 years of computer usage to equal the amount of energy used in the manufacture of the computer itself. So having people buy less and repair and use for longer would reduce the environmental impact.
<stikonas>also for quite a significant chunk of population you shouldn't count compile time for half a year
<stikonas>e.g. if compile stuff in winter, it emits useful heat which I would otherwise need to get from somewhere anyway
<stikonas>depending on your heat source, electricity might even be cleaner
<matrix_bridge><emilytrau> sorry to derail this conversation but :p
<matrix_bridge><emilytrau> so excited to finally share that nix has received investment from the sovereign tech fund in part to develop our bootstrap chain! https://mastodon.social/@sovtechfund/111261407556029020
<stikonas>nice!
<oriansj>emilytrau: best derail ever
<matrix_bridge><emilytrau> i've been working full-time on this and will have an initial budgetted time of 2 months 🥳
<janneke>emilytrau: amazing, congrats!!!
<janneke>that's such good news \o/
<Foxboron>Ah, so that is what the grant was for. It wasn't obvious from reading the post nor the blogpost :)
<matrix_bridge><emilytrau> Foxboron: some more info in our forum post https://discourse.nixos.org/t/nixpkgs-supply-chain-security-project/34345
<muurkha>rekado: no, the amount of energy required to trap the CO2 is much, much smaller than that obtained by producing it
<muurkha>emilytrau: that's wonderful news, congratulations!
<stikonas>muurkha: how so? That's just basic energy conservation...
<stikonas>you burn carbon molecule, it creates some energy and co2
<stikonas>to capture carbon, you need to take co2 molecule, split it, and store carbon
<muurkha>stikonas: it would indeed take the same amount of energy, plus losses, to convert it back to coal or plant material
<stikonas>and due to entrypy considerations, etc... you need even more
<stikonas>indeed
<muurkha>but you don't have to split the CO2 molecule to capture it
<stikonas>yeah, but I don't think anybody just captures and stores co2...
<muurkha>you just have to remove it from the atmosphere
<stikonas>it's gas...
<stikonas>hard to store
<muurkha>it's not gas once you put a few atmospheres of pressure on it
<muurkha>not only can it be stored just by pumping it back into natural gas reservoirs, which is the approach historically taken by most atmospheric carbon capture projects,
<[exa]>stikonas: stores well in trees :]
<muurkha>it can also react with a number of kinds of rock to form carbonate rocks, including in particular olivines
<stikonas>ok, then there might be smaller amount of energy needed...
<muurkha>so pumping it into such rock formations is a currently very popular approach to carbon sequestration
<muurkha>it's an enormously smaller amount of energy
<muurkha>about an order of magnitude smaller
<stikonas>though often you have overproduction of energy in grid anyway
<stikonas>so at those times, energy is not really a concern
<muurkha>and this fact is crucial to the technical feasibility of atmospheric carbon capture
<muurkha>it's still a large enough amount of energy that political feasibility is questionable
<[exa]>muurkha: how do they actualy get the co2 to a pumpable state? I assume as a by-product of the normal gas liquification plants?
<muurkha>but it doesn't require running the industrial revolution again, backwards :)
<muurkha>[exa]: you purify and compress it. purification is done by absorbing it into things with a strong but not invincible affinity for CO2, then forcing it out again
<muurkha>ethanolamines are a favorite material for this historically
<[exa]>ah cool
<[exa]>so no compression really required in the process?
<[exa]>(as in, no brutal compression as required for the liquification&separation columns)
<oriansj>or thermal separation; cool CO2 down enough it becomes a liquid and easy to separate from the other gases that didn't liquify yet
<[exa]>oriansj: yeah that's what I thought originally but it ain't very energy-efficient either, except maybe for a by-product
<oriansj>well isolating a 420 parts per million by definition can't be energy efficient
<muurkha>yes, you need compression once you have it purified
<muurkha> https://derctuo.github.io/notes/sequestered-co2-volume.html is one of my notes on the topic but it talks about the volume rather than the energy cost
<oriansj>well isolating CO2 from high density sources (like engines that burn carbon/hydrocarbons) is much more energy efficient than collecting it from the atomosphere.
<muurkha>it makes sense to start with non-atmospheric carbon capture, yes
<muurkha>CO2 doesn't ever become a liquid at atmospheric pressure
<oriansj>and if I remember correctly, lower temperatures make the process of isolation more efficient
<muurkha>I'm still trying to find the upper bound I calculated on the energy cost, using lime as the absorption medium
<muurkha>the only notes I've found so far are dac-energy.md in git clone http://canonical.org/~kragen/sw/pavnotes2.git
<muurkha>and that's my review of the academic literature on the topic, not my own first-principles calculations
<muurkha>which I am not finding unfortunately
<muurkha>I mean other notes I've written that are relevant include https://dercuano.github.io/notes/scrubber-mask.html and https://dercuano.github.io/notes/house-scrubber.html but those aren't the ones I'm thinking of
<oriansj>muurkha: thank you for providing your sources ^_^
<oriansj>always so helpful
<stikonas>oriansj: maybe we can double number of args that kaem supports https://github.com/oriansj/mescc-tools/pull/46 ?
<stikonas>or do you think it would increase memory usage too much?
<muurkha>oriansj: you're welcome! I think providing sources is important to enable other people to figure out when I'm wrong, which is the crux of collective truth-seeking
<muurkha>I think I posted my original calculations, regrettably, as a comment on the orange website
<muurkha>the first-principles ones
<muurkha>I did the soda-lime calculation alluded to in dac-energy.md as an upper bound, a fallback in case there's a bottleneck in some part of the supply chain
<muurkha>like, you could imagine that triethanolamine becomes scarce if you try to scale up production because, hypothetically, some crucial production step depends on an antimony catalyst which wears out, and after only scaling up by a factor of 30, you're buying 98% of world antimony production
<muurkha>and it turns out, hypothetically, that there aren't any antimony mines, just antimony as a byproduct of gold mining, and even paying 100x more for the antimony doesn't increase the supply significantly because it doesn't move the needle on the gold mining operation's overall profitability
<muurkha>so suddenly you find that triethanolamine costs 20x what your initial estimates were, hypothetically, because you tried to scale up a submarine scrubber to scrub the entire biosphere
<muurkha>soda lime is a lot less energy-efficient than TEA but the raw materials are salt and limestone
<muurkha>so you're safe on that front
<notgull>What does "Kaem" stand for?
<stikonas>notgull: make
<stikonas> https://github.com/oriansj/mescc-tools/tree/master/Kaem
<rekado>I think people underestimate the difficulty of pumping stuff back into the same natural gas reservoirs and permanently sequestering it. A huge amount of energy has been used to get the stuff out in the first place. A significant chunk of all the energy released from the fuel obtained.
<rekado>I’m convinced that we don’t have the time needed to sequester anywhere near the amount of CO2 we need to avert ocean acidification. We need to do this anyway, don’t get me wrong. But that’s a process for the next 300 years, to work off our CO2 debt.
<rekado>vastly increasing the amount of radiation that’s sent back to space is actually within our current technological means (we’ve done it before, inadvertently). It just isn’t pretty.
<rekado>I’ll stop here, even though bootstrapping the industrial age could be considered on topic with enormous amounts of goodwill.