Re: [9fans] What are you using Plan 9 for?

2018-06-25 Thread 刘宇宝


> On Jun 25, 2018, at 5:33 PM, Ethan A. Gardener  wrote:
> 
> 
> I picked up an idea from microapl.com, workspaces.  Saving system
> state is one of my goals for my OS, and the concept of workspaces
> pertaining to separate tasks keeps popping up when I get ideas.  For
> those who don't know, it's this:
> 

Lisp and Smalltalk both have similar thing,  dump whole image (or "world") to 
disk and load to memory next time.

The GUI of Lisp Machine and Squeak looks elegant, of course Rio is very elegant 
too :-)

* https://static.loomcom.com/genera/genera-install.html
* https://squeak.org/

Regards,
Yubao Liu



Re: [9fans] What are you using Plan 9 for?

2018-06-25 Thread 刘宇宝
// seems this email was lost according to http://marc.info/?l=9fans, send 
again, sorry if duplicated.

On Jun 24, 2018, at 5:12 PM, 刘宇宝  wrote:

Very like your comment, thanks! On macOS I mainly use iTerm2 + VIM + SSH + 
Firefox, if Plan 9 had a decent native web browser I may use 9front for serious 
daily work. I don't care much native app stack because I mainly do 
Python/Java/Node on remote Linux server.

I hate trackpad, it hurts my wrists, I just got a cheap vertical mouse, may buy 
Evoluent mouse later. Meanwhile, I was wondering whether trackball will heal my 
wrists more.

Recently I read Rob Pike's "Systems Software Research is Irrelevant", I felt 
pity, and I was wondering what the operating system would look like in the 
future,  here is my stupid optimistic predication:

• Server hardware will become extreme powerful,  TB DRAM, non-volatile 
memory, NVMe disk, 100Gb ethernet, the paradigm of separate cpu server, file 
server, (a little fat) terminals will come back to be mainstream,  network of 
piles of cheap PCs will go away.
• Linux,even BSD,became the underlying device driver and "BIOS", this 
is almost the current situation, Linux KVM, Xen + Linux dom0 hide details of 
hardware. This layer takes care maximum hardware support and raw performance.
• *Distributed* operating systems above KVM/Xen will step into a period 
of great development, hardware support and maximum raw performance are not top 
priorities, *OS native* fault tolerance, simple and clear distributed process 
scheduling, easy and consistent IPC/RPC API will win, Google Kubernetes will 
die. Many ideas of Plan 9 will revive, just like memory garbage collecting 
revived after about 30 years.

Regards,
Yubao Liu

> 
> From: 9fans-boun...@9fans.net <9fans-boun...@9fans.net> on behalf of Rui 
> Carmo 
> Sent: Thursday, June 21, 2018 5:06 PM
> To: Fans of the OS Plan 9 from Bell Labs
> Subject: Re: [9fans] What are you using Plan 9 for?
>  
> I’m late to the thread, but this seems like a good point to step in.
> 
> I’m using plan9 on a quad-core Raspberry Pi as a sort of universal terminal 
> to manage some of my home machines, and recently deleted the 9front VM I had 
> on my home KVM server because even though the programming model and Go 
> support were nice, most of my day-to-day work is on cloud solutions and there 
> was no easy way to make those co-exist with Plan9 usage.
> 
> There were a few discussions in this thread around dev stacks, browsers, 
> etc., and my $0.02 on that is that I could probably work in Plan9 on a daily 
> basis _if_ it had a usable (i.e., all the warts including JavaScript and 
> fonts) web browser, but that the lack of alignment (intended or otherwise) 
> with Linux tools and app stacks (SSH, Node, Python, Java) would make it very 
> painful.
> 
> Running a remote browser (which is what I do often in that Pi) sort of works, 
> but you never get the full benefits you’d get with a native process. And lack 
> of access to modern app stacks renders the platform unattractive for 
> mainstream development work.
> 
> But what killed it for me was the need for chording (mouse or keys). Using a 
> modern trackpad on a MacBook or Surface device is a quantum leap beyond using 
> a mouse for general use, and the lack of a modernised Rio with enough 
> thoughtful design to overcome the differences in philosophy is the first 
> barrier to continued usage.
> 
> Acme is something I miss on occasion, but modern GUI editors compensate in 
> other ways (at the expense of resource usage, etc., but with a massive boost 
> in productivity for me). Also, I’m typing this on an iMac 5K with nearly 
> unmatched font rendering and legibility (the only thing that comes close is 
> the Surface Pro alongside it). Visuals matter a great deal.
> 
> There is an unmatchable degree of purity in Plan9, but (even though the 
> diehards will stick their ground and claim it’s perfect to the exclusion of 
> other modern comforts) to coexist successfully it has to provide more 
> affordances.
> 
> Kind Regards,
> 
> R.
> 
> > On 14 Jun 2018, at 04:53, 刘宇宝  wrote:
> > 
> > Compared to "not for you", "don't care",  "intend to not be successful", I 
> > like more the topic of cat-v irc channel on freenode set by aiju:  "fun 
> > fact: you can use multiple operating systems at the same time".
> > 
> > Certainly Plan 9 can't replace Linux/macOS/BSD/Windows, I'm still curious 
> > its upper bound for a sensible daily usage,  and the best practice from you 
> > happy experienced Plan 9 users.
> > 
> > I checked mail headers in this mailing list, seems all use Apple Mail, 
> > iPhone Mail, WebMail with AJAX, Gmail(a lot), ProtonMail,  these emails 
> > went through Postfix and Exim servers, probably on Linux.
> > 
> > In great harmony, we use kinds of operating system and kinds of software on 
> > them.
> > 
> > Regards,
> > Yubao Liu
> > 
> >> On Jun 14, 2018, at 10:53 AM, N. S. Montanaro  wrote:
> >> 
> >> I think a lot 

Re: [9fans] What are you using Plan 9 for?

2018-06-25 Thread Ethan A. Gardener
On Thu, Jun 21, 2018, at 7:03 PM, Bakul Shah wrote:
> On Jun 21, 2018, at 8:23 AM, Ethan A. Gardener  wrote:
> > 
> > Thanks! I don't know APL at all, beyond the fact that its need for a 
> > graphical (or at least sophisticated) display held it back in the past. I 
> > should probably look into it now, I'm sure it would save me from making 
> > some mistakes in my design.
> 
> Languages j, k & q are ascii only. K is
> quite minimalist (compared to APL & j).
> I quite like Scheme, k and plan9 for
> their minimalist aesthetics.

I have briefly used q and pure, but I remember nothing practical about
them, only that pure is a verbose q.  I've looked into APL a little
now, got an introduction from a 1975 video which was interesting and a
little amusing, and had a look at aiju's k pages --
http://aiju.de/code/k/ . I think the idea of combining operators is
really cool, but I'm certain I'd get mixed up with both APL and k in
the same way I struggle with regexps.  Pure would be better, but I
haven't heard mention of it since that one time I tried it.  This
amuses me because its documentation stated in true Gnu style, "q is
unmaintained, new projects should use pure."

I picked up an idea from microapl.com, workspaces.  Saving system
state is one of my goals for my OS, and the concept of workspaces
pertaining to separate tasks keeps popping up when I get ideas.  For
those who don't know, it's this:

Quoting from http://www.microapl.com/apl/introduction_chapter1.html
> In addition, it has a very useful concept called the
> workspace.  This is basically a collection of the data
> items, functions, and classes which you set up in the course
> of doing a particular job.
> 
> The workspace is in computer memory while you work, making
> everything you want immediately accessible.  It can be saved
> (i.e.  copied on to a disc) in its entirety when you stop,
> and loaded back into memory next time you want to use it.

I'm finding other relevant ideas in that introduction, too.


> 
> Arthur Whitney, k’s designer, had told
> me he was making it run on bare metal.
> He was muttering about how Linux just
> gets in the way! Though I don’t know if
> he actually did that.

Bare metal dreams!  I have similar ambitions for my Forth OS, of
course.  :) This is where things like OpenFirmware are good, because
you get a bunch of drivers for free.  They may not offer the highest
performance, but when developing an OS on your own, I'm sure they'd
save a lot of time and frustration.  And you may get things which
might be last on your list to implement, like the webcam in an OLPC.

> 
> Another crazy bare metal tale: A few
> years before Eben Upton came up with
> Raspberry Pi, he had ported cpython to
> run on the videocore on a GPU only
> chip (bcm2707) using custom software
> hackery. Using python like BASIC is a great idea!

Wild!  :) It's better than, but reminds me of the time I compiled
Python to run alone on the Linux kernel.  I was lazy, I didn't want to
reimplement utilities like mount, and so I left it.  Now, I think I
should have pushed myself to implement those and a text editor too.
It would have boosted my skills over a decade ago.

> 
> Personally I’d prefer something like k, Scheme, python or lua (and not 
> forth) to boot into. I am admire forth but I’m
> not a fan of *programming* in stack languages!

Python and Tcl were on my list for my OS. I don't recall thinking of
lisps except elisp for some reason.  Anyway, I had high hopes for
Forth's sequential nature.  It is quite good, especially for the wide
range of tasks I want to apply it to; the syntax is so flexible!  As I
said, I have trouble with regexps, and printf isn't far behind.
Here's example usage for a sprintf-like system from Swift Forth:

<%  S" This is a test " %s  DPL @ %d  S"  finally" %s %cr %>

Literal strings, variable references, and escapes go in their logical
order.  There's no need for escapes to be just one character.  These
are features I want.  As I write this, I realize that this all could
be done in other languages with minor syntax variations.  I can
imagine it in Python as a tuple containing literal strings and the
names of members of a class.  In Lisp, a list with strings and
symbols.  (Do symbols work the same way in Scheme?) I'm thinking it
over, but I may stick with Forth for other reasons.  I haven't ruled
out implementing some of my project in another language to see how it
compares.

Other reasons I like Forth are its efficiency (relative to Python and
maybe Lisp), the fact that very low level work is natural, and
especially the great simplicity of Forth interpreters.  The stack can
be a bit of a pain, but not as much as I expected, and it's what
enables that flexible syntax.  It helps to break code up into very
small definitions, although it's not always obvious how to break it
up.  Also, in other languages I sometimes find myself fighting some
aspect of the language; the language itself gets in the way.  I can't
see that