Posts
563
Following
718
Followers
106
Rogue system administrator of GravityWell.xyz - UGH.IM - and other services.

Interests include: Self-Hosting, πŸ΄β€β˜ οΈ Data Hoarding, Hacking, (Retro)Gaming, Music (esp Metal 🀘, Industrial, EDM)

Politics: Anarcho-Syndaclist and AntiCapitalist

Location: Cascadia, PNW

Occupation: Professional Slacker, Unprofessional System Administrator, Freelance Hacker, Mother of Cats.

Punch Nazis

All Cats Are Beautiful 😼 All Cops Are Bastards

netop://ウィビ

0
4
0

Finally tried to hook up an AM4 chipset to a raspberry pi (someone suggested this on the pi-pci repository a few years ago), and it turns out it mostly just works.

1
5
1

This code is so fucking funny dude I swear to god. I have wanted to read the internal prompts for so long and I am laughing so hard at how much of them are like "don't break the law, please do not break the law, please please please be good!!!!" Very Serious Ethical Alignment Technology

2
7
1

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Some random person is making AI videos of 1970s kung fu movies but with cats and honestly at this point it’s a fair trade for a livable planet. Like, fuck it, I can lose Papua New Guinea for this, man, I’m so tired.

0
0
0

@Lightfighter @Quasit indeed one can pseudo-empirically ask the question "do Democratic institutions protect counties against dictatorship" and look around at countries like Italy, Hungary, Britain, and Israel to see that they do not.

Liberals love to ask anarchists "but how would your society of free association ever prevent a dictator from rising to power? It's an excellent question that every person should be able to try to answer about their favorite political system, but it seems the liberals have forgotten to ask it about theirs. We can see right now in very fine detail exactly how the "checks and balances" can be systematically dismantled, sidestepped, or just ignored. Even if the system eventually reins Trump in, its failure to stop any of his worst impulses before they happened makes it feel like a very hollow sort of success. Alex Pretti doesn't benefit from a (very hypothetical at this point) swing back towards a less corrupt and fascist system.

1
2
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Alright Starting fresh, new #peertube who dis?

https://peertube.gravitywell.xyz

0
0
1

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

@aac1122 At this point I think i’d prefer the terminators.

0
0
0

In this collection of reports, we explore the different approaches via which anarchists around the country engaged with the March 28 No Kings demonstrations.

There is tremendous anger and desire for change, but it is only just beginning to assume concrete forms.

https://crimethinc.com/NoKings2026

0
2
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

LOL… LMFAO.

The fallbacks work just fine but I love the idea of wasting google’s money using them as a proxy for claude.

I’m only using free accounts , this is for purely entertainment purposes.

0
0
0

I'm seeing openness to age verification laws within some left of center organizing spaces 😱

Folks, we gotta talk to our people to kill this harmful policy. Regulate dangerous big tech practices, not people!

LGBTQ+ kids in hostile environments suffer when they can't access community online.

Age verification also facilitates excluding representation of marginalized folks. Also, it is at odds with the right to repair β€” shouldn't we own our devices, and not the other way around?

0
3
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

They spent decades telling the lie that copyright mattered, that copying is theft, and then suddenly it becomes okay when its the mega-corps doing it?

I’m not anti-AI, I’m Anti corporate ownership of AI, this stuff belongs to all of us, the benefits belong to all of us, every $ saved should be redistributed directly to the people.

The reason so little usefulness or anything other then slop gets created from these things currently is because no one with any actual creativity WANTS what they are selling, and the people who want to replace those creative individuals with AI have such little talent or creative ability that the end results end up being laughable.

1
0
1

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Getting the "Fell for it again award" ready for all the bluesky users who still havent figured out they are the product when they use corporate networks.

RE: https://mastodon.online/@mastodonmigration/116312883173526888
0
0
2

How About Some AI With Your Bluesky?

A tale of two social networks.

Last week some enterprising Mastodon account was discovered to be scraping posts to feed to an AI for the purpose of helping people navigate the Fediverse. The response was swift. The alarm went out. The account was widely blocked and shunned.

Yesterday to great fanfare announced, as a new corporate feature, all posts would be scraped and an AI would now help users navigate the ATmosphere.

https://techcrunch.com/2026/03/28/bluesky-leans-into-ai-with-attie-an-app-for-building-custom-feeds/

3
7
1

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Attachments such as images are in base64 and have to be extracted, you can use this python script to do that:

import os  
import email  
from email import policy  
import mimetypes  
import sys  


def extract_attachments(folder_path, output_root):  
    output_abs = os.path.abspath(output_root)  
    if not os.path.exists(output_root):  
        os.makedirs(output_root, exist_ok=True)  

    for sd in ["images", "videos", "documents"]:  
        os.makedirs(os.path.join(output_root, sd), exist_ok=True)  

    eml_files = []  
    for root, _, files in os.walk(folder_path):  
        if os.path.abspath(root).startswith(output_abs):  
            continue  
        for file in files:  
            if file.endswith(".eml"):  
                eml_files.append(os.path.join(root, file))  

    total_files = len(eml_files)  
    print(f"Found {total_files} .eml files to process.")  

    total_extracted = 0  
    for i, file_path in enumerate(eml_files, 1):  
        rel_path = os.path.relpath(file_path, folder_path)  
        print(f"[{i}/{total_files}] Processing: {rel_path}", end="\r", flush=True)  

        extracted_from_file = 0  
        try:  
            with open(file_path, "rb") as f:  
                msg = email.message_from_binary_file(f, policy=policy.default)  

                for part in msg.walk():  
                    if part.get_content_maintype() == "multipart":  
                        continue  

                    is_base64 = (  
                        part.get("Content-Transfer-Encoding", "").lower() == "base64"  
                    )  
                    is_media = part.get_content_maintype() in ["image", "video"]  

                    if is_base64 or is_media:  
                        filename = part.get_filename()  
                        if not filename:  
                            ext = (  
                                mimetypes.guess_extension(part.get_content_type())  
                                or ".bin"  
                            )  
                            filename = f"extracted_{hash(file_path)}_{id(part)}{ext}"  

                        maintype = part.get_content_maintype()  
                        target_dir = "documents"  
                        if maintype == "image":  
                            target_dir = "images"  
                        elif maintype == "video":  
                            target_dir = "videos"  

                        dest_path = os.path.join(output_root, target_dir, filename)  

                        base, extension = os.path.splitext(dest_path)  
                        counter = 1  
                        while os.path.exists(dest_path):  
                            dest_path = f"{base}_{counter}{extension}"  
                            counter += 1  

                        try:  
                            payload = part.get_payload(decode=True)  
                            if payload:  
                                with open(dest_path, "wb") as out_f:  
                                    out_f.write(payload)  
                                extracted_from_file += 1  
                                total_extracted += 1  
                        except Exception:  
                            pass  

        except Exception:  
            pass  

        if extracted_from_file > 0:  
            print(  
                f"[{i}/{total_files}] Extracted {extracted_from_file} from: {rel_path}"  
            )  

    print("\n" + "=" * 50)  
    return total_extracted  


if __name__ == "__main__":  
    SOURCE_DIR = "."  
    OUTPUT_DIR = "./extracted_attachments"  

    extracted_count = extract_attachments(SOURCE_DIR, OUTPUT_DIR)  
    print(f"Extraction complete. Total files extracted: {extracted_count}")  
    print(f"Files saved to: {os.path.abspath(OUTPUT_DIR)}")  

0
0
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

I’m so fucking over gatekeepers

0
0
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

1
0
2

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Edited 4 months ago

Well so far so good

2
1
3

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

@aac1122 These corporate LLMs are trained to encourage user interaction so its no surprise you find yourself in agreement often, thats by design. Be careful how much you get into with these things, they can be very detrimental as well.

Always make sure you get feedback from humans to check that you aren’t just being told what the LLM thinks you want to hear.

0
0
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Well it’s that time again, System keeps freezing up every once in a while for not much reason i can decern other then either bad RAM or bad SSD, replaced the SSD and it still froze so now here we are…

1
0
0

β–‘β–’β–“β–ˆ π•˜οΌ²Ξ±α―π•€Ρ‚π€Ρ• β–ˆβ–“β–’β–‘

Other then having to figure out manual booting by commands in grub for the first time, homeserver’s migration to new SSD was great success!

0
0
0
Show older