home.social

#hp200lx — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #hp200lx, aggregated by home.social.

fetched live
  1. Separated at birth: The HP #200LX NoteTaker application, and Microsoft Cardfile from Windows 3.11 (and earlier).

    • Simulates a stack of index cards.
    • Each note has an index line.
    • Notes are auto alphabetized by index. No other sort order is possible.

    Cardfile has separate card and index views. NoteTaker shows both at once.

    This is the simplest class of application that I believe is justified in calling itself a #database.

    #HP200LX #retrocomputing

  2. Separated at birth: The HP #200LX NoteTaker application, and Microsoft Cardfile from Windows 3.11 (and earlier).

    • Simulates a stack of index cards.
    • Each note has an index line.
    • Notes are auto alphabetized by index. No other sort order is possible.

    Cardfile has separate card and index views. NoteTaker shows both at once.

    This is the simplest class of application that I believe is justified in calling itself a #database.

    #HP200LX #retrocomputing

  3. @flyingsaceur MS-DOS 5.0 in ROM in a HP #200LX on a sunny park bench.

    #hp200lx

  4. @flyingsaceur MS-DOS 5.0 in ROM in a HP #200LX on a sunny park bench.

    #hp200lx

  5. I'm reading a book about French mountain-climbers and the HP #200LX is doing a good job maintaining a cast of characters for me thanks to its NoteTaker application, which is just a thin wrapper around the flat file #database engine shared by most of its PIM apps. The database features both quick browsing by note title (in left-hand column) and a full-text search of all note contents (slower but sometimes necessary to recall a nickname or other trivia).

    This is a very basic example of how a flatfile database can frequently be the "right tool for the job" in a way that is now underappreciated:

    • Plain text would work, but it's a lot of vertical scrolling, and doesn't have any equivalent of "quick browsing by note title".
    • A hierarchical organizer would work well but will suffer the same search problems as plain text unless thoughtfully designed.
    • A spreadsheet would need lots of horizontal scrolling to read the character's biographies.

    The database is effectively just a "frontend on a spreadsheet" but this is a frontend that does a lot of practical work.

    #HP200LX #retrocomputing

  6. I'm reading a book about French mountain-climbers and the HP #200LX is doing a good job maintaining a cast of characters for me thanks to its NoteTaker application, which is just a thin wrapper around the flat file #database engine shared by most of its PIM apps. The database features both quick browsing by note title (in left-hand column) and a full-text search of all note contents (slower but sometimes necessary to recall a nickname or other trivia).

    This is a very basic example of how a flatfile database can frequently be the "right tool for the job" in a way that is now underappreciated:

    • Plain text would work, but it's a lot of vertical scrolling, and doesn't have any equivalent of "quick browsing by note title".
    • A hierarchical organizer would work well but will suffer the same search problems as plain text unless thoughtfully designed.
    • A spreadsheet would need lots of horizontal scrolling to read the character's biographies.

    The database is effectively just a "frontend on a spreadsheet" but this is a frontend that does a lot of practical work.

    #HP200LX #retrocomputing

  7. @interstar I liked your fishing trip database example, so here's a wine database on HP #200LX. Two facing pages in the manual were enough to fully demonstrate how to create it. No need for a LLM helper.

    archive.org/details/manualsbas

    #retrocomputing #hp200lx

  8. @interstar I liked your fishing trip database example, so here's a wine database on HP #200LX. Two facing pages in the manual were enough to fully demonstrate how to create it. No need for a LLM helper.

    archive.org/details/manualsbas

    #retrocomputing #hp200lx

  9. An auto mechanic uses the HP 200LX in the 1990s

    palmtoppaper.com/ptphtml/36/pt

    Whenever I finish working on a customer's car, I use Calc to total the customer's bill. Then I run a macro that I've created which automatically does a number of things: First, it adds the amount of today's bill to the total cost of all bills in the past (it gets this figure from the MEMO file for that customer). Then the macro takes this new sum and replaces the old "Total cost of Maintenance" in the MEMO file with the new figure. The macro then saves the MEMO file, returns to ApptBook and clears the time from the appointment, saves the appointment, then backs up the file to the flash card. Finally, the macro closes the appointment and moves down to the next appointment for the day. When I open the ApptBook again, it is already highlighted on the next appointment.

    (cont'd) 🧵 (8/?)

    #hp200lx #retrocomputing

  10. An auto mechanic uses the HP 200LX in the 1990s

    palmtoppaper.com/ptphtml/36/pt

    Whenever I finish working on a customer's car, I use Calc to total the customer's bill. Then I run a macro that I've created which automatically does a number of things: First, it adds the amount of today's bill to the total cost of all bills in the past (it gets this figure from the MEMO file for that customer). Then the macro takes this new sum and replaces the old "Total cost of Maintenance" in the MEMO file with the new figure. The macro then saves the MEMO file, returns to ApptBook and clears the time from the appointment, saves the appointment, then backs up the file to the flash card. Finally, the macro closes the appointment and moves down to the next appointment for the day. When I open the ApptBook again, it is already highlighted on the next appointment.

    (cont'd) 🧵 (8/?)

    #hp200lx #retrocomputing

  11. An engineer uses the HP 200LX in the 1990s

    palmtoppaper.com/ptphtml/29/pt

    In my work I write many letters and memos, create technical drawings and provide estimates on projects. I send and receive many faxes and cc:Mail and compose most of them right on my Palmtop in WordPerfect 5.1. To organize my correspondence I've created an archive database with the built-in Database program shown below. […]

    (cont'd) 🧵 (7/?)

    #hp200lx #retrocomputing

  12. An engineer uses the HP 200LX in the 1990s

    palmtoppaper.com/ptphtml/29/pt

    In my work I write many letters and memos, create technical drawings and provide estimates on projects. I send and receive many faxes and cc:Mail and compose most of them right on my Palmtop in WordPerfect 5.1. To organize my correspondence I've created an archive database with the built-in Database program shown below. […]

    (cont'd) 🧵 (7/?)

    #hp200lx #retrocomputing

  13. A real estate professional uses the HP 200LX in the 1990s

    palmtoppaper.com/ptphtml/25/pt

    [My] macros work in conjunction with Memo and Appt. to facilitate my follow up and advertising. Each macro enters a To Do item for sending something to a prospect; a follow up letter, a draft lease, a letter of intent, or a brochure, respectively. They also make an entry in a Memo file called LIST.DOC. Each entry shows name, address, property interested in, and type of business. The LIST.DOC file is printed at the end of the day and handed to my secretary. Finally, each macro skips a week from the current day and enters a follow up To Do to remind me keep in touch with the prospect. LIST.DOC is then merged into SENT.DOC so that it is empty for the next day and SENT.DOC archives every mailing I've done for the month.

    (cont'd) 🧵 (6/?)

    #HP200LX #retrocomputing

  14. A real estate professional uses the HP 200LX in the 1990s

    palmtoppaper.com/ptphtml/25/pt

    [My] macros work in conjunction with Memo and Appt. to facilitate my follow up and advertising. Each macro enters a To Do item for sending something to a prospect; a follow up letter, a draft lease, a letter of intent, or a brochure, respectively. They also make an entry in a Memo file called LIST.DOC. Each entry shows name, address, property interested in, and type of business. The LIST.DOC file is printed at the end of the day and handed to my secretary. Finally, each macro skips a week from the current day and enters a follow up To Do to remind me keep in touch with the prospect. LIST.DOC is then merged into SENT.DOC so that it is empty for the next day and SENT.DOC archives every mailing I've done for the month.

    (cont'd) 🧵 (6/?)

    #HP200LX #retrocomputing

  15. Object lessons

    In the 1990s, there was a newsletter called “The Palmtop Paper” which was later condensed into a book called “PC in Your Pocket”. One of its recurring themes was success stories of how everyday people used the HP 200LX palmtop computer to organize their work. Realtors used it to track ongoing negotiations, salespeople to digitize their “tickler” files, and doctors to calculate dosages. These were not programmers! Nor, in most cases, were they using specialized software, or were they supported by an IT department! Somehow, all of the use-cases above were handled by a half-dozen applications in ROM.

    • A file browser
    • A text editor
    • A spreadsheet
    • A flat-file #database with several pre-configured views (calendar, to-do, phone-book, notes) and the ability to create custom views
    • A calculator with numeric solver

    And the following cross-application automation features

    • A keyboard macro recorder
    • A task scheduler that could run a specified program or macro at a given time

    Following are a few examples drawn from the Palmtop Paper archives. Bear in mind that these examples were not concocted by career programmers, but by professionals in unrelated fields.

    (cont'd) 🧵 (5/?)

    #HP200LX #retrocomputing

  16. Object lessons

    In the 1990s, there was a newsletter called “The Palmtop Paper” which was later condensed into a book called “PC in Your Pocket”. One of its recurring themes was success stories of how everyday people used the HP 200LX palmtop computer to organize their work. Realtors used it to track ongoing negotiations, salespeople to digitize their “tickler” files, and doctors to calculate dosages. These were not programmers! Nor, in most cases, were they using specialized software, or were they supported by an IT department! Somehow, all of the use-cases above were handled by a half-dozen applications in ROM.

    • A file browser
    • A text editor
    • A spreadsheet
    • A flat-file #database with several pre-configured views (calendar, to-do, phone-book, notes) and the ability to create custom views
    • A calculator with numeric solver

    And the following cross-application automation features

    • A keyboard macro recorder
    • A task scheduler that could run a specified program or macro at a given time

    Following are a few examples drawn from the Palmtop Paper archives. Bear in mind that these examples were not concocted by career programmers, but by professionals in unrelated fields.

    (cont'd) 🧵 (5/?)

    #HP200LX #retrocomputing

  17. Update: Now I've solved sixteen Project Euler problems in muLISP on the #hp200lx. Sometimes I'm not mathy enough to find a closed-form solution to certain puzzles involving millions of terms. For those I am limited by only having 640KB RAM and 8 MHz processor, and it's necessary to send the program to a desktop (or even my phone!) running SBCL. Even though muLISP is not a Common Lisp, the porting is straightforward. One particular program that would have taken a full 24 hours on the palmtop completed in 0.3 seconds on my desktop.

    As a #retrocomputing head I am attracted to the pre-Common Lisp dialects which were in use when Lisp actually experienced its heydey. CL was a good compromise, forward compatible with most of these dialects, but imo lacks the small size and conceptual unity that make a language easy to learn. I've found it easier to learn muLISP and gradually pick up CL features where appropriate when I'm on a modern PC. And I greatly appreciate CL for existing and being as stable as it is.

    As much as I admire the purity of Scheme, the fragmentation hurts it a lot. Every implementation has some flaw or another that drives me away.

    #lisp

  18. Update: Now I've solved sixteen Project Euler problems in muLISP on the #hp200lx. Sometimes I'm not mathy enough to find a closed-form solution to certain puzzles involving millions of terms. For those I am limited by only having 640KB RAM and 8 MHz processor, and it's necessary to send the program to a desktop (or even my phone!) running SBCL. Even though muLISP is not a Common Lisp, the porting is straightforward. One particular program that would have taken a full 24 hours on the palmtop completed in 0.3 seconds on my desktop.

    As a #retrocomputing head I am attracted to the pre-Common Lisp dialects which were in use when Lisp actually experienced its heydey. CL was a good compromise, forward compatible with most of these dialects, but imo lacks the small size and conceptual unity that make a language easy to learn. I've found it easier to learn muLISP and gradually pick up CL features where appropriate when I'm on a modern PC. And I greatly appreciate CL for existing and being as stable as it is.

    As much as I admire the purity of Scheme, the fragmentation hurts it a lot. Every implementation has some flaw or another that drives me away.

    #lisp

  19. I've solved ten of the Project Euler problems in muLISP on the #hp200lx. Here's a shot of its emacs-like editor and side-by-side repl experience. Pressing esc L E sends the next (not previous) sexp to the REPL, evaluates it, and displays the result. Great workflow, the best I've experienced on DOS.

    #retrocomputing #lisp

  20. I've solved ten of the Project Euler problems in muLISP on the #hp200lx. Here's a shot of its emacs-like editor and side-by-side repl experience. Pressing esc L E sends the next (not previous) sexp to the REPL, evaluates it, and displays the result. Great workflow, the best I've experienced on DOS.

    #retrocomputing #lisp

  21. @AlgoCompSynth That would be muLisp, as I ran across quite by accident the other day. Sure enough, it's amazing on the #200LX! I've been working on Project Euler: it's quite addictive.

    github.com/MartinHepperle/muLI

    #hp200lx #lisp

  22. @AlgoCompSynth That would be muLisp, as I ran across quite by accident the other day. Sure enough, it's amazing on the #200LX! I've been working on Project Euler: it's quite addictive.

    github.com/MartinHepperle/muLI

    #hp200lx #lisp

  23. oh my god I finally have arbitrary precision math AAAAAAAAAAA IT'S TAKEN OVER 2 YEARS to get time and motivation for this

    here, have 30 factorial using uint128, in #forth on #hp200lx

    so now I can FINALLY do the #AdventOfCode puzzles that need >=64 bit math, without falling back to something like Lua.

  24. oh my god I finally have arbitrary precision math AAAAAAAAAAA IT'S TAKEN OVER 2 YEARS to get time and motivation for this

    here, have 30 factorial using uint128, in #forth on #hp200lx

    so now I can FINALLY do the #AdventOfCode puzzles that need >=64 bit math, without falling back to something like Lua.

  25. As for why I have been hacking on #DesmetC... look how well it fits on my #HP200LX! 300KB for a compiler is pretty sick (and will be even cooler if I can keep it near this small while supporting full C89); compile times are quite fast (for hello world, at least): overall it is a very pleasant tool to use on these small machines.

    #retrocomputing

  26. As for why I have been hacking on #DesmetC... look how well it fits on my #HP200LX! 300KB for a compiler is pretty sick (and will be even cooler if I can keep it near this small while supporting full C89); compile times are quite fast (for hello world, at least): overall it is a very pleasant tool to use on these small machines.

    #retrocomputing

  27. #adventOfCode day 1 in #LuaLang

    gitlab.cs.washington.edu/fidel

    • PC: 1 ms
    • Raspberry Pi 2: 70 ms
    • #hp200lx: Error after 2 minutes. I wonder if the garbage collector settings need to be tuned to avoid memory exhaustion.
  28. #adventOfCode day 1 in #LuaLang

    gitlab.cs.washington.edu/fidel

    • PC: 1 ms
    • Raspberry Pi 2: 70 ms
    • #hp200lx: Error after 2 minutes. I wonder if the garbage collector settings need to be tuned to avoid memory exhaustion.
  29. My #adventOfCode solutions this year will be in #LuaLang and will be ranked by the smallest machine they run on:

  30. My #adventOfCode solutions this year will be in #LuaLang and will be ranked by the smallest machine they run on:

  31. Putting Lua through its paces. Here's Advent of Code 2024, Day 13, running on all my favorite hardware that I had on hand, through the power of Lua.

    Ryzen 5 9600X modern desktop - 1 ms.

    HP 200LX, 8 MHz 186, 640 KB RAM available to Lua: 62 seconds.

    TI-92+, 12 MHz 68000, 64 KB RAM available to Lua: 65 seconds.

    "Write once, run anywhere".

    #retrocomputing #lualang #ticalc #ti92 #hp200lx

  32. Putting Lua through its paces. Here's Advent of Code 2024, Day 13, running on all my favorite hardware that I had on hand, through the power of Lua.

    Ryzen 5 9600X modern desktop - 1 ms.

    HP 200LX, 8 MHz 186, 640 KB RAM available to Lua: 62 seconds.

    TI-92+, 12 MHz 68000, 64 KB RAM available to Lua: 65 seconds.

    "Write once, run anywhere".

    #retrocomputing #lualang #ticalc #ti92 #hp200lx

  33. Here are the three #BarrenPlanet campaigns running on a Hewlett Packard #hp100lx. You can download the game from cyningstan.itch.io/barren-plan, where you will find links to the two DLC campaigns. #hp200lx #msdos #cga

  34. Here are the three #BarrenPlanet campaigns running on a Hewlett Packard #hp100lx. You can download the game from cyningstan.itch.io/barren-plan, where you will find links to the two DLC campaigns. #hp200lx #msdos #cga

  35. Of course, right after posting this it came time to change my #HP200LX's AA's and the coincell was flat, so I lost all the files that weren't on the flash card.

    So.... Flash does have its uses.

  36. Of course, right after posting this it came time to change my #HP200LX's AA's and the coincell was flat, so I lost all the files that weren't on the flash card.

    So.... Flash does have its uses.

  37. This #TinyBasic port also runs successfully on the #HP200LX palmtop. It wound up as a 2,799 byte .COM file. Added the ability to LOAD and SAVE the program source, and BYE to quit the interpreter.

    Source and a prebuilt COM file here, if you would like to try on your own hardware.
    gitlab.cs.washington.edu/fidel
    Careful, it may still have bugs!

  38. This #TinyBasic port also runs successfully on the #HP200LX palmtop. It wound up as a 2,799 byte .COM file. Added the ability to LOAD and SAVE the program source, and BYE to quit the interpreter.

    Source and a prebuilt COM file here, if you would like to try on your own hardware.
    gitlab.cs.washington.edu/fidel
    Careful, it may still have bugs!

  39. More portable #retrocomputing philosophizing: Whether a machine has "Instant-On" makes a huge difference in the tasks it's useful for. By this, I mean whether the machine returns to the same program and screen where you left it, when powered back on from inactivity.

    Without "Instant-On", the machine demands to be used for long sessions, (else the boot time is too inconvenient) and demands your constant attention (else the power draw of leaving it sitting around powered on is wasted). Using the machine involves clearing your schedule and devoting yourself to it, like reading a book.

    Examples of machines without "Instant-On": DOS-era laptops, #Book8088, #GameBoy, #MailStation.

    With "Instant-On", the machine is useful for PDA-style quick jottings, grocery lists, etc. It is also useful for fun activities even in circumstances where you are likely to be interrupted.

    Examples of machines with "Instant-On": #HP200LX, #HpOmniBook, #PalmPilot, #PocketPC, #TI92 (and other TI calculators), and, of course, smartphones.

    While machines in the first category may offer a more immersive experience, they are far less useful to me than machines in the second category. It's like the difference between a luggable and a true mobile computer.

  40. More portable #retrocomputing philosophizing: Whether a machine has "Instant-On" makes a huge difference in the tasks it's useful for. By this, I mean whether the machine returns to the same program and screen where you left it, when powered back on from inactivity.

    Without "Instant-On", the machine demands to be used for long sessions, (else the boot time is too inconvenient) and demands your constant attention (else the power draw of leaving it sitting around powered on is wasted). Using the machine involves clearing your schedule and devoting yourself to it, like reading a book.

    Examples of machines without "Instant-On": DOS-era laptops, #Book8088, #GameBoy, #MailStation.

    With "Instant-On", the machine is useful for PDA-style quick jottings, grocery lists, etc. It is also useful for fun activities even in circumstances where you are likely to be interrupted.

    Examples of machines with "Instant-On": #HP200LX, #HpOmniBook, #PalmPilot, #PocketPC, #TI92 (and other TI calculators), and, of course, smartphones.

    While machines in the first category may offer a more immersive experience, they are far less useful to me than machines in the second category. It's like the difference between a luggable and a true mobile computer.

  41. Incongruously for a #z80 powered device, the #MailStation is heavily GUI based. There isn't a putc function, or even a fixed-width font, in the firmware. Instead, a windowing toolkit and a selection of widgets are provided, and loadable apps are expected to be event-driven. Each app supplies a main event handler function responding to incoming signals such as init, draw, and keydown. Apps don't take over the whole system as typical on single tasking retrocomputers. While the Mailstation doesn't do true multitasking, (or even #HP200LX-like switching between paused apps!), the event-driven software architecture is helpful for battery life, as the CPU can spend most of its time halted waiting for interrupts.

  42. Incongruously for a #z80 powered device, the #MailStation is heavily GUI based. There isn't a putc function, or even a fixed-width font, in the firmware. Instead, a windowing toolkit and a selection of widgets are provided, and loadable apps are expected to be event-driven. Each app supplies a main event handler function responding to incoming signals such as init, draw, and keydown. Apps don't take over the whole system as typical on single tasking retrocomputers. While the Mailstation doesn't do true multitasking, (or even #HP200LX-like switching between paused apps!), the event-driven software architecture is helpful for battery life, as the CPU can spend most of its time halted waiting for interrupts.

  43. Now I'm wondering if there's some AA powered mobile device with a portrait-mode keyboard and, preferably, RS232 serial-based syncing/file transfer.

    (In landscape form factor, this would, of course, be a #HP200LX.)

  44. Now I'm wondering if there's some AA powered mobile device with a portrait-mode keyboard and, preferably, RS232 serial-based syncing/file transfer.

    (In landscape form factor, this would, of course, be a #HP200LX.)

  45. This little machine comes into its own during the summer months, when natural light is at its brightest. I'm using it a lot to playtest The #ChambersBeneath. #hp100lx #hp200lx #cga

  46. This little machine comes into its own during the summer months, when natural light is at its brightest. I'm using it a lot to playtest The #ChambersBeneath. #hp100lx #hp200lx #cga

  47. I need to get better at photographing this thing, since there's a new Team Droid level pack out, and another new game on the way. #teamdroid #hp100lx #hp200lx #msdos #cga

  48. I need to get better at photographing this thing, since there's a new Team Droid level pack out, and another new game on the way. #teamdroid #hp100lx #hp200lx #msdos #cga

  49. HP Connectivity Pack is now installed on my phone, allowing me to view and convert files from the #hp200lx's native PIM apps. Phone and HP #200LX are now a self-sufficient pair, with no PC required to transfer, view or edit files. (And yes, I also have Lotus 1-2-3 on my phone. Who doesn't?) No lock-in, no bullshit, just data files in well-understood formats readable anywhere. Can it still be called #retrocomputing if it's still so useful in the modern age?

  50. HP Connectivity Pack is now installed on my phone, allowing me to view and convert files from the #hp200lx's native PIM apps. Phone and HP #200LX are now a self-sufficient pair, with no PC required to transfer, view or edit files. (And yes, I also have Lotus 1-2-3 on my phone. Who doesn't?) No lock-in, no bullshit, just data files in well-understood formats readable anywhere. Can it still be called #retrocomputing if it's still so useful in the modern age?

  51. My uuencode/uudecode #forth program is fully working now on #hp200lx, in both directions. I tested it the goofiest way ever:

    • uu.com uu.com (produces uu.txt)
    • (transfer uu.txt to another host that already has a standard uudecode installed)
    • uudecode uu.txt (produces uu.com)
    • uu.com uu.txt (produces another uu.com that compares identical to the first :D)

    So now I don't need zmodem to get files off this thing.

  52. My uuencode/uudecode #forth program is fully working now on #hp200lx, in both directions. I tested it the goofiest way ever:

    • uu.com uu.com (produces uu.txt)
    • (transfer uu.txt to another host that already has a standard uudecode installed)
    • uudecode uu.txt (produces uu.com)
    • uu.com uu.txt (produces another uu.com that compares identical to the first :D)

    So now I don't need zmodem to get files off this thing.

  53. One of the worst things about #handheld #retrocomputing is age-related embrittlement of plastics. Recently noticed a new hairline crack on the #HP200LX. If it grows I will superglue it, even though that scars the finish. The other superglued places have held for years so far.

  54. One of the worst things about #handheld #retrocomputing is age-related embrittlement of plastics. Recently noticed a new hairline crack on the #HP200LX. If it grows I will superglue it, even though that scars the finish. The other superglued places have held for years so far.

  55. It's alive! We have uuencode! Decode is next. #hp200lx #forth