What?

Abby is a console-based information manager, which will eventually be merged into NeoMem.

Why?

In a word, infoglut:
notecard harddrive, sorted

I use 3×5 index cards to jot down thoughts, things to do, things to memorize for school, and then when I get a chance, put them into NeoMem. It’s hard to enter stuff quickly though - it takes a long time to add new classes, navigate around, create folders, etc. So I have this huge backlog of information sitting on 3×5 cards.

How?

Interaction will mainly be through a console interface. add info quickly, tag it, and let the program sort it all out for you. auto copy & paste selected text from browser

Abby should function as an external memory, simple to use, with a semi-natural language interface / fuzzy parser (like an old Infocom game).

Goals

  • fast data entry
  • tag info quickly, let program sort it all out
  • simple console interface (gui later)
  • copy/auto paste from web browser
  • natural-language-like syntax, handle ambiguity by asking for clarification
  • integrate with desktop search programs
  • extensible via plugins
  • modular code (key for open source)
  • open source, free
  • cross-platform
  • store/view objects anywhere (local, web, etc)
  • ability to wrap existing files in obect/xml header, to provide for file-system metadata. eg either by .jpg to .obj, or .jpg to folder with contents containing a metadata file and data file(s). the latter approach would make it ‘easy’ to store multiple resolutions of an image together, comments others have made on a picture, etc.

Questions

  • use file system as db? (ie each object in a file)
  • search via grep-like commands? (later could add indexing for speed?)
  • use xml/rdf to store info? or human-readable version? (preferable)
  • just add console view and parser to neomem?

Tools

  • Language - Python - easy to write and read, high level
  • Project management - Trac
  • Version control - Subversion
  • Hosting - Python-Hosting - free Trac hosting for open source Python projects
  • Unit testing - ?
  • Project automation - ?

Sample Transcript

[pare this down and add more command examples]

Welcome to Villa
Using Abby (version 0.1)
Abby database file 'stuff.abby', 226 objects.
> list todo
Name                           Type           Description
--------------------------------------------------------------------------------------------------------------------
make postcard posterboard      Todo
upload site and setup.exe      Todo
> add todo 'get plumbago for patio'
Added object 'get plumbago for patio'.
> add todo 'get small travel clock for library'
Added object 'get small travel clock for library'.
> list projects
Name                           Type           Description
--------------------------------------------------------------------------------------------------------------------
Abby                           Project
Backpack cooler                Project        set to 70deg or so, above dewpoint, so no condensation!?...
cold water dishwasher          Project        washing dishes is wasteful of time, water, and heat ener...
dsim                           Project        dielectric spectroscopy simulation
FileExtension                  Project        rclick file - edit extension. small c window program, us...
FolderIcon                     Project        rclick folder, assign icon : choose icon in dialog, copy...
Gillan                         Project        finish gillan's hands, put purple sky in background?
Home garbage decomposer        Project        get energy out of all that sugar!!
Hydroponics                    Project        grow bean sprouts etc
Learn Cygwin                   Project        ie in place of installing Linux. will be very important ...
MetabolicSim                   Project        model energy flow, mito growth, glocose, creatine, ATP, ...
MicroAquarium                  Project        zoom in on pond scum, 100-300x, pan around, feed with su...
moss                           Project        design 3d house and grounds, garden, maze, moss garden, ...
NeoMem                         Project
pde                            Project        pde solver. keep it simple - this is for educational pur...
ShellSpy                       Project        listen in on windows explorer notifications, build a log...
SimCycle interface             Project        simple serial port interface to get info from simcycle
Slanted Mousepad               Project        to reduce wrist fatigue!
SlowBird                       Project        film finches at high speed (with sound) and play back sl...
Smart Alarm Clock              Project        set different times for different days, good for college...
Terrarium                      Project        with lots of moss, little mushroom lights
> list neomem
Name                           Type           Description
--------------------------------------------------------------------------------------------------------------------
add a Popular/Favorites ta...  Enhancement
add button to toggle hidin...  Enhancement
setup forum                    Todo
> list types
Name                           Altname      Type           Description
--------------------------------------------------------------------------------------------------------------------
Advice                                      Type
Amino Acid                                  Type
Compound                                    Type           most general term for a molecule, protein, etc
Disease                                     Type
Enhancement                                 Type
Equation                       eqn          Type
Event                                       Type           something that happened, or will happen
Fish                                        Type
Fun                                         Type
Get                            toget        Type           something to get at the store
Language                       lang         Type
Library                                     Type
Lookup                                      Type
Lost                                        Type
Movie                                       Type
Phrase                                      Type
Program                                     Type
Project                                     Type
Property                                    Type
Question                                    Type           some question that you want to research and find an answ...
Quote                                       Type
Reminder                                    Type           a future event that you want to be reminded about
Subject                                     Type
Task                                        Type
Term                                        Type
Timeframe                                   Type
Todo                                        Type           things to do
Toxin                                       Type
Type                                        Type
Unit                                        Type
Word                                        Type
> list fish
Name                           Type           Description
--------------------------------------------------------------------------------------------------------------------
Bosemani Rainbow               Fish           very cool looking, $15, grows to 4 inches, ****
Otocinclus Catfish             Fish
plecy                          fish           this is some description
Veil Angelfish                 Fish
> plecy
Property             Value
--------------------------------------------------------------------------------
Name                 plecy
Type                 fish
Description          this is some description
Creationdate         Sun 22 Aug 2004 10:49:51 PM
> list subjects
Name                           Altname      Type           Description
--------------------------------------------------------------------------------------------------------------------
Art                                         Subject
Biology                        bio          Subject
Calculus                       calc         Subject
Chemistry                      chem         Subject
Electricity and Magnetism      em           Subject
Math                                        Subject
Music                                       Subject
Numerical Analysis             numeric      Subject
Physics                        phys         Subject
Trigonometry                   trig         Subject
Vector Analysis                             Subject        Deals with scalar fields, vector fields, and differentia...
> add subject Neuroscience aka neuro
Object 'Neuroscience' added.
> neuro
Property             Value
--------------------------------------------------------------------------------
Name                 Neuroscience
Altname              neuro
Type                 Subject
Description
Creationdate         Tue 24 Aug 2004 01:38:38 AM
> save
231 objects saved to file 'stuff.abby'.
>

Roadmap

  • 0.1 skeleton (in development)
  • 0.2 relationships
  • 0.3? wrap files and folders in metadata?
  • 1.0
  • 1.1? merge with neomem gui? (also would like to get away from visual c++/mfc towards wxWidgets or similar)

need to get the existing code sorted out (two slightly different versions), and add to hosting site

Timeline

i’d like to get this working before i start grad school fall 2006, to help keep track of information and manage projects.

Developers

currently just me

Similar/Related Projects