From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <1529530542.3279707.1414877304.5B04A2FD@webmail.messagingengine.com> From: "Ethan A. Gardener" To: 9fans@9fans.net MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Date: Wed, 20 Jun 2018 22:35:42 +0100 In-Reply-To: References: Subject: Re: [9fans] What are you using Plan 9 for? Topicbox-Message-UUID: d7fa427c-ead9-11e9-9d60-3106f5b1d025 On Mon, Jun 11, 2018, at 7:14 AM, =E5=88=98=E5=AE=87=E5=AE=9D wrote: > this makes me wondering=20 > whether anybody still seriously uses(or used?) Plan 9 for serious work,=20 > what software they frequently use, what software is most lack of. For many years I used it and especially Acme to try to organise my life, in= cluding every area of interest I had. Plan 9 and Acme played their parts qu= ite well. I even had multiple Acme sessions running, each with its own plum= ber. Some windows held sub-instances of Rio, again with their own plumber i= nstances, for projects requiring graphics or PDFs.=20 Another use I had for it was playing MUDs, MUSHes, MU* -- telnet-based mult= i-player games. I particularly liked Rio's "noscroll" feature in this case,= as I could catch up with all the messages at my own pace. In fact, I very = much like noscroll in general. On the other hand, the lack of color meant I= could miss things sometimes, such as a clue in a room description or a pri= vate message while travelling -- noscroll isn't really feasible when you're= following someone rapidly through a dozen rooms, each with their own descr= iption. I never got around to filtering different kinds of messages into di= fferent windows. I should have. Overall, I asked Plan 9 to do quite a lot of things it wasn't really design= ed for, without writing a bit of C code, and for the most part it proved re= markably convenient. Frustration eventually built up over some things, part= icularly all the string manipulation -- converting data between the differe= nt programs' needs -- when, even after all these years of practice, I am _s= till_ bad at regular expressions! I developed ideas about another operating= system with structured pipes, but around this time I learned to relax. I d= ropped most of my projects, stopped trying to play so many games so hard, a= nd no longer needed Plan 9 to help me organize it all. Ironically perhaps, relaxing has freed my creativity so that I'm now progra= mming more than at any time since before I started using Plan 9 full time. = Most of it is going into game scripting at the moment, but on the back burn= er is a Forth-based project; a sort of operating system where the primary i= nterface to all tasks is a Forth interpreter. So far, I've written the basi= cs of a text editor. It's *very* little code! Plan 9 is a very expressive s= ystem for how little code it has, but this seems to be a major step beyond = that. It's a bit too early to really tell.=20 It offers the full power of a systems programming language at the editor pr= ompt. If that sounds like a problem, it's not yet. If it ever becomes a pro= blem for common tasks, I can write safer, higher-level, and probably more c= onvenient words (=3Dfunctions, =3Dcommands,) to handle those tasks. That's = arguably how the text editor's basics already work. For instance, change-do= tlen performs safety checks before calling the (dangerous, powerful,) move = word to adjust the contents of the buffer for inserted or deleted text. rdo= t ("replace dot") is a user command which calls change-dotlen to do most of= the work, then calls move again to copy the string into the buffer. change= -dotlen is well tested, rdot is so simple there are obviously no faults. :)= (That's not something I really believe in, I tested it too.) None of the o= ther user commands call move, they adjust dot and then call rdot. Adjusting= dot means a call to dot! (dot-store), which also has safety checks. When all the necessary tools are written, there's just no need to use the u= nsafe features, but neither is there a need to partition those features off= into compiled program space. There's no need to learn five different langu= ages for one task, and if you want to point out that a Forth system may wel= l include lots of mini-languages, there's no need for the mini-languages to= have -- or LACK -- their own loops, conditionals, variables, or function d= efinitions, not to mention jammed-into-a-string terse syntaxes. I'd better stop here because I'm getting enthusiastic. :) It is early days = yet, I may have to retract some of my beliefs in the future. I still have a= Plan 9 system which is almost always on, but now I no longer have a desk o= f the right proportions to make mouse use comfortable, and can no longer be= nd over a laptop for hours on end, (a Thinkpad with 3 buttons,) text editin= g in Plan 9 has become unpleasant. I could patch Samterm and Rio to make it= more comfortable, but it's not worth it.=20 --=20 The lyf so short, the craft so long to lerne. -- Chaucer