[AT&T Samsung Galaxy Note II] garyd9:
Random thoughts (as related to this HOWTO)...

It might interest people to know that I don't type those posts online. I actually spend hours typing them offline in a plain ASCII editor (notepad if I'm on a Win7 machine), try to proofread them for making sense, and try to ensure that they'll make sense to most people who are technically inclined enough to want to do this type of thing. (Let's face it - non-geeks really have no interest in compiling their own kernel.)

These posts literally take hours for me to do. The first post took about 6 hours, and the second took about 4. I'm hoping as I move away from "communication" things and more into "technical" things, I'll be able to do those posts more quickly. However, the simple fact of life is that I'm NOT a teacher, so explaining things to other people is hard for me. Very hard. (That's probably why I get so irritated when people ignore instructions and/or explanations that I've taken pains to write; and then ask stupid questions.)

I also don't have a full "plan" together. While I'm typing one post, I usually have a good idea of what the following post will be discussing, but I really don't have a good "plan" beyond a very high level concept of the overall thing. I know (or think I know) what I'll need to eventually discuss, but as I'm typing one thing, I might suddenly realize that I'm going to have to back up and cover a topic I hadn't considered.

That usually opens another can of worms for me, as I long ago stopped thinking about some of these things... they just are there in my head, but when I stop to try and explain them, I realize I've forgotten how they got in my head to begin with. We all know that "4 plus 4 equals 8." However, when was the last time you asked yourself WHY 4+4=8. We know it to be true, but try to explain WHY it's true to someone who doesn't already know it. It's not as easy as it sounds (and I have young children to prove it.)

The next post I'm writing is on git and github. It will have the steps for setting up a github account, forking an existing kernel project, accessing github from a build machine, and getting the source from github to that build machine. It's not as easy to do this as I first thought it would be. The first question is "what is github?" The next question is "why?"

I think an important sidebar for that would be something reinforcing the whole "open" aspect of the linux kernel. That's a really important concept for this HOWTO... without open aspect, none of this would be possible. We wouldn't have the kernel source to compile, and we wouldn't have the wisdom and knowledge of so many people who've contributed to work from. It's also something I feel strongly about (which is amusing when you consider that I feed my family by working on closed source code.)

Perhaps I should post these random comments over the weeks it'll likely take for me to do this entire "HOWTO." Writing the HOWTO is forcing me to think about communicating development. Writing these random thoughts is making me think about how I think.

I'll end this post with a challenge: We know the sky is blue. Imagine trying to explain and document that to someone... who is colorblind.

Take care

Gary