9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Joel C. Salomon" <joelcsalomon@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net>
Subject: [9fans] Bits of Plan 9 I wish were more popular...
Date: Wed,  2 Jul 2008 18:30:24 -0400	[thread overview]
Message-ID: <7871fcf50807021530s10096f9bse94c4940356fce6f@mail.gmail.com> (raw)

In response to the recent troll invasion:

I've just started work at a CNC router manufacturer, doing control
system programming.  The machine I'm using to test & prototype control
algorithms is Linux with the RTAI real-time patches and I/O card
drivers from the Comedi project.  The way to get a hard-real-time
process?  Build and install a ——ing kernel module!  As regards
communicating with arbitrary I/O cards Comedi isn't completely
useless, merely so painful it should be called Tragedi.

The prototyping machine is completely in my control, so I could use
Plan 9 — if I could justify writing the drivers.  Trouble is, the
driver for the D/A converter comes with Comedi and someone here has
already written a driver for the quadrature encoder.  So I'm stuck on
that end.  I got a lot of programming done in school using acme under
Plan 9; for the first time I realize why the lunix world likes
Eclipse.  ☹

On the production side, I'm about to inherit the code base for the
controller.  Takes instructions from a PC host via USB and fans them
out to separate motion controller units.  And passes information back.
 And tinkers with the data stream when that's called for.  No
operating system.  I miss libthread — I may yet port it for a later
version, if I'm going to be contributing much to the controller rather
than just maintaining it.

One change I probably will make (since the data structures are all
scheduled for radical change) is in the transport.  The current code
base has corresponding structures on different machines declared with
the various "packed" pragmas and transported with byte-order-swapping
— when I get my hands on it it'll be done with proper marshalling.

So there we have it: sane real-time, decent hardware interfaces,
libthread, and data transport methods.  Plan 9 still has plenty to
teach the rest of the computing world.

--Joel

             reply	other threads:[~2008-07-02 22:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-02 22:30 Joel C. Salomon [this message]
2008-07-02 23:13 ` Steve Simon
2008-07-03  4:50   ` Joel C. Salomon
2008-07-03 12:51 erik quanstrom
2008-07-03 16:25 ` Digby Tarvin
2008-07-03 17:51   ` Joel C. Salomon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7871fcf50807021530s10096f9bse94c4940356fce6f@mail.gmail.com \
    --to=joelcsalomon@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).