Hacker Newsnew | past | comments | ask | show | jobs | submit | d7w's commentslogin

Funny, I recalled a tool called "molly-guard" which solves the problem when you want to reboot a Unix server, but can be on the wrong one. It asks to type the server name.

Anybody who rebooted a wrong server can say that this tool is brilliant.

Like "--dry-run" but for "reboot."


These kind of obstacles don't work for any action that the user does repeatedly.

Dialogs that pop up and ask "Are you sure you want to delete ...?" -> users just automatically click yes, because they already did that the last 10 times and just want to get on with their work.

Logged in to server "alpha" instead of "delta" because you thought that's the right one. Tool asks you to write the server name. You type "alpha" because you know you're on alpha. Reboots the wrong server.

Github ask you to confirm the repo name before deleting by typing it into a text field. User looks at what the repo name is and types it without thinking. Or, like lazy me, mark and drag the displayed name into the field, so you don't even have to type.

The point is, users already decided to do the action when they started. It's nearly impossible to consistently make them stop and re-evaluate their decision, because that's extremely high friction and annoying. They quickly learn to circumvent the friction as efficiently as possible (i.e. without thinking about it).

A better solution is to just do it, but let the user undo it if it was a mistake (not always possible of course).


> Github ask you to confirm the repo name before deleting by typing it into a text field. User looks at what the repo name is and types it without thinking. Or, like lazy me, mark and drag the displayed name into the field, so you don't even have to type.

Pretty easy to solve this sort of stuff with timers: "Sure, the repo will be deleted in <timer>. Press here to abort: <button>."

Or have the timers on the backend and just show the user an undo button.


> Or, like lazy me, mark and drag the displayed name into the field

Yes, the same, unfortunately. This rail guard works for only a couple of days or weeks when the perception is fresh. After that, it's always "select, copy, paste, confirm" without thinking.

I believe the better approach is to practice "Chaos Monkeys" and improve the infrastructure to survive even if someone makes a mistake.


It's not strictly related to the original theme, but I want to mention this.

Ansible implementation is okay, but not perfect (plus, this is difficult to implement properly). For cases like file changes, it works, but if you install a package and rely on it later, the --check command will fail. So I am finding myself adding conditions like "is this a --check run?"

Ansible is treated as an idempotent tool, which it's not. If I delete a package from the list, then it will pollute the system until I create a set of "tearing-down" jobs.

Probably, Nix is a better alternative.


This issue looks like a situation where one person stored all their files and folders in the Windows Recycle Bin and somebody emptied it.

It might be my professional deformation, but I never store anything in ChatGPT and Claude for longer than a day or two.


In ChatGPT and Claude, what settings allow data to be stored only for a set period of time/day?


I wish this feature existed in the app. I use a lo-fi approach and delete these chats manually every day. Not the best way, but it works for me.


That’s not very generous. Keeping files in the Recycle Bin is an incorrect use of the Recycle Bin. Keeping conversations in your ChatGPT history is how it’s supposed to be used.


I don't say that this CLI tool is a replacement for Calibre, but it covers all my needs by converting FB2 books into EPUB and making some cosmetic fixes:

https://github.com/rupor-github/fb2converter


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: