• 5 Posts
  • 97 Comments
Joined 1 year ago
cake
Cake day: June 8th, 2023

help-circle



  • It sounds like nobody actually understood what you want.

    You have a non-ZFS boot drive, and a big ZFS pool, and you want to save an image of the boot drive to the pool, as a backup for the boot drive.

    I guess you don’t want to image the drive while booted off it, because that could produce an image that isn’t fully self-consistent. So then the problem is getting at the pool from something other than the system you have.

    I think what you need to do is find something else you can boot that supports ZFS. I think the Ubuntu live images will do it. If not, you can try something like re-installing the setup you have, but onto a USB drive.

    Then you have to boot to that and zfs import your pool. ZFS is pretty smart so it should just auto-detect the pool structure and where it wants to be mounted, and you can mount it. Don’t do a ZFS feature upgrade on the pool though, or the other system might not understand it. It’s also possible your live kernel might not have a new enough ZFS to understand the features your pool uses, and you might need to find a newer one.

    Then once the pool is mounted you should be able to dd your boot drive block device to a file on the pool.

    If you can’t get this to work, you can try using a non-ZFS-speaking live Linux and dding your image to somewhere on the network big enough to hold it, which you may or may not have, and then booting the system and copying back from there to the pool.





  • There are a lot of missing steps people don’t really understand yet R.E. how this all amounts to something complicated like “a liver”. But we think that the basic building block of it is that there are gradients of chemical concentration that some cells set up, and then other cells react to the level of the chemical and decide to different things. There’s a famous analogy of the French Flag Model, where the different stripes of the French flag are imagined to emerge from how far you are from the left edge where a “morphogen” chemical is coming from, because cells detect and react to different concentrations of the chemical in different ways.

    And the cells do these things because the DNA programs them to do it. Some genes produce proteins that can turn around and bind to the DNA that encodes other genes, and make those other genes produce more or fewer proteins of their own. Proteins can be made so that they bind or unbind DNA in the presence of other proteins, or particular chemicals, or which can function to turn one chemical into another. So you can have little logic circuits made out of genes that measure chemicals and turn other genes on and off. And you can have little memory circuits based on which genes have things bound to them and which ones are currently on or off, so the cells can remember what it is they decided to be. And so the cells are programmed to differentiate into progressively more specific cell types over time depending on what signals they see, with the morphogen gradients or combinations of them allowing the cells to have some idea of where they are in the body.

    And the proteins are these little squishy clicky things, like long strings of magnets that will snap into certain shapes, or that can swap between a few shapes. They can be shaped so they fit really nicely against certain shapes of DNA sequence or other proteins, or so that they fit really nicely against small molecules with a piece pushing on the molecule in just the right place to make it easy for an atom to break off the end of it or whatever. And because they live in this weird tiny world where everything is constantly vibrating around and banging against everything else (because of how tiny the volumes get when you shrink the lengths to cell size), this is enough for them to find and stick to the stuff they are shaped to stick to.

    Then depending on genetic variation between people, the proteins involved can e.g. have different set points for the concentrations they react to, and that can translate into the threshold between cells deciding to do one thing or another moving around in the body, and in turn translate into people having e.g. a wider or narrower region of their face decide to be a nose.





  • Zuckerberg Did Nothing Wrong

    I’m concerned that the narrative that what Facebook was trying to achieve here was wrong or bad is itself user-hostile, and pushes in favor of the non-fiduciary model of software.

    Facebook paid people to let them have access to those people’s communications with Snap, Inc., via Snapchat’s app. This is so that Facebook could do their analytics magic and try and work out how often Snapchat users tend to do X, Y, or Z. Did they pay enough? Who knows. Would you take the deal? Maybe not. Was this a totally free choice without any influence from the creeping specter of capitalist immiseration? Of course not. But it’s not some unusually nefarious plot when a person decides to let a company watch them do stuff! Privacy isn’t about never being allowed to reveal what you are up to. Some people like to fill out those little surveys they get in the mail.

    Now, framing this as Facebook snooping on Snapchat’s data concedes that a person’s communications from their Snapchat app to Snapchat HQ are Snapchat’s data. Not that person’s data, to do with as they please. If the user interferes with the normal operation of one app at the suggestion of someone who runs a different app, this framing would see that as two apps having a fight, with user agency nowhere to be found. I think it is important to see this as a user making a choice about what their system is going to do. Snapchat on your phone is entirely your domain; none of it belongs to Snap, Inc. If you want to convince it to send all your Snapchat messages to the TV in Zuckerberg’s seventh bathroom in exchange for his toenail clippings, that’s your $DEITY-given right.

    User agency is under threat already, and we should not write it away just to try and make Facebook look bad.



  • I think you can keep doing the SMB shares and use an overlay filesystem on top of those to basically stack them on top of each other, so that server1/dir1/file1.txt and server2/dir1/file2.txt and server3/dir1/file3.txt all show up in the same folder. I’m not sure how happy that is when one of the servers just isn’t there though.

    Other than that you probably need some kind of fancy FUSE application to fake a filesystem that works the way you want. Maybe some kind of FUES-over-Git-Annex system exists that could do it already?

    I wouldn’t really recommend IPFS for this. It’s tough to get it to actually fetch the blocks promptly for files unless you manually convince it to connect to the machine that has them. It doesn’t really solve the shared-drive problem as far as I know (you’d have like several IPNS paths to juggle for the different libraries, and you’d have to have a way to update them when new files were added). Also it won’t do any encryption or privacy: anyone who has seen the same file that you have, and has the IPFS hash of it, will be able to convince you to distribute the file to them (whether you have a license to do so or not).



  • I think the article is probably right. A software developer should be able to make software to do whatever needs doing. Maybe not good at any given thing, but able to do it. Eventually. Nobody wants a software developer who isn’t themselves Turing-complete.

    Will they always do it the Right Way if they spent 10 years learning compiler design and you want them to program an ESP32? Of course not. But if you hired a compiler engineer who cannot teach themself to solve a user’s ESP32-shaped problem, then you have hired a compiler engineer who can be completely incapacitated by a sufficiently leaky abstraction.

    Sooner or later when doing any one thing in software development, you are going to run into a problem that requires you to dig into something else that you don’t actually know how to do. The abstraction leaks and suddenly how file handles work or the fact that an ESP32 needs to go to sleep sometimes is now impinging on your compiler design problem and the users are not able to do the things because of it. If you have an expert on whatever the thing is, sure, you call them in and they help you out. But if not, you learn enough to make yourself useful and you hit the problem with research and analytical thinking until it stops bothering the users.



  • The death of the device and the return of the system.

    A device is a sealed thing provided on a take it or leave it basis, often designed to oppose the interests of the person using it. Like hybrid corn, a device is infertile by design: you cannot use a device to develop, test, and program more devices.

    A system is a curated collection of interchangeable hardware and software parts. Some parts are only compatible with certain other parts, but there is no part that cannot be replaced with an alternative from a different manufacturer. Like heirloom seeds, systems are fertile: systems can be used to design and program both other systems and devices.

    A system is a liberatory technology for manipulating information, while a device is a carceral technology for manipulating people.


  • And it doesn’t cause other problems like outsmarting the brain systems that are supposed to be attaching your intelligence to the interests of your body? Or the people inconveniently stopping you from snorting cocaine constantly until you die? And there’s no level of intelligence you reach where you note that higher levels are unlikely to be any more use to you in achieving your actual goals, versus spending that button-pushing time on other tasks? And all this intelligence is free and doesn’t require any energy input to run in your head? And at some level you become intelligent enough to impart these abilities to your descendants or to just never die? And you reach a level of intelligence where you can fight off the CIA before you reach a level of intelligence where you interest the CIA?

    People don’t generally reason about things like “intelligence” as an abstract value from zero to infinity, because we don’t encounter such things very often. What we do encounter is people trying to scam us. If you present someone with something that appears to be a 100% obvious perfect move with absolutely no drawbacks whatsoever, they mostly correctly conclude that they just aren’t smart enough to understand the catch.