No, like this: DAYS!!!
I have spent trying to figure out why the IDL procedure is not producing the numbers and the pictures it should be producing. Bugging others about how they did it, checking what I thought I had to be checking. blah-blah-blah…
Until I remembered something.
First, a second of bragging (pure facts, people! 🙂 ). I was pretty smart at school. I was a straight-A student. It wasn’t hard for me and I enjoyed it. Until at some point I decided that being a nerd is not so cool, and I should try to not be so nerdy. So I worked hard on not getting A’s (this was hard. Because playing stupid and lazy when you know the answer and acing homework is a matter of ambition – is just going against mother-Nature). But I did what I did, and a few times I resorted to copying someone’s answer without bothering to calculate it myself. If it looked OK, it was good enough. A couple times of such copying, and my goal of getting sub-A grades was achieved. Just because usually I was the one who let others borrow her stuff. This lasted for a few months, until my mom wondered if I needed help with homework. And, as the story goes – it’s just easier to get back to straight A’s than it is to do homework with mom :))
I, however, learned a lesson then, which came in handy many times since: lazy way of doing stuff (a.k.a. copying someone else’s solutions) takes less time than good quality work in the short-term, but with quality work, you also know what you are doing. So when stuff doesn’t work as expected, you know how to adjust your variables. (Word of caution for the hardworking of us: not every formula requires re-deriving, but sometimes it’s good to roll up the sleeves).
After said DAYS of trying to understand why someone else’s program produces junk, I decided to use my old lesson, go back (at least half way 🙂 ) to first principles and do it the way I understand. And Voila! When you know what it does, you know where to push to make it work.
Here – shoutout to the interviews with Elon Mask, where he talks about going to first principles and doing it the hard way to get the top quality results.
Hence, my public service announcement for today:
If someone else’s way kinda makes sense and you are trying to imitate it and it doesn’t produce the result you want, Take what you understand and re-write it the way that makes a complete sense to you. Make it yours. And if in the process of re-writing you realize that their way doesn’t fit into your procedure (or life), that’s OK too, feel free to let it go.
Do Your thing. Your way is the best way (programming or otherwise)