

Whew. My 586 is safe.
Whew. My 586 is safe.
I wonder if there’s a way to prevent people from even knowing that two different votes came from the same user.
What I outlined above should prevent anyone from knowing two different votes came from the same user… without specifically trying that user’s id on each. That’s what the salt (the comment/post id) is for.
I’ve personally been banned from one community for downvoting too consistently.
Votes should be anonymous.
I tend to agree, but the fact is that they aren’t anonymous. This tool just exposes the already-existing fact that Lemmy expressly does not guarantee anonymity for votes. The solution isn’t to not for the poster to not publish this tool. Believe me, such tools already exist in private even if none other than this one are published. Publishing this one only democratizes access to that information. (And not entirely, I don’t think. From what I’m seeing on the page, it looks like it still requires an admin account on an instance. Update: Actually, I’m not sure if it requires an admin account or not. Either way, though.) The solution is (if it’s possible) to make Lemmy itself protect voters’ anonymity.
The reason why instances know who has up/down voted things (rather than only keeping an anonymized “total” for each post/comment) is so it can prevent double-voting.
Maybe instead of usernames, the instances could store/trade… salted hashes of the usernames where the salt is the title or unique identifier of the post/comment being voted on? It wouldn’t be perfect, but it would allow the instance to figure out whether the currently-viewing or currently-voting user has already voted while also making it harder for anyone else to get that information. About the only way a tool could tell you exhaustively who had voted if that were how things worked that I can think of off hand is to try every username on Lemmy one-by-one until all the votes were accounted for.
(Of course, malicious instances could still keep track of usernames or unique user ids who up/downvoted, but only on the instance on which the vote was cast. Also, one downside of this approach would be increased CPU usage. How much? Not sure. It might be trivial. Or maybe not. Dunno.)
And there may be much better ways to do this. I haven’t really thought about it much. I also haven’t checked whether there is an open ticket asking for improved anonymity for votes already.
(Also, full disclosure, all of the above was written after only an extremely brief skim of the linked page.)
(One more edit. Something IHawkMike said led me to realize that the scheme I described above would allow instances to manipulate votes by just inventing hashes. Like, grabbing 512 bits of data from /dev/urandom and giving it to other instances as if it was a hash of a username or user id when, in fact, it’s not a hash of anything. Other instances wouldn’t be able to easily tell that it wasn’t the hash of a valid user id. I haven’t thought how to go about solving that yet. Maybe if it occurs to me, I’ll update this post.)
I’ll take FOSS over the proprietary software we can be sure will do malicious things to us.
That’s awesome! Welcome to the club and don’t be afraid to explore your system and ask questions!
I once tasked the AI DeepSeek
The building of a distro to achieve
With while true ; do beep ; done
As PID 1
AI dubbed the poor distro “Kill Me”
Does it really do any good for the drive to be encrypted if it doesn’t require a password (or Yubikey or retinal scan or other authentication factor) on boot? If you’re just going to put the plaintext key/password on the same drive but in a partition that’s not encrypted, there’s no point encrypting the drive, right?
So maybe “it asks for a password on boot” is more of a “works as intended” thing?
How will I access the encrypted devices after installation? (System Startup) During system startup you will be presented with a passphrase prompt. …
The quote above is from Fedora documentation here
This is your root FS that’s encrypted that we’re talking about, correct?
If you really want an encrypted root but no password on boot and the plaintext decryption password/key on the same drive, there are ways to do it. (It would probably require customizing the initramfs somehow. But it’s Linux, and Linux certainly isn’t going to prevent you from doing such things. Just try to dissuade you.)
If we’re not talking about a root filesystem, that would likely change some things. If it’s Luks, I’m pretty sure it wouldn’t matter particularly where on your filesystem the key was so long as your /etc/crypttab refers to it. I’d say that sort of setup would probably only provide additional security if the encrypted drive is an external drive that you might worry could be stolen or physically accessed when the attacker doesn’t have physical access to your root filesystem.
Also, if you shared what encryption scheme was in use (Luks, Anaconda, etc), that would probably help as well.
Edit: Ah. Ok. You gave more info while I was typing the above response. What you want is unlocking via ssh. For sure.
The GPL family of licenses was designed to cover code specifically. AI engines are code and are covered in most jurisdictions by copyright. (Disclaimer: I know a lot less about international intellectual property law than about U.S. intellectual property law. But I’m pretty confident what I’ll say here is at least true of the U.S…) But you don’t really have a functional generative AI system without weights. And it’s not clear that weights are covered by any particular branch of intellectual property in any particular jurisdiction. (And if they are, it’s not clear that the legal entity who trained the engine owns those rights on those weights rather than the rights holders who hold rights to the materials being used as training data.) It’s the weights that would make for any biases or purposefully nefarious output. Nothing that isn’t covered by intellectually property can meaningfully be said to be “licensed”, really. Under the AGPLv3 or any other license. To speak of something not covered by any intellectual (or non-intellectual, I suppose) property as “licensed” is just kindof nonsensical.
Like, since Einstein’s General Relativity isn’t covered by any intellectual property, it’s not possible for General Relativity to be “licensed”. Similarly, unless some law is passed making LLM weights covered by, say, copyright law, one can’t speak of those weights being “licensed”.
By the way, there are several high-profile cases of companies like Meta releasing LLMs that you can run locally and calling them “Open Source” when there’s nothing “Open Source” about them. As in, they don’t distribute the source code of LLaMa at all. That’s exactly the opposite of “Open Source” and the weights aren’t code and can’t really be said to be “Open Source”. More info here.
Now, all that said, I don’t think there’s actually any inherent benefit to LLMs, AGPLv3 or otherwise, so I don’t have any interest even in AGPLv3 engines. But I’m all for more software being licensed AGPLv3. I just don’t think AGPLv3 is a concept that applies to any portion of LLMs aside from the engine.
Great question!
So, first off, if I knew what app(s) specifically you have in mind, that’d help me answer better, but in general:
makepkg -sf && sudo pacman -U <something>.tar.xz
. You can also get some helper scripts that do some of those steps for you for convenience. Definitely worth having the experience of doing it manually a few times first, though, I’d say.) Even if the only way to get the software in question from the publisher is in .deb form, you may still find a package on AUR that will unpackage the .deb and package the result up into an Arch package.$HOME/install/<softwarename>
. This can work even if the software is only available as a .deb file. You can just extract the .deb without installing it with the command ar x <blah>.deb
and a tar -xf data.tar.gz
and then put the files from within that .deb file where you want them.Just in case it’s useful to you, I’ll share the PKGBUILD I wrote for converting the Ubuntu kernel into an Arch package. It demonstrates how you’d go about extracting files from a .deb file in order to build them into an Arch package.
pkgname='linux-ubuntu'
pkgdesc='The Ubuntu kernel, modules, and headers'
pkgver='5.15.0'
_pkgver="$(cut '-d.' -f 1,2 <<< "${pkgver}")"
_firmware_ver='1.187.29'
_suffix_ver='20.04.2'
pkgrel='25'
arch=('x86_64')
options=('!strip')
url='http://ubuntu.com/'
source=(
'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_'"${_firmware_ver}"'_all.deb'
'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-headers-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-hwe-'"${_pkgver}"'-headers-'"${pkgver}"'-'"${pkgrel}"'_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_all.deb'
'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-signed-hwe-'"${_pkgver}"'/linux-image-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-modules-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-modules-extra-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'linux.preset'
)
noextract=(
'linux-firmware_'"${_firmware_ver}"'_all.deb'
'linux-headers-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'linux-hwe-'"${_pkgver}"'-headers-'"${pkgver}"'-'"${pkgrel}"'_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_all.deb'
'linux-image-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'linux-modules-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
'linux-modules-extra-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb'
)
sha256sums=(
'22697f12ade7e6d6a2dd9ac956f594a3f5e2697ada3a29916fee465cc83a34a1'
'595794e8ad28ed130af60e6ec8699313e1935ae70f7530a00b06dff67fb4d40e'
'22dbdc1895f91d3ad9d4c5b153352f1cc8359291dba6ea1a0e683cc6871b0f58'
'5705cefab39dd5512bcc515918d09153715c7bb365d6bc29cc9b0580e5723eef'
'3d207388812e957447162c067fb637b4d06eccb4f303b801e8402046a7d3cf48'
'2f1214dbb04cb47ce8d096bff969fca9c78c26ec21a395c12922eca43cc18e26'
'75d7d4b94156b3ba705a72ebbb91e84c8d519acf1faec852a74ade2accc7b0ea'
)
package() {
for f in "${noextract[@]}" ; do
ar x "${f}"
tar -xf "data.tar.xz" -C "${pkgdir}"
done
rm -r "${pkgdir}"'/usr/share'
rm -r "${pkgdir}"'/usr/lib'
mv "${pkgdir}"'/lib' "${pkgdir}"'/usr'
install -Dm644 'linux.preset' "${pkgdir}"'/etc/mkinitcpio.d/linux.preset'
}
(I omitted the linux.preset
file. It’s just in the same directory with the PKGBUILD and it gets bundled into the Arch package. But it’s not really important for what you’re doing unless you’re trying to install a different kernel than the official Arch kernel on an Arch system.)
The part that extracts the files from the .deb packages is the ar x
command and the tar -xf
command. The package()
function there is what decides exactly what files will be in the Arch package and where. And makepkg
builds the package archive after running package()
.
That covers all the options for installing software not in the Arch repos that I can think of.
Yes I am op.
Ha! That’s what I get for posting on Lemmy at 2:00 am. Lol.
So I guess I should just skip anything with a desktop environment like manjaro and just figure out how to install bare arch?
You can certainly start with a bare Arch install and install on top of that a graphical environment. (Without a graphical environment, you wouldn’t be able to run a full-featured browser like Firefox or Chromium or whatever, for instance. I’d think if you intend to use this system as your daily driver – and I’d recommend you do for learning sake – you’ll probably want a graphical environment.) But, yeah. I’d say Arch isn’t that unapproachable to install without going the Manjaro route or the “archinstaller” route.
With Arch, everything’s just packages. The difference between non-graphical Arch and graphical Arch is just that non-graphical Arch doesn’t have any graphical system packages installed.
Now, I keep talking about “graphical systems”. There are two ways to go with that. There is X11 which is mature but a bit dated. And there’s Wayland which is the new hotness but support for it is still a bit lacking, so some features like screen grab may not be supported by all programs and some programs won’t work as straightforwardly on Wayland. (Basically, any time a program grabs an image or video of any portion of the screen of your graphical environment, that uses the “screen grab” API. Wayland does that differently than X11, so a lot of programs aren’t updated to use Wayland’s way yet.)
I guess I’d probably lean toward recommending X11 at this point. I personally use a Wayland compositor (Sway, specifically), but I don’t think running Wayland is going to teach you much that X11 won’t, and running Wayland at this point is likely to introduce frustrating wrinkles. If after you have your Linux “sea legs” you want to try switching, that’s always an option as well.
As for minimal X11 environments, first off, I’d say avoid things that describe themselves as “desktop environments”. They’re likely to hide details from you. Prefer “window managers.” Tiling window managers tend to be more minimal, but if you want to go with a more draggy-droppy, mouse-driven window manager that feels more like what you’re probably used to (but also doesn’t hide details), I’d recommend IceWM.
And, finally, as far as a “bare Arch install”, the place to start is the install guide on the Arch Wiki. It goes step-by-step on how to do things. And take the time to understand the commands you’re running as you’re running them. There are a lot of links in the install guide to more in-depth articles. For instance, the “partitioning” section links to an article called “partitions” that goes in depth on what a “partition” even is.
There’s a lot to learn, but it also pays off. Both in terms of just having the power to do the stuff you want with your own systems and in terms of benefits to your career. And it’s just plain fun!
Good luck! I’m honestly a little jealous of you getting to start this journey for the first time!
Is bash ultimately better than dolphin or another file manager?
Yes. (Disclaimer, some statements contain opinion.)
OP was specifically asking how to learn more about Linux. And it’s nearly unquestionable that OP is going to learn more about how Linux works if they use the lower-level tools rather than take-you-by-the-hand point-and-click-adventure programs your grandmother could probably figure out.
I always thought that it just seamed slow having to read things out with no icons and having to type the filename instead of double clicking.
So, again, this is just me spouting my own preferences here, but I don’t often touch the mouse. Moving my hand from keyboard to mouse takes time. I can use a keyboard shortcut to open a terminal, cd into the proper directory (using tab complete and set -o vi
to make things quicker still), and start dealing with files much quicker than I could navigate a menu to get to, say, Dolphin, wait for it to load (if you use a minimal terminal, it should load basically instantaneously), and then start navigating.
And I have been avoiding installing applications through terminal because I can’t find how to properly uninstall them including all data (the fedora software center does this really easily)
Not sure I can help you there. I’ve never used Fedora. I used CentOS once for a short time, but it was a long time ago and I basically don’t remember it at all.
I have also had some trouble going further back that my user folder in the terminal I still havn’t figured out how to do that.
Like, to the parent directory of your home directory? cd ..
should always go to the parent directory of your current working directory. (/
is its own parent, I believe, so you can’t go any further up the chain than that.)
Lastly what are some “user friendly by virtiue of having few moving parts” distro’s that you recommend?
Gentoo and Arch. I’ve never used Void, but it sounds to me like Void is very minimal (has few moving parts) while also being much less of a learning curve than Gentoo and Arch.
When I say “few moving parts”, I mean, roughly speaking, fewer lines of source code. KDE (just for instance) is a huge beast. It tries to accomplish user friendliness by adding layers upon layers of abstraction, in the process obscuring what’s really going on at lower levels from the user. It… doesn’t really work. What it gains you in reduced learning curve becomes an obstacle the moment something goes wrong or you want to peek under the hood. Ubuntu (just as another example) installs tons of stuff to try to shield you from the nitty gritty details. But again, that causes more problems than it solves unless you’re dead set against ever looking under the hood for any reason.
The term “user friendly” tends to mean “my grandmother can use it without having to learn anything in the process.” In the comment about “user friendly by virtiue of having few moving parts”, I didn’t mean “user friendly” in the same sense. I don’t think “user friendly” in the more common sense id mutually exclusive with “fewer moving parts.” At least not in theory. But in practice, that does seem to be the trend.
More than anything, what leveled up my Linux knowledge was switching to Gentoo back while I was in college.
Before that, I used SuSE, and I switched specifically because I felt like I wasn’t learning anything really about Linux just by using point-and-click tools like YAST.
I’ve used Arch for the last… 7-ish years? (Though now I’m basically in the process of switching back to Gentoo. In terms of learning Linux, Arch is… close to as good as Gentoo for that purpose. Not quite as good, but pretty close.)
As for the best approach for learning, though, you know how they say the best way to learn a language is “immersion”? As in, to move to where they speak the language. In the same way, if what you’re going for is to learn, just take a dive. Install Arch over top of your current OS and don’t look back. Just commit to it.
Also, use the most minimal stuff you can. Skip KDE and use dwm. Skip the login manager and start your GUI from the command line. Don’t install a file manager and instead use Bash directly. (It’s more than capable.) Don’t install anything you can do instead with a Bash one-liner or a small Bash script. If after you’ve gotten pretty used to minimal stuff you still want something that the heavier alternatives offer, you can of course switch, but if your aim is to learn, avoid using the kind of stuff that tries to be “user friendly” by hiding all the internal implementation details from you. (Instead use the stuff that is user friendly by virtue of having so few moving parts that understanding how it works under-the-hood is trivial.)
And, don’t settle for “it’s fucked beyond repair.” If it’s fucked, google your ass off. If that doesn’t work, ask on the official Arch forums or here or wherever. (Don’t worry, they don’t bite.)
Remember the “Jitterbug” mobile phone made specifically for older users?
Kindof in the spirit of that.
Don’t hide things in a “start menu” or anything like that. No task bar. Just put a small number of big icons on the “desktop”. Open all applications in fullscreen. Don’t allow two applications to run at the same time. Optimally, the browser wouldn’t be as general-purpose as Firefox or Chromium or whatever. No address bar. Just links to a few bookmarked sites. In fact, no home page on the browser would be good. Just make the websites they have available to go to more icons on the GUI’s main desktop. Don’t make them right-click for anything, only left-click. But make it easy for people’s family to get at the guts, including remotely, to customize the experience for the intended user.
AnySoftKeyboard does. And it’s under an Apache 2.0 license which is fully foss.
FUTO Keyboard was forked from another project which is Open Source. But the license FUTO keyboard itself is under, by restricting modifications to for non-commercial purposes and forbidding removal of functionality that allows the user to make payments to FUTO, fails to qualify as “Open Source”.
FUTO keyboard is not Open Source.
Wait, “everything?” Yeah, that’s probably contraindicated. You don’t want to be changing ownership of stuff in, say, /etc or /bin or whatever to your user. For the most part, stuff in those locations should be owned by root:root. If there are exceptions (things that should be owned by root:<something else>), the package manager will make sure they’re set as they should be.