* <> "The Complete Computing Environment" Someone posted a [[https://pump.ghic.org/diane/note/OPnRl0BXSK6YCno2_aSKiQ][note]] about an all-Emacs-all-the-time environment, which led me to [[http://doc.rix.si/cce/cce.html][The Complete Computing Environment]], which looks like one man's attempt to add enough features to Emacs that he'll almost never have to use any "application software" again – something I think a lot of us wish we could do. Reading that page brought to mind my own search for the best, most useful and general computing/writing environment, and my fascination with the Canon Cat and Raskin's LEAP/Swift ideas which ultimately led me to Emacs and Org-mode. Over the years, I've kept coming back to language-based environments like Smalltalk, Self, Symbolics Genera, and even Emacs, as the most elegant solution to the computing problem. What, you may ask, is "the computing problem"? This: How do you maximize the user's ability to utilize the computer's capability? There are a few fundamental things: the user needs to be able to program, and the user needs to be able to read and modify existing programs. Beyond that, you can go a million different ways, though. A major component of the computing problem is system comprehensibility. In order for a person to fully utilize a system, they have to understand it. One thing that aids system comprehensibility is to do the whole system in one language. Smalltalk, Genera, Emacs all take this approach. However, there's certainly a case to be made for the value of being able to use different languages in different domains. UNIX, when done properly, handles heterogeneity well; all sorts of programs, some compiled, some interpreted, all in different languages, can be strung together in user programs to perform powerful and complex tasks. But, on the system comprehensibility side, your average UNIX-like system is a complete disaster these days. As an aside: I've often mused over how you could sort-of fake an object-oriented system by using directories as objects, executables as methods, and files as properties. You could create classes by building an example directory structure with all the method and property files, then instantiate new objects by copying that directory structure to a new location. You'd want to symlink the methods back to the "class" files, so that changes in the methods would propagate out to all of the objects in the system. Anyway, back to Emacs. Now, I'm an Emacs user. I'm an Emacs fan, really. I write in it, I code in it, I do email and news in it, I do a little bit of file management in it – Emacs is great. But, I'm a visual artist, and graphics are major part of my day-to-day life. If I were going to go whole-hog into building an operating environment out of one piece of software, with one language, I think I'd try a web browser and do everything in Javascript. Speaking of Javascript, I've been hacking on the PROTODOCUPLEXTRON a little bit over the past couple of days (last time I looked at it was [[E1E.1950]]). January/February seem to be the months that I always come back to working on hypertext projects. Tonight I've been thinking about how I could use it as a testbed for making a Xanalogical text editor. I don't have a working Alph server right now, but I'm just thinking about using an element inside of the HTML file to hold all of the plain-text, and then work-out the tricky parts of dynamically filling elements with transcluded text, splitting elements to insert new text and committing that new text to the heap of source text, getting transclusion source addresses of selections, visualizing transclusions, and so-on. I have illustration work I need to be doing this month, but this is the kind of stuff that's firing my imagination right now. -- Excerpted from: PUBLIC NOTES (G) http://alph.laemeur.com/txt/PUBNOTES-G ©2016 Adam C. Moore (LÆMEUR)