• 4th.CoSy
  • Planetary Temperature
  • CoSy/Life ; CoSy/Liberty
  •  FaceBook ; Twitter 
         ; YouTube ;

  • Bob Armstrong

    From Samual Pepys to Jean-Luc Picard
    the Diary has been an Essential Mental Aid
    CoSy is an Ultimate .

    Responding  Brad Nelson's 20160123 SV-FIG's Fourth Saturday talk , Organizing 2016 with Forth :
    From :
    Subject: Re: [svfig] Can Forth language do absolutely everything what other languages can do?
    Date: Tue, 26 Jan 2016 20:34:13 -0700
    From: Bob Armstrong <bob@cosy.com>
    To: Silicon Valley Forth Interest Group <svfig@zork.net>

    15:10 --- Organizing 2016 with Forth --- Brad Nelson

    The start of a new year is a good time to take stock, get organized, and plan ahead. Since antiquity, various systems have been devised to document, schedule, and prepare for the future. Unfortunately, the mind is a tricky thing to put in order, and the future a very hard thing indeed for which to plan.

    But little mouse, you are not alone,
    In proving foresight may be vain:
    The best laid schemes of mice and men
    Go often askew,
    And leave us nothing but grief and pain,
    For promised joy!
        - Robert Burns 1785
    Brad starts ~ 15 seconds in after Sam Falvo

    "Though many task scheduling problems are computationally intractable, and predicting what is best to do harder still, my own attempts to get organized have oft failed solely for want of a daily routine of record and reflection."

    "While only time will tell, my latest hope is that proprietorship over the system used to organize my world will reinforce its use. To this end, come witness as I expound upon a planning system of my own devising, crafted from the best tools at hand in 2016: the Web, the Cloud, sketches in sparse hue, and the simplicity of Forth."

    I found Brad's talk particularly interesting because the enduring motivation of CoSy is being my diary . My first notes after the integration of the IUP interface onto the 4th.CoSy Reva Forth code are below :
    | ======================== | Sat.Nov,20061007 | ======================== |
    | 0148 |  Blew away all text since 1003.1831  including note from Jack to AM91 which
    they apparently read on air .  implementing ctrl_s |

    textwdo @ getval str cs-> winbk
    ` winbk v@ lst
    text> lst
    | 0959 |
     300. .6 f* f.  | |>| 179.99999

    It appears I didn't fix the bug in ' dayln until
    | ======================== | Sat.Oct,20061014 | ======================== |
    Because the notebook function was sufficient to replace the everyday diary function of K.CoSy ( not the accounting function ) whose lack of access to the clipboard and very limited control over the interface isolates it from the RoW , further development pretty much stagnated until 2012 and really didn't get serious again until the last year or so .

    These notes look little different than those of the first APL+PC.CoSy in 1985 . See " CoSy/Language/Ultimate presented at the 1994 Rochester FORTH " for a bit of a screen shot . Also see any of my analyst meeting notes on CoSy WallSteet Wanderings .  Here's a screen shot of  K.CoSy with APL+PC.CoSy poking out in blue .  You can see a mixture of text comments and executable lines with calendar "daylines" in various Jobs as I call them , "file folders" which contain a log and perhaps other associated account ledgers , etc .

    A pervasive notion in CoSy is simply providing intelligent typing paper where you can write stuff .  But , if you write something in the language the system itself is written in , and tap a particular function key instead of enter , it will try to "do" it .  So any line of text which is executable can be kept around as sort of a menu command .

    Rather than having some particular "calendar" , a programmed key will insert a dayline like the above in the text . Another key will insert a time stamp . So you can keep calendar in any Job and just put down a dayline when you happen to work on it .

    And everything is just text so there is almost nothing to learn about editing it and everything is searchable on any fragment in it including dates .

    What becomes important in retrieving desired chunks of info is use of delimiters and the vocabulary to split text on delimiters . For instance , newline characters are basic .  I keep around a line like
     ` ref Dv@ vm s" citi" con
    to retrieve the text of my ` ref list , split it on line feeds ( vm is my old APL word for converting a vector to a matrix ) and return all lines containing "citi" which will retrieve all my CitiCard account numbers , passwords , etc .  I just edit the quote to retrieve whatever I'm seeking .

    the word daylncut ,
    | Cut text into day entries ( approximate as can be seen from def . )
    : daylncut ( str -- listOFstrings ) "lf s"  | ======================== | " cL tokcut ;

    splits on daylines . Thus I keep around some lines like
      text> daylncut >t0>
      s" C:/reva/CoSy/y2015.txt" slurp^ daylncut >t0>
      ` Addrs Dv@ s" ( " tokcut >t0>

      t0 s" hunt " con

    Which is kind of like a set of choices storing various split text objects in ` t0 then searching t0 for a particular string . This happens to be left from my looking for when I met Tad Hunt which I didn't find in my current text so I retrieved and split last year's archived text .  It returned , in particular ,
     | ======================== | Mon.Nov,20151123 | ======================== |
    | vM < Jack | 0833 | | 0900 |  ( coffee ; 2.60 .15 ; BeanScene ) | c< Amir
     | chat w TadHunt | 1011 | c< Chuck 303 829.6795 got dogs in Rampart Station . c> Joyce
     denalli , another dogs loose by grade school school 564.0674 Joyce vm | 1121 |
     em | 1135 | | 1146 | c> Amir vm | Trader Joe , Safeway . @ K&A's . lunch
    | 1324 | c< Amir | 1335 | nap | 1647 | ( mochaFreeze ; 4.5 .5 ; BeanScene / 186
     Murphy St / Sunnyvale CA ) "

    You can see I use a lot of abbreviations . But , you see I do use 4th.CoSy everyday .

    The account entries  ( coffee ; ... ) are not really "live" yet , but in the form of lists I need to be able to parse .

    Delimiters come in either the symmetric unitary form tokcut splits or symmetric pairs which are nestable . Finishing the parsing of symmetric pairs is one of the items you will find in the  ` ToDo list if you download 4th.CoSy . It's quite high priority . Once you've got it , XML and I guess JSON are fairly trivial . If I understood Thompson right ,  regular expressions can't handle it . ( Reva Forth does have a regular expression library . )

    Anyway , time keeping and note taking is so central to the utility of  CoSy that I've taken the liberty of expanding on it in this note .

    I envy of Brad's knowledge of interfacing with the cloud , but my first interest is having total control of my machine(s) in one linguistic environment down to the chip . And I want  CoSy on each of them . And I want them to be able to communicate with each other ( Reva also has a TCP-IP vocabulary so that should be a quick task for anybody who knows that stuff ) . This is the sort of thing which begs for the interests of other minds who know more than me . 

    But fundamental to all of that is that if I write something down , I have it and can find it again on any fragment I can remember .  That includes code and calculations as well as notes about interactions with humans .

    Sorry to go on so long but Brad twanged a very deep chord in CoSy .

    Bob A

    comments powered by Disqus

    Whole CoSy
    Locations of visitors to this page
     I reserve the right to post all communications I receive or generate to CoSy website for further reflection .
    Contact : Bob Armstrong ; About this page : Feedback ; 719-337-2733
    Coherent Systems / 28124 Highway 67 / Woodland Park , Colorado / 80863-9711 
    /\ /\ Top /\ /\