• 3 Posts
  • 44 Comments
Joined 1Y ago
cake
Cake day: Jun 08, 2023

help-circle
rss

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.


“Yeah this sounds like a Phil Nash sort of problem, I’ll just stick him in here.”


The rust compiler produces a flawless understanding of your code, and then quits out because understanding that code is a Nightly-only feature and you’re using the stable build.


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.


We could end the era of the developer as a specialized caste. Our tools should be powerful enough that they allow people with problems to collaborate on software to solve those problems, without having to let that become their full time job.


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.


Alice is a pretty good 3D programming environment aimed at kids, with little programming blocks to snap together.

You might want to try going back into the archives and pulling out something like MS-DOS and QBasic, or Logo. You can find a good tutorial in book form, and you can get a system that was designed to be programmed offline, with things like local help in the editor instead of behind a Google search, so it should be 100% safe to leave the kid alone with the machine.


You might want to try Openstack. It is set up for running a multi-tenant cloud.


The crack might not actually be protected by copyright, unless there’s substantial new code added.


Seems to not be paying off though; having whole communities and instances close is pretty inconvenient.


Why does Lemmy even ship its own image host? There are plenty of places to upload images you want to post that are already good at hosting images, arguably better than pictrs is for some applications. Running your own opens up whole categories of new problems like this that are inessential to running a federated link aggregator. People selfhost Lemmy and turn around and dump the images for “their” image host in S3 anyway.

We should all get out of the image hosting business unless we really want to be there.


My understanding is that Usenet providers are responsible for making sure they don’t distribute any copyrighted content to you unless they have a license or some other exception to copyright applies.


Oh sorry, I saw “frontend dev” and assumed that meant web and not like local application.

If you are doing something less popular involving non-web messaging between processes that might be harder to break into.


C++ is a worse idea, it is not a good web backend language.

C# is pretty easy. As long as your boss doesn’t expect you to magically already be good at the thing they refused to allocate time for you to train in, you probably can just start trying to glue bits of C# web API examples together as your first project.



I think the Hyper stuff is mostly a new name for the same thing.

The real “replacement” might actually be Bluesky though, which is Paul Frazee’s new project that he seems to be doing instead.


Not necessarily, Garmin probably wants to sell these. You can pirate while pirating.


Which would be great if I remembered what I sent XD

This is why we have failed our great fore-bearers, the cypherpunks.


-----BEGIN PGP MESSAGE-----
wcFMA908A2JpOQV0AQ/8CVpj7KCuC+LyFOuz7vSpHvgHZHIfvPZaKYzEqoImmH4O
vlumSMYg0bai7oV0TaCe/HP+9Cx25yQZQIZgUo76av1LFzii1UEu8L6fYZ8h16iG
0XytXbIP0IUOf8WLAXFmSYPTtsHnaS8FSFxEPjfNqRKCF8H8K8Ove49D9GnL85gi
SW+FlbP3XaoWmR9wU+BH0QQ+pmshrMf50EEfym6sj1AxBuBOjtmOgBPhNFhlt1M7
e6gLZ/I+uXhw87xUUR19G5SUS+dH25lvUnyzwWOkAvDi/McEVKBef4bKGVDG/B/8
9ouuN1jnIybR3MAu4lppDAyJ1JcvQ/PAyOGIvxZIAxJhBz491x+pgm0N9IPSVFh2
elxKTpxSTPBJQGp5FLfl4Kf8Uy+HldeEGIT0AR3nxaQqY2AZBirxCQxOSRU4MM0E
F/K1Ed6d3uAt5ZI/MigrUrWc95BcjPEM+IXAG9jVu+YL8PC7LLA4zQzlYmBOhwRD
37CxQgQkNfdxLBMA+GTOaT1IqwTWtjMsdqRsKsDYQkLB44WR+Uq56wvU3TLc58gP
7/azhgZX4e4eqjC2qTCe1RsNYfjjKUOD0R78Sr9sX+ZcMSuF+etFs6dAe57eWKtD
MPqzlfmjcztyoaDjZKpFOxSDE4ojV7QJGCQqez0GcZrNcTAgF/Hj0zHR4YDsQqfS
VwHv190PdZqKbxBEE8BS03yfciOKiVXqDUXpKwaxsC6TktUm5u4bMgs9LkIqNe/q
OQV5Dm+5JjiPf3kSbwvLDqOgAsdCjCvxN0g/Z4fj2ddlNRUYoZ+C+Q==
=sAV3
-----END PGP MESSAGE-----


Won’t your VPS promptly be canceled if it starts distributing copyrighted content without a license?


That might just be an Inscryption/Wine compatibility problem. You should check maybe ProtonDB or WineHQ for the game to see if this is a known problem or if there is a particular Wine or Proton version you need to use or a particular library or setting that is needed to make sound work on Linux for the Windows version of this particular game.


Can Lemmy be used to actually share files?
Obviously it wouldn't be allowed in *this* community, but how feasible would it be to make a community on a friendly instance and start shipping data through it somehow? If it works for NNTP it ought to work for ActivityPub, right? Potential problems: 1. Community full of base64'd posts immediately gets blocked by everybody's home instance. 2. Community host immediately gets sued for handing out data it might not have a license for. 3. *Other* instances that carry the community immediately get sued (see #2). 4. Community host is in the US and follows DMCA and deletes all the posts that are complained about. Maybe it would work as a way to distribute NZBs or other things that are useful but not themselves copyrightable? But the problem with NZBs is you have to keep them away from the people who want to send DMCAs to the Usenet providers about them, or they stop working. So shipping them around in a basically public protocol like ActivityPub would not be good for them.
fedilink

True. But then you have to physically show up wherever, and know how to do it right.


Does ActivityPub not have retry with back off like email? Mail will try to be delivered for a few days before the sender gives up.


Not much, what’s hex with you? 🤣

I think it is an instance full of evangelical leftists?




Lawsuits don’t generally just throw themselves out. You have to pay a lawyer to show up and ask the judge to throw out the lawsuit on account of the fact that you don’t host the thing, or whatever the reason is.

Judges don’t go out and do research; if one side’s lawyer says Whirlybird runs The Pirate Bay out of their kitchen and the other side’s lawyer isn’t there, then the court is going to proceed as though that is at least plausible.


The C++20 or so STL actually has things in it now.


I’m struggling to understand how there can be so many security flaws, even in things that don’t seem to matter for security. I think the bar for a security problem might be too low; a lot of these look like footguns that could give my package a security hole, rather than genuine security flaws in the packages they are reported on.

Here’s a progress bar package with a “high” security vulnerability because it contains an internal utility that merges objects and doesn’t stop you writing to the prototype. Did the progress bar package ever promise to provide an object merge function that was safe to use on untrusted user input?

Here’s a notification UI element that bills using HTML in your notification messages as a feature. It has a “medium” level “XSS” security vulnerability where the message parameter is not sanitized to remove HTML. A CVE was issued for this.

Here’s an arbitrary code execution vulnerability in sqlite3! High severity! The bug is that, if you tell sqlite3 to substitute an object into an SQL statement, it will run the ToString() method on the object. If an evil hacker has broken into your lead developer’s house and written a malicious ToString() method into one of the classes of object you use as a database query parameter, then that code would run! The fix here was, instead of letting the normal Javascript stringification rules apply, to hardcode all objects to be inserted into the database as “[object Object]”, because surely that is what the programmer meant to store.


Often it seems that people will make patch releases that add a “feature” of complaining at install time that that major release/minor release/entire package is bad now and should be replaced with something else. It still works, but it annoys everyone who transitively depends on it forevermore.


Why is the Node ecosystem so demanding?
Steps to reproduce: 1. Start a Node project that uses at least five direct dependencies. 2. Leave it alone for three months. 3. Come back and try to install it. *Something* in the dependency tree *will* yell at you that it is deprecated or discontinued. That thing will not be one of your direct dependencies. NPM *will* tell you that you have at least one security vulnerability. At least one of the vulnerabilities *will* be impossible to trigger in your particular application. At least one of the vulnerabilities *will not* be able to be fixed by updating the versions of your dependencies. (I am sure I exaggerate, but not by much!) Why is it like this? How many hours per week does this running-to-stay-in-place cost the average Node project? How many hours per week of developer time is the minimum viable Node project actually supposed to have available?
fedilink

That could work fine, probably? Or you could use it on the same machine as other stuff.


ZFS zRAID is pretty good for this I think. You hook up the drives from one “pool” to a new machine, and ZFS can detect them and see that they constitute a pool and import them.

I think it still stores some internal references to which drives are in the pool, but if you add the drives from the by-ID directory when making the pool it ought to be using stable IDs at least across Linux machines.

There’s also always Git Annex for managing redundancy at the file level instead of inside the filesystem.


Not all of the same weaknesses. If it’s just “let the judge move stuff around because they’re a judge”, then yeah. But if you implement any sort of security on it, you can say that the judge can only move stuff when also countersigned by the jury, who were demonstrably selected by a fair random draw, or something.

And even if you don’t do that you still have a great record of which judge exactly is stealing everyone’s stuff.

You can’t just wave a blockchain wand and get a government that works, but you can just wave a blockchain wand and get an accountable record of things.


Yes, the document from the county administration would be much better, than some “magic” contract from the internet that may or may not be enforced by the county.

If the magic contract from the Internet is not actually likely to be enforced by the county, then the county is not actually using the magic Internet contract system. If the system were adopted by the county, then the official records from the system would be known to be enforceable.

I sound like I am for and against blockchain because I am. I don’t think you can stand up any existing blockchain system and start slapping government functions onto it and get a good result. People won’t understand it well enough or have sufficient resources to be true peers in the system, and if they did it wouldn’t scale very well.

But I do think that governmental systems can be improved by taking inspiration form blockchain technology and drawing on its underlying philosophical principles of accountability and consensus.


Tying keys to natural people is indeed an unsolved problem.

The system can be designed to recognize more people than just the current owner as authorized to do a transfer. You could do the whole tax record tracking in the same system, to ensure that property can be seized for back taxes exactly when back taxes are owed.


If you don’t have a system of law that even its designated enforcers are obliged to follow, you don’t have a legitimate government, you have a mafia.

The easier it is to make cases where a law is broken common knowledge, the easier it is to gather the political will to enforce the law. That mechanism is what obliges the enforcers to actually follow the law, and it can work more or less well depending on the structure of the society, the relative power of different groups of people, and the communication technologies in use. If the President guns someone down in broad daylight, they get thrown out more often if you have a reputable newspaper than if you don’t. An election is a convenient substitute for everyone trying to kill each other until we find out who is left.

Blockchains are one technology for establishing common knowledge among a group of participants. They’re not magic, they don’t even usually work particularly well. But they do offer techniques for binding the administrators of systems of rules to actually follow those rules, which have the potential to be applied more broadly.


If the county isn’t actually using the system you try to present evidence from, of course it will not work.

If you have a list of who owned the land and when, and you have evidence to support each transfer, then you have a log-structured or relatively blockchain-like database.


One of the good things about using a blockchain system is that it forces you to set out and follow a set of programmatic, and thus at least minimally fair, rules for how the system is going to work. It means you are running on some kind of rule of law, and for it to work everyone involved has to be able to replicate the history of the system and agree that it is correct.

It seems a fairly natural fit for something like land, especially in the US, where we know for a fact that huge swathes of it were seized in the past from Native Americans, or revoked after being given to Black folks at the end of the civil war, or otherwise moved around by the government in suspiciously ad-hoc ways that we have later come to regret.

If you can design the entire system to grind to a halt if rights are not respected or someone tries to rewrite the rules on the basis of they have the guns, it could be a powerful force for the rule of law and the maintenance of a consensus reality.


zig cc: a Powerful Drop-In Replacement for GCC/Clang - Andrew Kelley
Through witchcraft and dark magic, Zig contains a C standard library and cross compiler for every architecture in 45 megabytes.
fedilink