Agreed, but I am a little annoyed that they held up all of Pop!_OS for COSMIC.
Agreed, but I am a little annoyed that they held up all of Pop!_OS for COSMIC.
The question is whether they will release it before or after Ubuntu 26.04 LTS…
You should read it as “beta of the LTS release”, in which case it is not so strange.
I think that you may have mistaken this community for !linuxquestions@lemmy.world.


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,
)
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?


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!


The Software Publishers Association has finally won:
It is no longer possible to copy that floppy. :-(
Repeating my other reply verbatim yet again as you keep copying and pasting the same exact comment:
First, to be clear, this isn’t so much “press” as a blog entry. Second, there are only so many mentions of “rust cultists” and “my rust” I can read in a blog before losing interest.
Repeating my other reply verbatim as you just did the same:
First, to be clear, this isn’t so much “press” as a blog entry. Second, there are only so many mentions of “rust cultists” and “my rust” I can read in a blog before losing interest.
First, to be clear, this isn’t so much “press” as a blog entry. Second, there are only so many mentions of “rust cultists” and “my rust” I can read in a blog before losing interest.
No point in putting the lit torch away when you can use it to roast meanwhile!