Grokking Means to Observe and Influence
I spent the better part of the last 20 years writing applications. Some just 50,000 lines or so and some much more than that. Millions of lines of code in 20 years. I don't write 50,000+ liners much anymore, so I have to approach understanding technology in a different way, I bend it, break it, test the limitations and then write about those experiences. Part of the purpose of doing this is to really understand something and then by writing about these observations helping others that need features that aren't "out of the box" or occasionally influencing new features. (It is hard to tell how successful any of us is at influence new built-in features, but change happens all the time.)
Just today I was looking at DevExpress' beta release of version 2010 10.1.3. HTML table support is being added. Naturally it seems intuitive to me that it would be great to have a lot of built-in support for HTML tables in their RichEditControl. As with all things so simple, they are not so simple. (Since my day job is for Developer Express I have some influence in the form of suggestions and the collective voices of customers have a lot of weight.)
However, really understanding the capabilities and the limitations help me explain what is and what isn't supported. A good way to leverage other party software is to use it out of the box. A great way to communicate what is possible and what is desirable is to put the code through contortions and do things that maybe weren't intended. However, it is the needs of developers in practice that make developing applications painless or painful. Some of us are tasked with explaining the pain points. It may be your internal guru, it may external gurus, or it may be bloggers that are just curious.Grokking means understanding and influencing. Learning about capabilities and limitations help developers avoid re-inventing the wheel or build better wheels as the case may be.