Monday, July 15, 2013

Taking time to think

While the kernel compiles...

That would not come as a surprise to anyone that thinking process leads to a solution finding. I have rediscovered effective method of problem solving :) I know, it is obvious.
'Put away everything and think' I tell myself every time 'it' doesn't work. The new problems come up every time I touch something new in the code. I also recognize that that is being a direct result of me poking on everywhere I would like to learn more about or need to understand.

I am sort of old school sometimes - I use a paper. I just dump whatever I know in drawings with words, some pieces of code, anything, even smiley faces :) That helps me to look at the problem from different angle. Interesting enough, scratching the paper helps to answer right questions. Also redrawing couple of times same concept but in a different form helps to render more information than was previously visible.

I consider myself a person who can easily take too general approach trying to solve all problems at once and forever. Of course, I do not know that to expect in the future, but the tendency exists. Sometimes I do make problem looking more complex that it is. I also do recognize it. And I simplify. OK, I over simplify. Then I am satisfied with the result, I can make it more complex or more universal, but usually it is not even necessary!

Now, after one month after the program start I feel that when reading the code I actually do not see the language semantics, pointers and structures, but I see the functionality. At least in the parts I work on :)

Now I understand what meant the author in one of the books about Linux kernel saying that to understand Linux one should learn about the kernel structures.