Posts

Why Logo is Not Useful for Real Work and What Can Be Done About It

As I've been playing around with Logo lately I've asked myself the question, "Could we use this for REAL programs?" IE outside the educational toy-language context? Can Logo be used for grown-up stuff? The answer, sadly, is a resounding NO, not in it's current state. But with a bit of work it would not actually be that hard to make Logo a useful scripting language, or even a systems language, like it's Lisp fore-bearer. The major issue is that reading untrusted data directly into Logo words is grossly insecure. No sane sysadmin would deploy such a monstrosity in production. Parts of the solution exist in various Logos, but none of them have brought it all together. Many older Logos were capable of reading binary data into arrays but lacked higher level APIs for processing strings and may remain vulnerable to malformed or malicious data. None of the CLI Logos support command line arguments or environment variables. FFI's are rare, especially in newer Logos....

Wesley Willis Lyrics Generator in UCBLogo 6.2 (NSFW)

Image
 ROCK AND ROLL MCDONALD'S Wesley Willis Lyric Generator in UCBLOGO 6.2 also compatible with  https://www.calormen.com/jslogo/ TO SHORTLINE OP (LIST PICK :VERBS PICK :PREPS WORD PICK :ANIMALS "'S PICK :BODYPART) END TO LONGLINE OP (SENTENCE BUTLAST SHORTLINE PICK :ADJS PICK :BODYPART) END TO SONG LOCAL "REFRAIN MAKE "REFRAIN SHORTLINE PR [] REPEAT 2 [         REPEAT 4 [PR PICK (LIST LONGLINE SHORTLINE)]         PR []          REPEAT 4 [PR :REFRAIN]         PR [] ]  PR [ROCK OVER LONDON, ROCK ON CHICAGO] PR PICK :SLOGANS PR [] END Make "adjs [SMELLY DIRTY STINKY DISGUSTING FILTHY] Make "animals [LLAMA DOG CHEETAH DOBERMAN HONEY-BADGER CARABOU] Make "bodypart [ASS DICK ANUS BUTTHOLE NUTSACK] Make "preps [THE A MY] Make "slogans [[WHEATIES, THE BREAKFAST OF CHAMPIONS] [PONTIAC, WE ARE DRIVING EXCITEMENT] [MAXWELL HOUSE, GOOD TO THE LAST DROP!]] Make "verbs [SUCK EAT LICK WHIP] ? song SUCK A C...

Emulated CGA+MDA Dual-Displays in DOS with IBM LOGO and MartyPC

Image
So I was going to write about IBM LOGO for the PC-XT, but then I fell down a rabbit hole. Dual. Screens. In. Dos. I had heard of such things as a youngling but I had never witnessed them. Now as a nostalgic greybeard I was intrigued when I stumbled upon the .SETSCREEN command in the IBM LOGO for DOS manual that I was reading for my post about IBM LOGO. TWO SCREENS! IN DOS! IN LOGO! IN DOS! WHAT MAGIC IS THIS? Multiple monitors in DOS was never very common. Of course it required two video cards, and one of them had to be an MDA card (or hercules, maybe?). MDA stands for "Monochrome Display Adapter" but more specifically it was a text-mode only adapter; no graphics modes. That's basically the magic that makes it work. The MDA card is so old and weird that it can exist alongside newer CGA or EGA (or even VGA?) cards without hardware or driver conflicts. Okay so first I needed to get a PC with an MDA card and a CGA card or something. Those aren't easy to find. So I tried ...

How to install FreeDOS 1.4rc1 on iOS using UTM SE & QEMU with a shared folder drive

Image
TL;DR Use “legacy hardware”, “pcnet” ethernet, and add this to QEMU options to enable a shared drive: -device  ide-hd,bus=ide.1,unit=0,drive=sharedDrive -drive  if=none,media=disk,driver=vvfat,id=sharedDrive,file=fat:rw:/path/to/shared Fix /path/to/shared, obviously. Getting Started First download and install UTM SE from the app store. Create VM Open UTM SE and tap New VM Set the live cd ISO image as the boot image 8gb is a pretty reasonable size. It’s a sparse file so it will really only be about 1gb for a full install. Legacy HW sets SYSTEM to this, leave it. Set ram to whatever but 32mb is basically infinity for DOS. 1MB would be enough for our needs. We’ll set up sharing later It should look like this: Fix Networking PCNET is the first one i found that worked Install FreeDOS I suggest doing a full install. That requires two CDs, the live and the bonus. Use “fdimples” to install the bonus and any other packages after doing the “full” or base install. When you boot FreeDos a...

Welcome to my LOGO blog

Welcome to my logo programming blog. In this blog, I'll be exploring the past present and future of the logo programming language. I'm gonna assume you already know what logo is. Otherwise how do you even find this? If not, go here for an introduction. Why am I interested in logo? Logo was the first computer programming language that I ever used, back in 1986, when I was seven years old, and I was immediately hooked on programming. After logo, I taught myself basic. In hindsight, I ought to have just stuck with logo. Line numbers are for the birds. But like many new programmers, I associated logo heavily with turtle graphics, not realizing the full scope and power of logo of the programming language. It also didn't help that I was developing logo mostly on Apple ]['s with their arcane DOS, which didn't exactly encourage interoperability with the wider world. 40 years later and I'm still pounding the keys. I've forgotten more about programming computers t...