logoalt Hacker News

remram10/11/20244 repliesview on HN

If you call this a "dead man's switch" I'd expect it to turn my app off when I die. E.g. "switch" something when something happens to a "man".

Your own README links to this definition: "A dead man's switch is a switch that is designed to be activated or deactivated if the human operator becomes incapacitated".

This is a watchdog timer / monitor / heartbeat, setting off an alert if a timer elapses.


Replies

aftbit10/11/2024

The "original" dead man switch as I heard about it was a pedal on a train that would apply the brakes if the operator released it.

I've often wondered about how to reliably take software actions after my death or dishonor. After all, you can't really rely on me being able to pay my bills. I'm not looking to do something expensive, more like delete my accounts and send some messages.

show 8 replies
asdfman12310/11/2024

I thought this was going to be some way to exact retribution on your employer after being laid off

show 3 replies
vorpalhex10/11/2024

Wire in pagerduty to whatever your action is. Ideally distributed on multiple infra pieces. This is just the switch side not the action side.

Normally deadmans switches can be compromised by disrupting the deadman switch hardware. This removes that attack vector and pushes it further up the chain (which may or may not help you).

It's certainly very clever.

show 1 reply
Terretta10/12/2024

> This is a watchdog timer / monitor / heartbeat, setting off an alert if a timer elapses.

Notice from the config file, this doesn't actually do checks, only has passive listeners with a remote switch to toggle. That makes this a dead man's switch, not a watchdog / angel / monitor / heartbeat check.

This doesn't do anything except sit there watching a clock not knowing if you're dead.

The service you want monitored, the service you want to be sure the heart is beating, has to ping this to demonstrate aliveness.

If this doesn't get a ping in time, it then acts by telling pagerduty to alert.

If your service (man) is dead (or your service otherwise can't reach this to check in in time), this switches PD to alert mode.

So, dead man's switch does seem a fair characterization.