7 ms·
The importance of doing it wrong
- wccrawford 15y agoI have never yet read advice that suggested doing things the wrong way and felt the person was actually better for it. Did he have a good experience and a tale to tell in the end? Sure, but he has to temper it with how stupid he was being the whole time. You can have awesome experiences without failing! Without being stupid! Without endangering yourself on purpose! Likewise, with code, it's the same way. How much better it would be to look back on your code and think, 'Man, that's still awesome!'? And let's not forget the people who come after you. Would you rather have them tell you how awesome you code is, or treat you with disdain for the pile of crap you dropped in their lap? And I know what kind of code your employer prefers.
- nhaehnle 15y agoI think his point is not so much that you should do things the wrong way. It's more that you should stretch yourself and go to your limits. You will inevitably do things the wrong way from time to time when you test your limits, but you will also learn much more than if you just stayed in your comfort zone. So doing things the wrong way is a symptom of testing your limits, which is a good thing. Of course, you have to be careful. Sometimes, you do things the wrong way out of plain stupidity, so the implication doesn't go both ways.
- shimsham 15y agoyes, it's all about learning
- blhack 15y agoThis appears to have dropped off of the queue completely, so sadly I don't think we'll get to have the discussion I had hoped when I wrote this (it also focuses on the biking part of the story wayy too much, so I might rewrite it and submit it tomorrow). The moral of the story, something that I spent way, way too long getting to, had to do with some of my friends who don't ever publish their projects. They're so intimidated by the idea of ending up on coders from hell, or whatever other blogs exist to make fun of people, that they end up doing nothing. And they end up learning nothing. Or maybe they learn a few things out of the books that they have, but they never actually get to see those things applied anywhere. Some of the things that have made me grow most as a coder have been when stuff I've written gets submitted to reddit or HN. I've watched my server melt-down more than a couple of times, and every time it happens I learn a little bit more about how to prevent it from happening the next time. As far as the cycling story goes: I think it's more about managing the risks. Was I ever really in that much danger? Hmmmm...kindof. I certainly screwed up pretty bad, but even if I had ended up camping on the trail, it wouldn't have killed me. It wasn't like I was 1000 miles away from the closest water source or something insane like that. The other part of it is that I think a lot of people understand the "burn the ship" concept, but they proverbially "burn the ship" while it's still in the dock. It's also partially a confidence thing. When you screw up really bad, there is nowhere to go but up. It's liberating.
- shimsham 15y agopertinent and coherent article. I agree with it all, from experience. excellent and none of the usual homesy motivational nonsense.
- blhack 15y agoThanks, Shimsham :) Unfortunately, I think it might have spent a little bit too much time on the bicycling part of the story... I'm considering rewriting it and submitting it again tomorrow...I think it's an important thing to remember (that screwing up and doing it wrong is how you learn) :)
- shimsham 15y agoI think the analogy is tenuous but nevertheless valid. i saw where the article was going from the start. and of course, it's not about forcibly doing the wrong thing but the point at which u realise and what you then do. hopefully this is only done once. when some friends, relatively new to unix, asked me various questions, I asked them what would happen if they did: cd /; rm -fr / I then suggested that, just to make sure they understood the consequences, they do this on basic Linux virtual machine so they could break the machine as much as they needed. illustrative, useful and they never felt they needed to do it again. bruises and cuts have their place :)
- blhack 15y agoYou know, one of the things that really made me feel like I knew what I was doing with linux was when I accidnetally typed the following (as root [being root was a stupid, stupid thing to be, I learned my lesson]). gibson:/# mv * .jpg /var/www/html/images/ ooooops. I moved my entire directory structure into /var/www/html/images/ No /bin, no /lib, nothing. Calling things with an absolute path, a la /var/www/html/imagse/bin/ls gave me: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory Eventually, I figured out that calling: /var/www/html/lib/ld-linux.so.2 --library-path /var/www/html/lib /var/www/html/bin/ln -s /var/www/html/lib /lib Would let me rebuild the system by mving things back to their proper location. After that, any problems I encountered seemed trivial.