@mookie@weredreaming.com avatar mookie , to random

mookie's /

it's me, hi. i'm the mookie, it's me (again).

i'm the father of two awesome kids. i love watching and talking about . i'm a . i to eat. i'm a giant , , and nerd. i'm a born and raised .

i'm a serial instance creator (and destroyer) and have been doing this since 2018. having said that, this instance We're Dreaming (https://weredreaming.com) is an attempt at having an instance with permanence.

i post about: , , , , , , , , , , , , , , , , , , , .

my home is at https://ultramookie.com where i should be spending more time writing. and i'll always have another instance somewhere in the fediverse that will eventually fade with time.

@h4ckernews@mastodon.social avatar h4ckernews Bot , to random
@mason@partychickens.net avatar mason , to random

Are all the radio watches in North America a little screwed now?

https://en.wikipedia.org/wiki/WWVB

@thejapantimes@mastodon.social avatar thejapantimes , to random

The watch of a hiker killed by a bear in Hokkaido has revealed harrowing details about his last moments, including that the animal returned to his body the next day, a newspaper report has said. https://www.japantimes.co.jp/news/2025/12/12/japan/society/bear-attack-victim-gps-watch/?utm_medium=Social&utm_source=mastodon

@feijoa@mastodon.org.uk avatar feijoa , to random

Today's watch - restored 1960's Błonie. These watches were only made for 3 years between 1959 and 1962. I bought this one from a watchmaker in Krakow who specialises in restorations.

The watch brand was revived about a decade ago and they make some super interesting watches in a classic Polish design aesthetic.
https://zegarkiblonie.com/en/

ALT
@dotjrich@oldbytes.space avatar dotjrich , to random

Going digital with the Q Timex LCA Reissue!

ALT
@dotjrich@oldbytes.space avatar dotjrich , to random

Tracking the East and West coast today with the Seiko Prospex Land GMT (aka the Navigator Timer reissue)

ALT
@h4ckernews@mastodon.social avatar h4ckernews Bot , to random
@h4ckernews@mastodon.social avatar h4ckernews Bot , to random
@blakespot@oldbytes.space avatar blakespot , to random

What time is it?

ALT
@mookie@racingbunny.com avatar mookie , to random

Brad Pitt wore a bespoke IWC Ingenieur ref. 1832 in F1 The Movie.

IWC has made a special edition based on the one from the movie. Limited to 1,000 pieces.

https://www.gq.com/story/brad-pitt-f1-movie-iwc-watch-box-papers-6-27-25

ALT
@h4ckernews@mastodon.social avatar h4ckernews Bot , to random

Casio to Release Edifice Featuring Forged Carbon: Ever Mechanical Movement Casio

https://www.casio.com/intl/news/2025/0616-efk-100/

@mookie@wantstoruletheworld.com avatar mookie , to random

New F1 inspired watches. The Tudor for the Racing Bulls is 🔥 and the IWC for the Formula 1 movie's APXGP team with matching black * gold color scheme is very cool looking.

https://monochrome-watches.com/buying-guide-2025-formula-1-inspired-watches-tudor-iwc-moser-tag-heuer-girard-perregaux/

@aral@mastodon.ar.al avatar aral , (edited ) to random

So I mentioned the fediverse to Jolita and Martin when I was there getting my watch strap resized and now they’re on it :)

They’re a tiny two-person jewelry/watch shop in Bray, Ireland.

Show them some love:

@SilverPhoenix

💕

https://mastodon.ar.al/@aral/114241155978949816

@aral@mastodon.ar.al avatar aral , (edited ) to random

Just had the loveliest experience while getting my watch strap resized at Silver Phoenix in Bray. They’re a tiny, independent two-person jewellers – Jolita and Martin – and they took such care (Martin resized it three times and did a micro-adjustment and then undid it until we found the perfect fit).

In a world of faceless corporations you forget sometimes how lovely people can be.

So if you’re looking for jewellery, a watch, wallet or pen (or repairs/sizing/etc.), give them a shout and support a tiny local business that’s been going for five years now.

💕

https://silverphoenix.ie

Ghost Pi - an unconventional backup solution ( lemmy.world )

I call this nonsense host ‘Ghost’, for me it’s similar to a tape backup solution. Fairly simple concept, it’s an old Pi1 + external mechanical drive that sits dormant with its ethernet off. Once a month, at a random time and random date it enables the ethernet, spins up the drive and pulls data from the main server to ...

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:

#!/usr/bin/env python

import RPi.GPIO as GPIO
import subprocess
import time
from multiprocessing import Process


#when this script first runs, at boot, disable ethernet
time.sleep(5) #wait 5 seconds for system to boot, then try and disable ethernet.
subprocess.call(['/home/pi/ethernet_updown.sh'], shell=False)

GPIO.setmode(GPIO.BCM)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(22, GPIO.OUT) #controls TFT display backlight
GPIO.setup(23, GPIO.IN) #pull up or down is optional, the TFT display buttons have a hardware 10k pull up. Measure low tranisitions 
GPIO.setup(24, GPIO.IN)


#watches the button mounted above the USB port, in the Pi's case. 
def case_button_watch():
    while True:
        GPIO.wait_for_edge(3, GPIO.FALLING)
        #wait 100ms then check if its still low, debounce timer
        time.sleep(.100)
        if GPIO.input(3) == GPIO.LOW:
            #do something as it's a button press
            print('Button is pressed!')
            time.sleep(.900)
            if GPIO.input(3) == GPIO.LOW:
                #if the button is pressed for over 1 second its a long press. Run the backup script
                print('Button long press (greater than 1 second), running an unscheduled backup')
                subprocess.call(['/home/pi/backup.sh'], shell=False)
            else:
                #the press was greater than 100mS but less than 1000mS, just toggle the ethernet
                print('Button short press (less than 1 second), toggling the ethernet')
                subprocess.call(['/home/pi/ethernet_updown.sh'], shell=False)
        else:
            #do nothing as its interference
            print('GPIO3 debounce failed, it was noise')

#watches the buttons in the TFT display 
def TFT_display_button1():
    while True:
        GPIO.wait_for_edge(23, GPIO.FALLING)
        #wait 100ms then check if its still low, debounce timer
        time.sleep(.100)
        if GPIO.input(23) == GPIO.LOW:
            #do something as it's a button press
            print('Button GPIO23 is pressed!')
            GPIO.output(22, GPIO.HIGH) #turn the backlight ON
        else:
            #do nothing as its interference
            print('GPIO23 debounce failed, it was noise')

#watches the buttons in the TFT display
def TFT_display_button2():
    while True:
        GPIO.wait_for_edge(24, GPIO.FALLING)
        #wait 100ms then check if its still low, debounce timer
        time.sleep(.100)
        if GPIO.input(24) == GPIO.LOW:
            #do something as it's a button press
            print('Button GPIO24 is pressed!')
            GPIO.output(22, GPIO.LOW) #turn the backlight OFF
        else:
            #do nothing as its interference
            print('GPIO24 debounce failed, it was noise')

if __name__ == '__main__':

    #run three parallel processes to watch all three buttons with software debounce
    proc1 = Process(target=case_button_watch)
    proc1.start()

    proc2 = Process(target=TFT_display_button1)
    proc2.start()

    proc3 = Process(target=TFT_display_button2)
    proc3.start()

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

#!/bin/bash

if sudo ifconfig | grep 'eth0' | grep 'RUNNING' > /dev/null; 
then 
    wall -n "$(date +"%Y%m%d_%H%M%S"):Ethernet going down"
    sudo ifconfig eth0 down	
else 
    wall -n "$(date +"%Y%m%d_%H%M%S"):Ethernet going up"
    sudo ifconfig eth0 up
fi