Recent Changes - Search:

Home Pages Pidgin   Azarennya (S|N) Mac Thesaurus Reference ToDo Colino Food Local

Blogs: BadIdea Rachel RIAA Cult: Clambake Infidels Fi: Arda StarTrek Trek/Wars Film: IMDB D Harry Jabootu Kyle Fun: Agony ICanHas? ObSkills Snopes Lang: ZBB Vreleksá AwkWords Omniglot Scriptorium More... Local: Maps Map MyWeb Metro (map) FC Weather GoWhere? GGWash DC Arlington Reston Beyond Bacon Pix: Deviant Places Renderosity Blender Artists Pol: Anchoress Lizards Lucianne Strata WAwakes Sci: SmallThings Darwin AntiEvo Skeptics EvC BAUT Physics /.Sci Junk Panda Pharyngula Mags AmSci NatG Space X86: OSX86 ArsTech OSNews TUAW Dev PowWeb PHP Webmaster Coding Walkers Prog: PHP JS Toolbox Unobt Compress RegExp (test) Lint SQL Cocoa Builder Dev Apple BBS Userland Faqin

Science/Tech: Engadget Thunderbolts Icecap Centauri NewSci Gizmodo co2sci ClimateDebate SciDaily Nrich NatGeog Math CreatClaims GoodBadMath

CurrentEvents: OrigSig Flamingo FlopAces ImmigProf ~J~ MyVRWC NewsGroper Pal2Pal Sanity Simon TCS Toldjah Blogs...

Tools: Calculator AsciiArt XMLVal

FunStuff: Pictures: Photobucket (eg Dubai) Videos: YouTube Subtitler

InterestingThings: LibraryThing FlashCards GoogleDocs Wowio Bubbl.us Colemak Audible PodioBooks WonderfulInfo BooksOnline AboutUs.org

Edsted

"Edsted" stands for Euphoria Database Sequence-Tree EDitor. (Another project I may never finish.)

I want to be able to open a Euphoria database file (*.edb), select a table, and edit its records. The concept is that you work on a record's key or its data, and either one can be an atom, a sequence, or a full-blown data structure. The structure appears in the treeview on the left side of the window; you edit the text (sequence) in one of the structure's nodes in the editor on the right side of the window. Previously opened databases are listed in the Database menu; existing tables in the currently open database are listed in the Table menu.

The concept is a program that can do everything via the keyboard and can thus be automated with simple macros.

The program is meant to be a general-purpose database editor, but hopefully one powerful enough and usable enough that it can be used to keep a journal.

Nice features to have

  • Search menu - lists names of previous searches; also has "Find Next" and "Find Previous", and "Find" to create a new search.
  • Edsted.edb - contains your preferences, previous searches, previously opened databases, macros, unsaved work, etc.
  • Editor keys - next/prev record, select table by name, select database by name, save changes, undo/abandon changes, save milestone, next/prev occurrence of search, set/clear bookmark
  • Macro recording and playback - macro is saved as text (procedure names plus literal strings)
  • "For-each" macros - to run a macro for each record that matches certain criteria
  • Table organizer - to import/export tables/records between databases
  • Calculator - to do calculations, and to calculate variables for macros
  • Calendar/clock - to do calculations on dates and times, to insert the current time, etc.
  • Templates - records or tables used as templates for creating new ones
  • Customizable UI - run macros with key shortcuts, add macros to menus, remove items you never use, etc.
  • Bookmarks (favorites) - a list of favorite database records
  • Table and record metadata - extra data about each item you edit, stored in Edsted.edb. You can discover what records were changed between two dates.
  • Switches - these serve in lieu of words like "if" and "while": you attach a macro to the switch, and the system runs the macro either (1) once, when the switch is turned on (after which the switch is turned off), or (2) continually, until the macro itself turns the switch off. (There needs to be a "turn my switch off" command, a.k.a. an "I'm done" or an "exit" command.) (Switches still have "fuses" -- conditions that force them off, such as disk full, a timeout interval, end of file, whatever. They are like exceptions, except that their effect is usually to allow the macro to continue starting beyond the end of the "loop," not to halt execution altogether.)
  • Macro cache - stores the results of all actions taken since control is given to the macro interpreter, so that the results can be recalled, should the macro become a runaway. Changes are saved to a separate file, never to the original files. You have to approve and commit the changes. (You can of course run more macros to automate the inspection of the changes made.)
  • Milestones - restore points. This is like an "undo" that undoes major changes. (A milestone is automatically set when you record or run a macro, when you exit the application, when you switch to another database, and probably at a few other times.)
  • Action log - Edsted in effect records everything it does as one vast macro, but each procedure name and literal string is accompanied by a timestamp, a cause (user action, or the name of the running macro), and an effect (999 atoms added to data in record #9999 "key_name" in table "x" in database "y").

Pages in this Group

Edit - History - Print - Recent Changes - Search
Page last modified on January 05, 2007, at 02:11 PM