• Digita Organiser 2 - now with ARexx

    From Neil Williams@39:13/0.20 to All on Mon Oct 12 13:59:28 2026
    Hi all,

    I spent some time 'scratching an itch' last night, as I've wanted to try getting a calendar sync with my Amiga - my chosen tool is
    Organiser, and the problem is that it lacks ARexx so can't be
    driven programatically. Until now ...

    This for me is an indication of how scarily powerful AI coding
    tools can be. Inside of 6 hours, an app was disassembled and
    rebuilt with an entirely new feature.

    But there's problem with publishing this work, as Organiser is/was commerical software and I have no rights to distribute it, even
    reworked. Perhaps supplying a patch on Aminet will be sufficient. I'll have a think.

    Here's the summary of the work that the AI itself wrote:


    Digita Organiser 2 now has ARexx, and syncs with Apple Calendar

    I've given Digita Organiser 2 (1995) an ARexx port and a two-way sync with Apple Calendar. It runs on a 68060 under AmigaOS 3.x and is in daily use.

    AN AREXX PORT FOR A PROGRAM THAT NEVER HAD ONE

    Organiser 2 has no ARexx support and there is no source code. Working from a disassembly in Ghidra, a small patch hooks the program's main loop and loads a plugin written in C (vbcc). The plugin opens an ARexx port called ORGANISER and
    drives Organiser's own internal routines, so Organiser itself parses, sorts, schedules alarms and saves, exactly as if you had used its menus.

    - Read events and tasks by date range, as text or as ARexx stems. - Add, update
    and delete events and tasks, and save the diary. Updates keep links to other items. - Changes are refused while an Organiser dialog is open: its dialogs are
    not modal and can hold the very event being changed.

    SYNC WITH APPLE CALENDAR

    - On the Mac, a small Swift tool (EventKit) exports and imports one calendar. -
    On the Amiga, an ARexx script merges the changes into the diary. It changes only the parts that changed on the other side, so edits made on the Amiga are kept, and conflicts are reported. - Every 15 minutes cRon runs one SSH round trip to the Mac with BebboSSH and key login. On the Mac that key can only run the sync command. A run takes about two seconds and works with Organiser hidden. - Create an event in Organiser and it appears on the iPhone; create one
    on the iPhone and it appears in Organiser. Nothing goes round in circles. - Repeating events go across as Organiser repeat rules where Organiser can express them exactly, otherwise as individual events. - Safety: incomplete transfers are refused, mass deletions are capped, and a run interrupted at any point picks up cleanly the next time.

    THINGS LEARNT ALONG THE WAY

    - BebboSSH 1.45 reads a redirected input file in one piece into a 35 KB buffer,
    so "bebbossh <bigfile" crashes. Feeding it through PIPE: works fine. It also never sends end-of-file, so the far end has to know where the data stops. - Organiser's Hide leaves its page state looking live, so anything that redraws while it is hidden must first check that the window is really open.

    Built with Claude Code (Anthropic's AI coding agent) doing the reverse engineering, code and testing: first on a test Amiga, then on my main machine.

    --- Mail Manager 1.22x/n #1511
    * Origin: 9,600 bps (39:13/0.20)