Design
When you are developing some system, you will come across a module or a task that takes longer to process than you would want. Or you might be in a situation where you may need to reduce the time it takes for performing a task.
After an amount of standard optimizations, there comes a point where you can push it no more. That is when, you can start thinking about what is called pre-processing. This is not something radically new. It is used by search algorithms, where you create some indexes or caches before hand - way before the actual search is performed. Databases provide the ability to create indexes that reduces the response time of a SELECT at a later point in time.
A similar design approach, in terms of working out a given module would invovle quite similar steps, no matter what it does.
- Identify the different subtasks, or smaller chunks of the process. Most of the cases, a particular task would have several sub-tasks, or phases in which the process takes place. Recognize each phase of the logic.
- Identify which of them is time critical, and which are not. Some of the tasks would be time critical in the sense that, it has to be done right at that point in time. Some other sub-tasks, could actually be performed before hand.
- Identify if there are any additional tasks that can be performed before hand, that would increase the speed of the task in question.
- Perform the non time critical sub-tasks, or phases before hand. Thus, when the actual task is performed, it will perform better and give a better turn around time.
Note that this approach may not be applicable in all cases. Also, such approach would increase the complexity of the code - the logic to perform one task is basically spread across the timeline, and analyzing such a setup requires a little more effort. There would be other impacts like increased use of space/memory.
I almost missed Martin's post on community building:
I suspect he will be going into an indepth design process for a forum, and there will be more articles to come.
Anyway, for CGPainting.com, I did the logo design.
After creating some rough sketches, I got down to the actual logo design using Inkscape. The brush like shape, and the earthly brown color gave the logo a traditional medium feel to it, and the geometric shapes for composing the 'CG' gave a digital vibe to it.
Martin, as I mentioned, goes into indepth detail of getting a custom logo designed. Having not much of a commercial outlook for CGPainting.com, I did not find it necessary to do so. I did not even want to stick to the default (boring) vBulletin skin, and thus I browsed through the vBulletin.org's gallery of themes, and settled for Blue Darkness.
I might invest some money at a future date depending on how the community picks up. Else, I do not find it necessary to invest into the design, when there are quite a lot of custom but free themes available.

Today I just got my first Moleskine® sketchbook.
Moleskine is the legendary notebook used by European artists and thinkers for the past two centuries, from Van Gogh to Picasso, from Ernest Hemingway to Bruce Chatwin.This trusty, pocket-size travel companion held sketches, notes, stories and ideas before they were turned into famous images or pages of beloved books.
Not sure how "legendary" my works would be, but I got pushed over the edge after reading Thord's entry about "analog writing".
As much as my other blogs and this one records my stray thoughs, I am not online most of the time. And the ideas just never stop popping into my head, and even if I do not wish, I do forget to get those ideas into writing somewhere.
I have been intending on getting a notebook for myself so that I write notes and draw sketches whenever I feel like and am not restricted to times when I have access to a computer or internet.
I got the Moleskine® sketchbook one because I would be doodling a lot as much as I would be writing, and the heavy acid-free 80 pages book seems to have good "tooth" for sketching.
Now, I just need to see for how long I can stick to the routine of recording the ideas as they pop into my head, and also how I can catalog it and use it in my works.
Photography: Arun Sasidharan © 2007