Yes I’ve learned how much clickbait titles work since I spend a lot of time watching youtube videos.
And I also gave a talk in 1990 in England titled The Future of Common Lisp, in which I was criticized for my click bait title before there was click bait. Because my talk was about a multiprocessor Common Lisp I created in which a key feature was using the Future object which I stole from Halstead’s Scheme.
My company Top Level, Inc commercialized and ported to different multiprocessors a multiprocessor Common Lisp I originally implemented at UMass. Futures were values that would appears once their computation was completed. If you tried to use them before they were done, you would wait for them.
So all synchronization was implicit. This was possible because Lisp is a dynamically typed language. When you add two things, it checks what kind of things you are adding. If one of those things was a future, check if its value is currently available or not. It seems this idea was not that useful in practice.
Paul Graham gave a cute quote “The difference between theory and practice is bigger in practice than in theory” which I quote here because I stopped using Lisp for about 20 years now, when it was a huge part of my life. After I left Franz Inc in 2001 to start a business building online store websites using a Lisp based system with its own object database and dialect of Lisp. It failed, perhaps because the internet boom crashed, but that was the end of Lisp. I went on to design wireless internet equipment, which was all Linux based and C code. Forward to today, I use arduino and build little hardware things, this time I am building a new version of my lap timing system and race management for r/c car racing. And the last few days I worked on a big outdoor display of digits that sits near the finish line and can show you laptimes as you pass, as well as other race functions.
The old system used “big” 7-segment numbers, but this time the idea was using a “big” tv/monitor screen, since an old 50in lcd TV is essentially free today. You can drive these via HDMI using a $10 raspberry pi.
But I didn’t need 50in for this and I had a few 22in monitors and they use vga inputs. So i found BitLuni’s arduino library that could drive a vga with a esp32 directly, and I mean directly…attaching vga pins right to the esp32 and that’s it. Awesome. However, I discovered it really only worked at 320x240 even though it had 640x480 and even 800x600 because it ran out of memory. Well I really only need 4 colors (i.e. 2 bits), or even 1 color if I had to, and not 8 bits. So being its open source, I figured I’d modify it to do this.
This leads me here (though I don’t remember how exactly), because the code for BitLuni’s library is all in C++, and I was reminded why I hate C++ and the days when I wrote articles on how bad it was vs CommonLisp.
Ok, too long already, and I must post this before something crashes and I lose it all…