Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
File indexing and searching for Plan 9 [pdf] (lsub.org)
49 points by vezzy-fnord on Sept 14, 2015 | hide | past | favorite | 11 comments


lsub has done so many interesting Plan 9 projects which are so little known (and used). I have tried to read most of nemo's papers, but I admit I haven't actually used much of his software. Nowadays it seems that his projects are all self-contained rather than being userspace software for traditional Plan 9. There is still a lot of exploration to be done in the best semantics for implementing 9p servers for various purposes.


I'm just glad that there are still people (prmiarily nemo/francisco ballesteros/9front team/cat-v) hacking away at Plan9/Inferno/[nix/octopus/planb]/etc. In a world where corporate OS research is all but dead, it's definitely nice to see.


Is corporate OS research really dead? We have L4, seL4, Xen, Mirage OS, Singularity nowadays.

It's more like the focus has shifted from traditional OS kernels into virtualization, distributed systems and verification.


Other than formal verification of your Ring 0 and Ring 1 kernel components, (L4 not withstanding- there seems like genuinely interesting innovation coming out of that project), it seems like the rest of those are re-implementations of concepts that have been around for decades. We've gone full circle back into virtualization that IBM System 360 -> z-Series and VAX/VMScluster had. The difference is now you have all this tech that used to cost millions of dollars, available for a few hundred thousand dollars, making it way more accessible to the "non-SAP/Oracle/IBM" demographic.

RE: seL4 borrows a lot of TrustedBSD (and to some extent Trusted Solaris). I don't know what the technical implementation details of Xen/XenServer are but once you add all the doo-dads, you've basically got VMware ESX with VMotion/HA/VSan in terms of functionality. I'll give VMware credit because VSan appliances are an easy-to-configure-and-deploy HA fairly-high-IOPS component of the VMware suite that's going to be a EMC SAN killer. The innovation there is how well it's integrated into the rest of the VMware virtual networking/vMotion/HA/disaster recovery suite, though, and not anything you could present at a conference.

I haven't looked at Mirage recently but I don't think they're doing anything really groundbreaking (i.e. academically; you won't see papers being presented on it)- a clever unikernel and useful tool but certainly not research. Read the old IBM Redbooks for z/OS and there's are numerous common components between the 1980s implementation of a System/390 running a hypervisor and and the Xen/ESX internals. I can only comment on IBM's stuff with confidence as a former IBMer, but VAX/VMS' clustering probably shares a lot of of what ESX is doing.

Other than IBM and MSR, a heavy funder of SPJ at Haskell and F# support as a primary language, definitely paid for itself many times over w/r/t language research the Python 3.5 async await syntax-sugar and, to some extent semantics, which was influenced by C# clearly, derived from F#2. Apple has a few people working on Clang (though not LLVM IIRC, so eh). Facebook has a really interesting language agnostic suite of analysis (primarily static) which I'm tracking carefully because it looks like it has a boatload of interesting capabilities.

There's a lot of interesting research going on, but not much of it is done by corporations, Microsoft Research notwithstanding.


Mirage seems like the continuation of exokernels, except designed to run under a bare metal hypervisor instead of a raw microarchitecture. I suppose being OCaml is a nice perk, though ultimately their scope is very limited (deploying applications).


I love reading these little blurbs about Plan9. I haven't played around with it too much but it feels very "modern" (I know it's old).

What are some of the ways a beginner can get into Plan9? Can I use it as a Desktop Operating System on my old Thinkpad? What can I do with it? Does it run a modern browser? Could it run QEMU?


I tried to run an original Plan 9 image, it is quite outdated (Ethernet configuration in QEMU silently fails, for example; half of its internet resources are either vanished or temporarily unavailable). Maybe, it's just not for beginners.

I've had much more luck with 9front distribution, it seems maintained at least.

A desktop OS is a vague term, but you have to be super undemanding to use Plan 9 in the modern environment. If you plan to develop on it, be aware: it's quite possible, but it is not POSIX-compatible, it has its own, often quite opinionated tools (Acme editor with its obsessive three-button mouse usage is something I could not get used to), it is often a world-in-itself. It has C, Go, Mercurial, Python though. Don't expect many opensource projects we take for granted to be available (databases, servers, etc). However, 9front has its own "repository" [0] that has ssh, vim, ghc and other basic Unix tools.

No, neither Plan 9 nor 9front run a modern internet browser. A modern browser is a complex, non-portable, monolithic, demanding beast. It just does not fit the Plan 9 vision, so the common piece of advice is to run a VNC session to a mainstream OS to browse the internet. `elinks` is "a graphical browser" according to Plan 9 people (and I rather agree).

This is impression of a beginner, so feel free to correct me.

[0] http://www.plan9.bell-labs.com/wiki/plan9/Contrib_Index (oops, it is offline at the moment).


"Opinionated" yes, but entirely consistent with the UNIX mentality. One tool, to do one thing, done well, chained together.

I love emacs so, so much (I'm the nerd who has foot pedals, and I've spent at least 1k hours perfecting my .emacs.d over the last 10 years). It's ability to meta-modify itself is incredible.

Editor rant for nerds who have spent at least 100 hours on .vimrc or emacs.d:

But ACME takes it to the next level. It feels like Smalltalk. It exposes all buffers via a FUSE block device you can mount, and all of a sudden you can feed buffers or sub-selections of buffers to standard UNIX utils. Literally everything that takes input from STDIN you can pipe to, and optionally return to the same buffer via STDOUT. You're no tied to languages. Hating Vimscript or Elisp becomes irrelevant because as long as you can run the binary and pipe to/from it, you can manipulate your data.

It's fantastic for exploratory scripting, literate programming and my only qualm with it is I'm a home-rower. (That is, all of my interfacing revolves around keeping my wrists and about 1/4" of my lower palm. My wrists are planted in that specific position 98% of the time, with movement primarily centered around pivoting my wrists about those two radial points).

My idea is to use Caps as a meta-key, then have s,d,f act as 1,2,3 on the mouse. Even with chording, it doesn't impose a stretch.

If you are passionate about editors, watch Russ Cox's talk on ACME. https://www.youtube.com/watch?v=dP1xVpMPn8M.


You can try Plan 9 in a VM or use some of the software via plan9port. Old Thinkpads often run Plan 9 well, especially the 9front version. What can you do with it? Server stuff, software development, os research, hobbyism. No modern browser or multimedia support, or office suites. Runs well inside QEMU, does not run QEMU.


well, theres /bin/audio/* in 9front and sb16, ac97, intel hd audio and various usb soundcards are supported. listening to music on my thinkpad all the time. it also works fine on "newer" thinkpads as well like x230. everything is supported, including wifi, native graphics, sound, gigabit ethernet, sata and even the build in sdmmc controller. and yes, 64 bit kernel, 16gb ram works.


Running 9front natively on Thinkpad X230 as well as virtually on Qemu/KVM (9front supports both disk and net virtio). If you configure it as CPU server you can connect to it remotely using drawterm from Linux/*BSD/Windows for example and share files between systems. You can browse web pages unless they're maimed with js or css. Videos you can't view (yet) unless they're gif animations ;-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: