- 14 Posts
- 24 Comments
Just one drive, it was a clean Linux install with no funky stuff going on. I’ll have to look into Btrfs cleanup more, last time I did it the disk just filled up even more
Legend! It found a second filesystem named “UNREACHABLE”:

It looks like an exact duplicate of my main filesystem “/@rootfs”, I’m guessing this is why my disk space filled up. Do you know how I’d go about removing the duplicate? (If it’s safe to do so)
Interesting, this could be it? I haven’t configured any mounts on this device yet, but when I tried one of the other suggestions from this thread and use
btdu, I get this error:$ ./btdu -x / Fatal error: The mount point you specified, "/", is not the top-level btrfs subvolume ("subvolid=5,subvol=/"). It is the btrfs subvolume "subvolid=256,subvol=/@rootfs". Please specify the path to a mountpoint mounted with subvol=/ or subvolid=5. E.g.: mkdir /mnt/sda1 && mount -o subvol=/ /dev/sda1 /mnt/sda1 && ./btdu /mnt/sda1 Note that the top-level btrfs subvolume ("subvolid=5,subvol=/") is not the same as the root of the filesystem ("/").I’m fairly new to the workings of Btrfs so this is jibberish to me right now, but I’ll look into it more
EDIT: Nevermind! I was just using the tool wrong. I needed to mount my btrfs “sub-volume” then do the scan against that:
sudo mkdir -p /mnt/btdusudo mount -o subvolid=5 /dev/sda1 /mnt/btdusudo ./btdu /mnt/btdu
ncdu
Oh this one is very cool! Unfortunately it also only shows the same 101GB being used:
ncdu 1.22 ~ Use the arrow keys to navigate, press ? for help --- / ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 93.1 GiB [###########################] /home 6.5 GiB [# ] /usr 790.4 MiB [ ] /var 173.0 MiB [ ] /boot 12.8 MiB [ ] /etc 1.7 MiB [ ] /root 1.3 MiB [ ] /run 44.0 KiB [ ] /tmp @ 4.0 KiB [ ] initrd.img.old @ 4.0 KiB [ ] initrd.img @ 4.0 KiB [ ] vmlinuz.old @ 4.0 KiB [ ] vmlinuz @ 4.0 KiB [ ] lib64 @ 4.0 KiB [ ] sbin @ 4.0 KiB [ ] lib @ 4.0 KiB [ ] bin . 0.0 B [ ] /proc 0.0 B [ ] /sys 0.0 B [ ] /dev 0.0 B [ ] /media e 0.0 B [ ] /srv e 0.0 B [ ] /opt e 0.0 B [ ] /mnt
There is one listed:
ID 256 gen 137604 top level 5 path @rootfsLooks like it is just my filesystem though?
Jozzo@lemmy.worldto
Mildly Infuriating@lemmy.world•To join Facebook these days, one must record a video selfieEnglish
88·9 months agoI got this on one of my joke accounts years ago.
I googled “3d face generator”, clicked on the first website, and slapped in an image of trump. Then I just rotated the 3d model following whatever the instructions were, and it worked lol
Jozzo@lemmy.worldto
Reddit@lemmy.world•The University of Zurich has been running bot accounts on r/cmv and I'm just enjoying the popcorn
671·10 months agoSome high-level examples of how AI was deployed include:
- AI pretending to be a victim of rape
- AI acting as a trauma counselor specializing in abuse
- AI accusing members of a religious group of “caus[ing] the deaths of hundreds of innocent traders and farmers and villagers.”
- AI posing as a black man opposed to Black Lives Matter
- AI posing as a person who received substandard care in a foreign hospital.
Here is an excerpt from one comment (SA trigger warning for comment): "I’m a male survivor of (willing to call it) statutory rape. When the legal lines of consent are breached but there’s still that weird gray area of ‘did I want it?’ I was 15, and this was over two decades ago before reporting laws were what they are today. She was 22. She targeted me and several other kids, no one said anything, we all kept quiet. This was her MO
What an unhinged study lol
For music prod on Linux, have you tried Reaper?
Documentation Tooltips are pretty exciting

Good solution, cheers! I also followed the other commenter’s idea to add it as a KDE shortcut so I can use it on demand.
I guess I’ll just need to be careful not to paste a bazillion lines of text lol
Works awesome! Thanks for introducing me to xdotool, what a helpful utility. Question: what does the --file flag in your command do? I can’t find it in the manpage
Jozzo@lemmy.worldto
Selfhosted@lemmy.world•Raspberry pi 5 sometimes loses wireless connectionEnglish
5·1 year agoI had a similar problem, it was caused by undervoltage. Are you using the official power supply?
Jozzo@lemmy.worldOPto
Selfhosted@lemmy.world•SpacebarChat - a selfhosted, Discord-compatible communication platformEnglish
2·1 year agoYep it’s not near finished. This is one of those projects that’s sat in my “keep an eye on it” bookmarks for a good while, I figured I’d post it to get some attention on it, because it does look very promising.
Jozzo@lemmy.worldOPto
Selfhosted@lemmy.world•SpacebarChat - a selfhosted, Discord-compatible communication platformEnglish
1·1 year agoI found some here: https://docs.spacebar.chat/setup/server/#setup
It depends entirely on the company you work for. Even then, I wouldn’t exactly describe the work as “chill”
I patched together some version of this using nested dictionaries:
var abilities: Dictionary = { AbilityData.Trigger.BEFORE_ATTACK : {}, AbilityData.Trigger.ON_ATTACK : {}, AbilityData.Trigger.ON_HIT : {}, AbilityData.Trigger.ON_KILL : {}, AbilityData.Trigger.ON_DEATH : {}, AbilityData.Trigger.ON_JUMP : {}, AbilityData.Trigger.PASSIVE : {} }with each value being another key:value pair of
{ "ability_id": <ability-node> }so I can keep a reference to the Ability node and use dictionary functions like .has() to check if a character has a specific ability:func has_ability(ability_data: AbilityData) -> bool: if abilities[ability_data.trigger_type].has(ability_data.id): return true return falseThen when a trigger fires, it calls this (I omitted the return code):
// Activates all abilities with the specified trigger type. Returns an array containing each ability that was activated this way. //trigger_type is an enum //data is just a resource containing things like position, target, ability owner, etc func trigger(trigger_type: AbilityData.Trigger, data: AbilityActivationData) -> Array[Ability]: var abilities_to_activate: Dictionary = abilities.get(trigger_type) // Loops through the list of Ability nodes. for ability in abilities_to_activate.values(): ability.activate(data) abilities_activated.append(ability)This seems to work, but it still gives me that tickling sensation that it could be a little cleaner.
I think I understand…
Instead of the player iterating through and calling all of its abilities, the ability just connects directly to whichever signal it needs on the player?
My current setup is to add each Ability as a node to the player, so right now it follows the “call down, signal up” adage that I hear everyone say. What would be a good way to implment the other way? I assume I should rework my current setup otherwise it’d be “signal down, signal up”?
Jozzo@lemmy.worldto
Technology@lemmy.ml•Microsoft blocks Windows 11 workaround that enabled local accounts
2·2 years agoWin11 doesn’t let you past setup if you dont have an internet connection.
Jozzo@lemmy.worldOPto
Godot@programming.dev•On-Kill/On-Hit effects: Signal train vs reference passing
1·2 years agoThanks for your input! The other commenters pointed out that I can use Godot’s
is_instance_valid()function to check if the bullet’s owner exists before attempting to call anything on it, so will be reworking the system to use #2 + that.











Looks like some combination of defragging & balancing has done the trick! The space that was previously marked
UNREACHABLEis nowUNUSED, and my disk space is back to normal:Thanks for the wiki link, Btrfs is new to me and I’ve definitely got some learning to do