Lotus Agenda.



I by no means used Lotus Agenda, however I’m instructed it was a well-liked productiveness instrument for MS-DOS within the late 80s. I’ve been on a retro software program rediscovery kick recently, so I’ve determined to provide it a whirl and write about my experiences. There is one thing that appeals to me about utilizing long-abandoned software program. Perhaps it’s replace fatigue, there’s actually no have to dread a serious replace breaking one thing!

Regardless, I’ve all the time loved discovering new productiveness instruments to check out, and I’m not afraid of steep studying curves or getting my fingers soiled. I’ll often select highly effective and versatile software program over simplicity.

At the second I largely use taskwarrior, however I’ve misplaced depend of all of the others I’ve tried!

Agenda is a PIM, a Personal Information Manager. That time period has fallen out of style, I believe a fast abstract is likely to be “something that manages these small items of data all of us cope with”. Things like contacts, todo lists, notes, and so forth.

I discovered a 1989 episode of the TV present Computer Chronicles that mentioned how folks thought of PIMs on the time.

Computer Chronicles

At the 21-minute mark there’s an illustration of Lotus Agenda, however it’s not simple to observe, watch the clip and also you’ll see what I imply. Still, you do see some attention-grabbing options:

  • Some type of NLP is used to extract dates and names from free-form textual content.
  • Categories are just a little like what we might name tags at this time.
  • You can create customized dashboards referred to as views.

Apparently this was an $800 software program package deal (That’s $395 adjusted for inflation from 1989), yikes! You don’t must pay that, Lotus made it available totally free when growth ceased.

In preparation for attempting out Agenda, I discovered a duplicate of the unique manuals on eBay for a number of {dollars}. Just take a look at this monster, the person information alone is over 700 pages, that’s not together with the supplementary guides. The dietary supplements I’ve are Working with Macros, Working with Definition Files, Setting up Agenda, and some miscellaneous leaflets.

Lotus Agenda Manual

I assume that’s my bedtime studying taken care of for some time. I truly obtained the macro reference nonetheless within the unique shrink wrap, it nearly appears a disgrace to open it!

I’m utilizing DOSEMU2 to run Agenda, which additionally works with WSL on Windows. The major good thing about DOSEMU over different choices is that it has a terminal mode that interprets VGA textual content mode to terminal escape sequences. This makes outdated MS-DOS functions appear and feel like native ncurses functions.

Terminal instruments like GNU display work, you’ll be able to copy and paste between native functions, and you should use it over ssh. Naturally, it additionally helps filesystem and shell redirection, so you’ll be able to entry host directories, and execute host instructions as in the event that they had been DOS instructions.

Here’s how Agenda seems to be when it’s first put in.

Agenda Startup

You’ve in all probability observed the empty display areas, effectively, that’s as a result of Agenda solely helps commonplace VGA Text Modes. I often use a 100×30 terminal, in order that leaves some clean area. If you utilize GNU screen you’ll be able to simply put something else in there, how about ncal!

I configured DOSEMU to map a number of directories so I can save my information within the normal locations, you simply want so as to add one thing like lredir I: linuxfshometavisoDocuments to autoexec.bat.

Learning Agenda

I began making my method by means of the Quick Start information, I discovered a scan online if you wish to have a look. The information has you utilize Agenda as a process planner to enter upcoming occasions, like “Call Sarah this Friday to provide her suggestions on her proposal”, and demonstrates how Agenda can extract dates and actions from textual content you enter.

Agenda Quick Start

Here is a gif to reveal, I enter a process and it accurately populates a few of the different columns. Playing round with alternative ways of writing duties, I discover the metadata extraction works fairly effectively. Time specification parsing specifically is kind of polished, issues like “Check information retention coverage each 4 months beginning Tuesday” simply work. I’m additionally relieved that it seems to be Y2K compliant (haha!).

The pitch within the Quick Start Guide is that you probably have a name with Tom, you’ll be able to shortly generate a report for all of the stuff you wished to debate. If you’re going to a selected location, you’ll be able to checklist all of the stuff you wanted to do there, and so forth.

Agenda is versatile software program that can be utilized for extra than simply process administration, however to maintain this text transient I’m sticking to utilizing it as a planner.

Using The Planner

I’ve entered sufficient duties now to get a really feel for utilization, and all the usual stuff works effectively. Things like notes, setting alarms, including contacts, assigning priorities, looking out and sorting, and so forth. The form of issues that get tedious may be automated, like marking all the outcomes of a search, then bulk assigning or marking accomplished.

Agenda is fairly steady, I assume a few of these $395 {dollars} went in direction of QA. I did discover one crash, I used to be attempting to make an task motion for a pseudo class within the present view! I believe I’m the primary individual to find this, I can’t discover another references to it!

I needed to change my workflow a bit, I’m used to organizing my duties into subtasks, so for instance I might need a to-do checklist like this:

  • Deploy Death Star
    • Choose Target
    • Verify Design
      • Check for weak factors
      • Call upkeep
    • Assign Staff
  • Call Mom

That isn’t actually how Agenda works, as an alternative you’d create every of those duties and assign them to the identical challenge. This is a shift for me, however it has advantages, comparable to permitting a process to be assigned to a number of tasks.

Agenda Projects

You can see on this clip I’ve modified the format, you’re free so as to add or take away columns and alter their order, width, and so forth. You also can add filters, so that you may wish to solely see Tasks due at this time, for instance.

You can save a vast quantity layouts (Agenda calls these Views). You can change to the view that fits your present process, most popular degree of data density, and so forth.

You might need a “Chores” view whereas at dwelling that simply exhibits the issues you might want to do at dwelling, or a “Development” view whereas engaged on code. This can allow you to show your duties in probably the most applicable method.

Honestly, I believe Agenda does this fairly effectively, and getting a finely tuned view with sections and filters arrange exactly was fairly satisfying. There are totally different sorts of views as effectively, comparable to datebook view (like a calendar), expense view (for tallying bills related to a challenge), and so forth.

Agenda View

In my predominant dashboard I’ve three sections:

Things I’ve due inside per week Tasks [-Done,When(<->A week from today)]
Things that dont have a due date Tasks [-Done,-When]
Things I’ve accomplished lately Done [Done(2 days ago<->)]

I truly wrote the filter as “day earlier than yesterday”, and it routinely rewrote it to 2 days in the past. Neat. I’ve a number of extra views with extra columns and challenge filters that I change to as I want them. You can both press F8 to browse the checklist of views, or use Alt-N (Next) and Alt-P (Prev) to cycle between them.

Entering Notes

Agenda does have a built-in editor for preserving notes. It’s okay. It helps a number of fundamental modifying choices and has rebindable keys and macros. Luckily it helps importing exterior information, so you’ll be able to simply use Vim.

In reality, I wrote a macro to modify to vim each time I kind Ctrl-F5 within the editor. Here is a clip of me opening the Macro Manager, displaying that I’ve an “Editor” macro sure to {CtlF5}, after which modifying a be aware in Vim.

Agenda Editor

I want I might say the macro language is fairly, however it’s not. It is geared in direction of studying whats on the display and simulating keystrokes. It has fundamental management stream, string manipulation, and so forth. It’s useful.

Here is that macro you simply noticed within the editor clip.

{Editor}
{LET;%FILE;C:TMPNOTE.TXT}
{WINDOWSOFF}
{F10}E{TYPE;%FILE}
{ENTER}
{ENTER}
{SELECTION;File already exists}
{IF;(#PROMPT <> File already exists:);EDITOR}
{F3}Replace{ENTER}
{LABEL;EDITOR}
{F5}
{F10}ULVIM {TYPE;%FILE}
{ENTER}
{F5}
{F10}C
{ENTER}
{F10}I{TYPE;%FILE}
{ENTER}
{ENTER}
{WINDOWSON}

I can say a number of optimistic issues concerning the macro language, the handbook is fairly good and it comes with plenty of samples. It can automate all components of Agenda, however I’ve largely simply used it to rebind keys.

In reality, within the Eighties third social gathering builders wrote business add-ons for Agenda. Apparently there was a well-liked package deal referred to as President’s Planner. I haven’t tried it, however I suppose I’ve a morbid curiousity what an utility written on this language can do!

You in all probability want to make use of different functions or companies, and sync your information along with your cellphone. Writing and studying information from exterior DOSEMU isn’t any downside, so in case you simply wish to sync information that is no downside.

As it’s a terminal utility you may also simply SSH in and run it.

You in all probability additionally wish to have your appointments sync along with your calendar or one thing.

Export

There are two methods to export information from Agenda. If you’ve gotten a commandline instrument you could move arguments to, then you’ll be able to write a macro that can invoke it.

Otherwise, you’ll be able to export your information to a file.

Files

Agenda can export objects to a format referred to as STF, Structured Text File. The specification for that format is (largely) documented within the handbook, however it didn’t catch on.

I wrote a fast parser that may convert it to JSON, so now you should use trendy instruments like jq to control and rework the info nevertheless you would like.

You can obtain it here, listed here are some examples.

  • Print a listing of all objects.
    • $ ./stfjson < switch.stf | jq '.[].objects[].textual content'
  • Show all objects with a due date.
    • $ ./stfjson < switch.stf | jq '.[].objects[] | choose(.classes[].title=="When")'

And so on, there are extra examples within the README. If you’ll be able to change information with different apps, now you can use stfjson to generate the right format.

You can automate exports, Agenda has “Special Actions” within the class choices. Alternatively, if it’s only a one off or for a macro, you should use the Transfer > Export command.

Commands

In DOSEMU, the UNIX command will invoke a shell command on the host.

C:>unix uname
Linux

If there’s a commandline instrument that can import information, e.g. a TaskWarrior person may use process add drop off laundry at dry cleaners, then you’ll be able to create a macro in Agenda that merely launches that command.

You can use one thing like {F10}ULUNIX process {TYPE;%TASKTEXT}.

Import

Surprisingly, Agenda helps importing arbitrary textual content information. One of the manuals that got here with agenda was Working with Definition Files, which explains learn how to write a configuration file that enable Agenda to parse something.

It even has a Regular Expression tutorial, fairly spectacular for a Eighties shopper product.

I fairly like Agenda. It does many issues effectively, however it’s completely true you might replicate most of it’s performance with trendy instruments. However, I do get pleasure from utilizing it, and I’m a sufficiently big nerd that I fairly just like the problem of utilizing retro software program.

I believe the closest trendy equal to Agenda could be taskwiki. It’s not an ideal match, however in case you appreciated a few of what you noticed right here however aren’t all in favour of retro software program, attempt it out!

I’m nonetheless utilizing Agenda after two weeks, and about 40% of the best way by means of the handbook 😂

Anyone attempting to earnestly use 30 yr outdated software program is sure to come across a number of hiccups. Here are a few of the issues I bumped into.

  • Q. The installer complains about registering disks.
  • A. The free disk photographs from Lotus embrace some type of copy safety. You can’t simply extract the information – you might want to emulate a floppy drive. If you don’t wish to hassle with that, there’s a preinstalled ZIP out there here.

  • Q. Some of the default keystrokes are tough to enter at this time, like Alt-F4.
  • A. You can rebind keys utilizing a Macro.
    1. Open the Macro Manager, Alt-F3.
    2. Press Ins to create a brand new Macro, name it “Macro”
    3. Press F2 to open the editor, and enter this:
    {Macro}
    {AltF4}
    1. Press F5 to reserve it, then F6 to open the macro properties.
    2. Select “Attach to key”, Press F2 and enter {CtlF4}.
    3. Now you should use Ctrl-F4 as an alternative of Alt-F4. You can do the identical factor to different bindings that you simply don’t like.

I made Ctrl-S Save, and Ctrl-F Find. The defaults are Alt-W (??) And Alt-F6 (???!).


  • Q. I can’t enter Alt-F3 in my terminal, so I can’t rebind keys!
  • A. Download SCANCODE.COM from here, it’s a DOS TSR that may simulate keystrokes. Once you’ve gotten it put in:
    1. Press F10, Select Utilities, then Launch
    2. Type SCANCODE Delay 3,Alt-F3 (If SCANCODE shouldn’t be in your %PATH%, kind the complete path, e.g. C:SCANCODESCANCODE.COM.
    3. After a number of seconds, the Macro Manager will seem. I’d recommend rebinding it to Ctrl-F3, so that you don’t have to try this everytime!

  • Q. When I exit agenda, attempt to print one thing, or run exterior instructions I get an error like EInternal Error.
  • A. Add the road $_umb_a0 = (off) to your .dosemurc.

  • Q. When I run Agenda, it seems to be garbled like this. Broken Display
  • A. You are utilizing DOSEMU with a non-standard textual content mode. Here are some potential options, decide whichever one you favor.
    • Before beginning DOSEMU, kind stty cols 80.
      • If you utilize an uncommon terminal (like Windows Terminal), you may get an error like Operation not supported. A workaround is to put in xtermcontrol and sort xtermcontrol --geometry=80x${LINES}.
    • Use GNU display, and create a format for DOS functions (that is what I do, see the following query).

  • Q. Can I see your GNU display configuration to get me began?
  • A. Sure, right here’s my main screenrc, and right here’s my dosemu specific one.

    I take advantage of alias agenda="display -c ${HOME}/.screenrc.dosemu dosemu -term -E agenda" in my .bashrc to start out agenda.


  • Q. Can I see your DOSEMU configuration to get me began?
  • A. Sure, here.

  • Q. Agenda makes use of 100% CPU time whereas idle, which is stopping my CPU from getting into low energy states. How do I repair that?
  • A. Update DOSEMU, I filed an issue and a repair was dedicated.

  • Q. Agenda doesn’t use 100% CPU time, however it nonetheless makes use of greater than I would love.
  • A. DOSEMU simulates timer interrupts utilizing setitimer(), and by default it requests them as shortly as potential. If the DOS utility does a variety of work on each interrupt (Agenda queries the time), then it will possibly use some CPU.

    There’s a tradeoff right here, you’ll be able to simulate a slower interrupt timer however responsiveness will go down (i.e. how shortly the applying responds to keyboard enter). You can experiment with the numbers and discover the optimum steadiness.

    If you had been enjoying a DOS sport, you’d in all probability need it excessive, however for an workplace utility like Agenda you’ll be able to flip responsiveness waaaaay down and it’s nonetheless completely acceptable.

    To try this, set the timer possibility. The default worth is eighteen, however I discover 8 to be completely acceptable, possibly even 6. You can solely change the timer setting on the commandline, not in .dosemurc.

    $ dosemu -term -I "timer 8" -E "C:AGENDAAGENDA.EXE"

    The decrease you’ll be able to set this worth, the decrease CPU time agenda will use.


  • Q. I get an error like “Error: A.EXE not discovered”.
  • A. Agenda shouldn’t be in your %PATH%, add a line like path %PATH%;C:AGENDA to certainly one of your initialization information, like fdppauto.bat.

  • Q. I’m utilizing GNU display, and a few operate keys produce rubbish.
  • A. S-Lang tries to verify in case you’re utilizing an xterm suitable terminal by doing strncmp($TERM, "xterm", 5);. GNU display is xterm suitable, however it units the terminal to display.xterm-256color.

    A workaround is to only make an alias for this termcap entry that begins with “xterm”. First, get a duplicate of the termcap entry, e.g.

    $ TERM=display.xterm-256color infocmp > termcap.txt

    Now, add an alias on the prime of the file that begins with xterm, e.g. I made mine appear to be this:

    display.xterm-256color|xterm-256color.display|GNU Screen with xterm utilizing 256 colours,

    Now recompile it, tic termcap.txt. tic routinely installs that entry in your $HOME/.termcap listing, so it ought to be out there instantly. Now add the road time period xterm-256color.display to your .screenrc, and the issue ought to be solved.


  • Q. I’m utilizing GNU display, it really works however the Escape key appears sluggish, unreliable, or must be pressed twice?
  • A. First add the road maptimeout 50 to your screenrc, and see if that helps. If it feels higher however not mounted, attempt tweaking the quantity.

    If it didn’t assist in any respect, then I believe your termcap definition is fallacious. Perhaps you’re utilizing a terminal that claims to be xterm suitable, however shouldn’t be.

    Try these steps:

    1. Decompile your present termcap entry, $ infocmp -1 > termcap.txt
    2. Find the road that begins kmous= and take away it, that’s mouse occasion reporting. I’ve discovered this unreliable in some vte-based terminals.
    3. Recompile it, $ tic termcap.txt.

    See if that fixes the issue. tic locations compiled definitions in your $HOME/.termcap listing, you’ll be able to take away them if you wish to return.



  • Q. Can I see a pattern of Agenda generated PostScript and/or a pattern PDF?
  • A. Sure, right here is a few PostScript, and here’s a PDF.



Source link

Similar Products:

Recent Content