werefreeatlast

joined 9 months ago
[–] [email protected] 2 points 2 days ago (1 children)

The workers don't care about what dildo is installed in your car's driver's seat! 🪑💺. They care about having a good paying job, a career, healthcare and a good life. Tail pipe emissions are not necessary for all that to happen.

[–] [email protected] 1 points 3 days ago

C'mon c'mon c'mon! Get the kitty 🐈🐈😸😸!

 

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
[–] [email protected] 0 points 6 days ago (1 children)

Believe me when I say that there are smart people working out the details to minimize losses. Like. Arguing here doesn't make the cars more or less efficient. It's a thing you can buy already and it's appeal is that it saves fuel. So like unless it were to not actually save fuel, I would say that someone actually did their homework and figured out how to deal with any of theoretical problems such as this one.

[–] [email protected] 1 points 6 days ago

I get a lot of engineers at my job who don't understand the concept but they react to it in extreme ways. Like when we talk about plasma, there would always be someone bringing up how you can't use certain materials near plasma or near heat or in vacuum. Yet some how the machines we make work and you even have on your hands a little TV screen powered by all sort of circuitry that shouldn't exist because x or y factor that some guy always thought wouldn't work because they were not in the team that actually made the thing work. But do keep telling us how plug-in hybrids don't work. I only spent a decade in that industry actually developing motors, gear drives battery packs etc, and just so that some guy over here who maybe had one or drove one last week and has some options now controls the conversation. To me. Seeing is believing. I drive a little hybrid, I watch the gauge and it tells me, hey you got 57 mpg! Yey! But what I believe is that I do maybe 14 trips a year to go get gas and it's way cheaper than when we fill up the van. As a user of my Toyota hybrid, that's the bottom line regardless of my engineering degree and years of experience in the matter.

[–] [email protected] 2 points 6 days ago (3 children)

Mass is mass. It has momentum. So a large battery can help you store energy as momentum just by it being heavy.

[–] [email protected] 4 points 1 week ago

I'm gonna blow everyone's mind.... I have my Linux system in a relatively small 4gb drive, and my home in a 4Tb drive. I mount my 4tb drive to /home/me as someone already said.

If my SSD for my OS takes a shit as people say, all you do is install it again, change fstab to swap the home directory and you're back in business like nothing happened. That's like 10 minutes install time on a good SSD these days. The other guy who mentioned this, didn't point this out. The idea of separating my home folder into its own drive didn't occur to me for years and years of using Linux. Every wrong update I was there copying home like a total windows 11 noob. I also install my extra drives and shares on /mnt, that's standard.

[–] [email protected] 2 points 1 week ago

How many farts, do you want mr putin? 2? Okay, put Putin in the tin can, evacuate the chamber and load 2 farts only! But sir! Two farts!? That's gonna be barely 500Tor of pressure! His eyes are going to pop out!... Well that's what he chose!

[–] [email protected] 1 points 1 week ago

I propose that the ruzzians come up with volunteer doctors for putin. And sure, let's try anything and everything these guys come up with...on putin! You know, to extend his life! I heard lemons are good for life injection!

[–] [email protected] 2 points 1 week ago

About 5.5" standard sized.

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

My wife and I turned up low in vitamin D too. We're on the megadoses. She is, I'm doing good since it's still summer. I'm going back to megadoses as soon as the sun stops showing up. Anyway I was just going to ask if your sleeping improved. My wife can't sleep. I sleep like a baby, but I have a strong suspicion that I got some immunological problem going on because I have a permanent elbow pain and a reoccurring rib cage pain. Getting old...

[–] [email protected] 3 points 2 weeks ago (1 children)

I believe in women's rights and equity and equality for all types of people. That said, I found someone who makes my life interesting. Unfortunately my life is interesting in the wrong ways like half the time. It's aging me and I will die and early death. But that's at least an interesting life. Otherwise she doesn't do shit. No Job, no dishes, nothing. The only and most Important things she does is to teach the kids, do their workbooks together and pay the various bills. That's stuff I can't ever do because I go to work. While I'm happy that she does those things, I think she better find a job after the kids become more independent. That has literally been her excuse for not having a job for the past 15 years. So when the kids are finally doing well in school on their own, I will nag her like she nags me to get the garbage out. I will nag her to go get a job. That's my plan and I'm sticking to it because hey, she should be doing something desirable right? LOL. They cut her stomach up to get our babies out. That's probably the next excuse, a pretty good one, until I have my last breath. And to that I say: "Whatever babe, let me watch my show".

 

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

[–] [email protected] 1 points 3 weeks ago

Hey I found this dick fair and square! It fits perfectly. But I'm still looking for a bigger one.

12
submitted 3 weeks ago* (last edited 3 weeks ago) by [email protected] to c/[email protected]
 

Let's imagine the possibilities and theoretically demo the results based on current knowledge:

  1. yes AI made the process fast and the patient did not die unnecessarily.

  2. same but the patient died well.

  3. same but the patient died.

  4. same as either 1, 2, or 3 but AI made things slower.

Demo:

Pharmacy: Patient requires amoxicillin for a painful infection of the ear while allergic to penicillin:

AI: Sure! You will find penicillin in Isle 23 box number 5.

Pharmacy: the patient needs amoxicillin actually.

AI: Sure! The Patient must have an allergic reaction to more commonly used anti inflammatory medications.

Pharmacy: actually amoxicillin is more of an antibiotic, where can I find it?

AI: Sure! While you are correct that amoxicillin is an antibiotic, it is a well studied result that after an infection inflammation is reduced. You can find the inflammation through out the body including the region where the infection is located.

Pharmacy: amoxicillin location!

AI: Sure! Amoxicillin was invented in Beecham Research Laboratories.

 

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 [email protected] and I could then use mailu, mailcow, mail docker to house my [email protected] 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 [email protected]

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 ›