Posts
572
Following
713
Followers
110
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

โ–‘โ–’โ–“โ–ˆ ๐•˜๏ผฒฮฑแฏ๐•€ั‚๐€ั• โ–ˆโ–“โ–’โ–‘

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 5 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

George Takei verified ๐Ÿณ๏ธโ€๐ŸŒˆ๐Ÿ––๐Ÿฝ

The church has no place in how a state should be run. That's why we must separate religion from politics.

6
3
0

โ–‘โ–’โ–“โ–ˆ ๐•˜๏ผฒฮฑแฏ๐•€ั‚๐€ั• โ–ˆโ–“โ–’โ–‘

The cascadia #Meshcore is looking awesome.

0
1
4

เคฎเฅ‡เค‚เคฅเฅ€

Edited 5 months ago

Local folk: check this out (and enable the Audio checkbox ๐Ÿ™‚):

https://cascadiamesh.org/map/

0
2
0

my favourite part about open source is where you canโ€™t contribute unless you subject yourself to using github and other corporate services.

0
2
1

โ–‘โ–’โ–“โ–ˆ ๐•˜๏ผฒฮฑแฏ๐•€ั‚๐€ั• โ–ˆโ–“โ–’โ–‘

I think about 90% of peoples problems with AI would go away if it wasnt being controlled by the absolute worst people for the absolute worst reasons, at the expense of everyone, while stealing everythingโ€ฆ.

LLMs are good tools, but anything these corporations do with it is the product of massive theft and exploitation and thats why so many people have such an averse reaction to it.

Take away the capitalism-demands-infinite-growth motive to LLMs and instead of data centers being build off a massive pyramid scheme of IOUs youโ€™d have open community projects refining LLMs to make them more efficient and less demanding, but thatโ€™s not what drives hardware sales for Nvidia, so its not what the market wants.

1
1
0

โ–‘โ–’โ–“โ–ˆ ๐•˜๏ผฒฮฑแฏ๐•€ั‚๐€ั• โ–ˆโ–“โ–’โ–‘

Do you think Microsoft understands consent?

0% Yes
100% Remind me in 3 days
0
3
0

โ–‘โ–’โ–“โ–ˆ ๐•˜๏ผฒฮฑแฏ๐•€ั‚๐€ั• โ–ˆโ–“โ–’โ–‘

Iโ€™ve added Gitea and a handful of Nostr related services to GravityWell.xYz

0
0
0

fuck off.

imagine if windows required you to wait 24hrs before you could install programs outside of the MS store.

your phone is a computer, and this is an anti-competitive move that has the intentional side effect of incentivizing consumers to install apps from google instead of other markets.

โ€œyou canโ€™t do this!โ€

โ€œbut iโ€™ve always been able to do this!โ€

waits a year

โ€œfine, but now you have to wait 24 hours because because because i said so!โ€

โ€œoh! well in that case, i guess itโ€™s not so bad!โ€

everyone that is happy about this is an easily manipulated buttbrain

2
3
1
Show older