I think that you may have mistaken this community for !linuxquestions@lemmy.world.
I think that you may have mistaken this community for !linuxquestions@lemmy.world.
I only see a couple of the most recent posts, but the number 2K seems to indicate that there are a lot more that it just is not showing me.
By contrast, I felt like looking at pictures of galaxies right now, so I went over to https://astrodon.social/tags/galaxies, and behold–look at all of them! So easy!
In fact, maybe the lesson here is that I should just give up on Pixelfed and use Mastadon for discovering cool things to look at in my downtime.
I just go to the web site, e.g. https://lemmy.sdf.org/.
The thing that I don’t get is that it seems like this should be a solved problem, because I can visit any Mastadon instance and see the content there just fine. Rather, Pixelfed seems to have gone out of its way to construct an artificial wall that prevents people from doing this.
But what if I want to be on a small instance or even self-host? Then I cannot see any potentially appealing hashtags because I do not start with a large library of locally downloaded content.
Yeah, I have to say that Lemmy has been a pretty great experience so far! 😀
ONE OF US!
ONE OF US!
ONE OF US!
But if a hashtag has not made its way over to my instance, then it effectively does not exist to me. Even if I do see it show up and decide I want to see more content related to it, if said content has not ever made its way over to my instance then I am still left out. The great thing about being able about able to check out what is on other instances is that I am no longer restricted to whatever the people on my instance are interested in.
This a completely different experience from Lemmy, where I was immediately able to go to a bunch of different instances, look through their communities, and go: “I want to subscribe to this one, this one, and this one!”
People are not generally as self-reflective as you might think; when someone settles upon a core belief, they tend to stick with it for the rest of their lives, with any challenge to it being treated as a threat rather than as a potential opportunity for growth. You might think that when a core belief is completely wrong and leads to disastrous negative consequences that this might at be enough to lead someone to give it up, but strangely the mind does not actually work this way.
(I mean, I am not saying that these people are not also evil and/or oily snakes, but I think that there is value in observing the mental fallacies at work in others so that we can better spot them at work in ourselves, since our own mind is the one thing that we have at least some limited control over.)
Just like they say, you can modify the code and remove for free if you really want, they’re not forbidding you from doing so or anything
True, but I think you are discounting the risk that the actual god Anubis will take displeasure at such an act, potentially dooming one’s real life soul.
I created a script that I dropped into /etc/cron.hourly
which does the following:
btrfs subvolume snapshot
to create a snapshot of that mirror (which only uses additional storage for modified files).It is as follows:
#!/usr/bin/env python
from datetime import datetime, timedelta
import os
import pathlib
import shutil
import subprocess
import sys
import portalocker
DATETIME_FORMAT = '%Y-%m-%d-%H%M'
BACKUP_DIRECTORY = pathlib.Path('/backups/internal')
MIRROR_DIRECTORY = BACKUP_DIRECTORY / 'mirror'
SNAPSHOT_DIRECTORY = BACKUP_DIRECTORY / 'snapshots'
TRASH_DIRECTORY = BACKUP_DIRECTORY / 'trash'
EXCLUDED = [
'/backups',
'/dev',
'/media',
'/lost+found',
'/mnt',
'/nix',
'/proc',
'/run',
'/sys',
'/tmp',
'/var',
'/home/*/.cache',
'/home/*/.local/share/flatpak',
'/home/*/.local/share/Trash',
'/home/*/.steam',
'/home/*/Downloads',
'/home/*/Trash',
]
OPTIONS = [
'-avAXH',
'--delete',
'--delete-excluded',
'--numeric-ids',
'--relative',
'--progress',
]
def execute(command, *options):
print('>', command, *options)
subprocess.run((command,) + options).check_returncode()
execute(
'/usr/bin/mount',
'-o', 'rw,remount',
BACKUP_DIRECTORY,
)
try:
with portalocker.Lock(os.path.join(BACKUP_DIRECTORY,'lock')):
execute(
'/usr/bin/rsync',
'/',
MIRROR_DIRECTORY,
*(
OPTIONS
+
[f'--exclude={excluded_path}' for excluded_path in EXCLUDED]
)
)
execute(
'/usr/bin/btrfs',
'subvolume',
'snapshot',
'-r',
MIRROR_DIRECTORY,
SNAPSHOT_DIRECTORY / datetime.now().strftime(DATETIME_FORMAT),
)
snapshot_datetimes = sorted(
(
datetime.strptime(filename, DATETIME_FORMAT)
for filename in os.listdir(SNAPSHOT_DIRECTORY)
),
)
# Keep the last 24 hours of snapshot_datetimes
one_day_ago = datetime.now() - timedelta(days=1)
while snapshot_datetimes and snapshot_datetimes[-1] >= one_day_ago:
snapshot_datetimes.pop()
# Helper function for selecting all of the snapshot_datetimes for a given day/month
def prune_all_with(get_metric):
this = get_metric(snapshot_datetimes[-1])
snapshot_datetimes.pop()
while snapshot_datetimes and get_metric(snapshot_datetimes[-1]) == this:
snapshot = SNAPSHOT_DIRECTORY / snapshot_datetimes[-1].strftime(DATETIME_FORMAT)
snapshot_datetimes.pop()
execute('/usr/bin/btrfs', 'property', 'set', '-ts', snapshot, 'ro', 'false')
shutil.move(snapshot, TRASH_DIRECTORY)
# Keep daily snapshot_datetimes for the last month
last_daily_to_keep = datetime.now().date() - timedelta(days=30)
while snapshot_datetimes and snapshot_datetimes[-1].date() >= last_daily_to_keep:
prune_all_with(lambda x: x.date())
# Keep weekly snapshot_datetimes for the last three month
last_weekly_to_keep = datetime.now().date() - timedelta(days=90)
while snapshot_datetimes and snapshot_datetimes[-1].date() >= last_weekly_to_keep:
prune_all_with(lambda x: x.date().isocalendar().week)
# Keep monthly snapshot_datetimes forever
while snapshot_datetimes:
prune_all_with(lambda x: x.date().month)
except portalocker.AlreadyLocked:
sys.exit('Backup already in progress.')
finally:
execute(
'/usr/bin/mount',
'-o', 'ro,remount',
BACKUP_DIRECTORY,
)
I for one appreciate it when the AI let us know up front that we are conversing with a machine.
I was a nerd, so I tried really really hard to prove logically that my religion was the correct one… and failed.
Interesting! I had not even realized that this was a problem, though it makes sense now after your description. How realistically feasible is this type of approach, though, given that the manufactures can always just ignore the kernel’s request to reprogram them and continue to access the bus and memory directly?
What exactly does the statement that Linux does not already “embrace the whole hardware” mean?
So in other words your clothes are very organized?
Yeah, there is nothing more annoying in general when starting to type text into a co-workers desktop than having random letters show up rather than having the cursor move around.
nano -> vim
This one is extremely consistent with the others because once you have made the switch, it becomes harder to escape.
This will finally be the year of the Wayland desktop!
You are absolutely in the wrong so unfortunately I had to actually make you die on that hill, but I am upvoting anyway to leave a memorial in honor to your bravery for standing up for your principles.