werefreeatlast

joined 2 years ago
[–] werefreeatlast@lemmy.world 1 points 3 months ago

Dave, I don't known what to tell you but you can't come in alright?

[–] werefreeatlast@lemmy.world 9 points 3 months ago

Well that didn't take long! His dementia kicked in pretty quick.

[–] werefreeatlast@lemmy.world 3 points 3 months ago

C'mon Gina! Give us germanium!

[–] werefreeatlast@lemmy.world 14 points 3 months ago (1 children)

Computers used to be cool:

Now they're evil spy level things in everyone's home.

[–] werefreeatlast@lemmy.world 20 points 3 months ago (3 children)

Battery voltage increases in series.

[–] werefreeatlast@lemmy.world 1 points 3 months ago

Or!....another option is why don't we not buy anything? At least it would help not getting more grammas sued

[–] werefreeatlast@lemmy.world 2 points 3 months ago

Looking good Mr president!

[–] werefreeatlast@lemmy.world 1 points 3 months ago

Mr. President! We're so very sorry! We took one of the barrels. Here, you can have it back!

[–] werefreeatlast@lemmy.world 7 points 3 months ago

Retroantidisenshitificationalidizing!

[–] werefreeatlast@lemmy.world 14 points 3 months ago (1 children)

Is that treason? Punishable by hanging from a tie?

[–] werefreeatlast@lemmy.world 2 points 3 months ago

I need one with a buttplug chooser and automatic insertion system... For a friend.

 

I have to ask this. Is there a service where I could bring my own FQN like Notgoogle.com and then have them handle emails for me? But with a twist.. I want notgoogle.com to send and receive emails via that outside entity, but I want to send the emails from a self hosted server that maybe has mailcow or similar and I want that same server to receive the emails from the outside company. Ideally the outside company is basically just a relay from my IP to the outside world and vise versa. The outside company would basically hold the emails until my server checked and downloaded them. any advice on this. Hopefully with a useful step by step guide from somewhere in the webs?

 

Notice the continuous mention of bones.

 

I figure this would be a good place to ask. Im not paranoid but I say a ton of stupid stuff on the Internet. It's fun having conversations with total strangers after work 😁. Anyway, I was thinking. Could I keep a level of anonymity if I just created new accounts every month for example? Is that a thing people use? Like every month you just abandon your bs account and get a completely new account on google. Google specifically since they are the assholes that keep selling our data.

 

SO, it started quite nicely with a fully working program. However nearing the end... or at the end of my programming experience or asking it to program something for me, it wrote in some nasty nasty screen flickering shit. I couldn't stop it and it quickly just froze my screen where the only option was to push the button. I tried it a second time to confirm, but this time I was able to quickly go to a different CLI window and kill that sonobabich. Here is what it came up with in case you want to try it. maybe it only screws up my computer:

import os
import cv2
import numpy as np
import time
import tkinter as tk
from tkinter import messagebox, filedialog

def threshold_to_black(image_path, duration):
    original_image = cv2.imread(image_path)
    
    if original_image is None:
        print("Error: Could not read the image.")
        return

    height, width, _ = original_image.shape
    gray_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)
    steps = duration * 10  # 10 frames per second

    for i in range(steps + 1):
        # Calculate the threshold value (0 to 255)
        threshold = int((i / steps) * 255)
        
        # Create the thresholded image
        thresholded_image = np.where(gray_image < threshold, 0, 255).astype(np.uint8)

        # Resize the thresholded image to fill the window
        resized_image = cv2.resize(thresholded_image, (window_width, window_height), interpolation=cv2.INTER_LINEAR)

        # Display the thresholded image
        cv2.imshow(window_name, resized_image)

        # Wait for a short period to create the effect
        time.sleep(0.1)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    # Display the final black image
    cv2.imshow(window_name, np.zeros_like(thresholded_image))
    
    while True:
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cv2.destroyAllWindows()

def select_image():
    current_directory = os.getcwd()  # Get the current directory
    filetypes = (
        ('JPEG files', '*.jpg'),
        ('JPEG files', '*.jpeg'),
        ('All files', '*.*')
    )
    
    filename = filedialog.askopenfilename(
        title='Select an Image',
        initialdir=current_directory,  # Start in the current directory
        filetypes=filetypes
    )
    
    if filename:
        return filename
    else:
        messagebox.showerror("Error", "No image selected.")
        return None

def get_duration():
    def submit():
        nonlocal total_duration
        try:
            minutes = int(minutes_entry.get())
            seconds = int(seconds_entry.get())
            total_duration = minutes * 60 + seconds
            if total_duration > 0:
                duration_window.destroy()
            else:
                messagebox.showerror("Error", "Duration must be greater than zero.")
        except ValueError:
            messagebox.showerror("Error", "Please enter valid integers.")

    total_duration = None
    duration_window = tk.Toplevel()
    duration_window.title("Input Duration")
    
    tk.Label(duration_window, text="Enter duration:").grid(row=0, columnspan=2)
    
    tk.Label(duration_window, text="Minutes:").grid(row=1, column=0)
    minutes_entry = tk.Entry(duration_window)
    minutes_entry.grid(row=1, column=1)
    minutes_entry.insert(0, "12")  # Set default value for minutes
    
    tk.Label(duration_window, text="Seconds:").grid(row=2, column=0)
    seconds_entry = tk.Entry(duration_window)
    seconds_entry.grid(row=2, column=1)
    seconds_entry.insert(0, "2")  # Set default value for seconds
    
    tk.Button(duration_window, text="Submit", command=submit).grid(row=3, columnspan=2)
    
    # Center the duration window on the screen
    duration_window.update_idletasks()  # Update "requested size" from geometry manager
    width = duration_window.winfo_width()
    height = duration_window.winfo_height()
    x = (duration_window.winfo_screenwidth() // 2) - (width // 2)
    y = (duration_window.winfo_screenheight() // 2) - (height // 2)
    duration_window.geometry(f'{width}x{height}+{x}+{y}')

    duration_window.transient()  # Make the duration window modal
    duration_window.grab_set()    # Prevent interaction with the main window
    duration_window.wait_window()  # Wait for the duration window to close

    return total_duration

def wait_for_start(image_path):
    global window_name, window_width, window_height

    original_image = cv2.imread(image_path)
    height, width, _ = original_image.shape

    window_name = 'Threshold to Black'
    cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
    cv2.resizeWindow(window_name, width, height)
    cv2.imshow(window_name, np.zeros((height, width, 3), dtype=np.uint8))  # Black window
    print("Press 's' to start the threshold effect. Press 'F11' to toggle full screen.")
    
    while True:
        key = cv2.waitKey(1) & 0xFF
        if key == ord('s'):
            break
        elif key == 255:  # F11 key
            toggle_fullscreen()

def toggle_fullscreen():
    global window_name
    fullscreen = cv2.getWindowProperty(window_name, cv2.WND_PROP_FULLSCREEN)
    
    if fullscreen == cv2.WINDOW_FULLSCREEN:
        cv2.setWindowProperty(window_name, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_NORMAL)
    else:
        cv2.setWindowProperty(window_name, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)

if __name__ == "__main__":
    current_directory = os.getcwd()
    jpeg_files = [f for f in os.listdir(current_directory) if f.lower().endswith(('.jpeg', '.jpg'))]
    
    if jpeg_files:
        image_path = select_image()
        if image_path is None:
            print("No image selected. Exiting.")
            exit()

        duration = get_duration()
        if duration is None:
            print("No valid duration entered. Exiting.")
            exit()

        wait_for_start(image_path)

        # Get the original
 

Well I set up my email server thru cloudflare and managed to receive emails directly to my basement server. I could live with this and the various security threats incoming thru my unifi. But one thing is for sure, my wife won't have any of it. She's a total backwards thinking give me windows or I'll jump kind of Gal. So I found that I could run a dockerized Thunderbird instance and I thought ... Wow! I can just login to it from my computer or my phone, Surely this is it! I can have emails backed up from Gmail to my server and just access my server! And you know what? It works! I can access my Gmail on my browser! It's beautiful!.... But then I login through my phone and wow! I can access my Gmail! Thru my phone! Except the interface is the same as my desktop. It's literally a VNC to the server. I can login to it on my desktop and watch the mouse move as I move my finger on my phone! Great party trick, but....the text is microscopic. So is there another way to get IMAP and SMTP interface to Gmail, archiving all emails on my own server? I literally don't want any of my emails to live on a Gmail server, but I want to be able to send receive and search emails I previously passed through Gmail but now live on my server.

 

The link makes it seem like crap hardware, and sure 4gb of ram is really crappy. But how does this compare with one of my kid's Fire tablets? Does anyone have opinions on that?

 

It's a bad title, but I'm trying to figure out how to describe what I want.

First, I got my photoprism working thru cloudflare. Now, on the same domain I would like an email address.

So mysite.com gets routed to 56.654.234.12 let's say by cloudflare such that a global user never sees my ip. But mail.mysite.com that's different, they don't proxy email so if you do a reverse lookup you can find the origin IP.

I heard about tunnels so I stupidly signed up for that, only to learn that a tunnel just lets you into an internal network. So an SMTP server can't get emails from outside that way.

Ideally, somehow I could setup one user at Gmail or proton mail, then somehow setup the same or different user...user1@mysite.com and I could then use mailu, mailcow, mail docker to house my user1@mysite.com which routes mail thru Gmail or protonmail. I know all this makes little sense because I don't know the proper way, so that's my question for you smart people who have done this twice over. Could someone point me to the best way of setting up a local mail server that routes thru cloudflare but is not easily reverse looked up? Is that even a problem at all?

 

I am currently serving a photoprism instance for my self and the wife. I want to expand to have everyone's home folder on the server. So we would have 5 home folders, all lunuxes. Anyway so I'm looking at some old servers that actually look pretty good.

HPE Proliant DL360 Gen9

I've been comparing it with other servers and it seems to be the easiest to use for the semi intrepid admin wannabe that I am. Is there anything better in the sub $300 range?

 

So as a summary of the procedure from what I saw...you go in the tube, they spin a big ass magnet around you, the molecular resonance is captured into an image... somehow they figure out some areas or volumes are more active than others, then they sonicate those volumes. As they sonicate your memories away, they show you images of drugs to see if you still want to use them. If you say no, they they keep Sonicating just in case. And that's it. Oh, no they guy probably doesn't make it past 60.

 

We had four lawyers, three privacy experts, and two campaigners look at Microsoft's new Service Agreement, and none of our experts could tell if Microsoft plans on using your personal data – including audio, video, chat, and attachments from 130 products, including Office, Skype, Teams, and Xbox – to train its AI models.

If nine experts in privacy can't understand what Microsoft does with your data, what chance does the average person have? That's why we're asking Microsoft to say if they're going to use our personal data to train its AI.

 

Hello, I recently got into Photoprism and it's now my one and only app that I care to spend time feeding. Except Google says I'm running out of space please buy more and I want to do badly but nah. So I found mailu to be a pretty simple docker. Photoprism was working so well initially as dynamic DNS and then I moved to Cloudflare and the world opened up for more. Cloudflare wanted money for portzilla so I found NGINX and that reverse proxy manager is awesome. However I could not figure out how to set it up to get mailu working. I found hints that Traefik could fix that with simple yml files per each service. Could someone please share some info on this? I so far have gotten Traefik to come up but then followed a YouTube video to add TLS and I'm not able to login internally or externally. I think the cloudflare connection is working because I get the same 404 error page as I do locally with 10.178.35.83:9080 as an example I get the same page as "my page.com". The video said to expect that but did not elaborate as to how they fix it or how they bring NGINX under the traefik umbrella.

https://youtu.be/XH9XgiVM_z4?si=G8BQXd3zO5AhILy-

He has the config files here:

https://github.com/JamesTurland/JimsGarage/tree/main

I used his version 3 per the video, but now I can't get to the dashboard.

Anyway after I do figure out this dashboard, the next hurdle would be to figure out how to setup mailu so I can send emails to me@mail.mypage.com

I'm behind an ONT, which can forward ports and then a Unifi Controller with USG which can also forward ports. Currently I'm forwarding 80 and 443 on both right to the computer holding docker.

view more: next ›