About Gallery Software Books Links Ideas and Theories Crumbs Philipsophy Sponsors Personal

Stupid Ideas and Theories


This page was updated on Fri Nov 12 21:02:41 IST 2004

As all of us, I've got a couple of ideas. The problem with them is that i can't keep them inside my head since they are not getting along well. I usually pour them on the people around me, but since I've got a lot of complains from them, i thought that it might be better to write them here. Now, i have to explain something, since there is no supervision on ideas growth, its an evolution style and most of them are crap. 100% of them, including the one you read now.
Anyway if you insist on reading it, here it comes ...


1. Incremental Cleaning

Today I've cleaned my apartment and I thought: "I'd cleaning my place every week, but i live here every day. How can i change my living so that there will be no need in weekly cleaning?" The answer is simple: Incremental Cleaning. The meaning is that you should clean more than you befoul. This way you wont have a clean apartment right away, but it will converge into one. Example will do it: few days ago I've made a dinner for myself. As usual, a *lot* of dishes get dirty during this tedious process. Anyway, I've ate and had some wine, which entered me into a happy mood. As you can guess i had absolutely no will to make the dishes. I said to myself: "OK, you can them tomorrow, they ain't gonna escape". Next day i was in a hurry and instead of washing them I've added a few more to the pile. Next day I've looked at the dishes and thought: "its unfair to wash the past dishes, i should only clean the current ones!". I didn't do the current ones either. After a few days I've got a huge pile of dishes in the sink, moreover I've run out of the dishes. I had to clean them which i did. Another way out from this situation will be, to clean not ALL dishes, but the dishes you need and a few more. After some time you will clean all the dishes. Miracle, isn't it? You can do the same with the house cleaning: don't clean everything at the same time, but do the toilet one day, another day clean the sink, in a few days get to the floor. Windows might wait till the next week, so let them wait. And here comes the punch-line of the whole story: This way your house will be almost clean all the time. This proves that this system is even better then the conventional clean-it-all system.
You can use this system at your will, I'm not gonna make a patent out of it.

2. The origin of the majority of paintings

The very popular way of learning to draw is to look at someone's else and redraw it. Now, of course, it comes out not exactly the same way as original were. In a very short time there is a vast amount of the "same" picture, while if you look at the original and some "far" relative you wont see any similarities.

So much for introduction. At the beginning of the time, when humans lived in caves, there were some visionary, a man who thought about the future, who wanted to leave something to the generations to come. This man sketched on the cave wall a drawing of mammoth and it was beautiful.
The word about it spread far away and people of other tribes come to see it. It was a love from the first sight. As they saw it thy wanted to have one like it by themselves, so they made a reproductions of it AND every one of them was a little bit different from the originals.

This went on for ages. At the end the majority of the painting that we see nowadays are the failed reproductions of the very first one: the mammoth on the cave wall.


3. Traffic jams

I remember I've drove the highway and all of the sudden found myself stacked in the traffic jam. It wasn't a junction or interchange, or accident. It was just in the middle of a highway. I started to wonder, i had a lot of time to waste anyway, how the traffic initiated in the middle of a road. The answer is simple: it wasn't. The traffic jam that you stacked in at the middle of the road, are initiated at the junctions or interchanges. For example, there is a traffic in junction A. Vehicles keep arriving at the rate AR and deriving from A at the rate DR. Another fact is that when vehicle arriving it slowly stops and when its deriving it starts and gains speed. In other words the cars are stopping and the distance between them growing smaller at the end of the traffic. At the beginning (junction A) the cars are driving away and the distance between them is growing. Now, if AR equals or less than DR, there is a free space near junction A and growing traffic at the end. If the process continues, the space near the junction A will grow and therefore the traffic jam will migrate from junction A. In an hour it will move considerable from the initial point and it will be at the middle of a highway.

4. Selling Processor Time

Disclaimer
I've arrived at this idea independently and without any knowledge whatsoever about the dozen of startups who is doing this now. I'm not telling your that its mine and i am an origin of it. I've just wrote it down when i had and afterwards I've watched a couple of startups doing it. It was already written, so it was a pity to throw it away :-)))

End user computer power keeps growing up, from other hand the unsolvable problems stay unsolvable. The idea of using a lot of computers to solve hard problems is far from new.
Observation number one : In the near future most of the computers will be connected to the Internet 24 hours a day and their computing power will equal to super-computer of 80nth.
Observation number two :Most of the time end user computer uses something around 10% and down of its resources.
Conclusion: a system which will enables you to distribute your problem between a unrelated computers and collect results. This will lead to the possibility to sell computer-time of end users for the sake of solving some hard, distributed problems. Of course, there are a lot of problems with this approach: your have to parallelize problems, security, bandwidth, to name few, but i think that it might work. The more detailed description of the system :
there is two entry points into the system : one for the problem owner and another for computer owner. While the first has a hard problem and not enough computer power, the second has a computer power to spare and no problems at all. Proposed system is used as a bridge between both of them. First things first, lets analyze the first entry point :
when problem owner submits its problem he has to submit the data and the program all together. It is not our responsibility to optimize his program, nor we calculate the complexity of it. He will pay for the computer time it has run till a solution was found (this money goes to computer owner) and he will pay for the parallelization and distribution of the problem (this money goes to the owner of the bridge system since it is performed automatically, you get money without investing a thing, apart from electricity). Problem owner submits his problem and receives the solution in a few days. This is as simple for him.
Second entry point is for the computer owner. He owns Pentium III, 700Mh, and barely types in Word from time to time. Bridge System owners propose him to earn money from selling his computer time, he gets money per hour. Computer owner enrolls into the list of available computers (namely poll) and install a client software at his computer, of course he should be connected to the Net. Every-time his computer usage drops below 10%, for instance, bridge system assigns a job for it and client software counts the time it invests in it. At the end of the month computer owner gets payment for invested computer time.


5. Changing the Desktop Principle

For years now we have desktop with file-system undercover. It is not obligatory to be this way. Microsoft is working on hiding the file-system from the end user. Take a look at "My Documents" folder. Most of the Windows user doesn't know where it sits on file-system. Every file type has its icon, so you can recognize it and instantly know what it is. Long names in your native language, Word proposes your filename (not a good one, but still). All these are attempts to hide file-system as far as possible from user. I like Unix type of work and i wont accept no visible file-system, but most of the people would gladly accept it. My proposition is following :
build database based file-system, where there wont be any names (C:) or naming conventions (/usr/local/bin). User will specify for each file keywords and not its name and place. For example: I'm writing this document and want to save it, i click on save and say that this document is about ideas and fantasy, its HTML document (computer should recognize it along) and click OK. Computer puts this document somewhere , i have no idea where, and when next time i will want to add another passage to this text, i will tell computer : "Bring me a document about ideas, it ought to be HTML (I'm not sure about this)". Computer shows me all documents which is connected to ideas and i pick the right one. There will be no need to teach people about file-systems, directories, files, file names, why there can be only *one* filename. Why you can't find all files about Kama Sutra at once unless you've organized your disk or named them in a certain way. You don't have to worry about creating new directories or moving the existing ones. For example if you have directory :"Drawing" where you keep your drawings and at some time you started painting. Then you have a choice of creating a new and separate directory "Painting", putting all images together or creating new parent directory "Hobby" and "Drawing"+"Painting" below. In the proposed system you don't have all this complications. Just specify that this file is your painting and another one is your drawing.

Of course, there are a lot of things that can be done in this context: intelligent searching, induction (conclude which files are drawing and which are paintings, for example according to a number of colours), automatic keyword extraction, but these things are much more complicate than the first proposed system. Few improvement propositions are due to Sotnik Sergey.


6. Description Complexity Theory

We have a classic complexity : which talks about hardness of problems and classifies them (P,NP,R,RE, DSPACE and etc.). It doesn't solves the problem of , how do we know for e problem in hand how hard is it?
Another complexity is Kolmogorov Complexity. This one tells that string complexity (or series) is the size of the smallest computer program which can generate it. This one is useful for compression and codes, it can be used even for inductive reasoning.
We don't have a complexity (as far as i know) which will bound the solution of the problem basing on the problem description. This is what i propose. Image yourself, you have some problem in hand and basing on how complex is problem description you can tell how hard it will be to solve it.
I think that you can supply only a lower bound, given a problem you could tell that you can't solve it faster than ...
Another problem is how to measure problem description complexity. For example, problem description might be : TSP and ,ooops, it has no known easy (polynomial) solution. I don't have an answer for the first one (i would publish it if i had), but i have an answer for the second one: when you say TSP you assume that person know the problem, that she knows what is graph/city, knows what is an edge/road ... You assume that person has a lot of common knowledge and this makes a problem description complex.
Example:
Input: sort n real numbers
Ouput: Omega(n*log(n)), you can't solve the problem better than this

Input: sort n natural numbers from domain [1,k]
Output: Omega(n+k)

Why the second one gets better bound than the first one while its problem description bigger than the first ? Because "real" is much more complicate than "natural from domain".
This is about all what i can say now.

7. Hidden information in images

There is some neat aura around the information theory and information itself. Its probably the idea of something so familiar and known, but yet somewhat undefinable --- the information. All of the sudden you see the math definition of information and you say, it can't be it. Its hard to believe that information should obey physical laws, or that you could measure the *amount* of information that you've gained or lost. I've always imagined information to be like ether, everywhere still untouchable. Not anymore. This is a sex-appeal of Information Theory to me. Anyway, I'm off the subject. I wanted to talk about hidden information. It is a known fact that some of the media channels carry redundancy. For example: human voice, movies and images. If you skip a couple of frames in movie you wouldn't notice that, you can reduce image resolution (amount of colors, or smoothen colors) a lot before unarmed eye will recognize the difference. People speak via noise cell phones and understand each other. This is not because we're smart or, on the contrary, blind. Its because of the redundant information in these channels. Anyway, I'm getting off the subject, i will formulate my idea: hide the information in images so the people will understand in unconsciously. This is more like hiding information in audio stream (used once by Coca-Cola for ads), on the contrary with the hiding information for the encryption purpose in images. This will be quite useful for spreading the ad on the net, send some comics (they are small usually) and watch the sales climb high. There is only one problem with this approach: is it possible ? But this is a minor and annoying comparing to the possible usage.

8. The new attack on economics

Everyone with e-mail account and few friends gets a huge amount of jokes. Of course, the friends have to know the e-mail address for this. Most of these jokes repeat themselves, paraphrase one another or just plain stupid. Did you ever wondered how come that stupid jokes keep on circulating in the Internet? Isn't it strange, nobody forwards stupid jokes, but they still manage to survive for years. Just few days ago I've got another tasteless joke, which I've seen a couple of times before. Notice that it doesn't really matter when i write it, this statement always true. I think that i know what is the purpose of these jokes. I don't know yet who is sending them, but i have my ideas on this matter too and i will keep you updated. Anyway, back to the reasons. Its really a simple issue, just imagine what happens with some cartoon. Everyone in academy or high-tech industry gets it, opens it, observes it for a few seconds and forwards or deletes it. The whole action of about 20 seconds. Multiply it by a number of people and you will reach years of wasted time. Not only that, the wasted time is one of the most valuable. Its time which should be invested in research (in academy case) or in development (in industry). Now its hard to estimate the impact of the jokes on the country economy, but lets say everyone out of 100 000 people (this number is much much lower than the exact number of e-mail accounts in Israel) spends about 10 minutes a day for handling of the junk e-mail. Therefore, 12500 hours is spent everyday on junk e-mail. Which makes about 25000 dollars per day, and 625000 dollars per month. I think you get the idea. I believe we're talking about economical terrorism and a very successful one. Somebody, lets take Hizballa as an example, ejects a junk e-mails everyday into a israelian e-mails and take care that people will spend their time on unrelated things. If you have no new jokes, no problemo, re-send old ones. Their intention is not to make you laugh, but to waste your time. So, next time you forward a not-so-funny joke think about what you've just read.
The bottom line and idea of this passage is SEND ONLY A FUNNY JOKES!!!!

9. IDE

I've been writing code for some time already and I've tested a couple of different approaches of working. There is an IDE like Visual Studio, Visual SlickEdit, Code Cruisader, Turbo C and Pascal. There are many others, but I'm naming the ones I've been using extensively. There is Emacs of course, but let me skip it. There is another approach which sounds like "real programmers know what they are writing". Thus, under this approach you don't need any IDE a simple text editor might do. Syntax high-lightening is helpful. I have a periods in life when I'm making my mind on something and trying it out. Now, as i write this, I'm using VIM with CTAGS and good old make. Some people will think that I'm a dinosaur or stupid, or maybe both. I guess they're right. I am. There is another reason however. I'm using this combination because it gives me the power and speed i need. The power of doing what i want and the ability of doing it fast. There are few things which i miss within this combination. First, i still miss the automatic completion feature. Second, i can't see the global picture. Now, the first one is a matter of time. The second is the one which bothers me. Let me explain a bit what i mean by global picture. When I'm looking at some entity i want some easy way of finding where this entity fits in the whole project. I want to be able to view the whole project, its design, then zoom in to see individual structure declaration. On the contrary, to write function and see where it is called from and what is done with its return values.
There is another problem with an existing IDE. As a general case i don't really care how many files are there and how they are organized. All i want is to write code, compile it and see the program run. So, why should i work with files when the program is designed in functions/classes level? Why the programmer has to files and directory structures? Why should i bother myself with all these details. I want to be able to see the IDEA and not the IMPLEMENTATION, if i change a function code i want to see on my screen the function code, declarations of the used structures, calls to this function, short description from documentation of this function, todo list, bug list and etc. But, i want all this information to be related to the piece of code I'm working on and only to it.
To sum up. I want from the ''perfect'' IDE the following things.
First to be graphic enough to show me all the relationships as graphs. I want to be able to zoom in and out, from file and library level to function level. I want graphic class browsing, where i can add classes and code will be generated. Second i want only the relevant information to appear on screen, but all the relevant information. If I'm pointing at some structure then i want this structure definition. If I'm editing a function then i want this function calls and definition to be there for me. I want the IDE to take of this job and show me all i need while i type. Third i want it to be completely controlled from the alpha-numerical keyboard, without arrows and function keys. I don't want to move my hands too much, if i want a workout i will go to the gym (the last feature is supplied by VI). Forth, i want a full control over the process, i want the ability to change every single bit of the building process. I want to be able to interfere and customize everything about this IDE.
Is it too much to ask? :)

10. Context-switching in book reading

I read books. Many people do. I'm gonna explain about my system of book reading (which is not original) and support it with theoretical background. Lets begin...
I believe that one should read a number of books simultaneously. This doesn't have any impact in understanding and concentration, while increases the number of books. Consider two person: Mike and Sarah. Mike is reading one book at the time and Sarah a number of books.
First of all why does it increases the number of books you're able to read. Mike doesn't carry his single book all the time with him and thus, there are times when he doesn't read it cause he forgot it somewhere. Sarah doesn't have to carry her book from place to place, since she has book at every place. Assume that both of them take a train to work and a way to work is half an hour in one direction. Unfortunately, Mike is reading a really big and heavy book, which is almost impossible, certainly inconvenient to carry. Sarah is reading this book too and leaves it at home as well as Mike does, but she is reading another, small book which can be easily carried in handbag and read at the train. I think that point is made, reading multiple books result in at least as many hours of reading as a single book and in many cases more reading hours.
Now, i will support the claim that it doesn't impact your concentration. It is widely accepted that our memory and brain work in associative manner. It means that we associate one experience with another. For example: when people are telling you: "i don't like name Lee", this is because they have associated word "Lee" with some not nice person named "Lee". This idea can be applied to "context" of activity. For example: cabinet has a "working air" about it, sleeping room has "warmth". This can be called context. It is easier to relax in uncomfortable chair in sleeping room than in best armchair in the cabinet. This example shows the importance of "context" in our brain work. On basis of this observation we derive a method of keeping a good concentration when reading multiple books: each book has its own unique context. One book is read before sleep, one at the train, one after work near a fire and another one during siesta while you're still awake. Brain associates books with its context and if you do not move the books from context to context the switching is performed automatically for you by sub-consciousness. Actually, i believe that this helps you to concentrate even better than reading a single book in a different places, unless of course, you're reading it all the time and do not loose your concentration. There is one caveat, however, you should choose the books that fit into the context where you intent to read them. Otherwise, you won't be able to concentrate on the book, if you feel this way you should move this book to another context. Good luck and happy reading.

11. Plant watering

Plant watering while you're away is a known problem. People keep on asking friends, family and neighbors to take care of their plants and water them in time. Things never go as smoothly as intended. The trusted ones forget , water too much or too little, plants die as a result. There is a simple solution to the problem. We can make a tablets with some amount of water. When watered the tablet will dissolve within a preset period of time. Now you go to a week vacation and you put two 3-days tablets one on top of another. You spill some water on a top tablet and take a ride. After a 3 days it will dissolve, its water will spill out watering the plant and wetting the bottom tablet. And so on, the process can be kept as long as you want. Now you can go to a long vacation without feeling like a murderer. :)

12. Self-testing object

This is an idea of graceful memory corruption detection. The idea applies to the critical systems which are supposed to have a 24-7 uptime. First of all i describe the setup of the problem and then the proposed solution.
Setup: There are systems which are expected to run all the time, regardless of an erroneous inputs, peripheral hardware failures, extreme peak loads and etc. From the other hand, as all of us know, there is no such thing as "bug-free" software. The last, but not the least fact, is that one of the most common and hard to find bugs is memory corruption. Its common because pointers are easily screwed up and widely used. Its hard to find because corruption cause might be in a completely different place from the corrupted area. Not only this, but memory corruption spreads like a virus. Once it begins it will take over more and more objects while the whole systems breaks down and fails.
Solution: There are a lot of packages, libraries and environments, which helps you to detect corruption. These products are based on a run-time memory access tests, memory allocation counting (leakage detectors) and hardware memory protections. I yet to see a solution to what should the program do when the problem is detected and how it is possible to keep the above the water in a corrupted system. This is where my proposition comes in. The goal is to narrow the corruption once its detected and cut off the infected objects while keeping the others (The idea is related to the self-organizing and self-stabilizing systems). An essential part of the proposition is a root object. Root object is an object (more of an interface) which is an ancestor of all other objects in the system. It defines an interface for corruption detection/cleanup: one function is for detection, basically its a one-to-one function from possible object members values to a real value. Every time some value of a member field changes the function is recalculated and the value is kept in the object (we ignore the possibility that both this function value and members will be corrupted in such a way that they retain the relation); the second function is for cleanup, either if we can restore from the members values from the other members and function value (as in RAID systems) or an object commits suicide (don't forget to signal to this object users)
The mechanism is tests for a function value vs. the current member values, if discrepancy is found then corruption is declared. When the corruption is declared, only the corrupted object performs its check and cleanup. After the cleanup the related objects (users of this object or service providers for it) is notified that this object is not available. Related objects can either clean themselves or continue working. Thus, a single corruption can result in an avalanche of cleanups, but all of them in a controlled way. At some point the chain of cleanups will cease and the system will continue working in a regular way.
Few assumption were made: (i) that such a function could exists - well, even an approximation will be good enough; (ii) that the corruption can be detected - if its not the we are back to the plan B: crashing; (iii) you are willing to invest extra time into all this extra coding - its your call after all;

13. Ultimate Children Husher

I have a nephew, he is 1 year old. He has a toy (one of the many), which is basically a disk connected to a vertical moving button. The effect is that when you push the button, the disk begins to spin. This lead me to an idea of the "Ultimate Children Husher". All of us know, the hypnotic tool, the black-and-white spiral. If you concentrate on its rotation it eases the entrance into a hypnotic state. I thought that it might be a cool idea to merge these two and make a hypnotic children tool. Imagine to yourself, you push the button and start to whisper: "You're sleeping". Few moments and voila, your precious child sleeps!
I really think that further explanations wont do any good as the idea is terrific by itself.

14. Good News Law

This is a law proposition inspired by the news I've heard today. Usually news are somewhat depressing. it is understandable, as from definition its something that people will talk about (at least news company wants us to talk about it) and bad news are easier to catch up as a theme for conversation, than something good and funny. Bad news touch us deeply and make us want to share the feeling of grief with others. Good news or funny items will make us laugh or at maximum be a focus of conversation for a couple of minutes. Therefore, naturally, bad news are more remember able, which will make you remember the source you've heard the headline and will make you want to hear the end of the story. In a way, CNN is like a soap opera, but for real. There is no point in broadcasting a short and concise news, as people wont come back to the channel.
From the other hand, it is depressing to hear only bad news for people. My proposition if to enforce by law every news report to have at least one item which is funny or optimistic.

15. Cross-domain knowledge

Fact 1:
I have noticed that there is a lot or the duplicated research. For example, Machine Learning guys rediscover things from Neural Networks, which were known for a long time among the statisticians. The situation is worse, much worse than I've imagined. Even within the same field its hard to keep a track on all the research. The times when one person could excel in more than one discipline. Nowadays, it takes half life just to get to the edge.
Fact 2:
They say that math is a language of science. this means that the same thing can be written in more than one way, which is the basic feature of the language. This is a cause of the above problem, each society invents its own terms, thus one doesn't know what to look for. The fact that i can formulate the problem in my terms doesn't mean that the same problem is formulated in the same terms in other fields. However, if this is the same problem it will have the same logic structure. I don't mean that simple substitution will suffice, but that the "structure" of the theorems will be very familiar.
Conclusion:
If we could build some kind of model of the domain knowledge, which will be abstract from the language, meaning to capture the knowledge not the form. This way we could find the same knowledge structures in the different domains or even in the same domain. Wouldn't it be wonderful...

16. PAC-Bayesian bound on distributed algorithms convergence rate

SOON

17. Programming for everyone

After the blow up of the hi-tech bubble, people keep on asking: "what will all the programmers do ? I mean, there won't be enough jobs for everyone, as the number of the programmer grow, but the number of jobs decreases." Well, the truth is that programming is here to stay and become a basic skill in everyday life. Until of course AI will finally develop a truly functional artificial mind. What do i mean ? All the personal devices are becoming increasingly complex. DVD, TV, cell phone. a big number of devices already have a CPU inside. Very soon you will call a tech support center to tell that you car isn't starting and they will connect to it by a telnet connection. As soon as you cell phone will be able to perform a couple of tricks on its own and it will be cheap we will have to program it. Programming a VCR to record things is one such example. Now consider that you have a multi-channel recording device, with the possibility to send a status update to your cell-phone, with the ability to filter an annoying ads, with format conversion and etc. How do you tell it what to do ? As it seems to me, some kind of a scripting language is inevitable. There will be some scripting language (maybe even Python) on which you will code you phone, DVD and TV set. So don't worry about programmers. Soon enough, everyone will be one.

18. Answering Machine with multiple messages

Everybody has an answering machine in the cell phone, home phone, work phone and etc. How many times did you hear the following message: "If you're trying to reach Mike, he moved and can be reached at ..., For Peter leave messages here". How many times you wanted to leave a personal message for your girlfriend, only for her ears ? Why not allow that? The technology for the calling number recognition is here for a long time, give us a possibility to record a multiple messages on a rule-basis.

19. The right to vote

The ground rule of democracy is "everybody equal". Is it correct ? Of course not. Some people are smart some are dumb. Some people are very involved in politics and social life others live an isolated life. Some people are egocentric maniacs and some live to make the world a better place. Now, one of the major, and probably the only, right of the common people in democracy is to vote. Why a politically involved genius have the same weight in voting as a dumb, egocentric maniac. I suggest to make a weighted voting. Grade people according to their ability. Then the democracy will be less dumb than it is now.

20. The real purpose of dreaming

Last night I've come home a little bit late and was dead tired. I was in a bed and reached out to turn off the heater. I hate to sleep with a heater on. Next thing i heard was my alarm clock and it was morning. Its not that i was tired, I've got my 6 hours of sleep and rested enough. Its just, i wasn't ready for another day. these two days merged into one long day. Then, i had a revelation! The real purpose of dreaming is not re-living daily experience, not learning, not sub-conscious stuff. Its breaking your days apart. it makes you feel and be prepared for the new day.

21. Is Matrix for real or not?

When i seen "Matrix" i couldn't help to wonder: can it be ? Can it be that the Matrix is for real and we are actually seeing a movie about ourselves from the inside of the Matrix ? Is it possible to know the real situation of the things? Can people from the Matrix to make an experiment and settle whether they live for real or all the world just projected to them. I think that the answer is "yes". To all of the questions.

How do we check whether we live for real ? Well, Chaos theory the the key. The essence of the chaos theory is that there are processes which can't be modeled by computer, regardless of its computing power. This means that taking a process for which we know ahead its divergence rate, we can make a prediction on how far it is supposed to be from its "attractor". Running the experiment will enable us even to calculate the Matrix precision capabilities (at least the capabilities allocated to our experiment). The precision will be the discrepancy between the calculated (true) distance from the attractor and the observed distance from the attractor.

22. Topology in Software Design

The problem with design is that there are always a couple of options in doing the same thing. Just like the Perl motto: there is more than one way to do things. Given a choice a natural question is making the best choice. The question is whether some design decision is a good one and is making a future pathway to the enhancements to come or is it just a burden and will never be used. Now, if we only had a tool to justify our design decisions what a world would that be...
I think that there is such a tool. This tool is already developed by some completely unrelated (as it always goes) field. The name of this item suggests what I'm talking about: topology. SOON

23. POD: Process Oriented Design

SOON
Main page