Saturday, December 17, 2005

Modularity requires using a hammer to find nails

In an evolving modular system of algorithms there exist new growth algorithms and old decay algorithms. Hammers are used to hammer nails. If it takes you a long time to build a hammer, and you are especially proud of the fact that you built the hammer, then you will look for nails to hammer with your hammer and because you are so excited to use your hammer, your search for nails will be occasionally interspersed with other things that are not nails, and for them your hammer does not work. This process of using hammers to find nails is a necessary part of the process of building modular systems. You do want to avoid the falacy of not constantly learning how to use new hammers, you will be rewarded by the number of already existing modules you can use in a system because if you use those modules (or algorithm packages) that are near you (default on your operating system), your module will not require the installation and loading of other modules, which makes the usage of your module more costly. Therefore, we must learn to use hammers to find nails in order to better learn to evolve modular systems of algorithms.

Friday, December 16, 2005

ToDo List

Have you ever made a todo list? Lists in general are a useful tool for dealing with a linear thought process. Lists that are composed of lists can be used to generate hierarchies, which are also a very useful tool for dealing with a hierarchical thought process; for example, a plan that consists of multiple steps that are each composed of substeps. I like to write computer programs that generate my todo lists. I tell the computer the important data to consider (such as the list of graduate schools to apply to with application due dates). With a little coercing, the computer will give me a sorted list of graduate schools to apply to (all of them happened to be due on December 15th so this program didn't actually do much in practice). I consider this to be programming my mental thought process. It would be interesting to see if programming interfaces could become so efficient and easy to use and learn that we all use this method of planning our large decisions (such as life plans). What keeps life exciting? The people at the center of this system. Government regulation of the types of processing that can be done within a person's own mind will become serious societal concerns if we don't think about these issues incrementally: privacy, security, and freedom for the individual.