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

JesusRat , to internetfuneral in You must survive

Don’t tell me what to do.

BaroqueInMind , to mildlyinfuriating in Don't you just hate terrible parking?
@BaroqueInMind@kbin.social avatar

License plates are not private, they are literally unobscured so everyone can see them. Why do people censor them out?

Ignacio ,

It seems that it's an European country, and here privacy laws are more strict regarding to licence plates on pictures. It's wiser to censor them.

BaroqueInMind ,
@BaroqueInMind@kbin.social avatar

Ah makes sense. Also I see that lemmy.world is hosted in the Netherlands, so it's all coming together for me in my head. Thank you for the reply.

ciferecaNinjo ,

And IIRC, license plates only need to be censored if bad behavior is demonstrated. Notice that the car to the left which was correctly parked has an exposed license plate.

What baffles me is that the plate number is only meaningful to law enforcement. The public does not get access to the records associated with a plate number. I see no reason to hide the info from law enforcement. The evidence may be too low of a standard to be usable, but so be it.

erAck ,
@erAck@discuss.tchncs.de avatar

A jealous partner seeing the car where it shouldn’t had been is enough, isn’t it? Or the boss where the worker should had been elsewhere, or… Inhabitants of small districts also don’t need a license plate database to know.

marmo7ade ,

The onus is not on social media to make sure your jealous partner didn’t see your license plate. Is Lemmy subject to european privacy laws? Is this instance hosted in the country in question? Serious questions.

erAck ,
@erAck@discuss.tchncs.de avatar

It’s good sense, regardless of the jurisdiction of a specific Lemmy instance.

AGTMADCAT ,

Erring on the side of maintaining the privacy of strangers is always better than the alternative.

Eke , to internetfuneral in You must survive

the fridge is 22 meters away(35 steps), i think i will die.

MrFlamey , to workreform in Money Won't Save Them Now

It really depends which billionaires. Believe it or not, some billionaires aren’t bad people (probably). Billionaires are just people with a ton of money and power at the end of the day, and we should judge them on their actions, not their bank balance, regardless of our suspicions of how they got so rich.

However, if we could stick (for example) the Sacklers, Kochs and Murdochs in a sub and send it to Challenger Deep with just enough oxygen to get there and plenty of ballast, we’d definitely be doing the world a favour. These scumbags have a huge amount of blood on their hands, and while it would be better to see them in jail, we never will, so fantasising about their horrible demise is the most we can really do.

Endlessvoid ,

Don’t carry water for people who would let you die to increase their mountain of gold a little. What you’ve described might be true of millionaires, even multi millionaires; but no one gets to a billion dollars without stepping on those below them in the pursuit of more money than one person could ever spend in their lifetime.

Being a billionaire is pathological, if the human race was a biological organism and one part of it started hoarding that many resources, we would call it cancer and cut it out.

MedicPigBabySaver , to mildlyinfuriating in Don't you just hate terrible parking?

BMW… shocker.

saxysammyp ,

Before I even opened the comments I knew the first post was going to point out it was a BMW lol.

MedicPigBabySaver ,

Of course.

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.

Brkdncr , to nostupidquestions in My laptop came with Office pre-installed but I have this banner showing up every time I open it, is there a way to disable it for good?

How bad do you need office? Uninstall it then grab the free version which is effectively a web app.

rkk , to nostupidquestions in My laptop came with Office pre-installed but I have this banner showing up every time I open it, is there a way to disable it for good?
@rkk@lemmy.world avatar

do not trust laptop sellers. even if it is brand new just erase it and install os yourself. 5 year old can do it.

Yeah2206 , to aww in Lookin very suspicious over there.

Or, do you want to give me a kiss?

solidgrue , to RedditMigration in This is the Reddit app. They are making it really easy to want to migrate
@solidgrue@lemmy.world avatar

That’s atrocious, plug in y’damn phone!

Also, wtf is with that app? So cluttered.

aeternum ,

it's the official reddit app.

zachatrocity , to pics in Ship Island Lake in the Frank Church Wilderness

Woo!

zachatrocity ,
BornVolcano , to pics in Emerald lake, Rocky Mountian National Park

Image Transcription:


[An image taken of a pristine mountain view and a lake in the foreground. The lake is shimmering in a deep green hue, with teal and blue colours blending into the water’s surface with the shadows. The mountain slopes along the edges of the lake display patches of white snow with clusters of thin evergreen trees in varying shades of green. Further in the distance, the rocky faces of the mountain slopes are interspersed with patterns of white snow that line some of the rocky edges. The sky above is a vibrant blue, with puffy white clouds covering sections of it. Ths sun is shining over the entire scene as it rests just above the jagged edges of the mountain tops, slightly to the right of the image centre.]


^I’m a human volunteer transcribing posts in a format compatible with screen readers, for blind and visually impaired users!^

Alchemy ,
@Alchemy@lemmy.world avatar

This is an excellently vivid description.

BornVolcano ,

Blind people deserve to enjoy mountain lakes too

Smurfe , to pics in The thrill of getting a new toaster for your wedding anniversary

That toaster probably still works to. My Sunbeam is 44 years old, used daily, and still works great.

lectricleopard ,

That technology connections video makes me want to find one…

Smurfe ,
patchw3rk ,
@patchw3rk@kbin.social avatar

Not sure what I expected, but yep... that's a toaster.

spongebue ,

I did. It’s great. I also got one for my mom and it’s been a little tricky to fix up

Mango ,

Same. It’s just so fucking elegant!

fiat_lux ,

I have inherited a US$4 / 3.6€ toaster from a previous housemate. I told myself I'll replace it when it dies, but it's been nearly 12 years. That Sunbeam is much prettier than my plastic sweatshop junk and I'm a little jealous of it.

I think I'm so used to planned obsolescence in tech that I greatly underestimated how hard it is to fuck up building a toaster. Mine doesn't toast evenly, sure. But how perfectly even do I really need my toast to be?

Madison420 ,

I make toast in a skillet because I don’t have a toaster but it works ok because then I can use the good butter so my jam and toast is much tastier and probably way less healthy, weirdly enough I think it’s more even on a skillet and a bit more crisp one side soft on the other like I like.

fiat_lux ,

I'm too much of a fan of timed power cut-off devices to go that route, and my doctors would probably also not be a fan. I can totally believe it makes for excellent and delicious toast though. Especially with the good butter.

Wordless , to pics in This fox made a home in my neighbors backyard
@Wordless@kbin.social avatar

Beautiful! How lucky.

VoxAdActa , to aww in Lookin very suspicious over there.
@VoxAdActa@kbin.social avatar

Who is downvoting a puppy, and why?

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