added a few more features from c++ implementation, mostly periodicity.
[feisty_meow.git] / readme.txt
1
2 This is the "feisty meow® concerns" codebase top folder.
3
4 For information on building the source code, see the file "building.txt".
5
6 ####
7
8 Feisty Meow Concerns Ltd. is a small software shop that concentrates on
9 building high quality, portable, open source projects in a variety of
10 languages (primarily bash, perl, python, C++, and Java).  Here are some
11 highlights of our main products:
12
13   Bookmark Processing Tools - can take a mozilla bookmark file or arbitrary
14      web page and extract all the links out of it, building a csv database of
15      web links.  Using that database, a variety of output formats are
16      provided, including one that outputs a mozilla bookmark file again.
17      The most useful feature is probably the marks checker that operates on
18      our csv format and that locates all unreachable links in the file and
19      separates them out.
20
21   CROMP protocol - supports transmission of objects across the network and
22      provides a platform independent method for RPC and other types of
23      communication.
24
25   Octopus design pattern - the underpinning of the CROMP protocol.  An octopus
26      has an arbitrary number of tentacles (no, not just eight) which are each
27      responsible for consuming a different type of object (or datum).
28
29   Fast Templates and Portable Abstractions - the class libraries of Feisty Meow
30      provide numerous different data structures and programming language
31      abstractions (like threads and state machines).  There are also some
32      fairly ancient templates (in use since late 80s) which in many cases
33      perform faster than their STL analogues.
34
35   CLAM System - Feisty Meow is the home site of the CLAM makefile system.  The
36      CLAM system is a flexible and extensible method for building C++ and
37      C# files using makefiles.
38
39 ####
40
41 Historical note:
42 Feisty Meow® Concerns codebase comprises some but probably not all of several projects that
43 have come before.  These include the Twain.COM library scripts, the Yeti / YetiCode library
44 scripts, the HOOPLE 1 and HOOPLE 2 C++ Codebases, the Fred Huffhines open source LSL scripts,
45 the CLAM build system, and a variety of other efforts.
46
47 ####
48
49 Directories and files of interest here...
50
51 scripts/
52     Stores the script files that we use a lot.  These are usually written in interpreted
53     languages, such as bash and perl.  These were the core of the YetiCode scripts library.
54
55 nucleus/
56     Source for the basic modules of the Feisty Meow® codebase.  This includes generic
57     data structures, useful utilities, and the like.  This hierarchy, plus octopi and graphiq,
58     formed the major parts of hoople1 and hoople2.
59
60 huffware/
61     The library of LSL scripts for osgrid and Second Life written by the avatar named Fred
62     Huffhines.  Fred Huffhines is a regular contributor and a well-loved member of our
63     development team.  He also happens to be a fictional sock-puppet for adventuring around
64     the grids, but a lot of code has been written in his name.  We are going to release the
65     full corpus of the Huffhines work over time.
66
67 octopi/
68     Octopus design pattern and CROMP protocol reference implementations.  Assorted applications
69     based on these.
70
71 database/
72     Some files considered critical to the operations of Feisty Meow Concerns Ltd.  This includes
73     the database of fortunes used by the Nechung Oracle Program.
74
75 doc/
76     Assorted documentation files for Feisty Meow and a code-scanning documentation generator
77     based on doxygen.
78
79 examples/
80     Some files that show how to get work done with Feisty Meow or that show how to do certain
81     tasks in different scripting / programming languages.
82
83 kona/
84     Our burgeoning Java libraries.  Not much to see here yet, but there is some code piling
85     up for these that we will try to release soon.
86
87 osgi/
88     Some example bundles for Java OSGi.  These may eventually fill out with real material,
89     but currently they are just tracking the investigation we did into creating bundles and
90     running using them.
91
92 production/
93     Machinery for getting releases out the door, including the generated files such as binaries
94     and build system tools.
95
96 graphiq/
97     GUI tools and components, somewhat busted or just absent right now.
98
99 webby/
100     Source code specifically for web programming and building sites.  Mainly a few javascript
101     files we keep around.
102
103 ####
104
105 Notable Prerequisites for Using the Feisty Meow® codebase:
106
107   Software required to compile under Linux:
108     Gnu C++
109     A few free source libraries (see "building.txt" for more information).
110
111   Software required to compiler under MS-windows:
112     The free Microsoft compiler should build the codebase but it is untested.
113     The full version of MS Visual Studio 2010 (version 10) is supported.
114       --but this has fallen into disrepair.
115     Gnu C++ should compile the codebase but it is also untested recently.
116
117 ####
118
119 More information is available at the official site http://feistymeow.org
120
121 ####
122