werefreeatlast

joined 9 months ago
[–] [email protected] 1 points 4 hours ago

The crutch full of glue finally catches me and then I'm stuck to it and then I wake up doctor.... doctor? 💤. Ok I'll come back tomorrow.

[–] [email protected] 6 points 5 hours ago

What a great idea! We can do drone delivery too!

[–] [email protected] 4 points 5 hours ago

Nobody said how big.

[–] [email protected] 4 points 5 hours ago

I drive by the Boeing strike every day and I do my part and I hunk twice quickly! Do your part guys! Hunk! It matters!

It's not your job today, but it could be you there tomorrow at 8am wet and soggy from the rain and fog that continually falls in the PNW.

Honk like you just crashed on that big barrel of stuff burning. They burn stuff to stay dry and warm. It's cold out here....not yet but give two more months and it will be freezing temps.

[–] [email protected] 1 points 5 hours ago (2 children)

Did you drop the glue on your crotch too in first grade? That's going to hunt me forever.

[–] [email protected] 4 points 6 hours ago

It's a misdemeanor, let him go! If he tries it again, let's all together figure out what to do. But for the love of gorsh, leave his second amendment intact!

[–] [email protected] 5 points 12 hours ago (1 children)

I hope he didn't burrow in school. The loan officers are going to pester him daily until he pays them off!

[–] [email protected] 4 points 12 hours ago

Hollywood is going to make that soo dramatic! Extending the 4 nano second event into what might seem like an eternity...4 seconds tops...."Actually guys, I think we might have a......".....silence. such a Sumner moment. Oh hey, can we get rid of putin? I have an idea but we're going to need lots of toilet paper, concrete, rope, and a baseball bat! Oh this is gonna be so good! Pinatas are fun! And a tranquilizer dart! We need that or the paper won't stick. You don't want a mushy pinata!

[–] [email protected] 3 points 12 hours ago

O is for opple! P is for prange! A is for Aree! Sikibi dibi deeee!

[–] [email protected] 7 points 12 hours ago

6 months. If after 6 months of sitting on your ass you can't tell right from wrong, fuck you, you're out.....let me demonstrate.... Epstein: pedophile. That was like 3 milliseconds... Trump: shit get rid of him he's all sorts of wrong ew! Ew! That was like 3 nanoseconds. Should women get to choose? Yes. That was a no brainier. Juanita's tree is growing over the neighbors yard and the neighbor keeps eating the apples...ohhh there's precedent here. I must research...yes it's totally legal. Juanita must not know much about trees because she planted it too close to the fence. That was complicated, 3 seconds, I will need 6 months to recover and continue judging these cases, thanks!

[–] [email protected] 1 points 12 hours ago

Chat GPT is listening....tell it more of this science you guys talk about.

[–] [email protected] 5 points 12 hours ago

What part of the smoke is ruzzia? You gotta excuse me, I've never been to an exploding 🤯 country like that.

 

That's right! Your hearing is perfect! If you allow anyone from our secret staff members who come and offer you a brand new shower to just kick your groin once, you will get it installed absolutely free!

No questions asked! A guy comes in, offers you a new shower, installs it, and if they kick you in the groin and they happen to be one of our secret staff members, you get it all installed for free!!!

Ofcourse you do need to pay for the shower and tax. But the kick is absolutely free once installed right in the groin!

 

cross-posted from: https://lemmy.world/post/19713386

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
 

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
-5
submitted 1 week ago* (last edited 1 week ago) by [email protected] to c/[email protected]
 

Basically, you run a PBS style fund raising campaign. But it's so effective because you got a gun, you are law enforcement and the donors all need to drive that one highway. Say you need $10,000,000.00 just stop 10million people who happen to have 1 dollar. Or if you stop 100k people who happen to have 100 bucks, or 10k people who have 1000 bucks with them, you're good to go!

So PBS just needs a good cop car donation and a couple of fake badges to get their funding too!

 

cross-posted from: https://feddit.uk/post/17001898

A car park built for £51 million in Oxfordshire is lying empty because a council cannot connect it to the main road.

Planning problems are preventing motorists from using the 19-acre park and ride scheme in Eynsham until funding is secured to link it to the A40.

Aerial photographs show the 850-space site devoid of vehicles, despite its finished glossy tarmac, bus stops and green spaces. All major construction work was finished in January, followed by landscaping last month.

Although the car park could be cut off from the main road until 2027, local authorities have contracts to maintain it every week, cutting the grass and topsoiling and seeding when necessary.

Archive

 

I searched for the email address and although it's a scam, it's white listed in some random place

 
 

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.

 

Unless they plan to drop some bombs over our heads I don't see how WW3 with the US involved would result in better accomodations for the ruzzians.

I'm a lazy gunless asshole typing away from my couch. But if some grade a asshole from ruzzia came to bother me, I probably could easily run downstairs and grab any one of many power tools capable of removing ruzzians body parts.

I believe the Ukrainian defense is going to kick ruzzians ass pretty good. Hopefully soon we'll see putin coming out of a smokey hole in the ground on a grainy YouTube video. putin is the real reason for the war. Removing him might bring up a few more people like him, but those can be removed since the public won't be behind them.

 

It used to be the Greatest advancement in Microsoft's purchased software ever! Plus teams...

Now I got One Note which should be renamed "Several Notes"

There's the one from the browser, the one from One Note student version, the pro version, the purple tab version, the gray tab version etc. and you can make any of them look different. You can have vertical tabs or horizontal tabs. It's like Linux except there's no actual functionality difference, it's just so different that you can't fucking follow what anyone else did on the same exact page. In the browser it might be highlighted with Roman Times font, yours might look like Arial font with no highlight but the background is light blue.

Anyway the app is a total trainwreck. It's still very useful but it's less effective if the thing looks and behaves so different that I don't understand where we're at on the page each time a member of my team presents it via teams.....

and thanks Microsoft for not having a simple button to maximize the page being presented. 5 minutes off every meeting is spent figuring out how to maximize the God damn content followed by or preceding a good 10 minutes of figuring out which is the mic or sound card or monitor you're supposed to be presenting on, followed by ...can you see it yet? Can you hear me? Can I hear them, I'll just rejoin, can you make it bigger? You can make it bigger if you remove the waste of space that is the big ass blocks with everyone's name on them! Ok how? Click here! No, go to view. I swear I've noticed it under preferences! No this is the browser version! Why can't It just install it on everyone's computer and all presentation rooms? Blah blah...ok we're ready to present but we're 5 minutes over. Thanks everyone who came!

Thanks bye!...bye!, bye! Bye guys!..... Hold on. A sec I didn't even come! What kind of company is this? The slide wasn't even that sort of material that makes me come. Well fine bye! I'll just come later to the Sears catalog.....who was that guy? It will check!

All joiners leave the meeting, the stage closes it's curtains abruptly....a woman still crying in the back corner...mhaaa! It's so good because it's true!.

The END

view more: next ›