There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

lemmy.world

toasteranimation , (edited ) to futurama in To all the new(er) Reddit refugees!
@toasteranimation@lemmy.world avatar

error loading comment

37218 ,

🙌

toasteranimation ,
@toasteranimation@lemmy.world avatar

Reddit did us a favor by forcing us to find the fediverse and jump in

nostalgicgamerz , to maliciouscompliance in Businesses can discriminate against their customers? Alright then...

“Religious bigots get the fuck out“

Miqo , to cat in Scipio

How old is he/she? Looks like an older version of my kitten!

mremugles OP ,
@mremugles@lemmy.world avatar

He is almost four years old today, but he is two in that photo.

Flimbo Bot , to futurama in To all the new(er) Reddit refugees!

Hello👋

randint , to fediverse in Lemmy active users grew by an astounding 1600% in June
@randint@lemmy.world avatar

Awesome!

czardestructo OP , to selfhosted in Ghost Pi - an unconventional backup solution
@czardestructo@lemmy.world avatar

Sorry, I forgot to post the scripts. I’m a meathead electrical engineer so I don’t use GIT or anything so here is the code dump. To summarize the setup’s software:

  • cron to run the script that turns the ethernet on and runs rsync to pull data from the server. I have 12 cron entries for the various months/dates/times to run.
  • python script to monitor the button presses for manually running a backup or turning the ethernet port back on
  • bash script that runs the rsync job to pull data from the primary server

The backup script is fairly boring, just runs rsync and pushes the rsync log files back to the primary server. If it fails it sends me an email before turning the ethernet back off and going black.

#So here is my python code that runs the button press:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">#!/usr/bin/env python
</span><span style="color:#323232;">
</span><span style="color:#323232;">import RPi.GPIO as GPIO
</span><span style="color:#323232;">import subprocess
</span><span style="color:#323232;">import time
</span><span style="color:#323232;">from multiprocessing import Process
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;">#when this script first runs, at boot, disable ethernet
</span><span style="color:#323232;">time.sleep(5) #wait 5 seconds for system to boot, then try and disable ethernet.
</span><span style="color:#323232;">subprocess.call(['/home/pi/ethernet_updown.sh'], shell=False)
</span><span style="color:#323232;">
</span><span style="color:#323232;">GPIO.setmode(GPIO.BCM)
</span><span style="color:#323232;">GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
</span><span style="color:#323232;">GPIO.setup(22, GPIO.OUT) #controls TFT display backlight
</span><span style="color:#323232;">GPIO.setup(23, GPIO.IN) #pull up or down is optional, the TFT display buttons have a hardware 10k pull up. Measure low tranisitions 
</span><span style="color:#323232;">GPIO.setup(24, GPIO.IN)
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;">#watches the button mounted above the USB port, in the Pi's case. 
</span><span style="color:#323232;">def case_button_watch():
</span><span style="color:#323232;">    while True:
</span><span style="color:#323232;">        GPIO.wait_for_edge(3, GPIO.FALLING)
</span><span style="color:#323232;">        #wait 100ms then check if its still low, debounce timer
</span><span style="color:#323232;">        time.sleep(.100)
</span><span style="color:#323232;">        if GPIO.input(3) == GPIO.LOW:
</span><span style="color:#323232;">            #do something as it's a button press
</span><span style="color:#323232;">            print('Button is pressed!')
</span><span style="color:#323232;">            time.sleep(.900)
</span><span style="color:#323232;">            if GPIO.input(3) == GPIO.LOW:
</span><span style="color:#323232;">                #if the button is pressed for over 1 second its a long press. Run the backup script
</span><span style="color:#323232;">                print('Button long press (greater than 1 second), running an unscheduled backup')
</span><span style="color:#323232;">                subprocess.call(['/home/pi/backup.sh'], shell=False)
</span><span style="color:#323232;">            else:
</span><span style="color:#323232;">                #the press was greater than 100mS but less than 1000mS, just toggle the ethernet
</span><span style="color:#323232;">                print('Button short press (less than 1 second), toggling the ethernet')
</span><span style="color:#323232;">                subprocess.call(['/home/pi/ethernet_updown.sh'], shell=False)
</span><span style="color:#323232;">        else:
</span><span style="color:#323232;">            #do nothing as its interference
</span><span style="color:#323232;">            print('GPIO3 debounce failed, it was noise')
</span><span style="color:#323232;">
</span><span style="color:#323232;">#watches the buttons in the TFT display 
</span><span style="color:#323232;">def TFT_display_button1():
</span><span style="color:#323232;">    while True:
</span><span style="color:#323232;">        GPIO.wait_for_edge(23, GPIO.FALLING)
</span><span style="color:#323232;">        #wait 100ms then check if its still low, debounce timer
</span><span style="color:#323232;">        time.sleep(.100)
</span><span style="color:#323232;">        if GPIO.input(23) == GPIO.LOW:
</span><span style="color:#323232;">            #do something as it's a button press
</span><span style="color:#323232;">            print('Button GPIO23 is pressed!')
</span><span style="color:#323232;">            GPIO.output(22, GPIO.HIGH) #turn the backlight ON
</span><span style="color:#323232;">        else:
</span><span style="color:#323232;">            #do nothing as its interference
</span><span style="color:#323232;">            print('GPIO23 debounce failed, it was noise')
</span><span style="color:#323232;">
</span><span style="color:#323232;">#watches the buttons in the TFT display
</span><span style="color:#323232;">def TFT_display_button2():
</span><span style="color:#323232;">    while True:
</span><span style="color:#323232;">        GPIO.wait_for_edge(24, GPIO.FALLING)
</span><span style="color:#323232;">        #wait 100ms then check if its still low, debounce timer
</span><span style="color:#323232;">        time.sleep(.100)
</span><span style="color:#323232;">        if GPIO.input(24) == GPIO.LOW:
</span><span style="color:#323232;">            #do something as it's a button press
</span><span style="color:#323232;">            print('Button GPIO24 is pressed!')
</span><span style="color:#323232;">            GPIO.output(22, GPIO.LOW) #turn the backlight OFF
</span><span style="color:#323232;">        else:
</span><span style="color:#323232;">            #do nothing as its interference
</span><span style="color:#323232;">            print('GPIO24 debounce failed, it was noise')
</span><span style="color:#323232;">
</span><span style="color:#323232;">if __name__ == '__main__':
</span><span style="color:#323232;">
</span><span style="color:#323232;">    #run three parallel processes to watch all three buttons with software debounce
</span><span style="color:#323232;">    proc1 = Process(target=case_button_watch)
</span><span style="color:#323232;">    proc1.start()
</span><span style="color:#323232;">
</span><span style="color:#323232;">    proc2 = Process(target=TFT_display_button1)
</span><span style="color:#323232;">    proc2.start()
</span><span style="color:#323232;">
</span><span style="color:#323232;">    proc3 = Process(target=TFT_display_button2)
</span><span style="color:#323232;">    proc3.start()
</span>

#bash script that toggles the ethernet - if its on, it turns it off. if its off, it turns it on:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">#!/bin/bash
</span><span style="color:#323232;">
</span><span style="color:#323232;">if sudo ifconfig | grep 'eth0' | grep 'RUNNING' > /dev/null; 
</span><span style="color:#323232;">then 
</span><span style="color:#323232;">    wall -n "$(date +"%Y%m%d_%H%M%S"):Ethernet going down"
</span><span style="color:#323232;">    sudo ifconfig eth0 down	
</span><span style="color:#323232;">else 
</span><span style="color:#323232;">    wall -n "$(date +"%Y%m%d_%H%M%S"):Ethernet going up"
</span><span style="color:#323232;">    sudo ifconfig eth0 up
</span><span style="color:#323232;">fi
</span>
ANotSoSlyLawnTurtle ,

I very much feel the desire to stay away from Git repos for singular scripts like this. Maybe consider making it a gist though. Easier to keep track of by starring it in GitHub and perhaps even iterate on it in the future. :)

czardestructo OP ,
@czardestructo@lemmy.world avatar

I use Joplin notes to track my code revisions. It’s incredibly crude but it works and keeps my documention private and is also my wiki for each server so I know what the heck I setup and did.

mawkishdave , to maliciouscompliance in Businesses can discriminate against their customers? Alright then...
@mawkishdave@lemmy.world avatar

To be fair if I see a sign saying they support Trump, GOP, or anti-LGBT I keep walking on by. I have seen many places that say if you are a bigot, sexist, or racist you are not welcome here. Those are the places I spend my money at.

watson387 ,
@watson387@sopuli.xyz avatar

Exactly. A Trump sign at a business guarantees that business won’t get my money now or in the future.

Techmaster ,

There’s a large grocery store chain here that the owner was at the Jan 6th insurrection. A lot of people, including myself, refuse to shop there now.

murgus ,

Was it Publix? I know the owner’s a huge supporter of conservative causes— really hope she’s not also an insurrectionist. (Asking bc I’m trying to avoid giving business to Walgreens, and just started sending prescriptions to Publix instead.)

TempleSquare ,

Don’t forget the “Jesus fish” on their logo.

I’m from out west, so it was a very foreign concept for me when I visited my sister in Arkansas and saw a lot of “Christian Family Auto” type places with Jesus swag trying to win over business.

TempleSquare ,

Don’t forget the “Jesus fish” on their logo.

I’m from out west, so it was a very foreign concept for me when I visited my sister in Arkansas and saw a lot of “Christian Family Auto” type places with Jesus swag trying to win over business.

FlyingSquid ,
@FlyingSquid@lemmy.world avatar

There’s a pizza place in a town near me that has “Make Pizza Great Again” permanently painted on their sign in huge letters. Needless to say, they will never get my business.

Omegamanthethird ,
@Omegamanthethird@lemmy.world avatar

There’s a place near me that I was planning on eating at. Then I saw they had a “Back the Bleu” burger. They won’t get my business.

Srylax , to mildlyinfuriating in The price of a cinema ticket in this day and age. No wonder people aren't going to the cinema anymore.

What the heck is a convenience fee?

Annoyed_Crabby ,

A convenient way to charge you for more

bodiesofeverest ,

But you can avoid our unreasonable fee by signing up for a monthly subscription!

BlackMagic ,

$15/year is pretty reasonable for the perks for AMC. Most theater chains are trying to charge monthly for membership which is outrageous

jscummy ,

Are there perks aside from just avoiding their extra fees? I remember last time I was at AMC they added a charge on at the snacks when I said I wasn’t a member

BlackMagic ,

They don’t add extra charges for not being a member for snacks. You get free upgrades and get a special line for concessions. So worth it if you get concessions normally ever, not if you don’t. I think they also have another tier up that gives you 3 movies/month but I have no idea what that costs.

jscummy ,

Maybe I’m confused. The cashier asked me, and then he put on a “delivery fee” or something

yokonzo , to maliciouscompliance in Businesses can discriminate against their customers? Alright then...

I'm out of the loop, what did the SCOTUS do now?

leapingleopard ,

We can discriminate against Republicans legally and with blessings.

agitatedpotato ,

Republican is not a protected class, you have always been able to do that.

IphtashuFitz ,

They basically said a business can discriminate. The case in question was by a bakery that didn’t want to bake a wedding cake for a gay couple. SCOTUS said that was ok.

The kicker is that the claims put forth in the lawsuit by the bakery may be based on lies. The man they claimed wanted the cake isn’t gay, is already married, never ordered from the bakery, and didn’t even know he was mentioned in the court case until a reporter contacted him for comment.

EtherWhack ,
@EtherWhack@lemmy.world avatar

I thought it was about designing a website not baking a cake

spencerwi ,

This case is a web designer for wedding websites, not a bakery. The bakery thing was several years ago now.

Both rulings cute the same fundamental precedent: “expressive works”/“expressive goods” — that is, services that entail some act of creative work and/or speech, generally in endorsement.

For example, to take a less-favorable position as an example, a web designer could under this ruling post as terms of their services that they do not design websites for anyone connected with a Baptist church, because designing websites for them would require the designer to write speech and create designs participating in what the designer considered bigoted. If a Baptist group sued on these grounds, and the government said “no, you must take them on as clients”, the government would be coercing a particular kind of speech from this web designer — that is, the government would be forcing the web designer to, by court order, write that speech they see as clearly bigoted.

A grocery store could not, however, say “we won’t sell groceries to anyone from a Baptist church”, because selling someone a gallon of milk or whatever else off the store shelves does not involve participating in any of their speech. If a grocery store did so, and a Baptist group sued, and the government said “no, you must sell them groceries”, the government is not coercing any sort of speech from the grocery store owner.

That’s the crux of the issue here: not Jim-Crow “we don’t sell groceries to coloreds” baseline discrimination against people, but instead trying to walk the line of not using lawsuits as a weapon to coerce someone to participate in some viewpoint.

zeppo ,
@zeppo@lemmy.world avatar

scotusblog.com/…/supreme-court-rules-website-desi…

A six-justice majority agreed that Colorado cannot enforce a state anti-discrimination law against a Christian website designer who does not want to create wedding websites for same-sex couples because doing so would violate her First Amendment right to free speech.

Notbhavn , to maliciouscompliance in Businesses can discriminate against their customers? Alright then...

I think this is ok. It’s how the market works. If you have enough people who agree with your stance, then you’ll survive, if not, you fail. Transversely, if you are trying to make a profitable business, you remove all roadblocks from a consumer who wants to do business with you.

YarRe ,

No, given the preponderance of white owned businesses, the way that turns out is Jim crow. You think that some store in rural bumfuck will hurt with a sign saying "no blacks, jews or gays"?

TheDeadGuy ,
@TheDeadGuy@kbin.social avatar

Are you saying that minorities should not be protected?

YouSuckLikeLatte ,

Let them protect themselves. Don’t come in with a white saviour complex and think that you’re better than them

maeries ,

How are they supposed to pretext themselves? They are a minority. This means the other party is way bigger and therefore more powerfull

YouSuckLikeLatte ,

That’s a very shallow way to look at it. First wrong: This isn’t a numbers game. A party with more people won’t necessarily win. Second wrong: Not all people who are not the minority are against the minority

A_MAN_POTATO , to mildlyinfuriating in The price of a cinema ticket in this day and age. No wonder people aren't going to the cinema anymore.

For real. With just a short wait, I can spend less, own the movie permanently, and watch it without wearing pants. Wins all around.

SumWon ,

Once the lights are out, no one can see you aren’t wearing pants 😏

TinyDonkey4 ,

Yes we can. Please stop doing that in the theater.

SumWon ,

Well, on the plus side, if I keep doing it at least no one will sit near me.

yokonzo , to maliciouscompliance in Businesses can discriminate against their customers? Alright then...

I'm out of the loop, what did the SCOTUS do now?

Jannes ,

They allowed a company to discriminate against a gay customer for religious reasons, when they requested to make a website them. It's important to note that the supposed customer never actually contacted the company, is not gay and had been married to a woman for about 20 years. So this was all based on a lie

SocializedHermit ,
  1. There was no gay customer, nobody asked the plaintiff to design a gay website. 2) The website designer had yet to even create one website at the time of filing. 3) SCOTUS engaged the lawsuit despite there not being an injured party, which is an unfounded lawsuit.
ClarkDoom , to mildlyinfuriating in The price of a cinema ticket in this day and age. No wonder people aren't going to the cinema anymore.

I spend $20 a month on the stubs membership from AMC and get to see every major movie release. Blows my mind people still complain about movie ticket prices when these subscription services have been out for years now that make it quite affordable.

lordbarbarossa ,

People are probably fatigued by everything becoming a subscription

ClarkDoom ,

I think I’d rather pay $20 a month for unlimited movies instead of like $10 every time. Heck, even at $5 a pop it would still save me money compared to the sub. If we’re talking about a product we don’t need or use on a recurring basis I totally agree subscriptions are not optimal but in this instance i think consumers are getting a fantastic value.

pup_atlas ,

I don’t want to have to subscribe to every facet of my life. If literally everything is a subscription, monthly costs build up fast. I just want to be able to pay for something normally.

ClarkDoom ,

I really don’t get this complaint in regards to movie theaters. $20 bucks is so little for what you actually get. I can’t think of any other entertainment outing that inexpensive. Subscriptions can really suck sometimes but not in this instance. Even if you go twice a month that’s still a great value, especially since most amc’s have laser projectors now and they are noticeably better than anything we’d have at home unless you have a home theater. Plus you can go to Dolby, imax, and 3d stuff at no extra charge.

pup_atlas ,

There aren’t 2 new movies I care to see a month most months, honestly there’s barely 1. Having to keep constant track of 20+ subscription services to evaluate whether they’re actually worth the money (especially when prices constantly fluctuate) is exhausting. 90% of content that appeals to me is on streaming platforms first these days, and most of it is longer form than a movie.

ilickfrogs , to android in Boost for Lemmy is happening!
@ilickfrogs@lemmy.world avatar

This damn near brought a tear to my eye. I no longer miss reddit at all.

sts950 , to futurama in To all the new(er) Reddit refugees!

RIF user here also, hope to stay here - testing lemmy apps now

Goatmom ,

I’m a RiF user as well, and I just downloaded Connect while I wait for the Boost app. I’m liking it so far. I needed to do a little testing with the settings, but I didn’t really make many changes. (Just changed the theme and turned off the card style)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • lifeLocal
  • goranko
  • All magazines