
It is with my greatest pleasure to announce that I have finished a preliminary version of the real time search technology for the COSMOS project, named Moonlight.
What is it?
Moonlight is the framework and underlying foundation for two things: keeping track of changes with and all your files and documents, and be up to date with the index of files that you have access to. The technology allows for blazingly fast retrieval of all kinds of information about a folder and file – Moonlight is both: a file indexing service and a search engine to find your files quickly. In other words, it is a database which keeps information about the digital life of the user. Although such technologies are available in other systems, I do not believe this to be available in Squeak and Smalltalk, inside which I program COSMOS in. Therefore, Moonlight is also Object-Oriented.
How does it work?
Every time the user begins the session, the index is updated and then stored in the RAM of the computer. This allows for super-fast access times. I do understand that the downside of this approach is that more RAM is used than it should be. So far I have run tests with several hundred files, and have not seen any significant drop in RAM availability or speed. But since this is preliminary, it will probably change at a later stage.
At boot time, a table is created, which consists of nine columns, each column with specific information about a file or a folder. The number of rows is as many files in your home folder. The table looks like this:

Based on this table it is possible to retrieve pretty much any information about any file or folder at any time with any object and therefore application and/or control.
So far I have not integrated a search to make us of this, but this is up next.
Related posts:

