Answer 1: I don't even try to memorize everything. I skim everything I can get my hands on. When I'm bored I've been known to take the Cookbook into the bathroom with me and open to a random section and just read. I peruse my various books and gather information and just let context establish itself.
To quote the Jargon file:
Although high general intelligence is common among hackers, it is not the sine qua non one might expect. Another trait is probably even more important: the ability to mentally absorb, retain, and reference large amounts of `meaningless' detail, trusting to later experience to give it context and meaning. A person of merely average analytical intelligence who has this trait can become an effective hacker, but a creative genius who lacks it will swiftly find himself outdistanced by people who routinely upload the contents of thick reference manuals into their brains. (During the production of the first book version of this document, for example, I learned most of the rather complex typesetting language TeX over about four working days, mainly by inhaling Knuth's 477-page manual. My editor's flabbergasted reaction to this genuinely surprised me, because years of associating with hackers have conditioned me to consider such performances routine and to be expected. --ESR)
Then, when I have a problem present itself, I dig into my mental indexes and see what I can find. Then I go to the source and look up any details that might be relevant.
Answer 2: I tend to not work on paper at first. I mull over the program, analyzing areas that I think I will need to concentrate on. Once I have the overview in my head, if I'm going to be working with someone else, I will write notes and then brief them. Then I start coding, only sketching stuff out if it looks hairy. I'm finding as I work more and more with others that I need to start changing my style and communicating better the vision in my head of where the program is going.
I usually don't even worry about benchmarking unless the code is really running slow. I tend to write clean code and it can usually handle any amount of data I send against it. If I need to, I will review my algoritms with some of my fellow perl monks that work with me.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||