Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If there was a physical "undo" button, I could get behind this philosophy; however I notice neither a compiler to point out small mistakes nor an undo to help out with big mistakes. Having transformed some small plumbing things from easy to fix to really expensive to fix, I'm happy to know I live in a society with some degree of specialization. The plumber mightn't know they need to have good error handling policies, but they use my company's products, and we all go home happy. (This is also why I'm not in ops, except the odd heroic fire-fighting exercise; when I'm bored I like to change things to increase my knowledge of how it all works; I need worried and steady co-workers to keep things running).


> If there was a physical "undo" button, I could get behind this philosophy

I had two reactions to this -

The first is that's part of why I like working on low-stakes physical projects - especially when I'm working in my garden, I'm almost aggressively improvisational, just trying to use whatever's on hand to do the job and fixing things as I go. Because the garden is mine and just an absolute hobby, I get to play around, and the feeling of satisfaction I get from cobbling something together to solve a problem easily matches delivering a carefully-done plan.

The second is that undo button makes us sloppy. I noticed this the first time I went into management - the hardest part of the job was I had no idea if I'd done something right and no way to do it again if I didn't. It's made me sloppy a few other places as well, where I've found myself staring at something and thinking "well shit, there's no undo here, is there?" I think spending some time with some things that have stakes and can't be undone is healthy, and I think programming somehow makes us both sloppier and more risk-averse by its almost unbounded undo-ability.


Parenting was where I learned how to live with the lack of an undo. One gets used to it, but I find cyberspace much easier: I can try 1000 things in a few days and come out with a solution that seemed maybe impossible up front. Although one does get many chances to hone the interactions with kids, mistakes are not zero cost :) and once the parent and kid really master something, the kid grows a bit and the old solution reaches the end of its validity.

I would emphasize both that the undo-ability is very freeing and that the compiler/tests guardrails let one focus on the novel part rather than the routine part.




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

Search: