Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-05 Thread David Arroyo
> (1) Porting the Plan 9 kernel to a microkernel architecture, such as
> Mach.  This would give Plan 9 instant access to the whole range of
> hardware supported by the underlying microkernel.

This is kind of the opposite idea, but you could port the NetBSD rump
kernel to Plan 9. It can then be used to interface with any device that
the NetBSD kernel supports.

https://research.csiro.au/tsblog/using-rump-kernels-to-run-unmodified-netbsd-drivers-on-sel4/

David


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-M9a5ff3bda8d7b59d0a265ad7
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-05 Thread Ethan Gardener
On Mon, Feb 1, 2021, at 7:16 AM, cigar562hfsp952f...@icebubble.org wrote:
> Anthony Sorace  writes:
> 
> (6) Incorporating Inferno's Dis virtual machine into the Plan 9 kernel,
> so Plan 9 can run Dis binaries natively, without having to run the
> Inferno emulator (emu) as a user process.

This idea keeps popping up, but I just thought a Dis to native code compiler 
would achieve the same result without bloating the kernel. Perhaps it could 
even be built into Inferno, if the JIT compiler could be modified to output an 
object file instead of running the code. I'm not sure if that's reasonable; I 
was just thinking of avoiding duplication of a large, possibly hard to maintain 
component.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-Ma8c141f7b291b014bcfcc676
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-03 Thread Skip Tavakkolian
Here is some earlier work by Tim Newsham using a styx library by
Charles/Vita Nuova:

https://github.com/9nut/styxbrowser


> Android-related:
>
> (a) An Android "app" that presents an Android phone's telephone and SMS
> messaging facilities as a 9P filesystem.  This would enable Plan 9
> and Inferno applications to place/receive voice calls and
> send/receive text messages across a network.  This could be done by
> extending bhgv's existing Android port of Inferno, or as a
> separtate, stand-alone server app.
>
>

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-Mbaf214bbeb535d12a87c4c5b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-03 Thread Ethan Gardener
On Tue, Jan 19, 2021, at 11:08 AM, pouya+lists.9f...@nohup.io wrote:
> [eeke...@fastmail.fm]
> > I specifically say "more popular" because popularity affects the
> number of developers available.
> 
> Off-topic and perhaps unpopular view, but I *like* the fact that Plan
> 9 is not (significantly) more popular.  Popularity has ruined many a
> promising creation.

Of course. I was talking about driver development only.

> Although please do not take this to mean that I don't value all the
> work that has been going into developing the community and continuing
> to evolve and move forward.  Luddites like me also greatly benefit
> from it.

Me too. :D

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-Mff1d12674d60daf45f2d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-03 Thread ori
> > 1. Project ideas. One of the key parts of the application is the
> > project ideas page. If you’ve got ideas that seem like they’d be a
> 
> Plan 9-related:
> 
> (1) Porting the Plan 9 kernel to a microkernel architecture, such as
> Mach.  This would give Plan 9 instant access to the whole range of
> hardware supported by the underlying microkernel.

I'm not aware of any freely available
microkernels that support a whole range
of hardware.

Gnu Mach doesn't appear to support XHCI,
which would leave my cpu server and one
of my laptops with no plugs for my keyboard.

seL4 seems to have a similar level of support.

Which did you have in mind, and what unsupported
hardware would they have?

> (2) A Zoom/video conferencing application for Plan 9.  Enough said.  :)

I'm not sure enough was said.

Can you talk a little bit about the moving
parts for this proposal? Two main things I'm
wondering:

- how stable and well documented the proposed
  protocols are; can you link to the relevant
  documentation? will the work done still be
  useful 6 months after it's written, or will
  it be a churn treadmill?

- what video codecs would be needed, and what
  are the steps needed to port them?

> (3) Happauge/Brooktree BTTV/video capture drivers.  AFAIK, Plan 9 can
> only use USB Web cams.

Driver support should definitely be on the
list, though this is somewhat niche hardware,
especially in the days of video streaming.

> (4) Port SANE (Scanner Access Now Easy) tools as a Plan 9 file system.
> That would give Plan 9 instant access to a huge range of flatbed &
> sheet-fed document scanners.

I took a peek at the code -- there's a lot
of direct calls to opening the devices; it
may be more expedient to implement TWAIN
natively, rather than porting.

> (5) An NFS sever for Plan 9.  Unix machines have a lot of trouble
> handling edge cases encountered on 9P filesystems (such as the
> number of hard links to directories).  An NFS server would make it
> much easier for Unix/Linux and Plan 9 to get along happily.

Can you describe the problems you ran into
when you tried nfsserver(8), and what changes
you'd expect a student to make to fix them?


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-M216325788941f5dd4704684a
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-03 Thread pouya+lists . 9fans
[eeke...@fastmail.fm]
> I specifically say "more popular" because popularity affects the
number of developers available.

Off-topic and perhaps unpopular view, but I *like* the fact that Plan
9 is not (significantly) more popular.  Popularity has ruined many a
promising creation.

Although please do not take this to mean that I don't value all the
work that has been going into developing the community and continuing
to evolve and move forward.  Luddites like me also greatly benefit
from it.

Pouya


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-Mcb25b9921961b686f430f7dc
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-03 Thread Ethan Gardener
On Tue, Feb 2, 2021, at 8:29 AM, tlaro...@polynum.com wrote:
> > 
> > Plan 9-related:
> > 
> > (1) Porting the Plan 9 kernel to a microkernel architecture, such as
> > Mach.  This would give Plan 9 instant access to the whole range of
> > hardware supported by the underlying microkernel.

Apple's Mach is not a microkernel. The first pure microkernel version of the 
Mach architecture was 3.0. Apple have stuck with 2.5 all these years. The 
ability to use drivers from some more popular OS would be nice for users if it 
works, but there are a host of possible integration and maintenance problems. 
In fact, I know there are problems I don't quite understand related to 
differing OS designs. The parts I do understand indicate there could be a huge 
performance penalty in using drivers in OSs for which they were not designed.

I specifically say "more popular" because popularity affects the number of 
developers available. In those terms, 9front is already in the rarified 
stratosphere of well-developed hobby OSs. I'd put only 2 or 3 other OSs as its 
equal. In the next level up, (orbital space? ;) and not counting the BSDs, 
Haiku is the only one I can think of off the top of my head (but I have just 
woken up). We might yet see other OSs implementing 9p so they can use our 
drivers. :) 

> No. One should re-read the initial papers about Plan9. When Plan9 was
> designed, microkernels were "fashionable". If one reads carefully the
> paper, it's clear that there is a pun intended against microkernels that
> didn't achieve what they were supposed to do---disastrous efficiency
> leading to the rewrite of the microkernels as assembly---a very low
> signal/noise ratio. And a hint: "micro" kernels are usually _huge_, a
> clear sign that something went wrong.

Uh... these arguments are kind-of obsolete. Plan 9 is a hybrid on the 
macro-micro kernel scale. So are mainstream OSs, having arrived at that point 
by various routes from whatever their origin was. Microkernel QNX is tiny and, 
if I understand right, makes service development easier than Plan 9 does. I 
suggest the huge "microkernels" are really hybrids, but I'll omit reasoning on 
why.

> As drivers are concerned, there was once a kit supposed to give a wide
> range of kernels, drivers code---I don't know where it is now; I suppose
> it has vanished. And now probably UEFI drivers is a "better than nothing"
> solution.

Uh... UEFI boot services are typically available, but UEFI run-time services 
are a different thing. A long-time OS dev I know does not expect UEFI runtime 
services to ever be available on commercial-grade hardware. He is a terrible 
cynic and I can't remember quite how that debate ended, but in general, it 
looks like UEFI isn't significantly better than the old PC BIOS for 
compatibility. As they say on osdev.net, "Writing a bootloader which works on 
one computer is easy. Writing a bootloader which works on many computers is 
hard." Note this statement is only about features necessary for booting an OS, 
whether BIOS or UEFI. If those are bad, features not necessary for booting will 
be worse. And performance of the kind needed at run-time is hardly a 
consideration when booting. (I appologise for my poor sentence construction. 
I've just woken up.)

> My 2 cents,

Ain't the Internet wonderful? You get 2 cents back with a lot of interest! XD

Much of what I've posted here is condensed from osdev.net, especialy the 
forums. I'd suggest lurking there if you're interested in the difficulties (or 
otherwise) of driver development. It's not perfect by a long shot, but it is a 
better place for it than this list.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-M1b3c27671fcffae2e5ffa604
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-03 Thread Ethan Gardener
On Mon, Feb 1, 2021, at 8:46 PM, Steve Simon wrote:
> 
> Inferno-related:

These should be posted to inferno-os too, but some are there already. (It's on 
Google Groups.) Note that they're starting work on a 64-bit DIS; Charles has 
just announced a fork for working on it.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-M45dd636d66c8f4568519f90c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-02 Thread tlaronde
Hello,

On Mon, Feb 01, 2021 at 07:16:58AM +, cigar562hfsp952f...@icebubble.org 
wrote:
> Anthony Sorace  writes:
> 
> > Hello! After a few years away, we?ll be applying to Google?s Summer of Code 
> > program again this year.
> 
> ...
> 
> > 1. Project ideas. One of the key parts of the application is the
> > project ideas page. If you?ve got ideas that seem like they?d be a
> 
> Plan 9-related:
> 
> (1) Porting the Plan 9 kernel to a microkernel architecture, such as
> Mach.  This would give Plan 9 instant access to the whole range of
> hardware supported by the underlying microkernel.
> 

No. One should re-read the initial papers about Plan9. When Plan9 was
designed, microkernels were "fashionable". If one reads carefully the
paper, it's clear that there is a pun intended against microkernels that
didn't achieve what they were supposed to do---disastrous efficiency
leading to the rewrite of the microkernels as assembly---a very low
signal/noise ratio. And a hint: "micro" kernels are usually _huge_, a
clear sign that something went wrong.

As drivers are concerned, there was once a kit supposed to give a wide
range of kernels, drivers code---I don't know where it is now; I suppose
it has vanished. And now probably UEFI drivers is a "better than nothing"
solution.

My 2 cents,
-- 
Thierry Laronde 
 http://www.kergis.com/
http://kertex.kergis.com/
   http://www.sbfa.fr/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-Mc6b3f7092d65c3c4c8e4da31
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-01 Thread Steve Simon


someone at the land (peter bosch?) dis a haupage video capture card.

i am pretty sure i have a copy of the driver and user level app somewhere.

this worked on an old pci card i had at one time.

-Steve


On 1 Feb 2021, at 8:32 pm, cigar562hfsp952f...@icebubble.org wrote:

Anthony Sorace  writes:

> Hello! After a few years away, we’ll be applying to Google’s Summer of Code 
> program again this year.

...

> 1. Project ideas. One of the key parts of the application is the
> project ideas page. If you’ve got ideas that seem like they’d be a

Plan 9-related:

(1) Porting the Plan 9 kernel to a microkernel architecture, such as
   Mach.  This would give Plan 9 instant access to the whole range of
   hardware supported by the underlying microkernel.

(2) A Zoom/video conferencing application for Plan 9.  Enough said.  :)

(3) Happauge/Brooktree BTTV/video capture drivers.  AFAIK, Plan 9 can
   only use USB Web cams.

(4) Port SANE (Scanner Access Now Easy) tools as a Plan 9 file system.
   That would give Plan 9 instant access to a huge range of flatbed &
   sheet-fed document scanners.

(5) An NFS sever for Plan 9.  Unix machines have a lot of trouble
   handling edge cases encountered on 9P filesystems (such as the
   number of hard links to directories).  An NFS server would make it
   much easier for Unix/Linux and Plan 9 to get along happily.

(6) Incorporating Inferno's Dis virtual machine into the Plan 9 kernel,
   so Plan 9 can run Dis binaries natively, without having to run the
   Inferno emulator (emu) as a user process.

Inferno-related:

(A) A 64-bit version of Dis, which was designed as a 32-bit (31-bit?)
   architecture.

(B) Porting Inferno to modern video game consoles, such as the Nintendo
   Switch family.  Coolness.

(C) Creating a secure version of Dis.  The way that Dis handles
   allocated/freed memory isn't particularly safe, and can leak
   sensitive data (such as encryption keys).  It doesn't have a way to
   whiten memory, or to mark ranges of memory as non-swappable.  This
   could be done by adding new VM instructions, or on a per-module
   basis by adding new module flags.

(D) Porting Nemo/LSUB's "OSHAD" to Plan 9.  OSHAD is an authentication
   system (implemented in Inferno) which allows you to provide
   passwords or acknowledge actions from a separate, wireless hand-held
   device.

(E) A postscript/PDF viewer for Inferno.  Enough said.  :)

Android-related:

(a) An Android "app" that presents an Android phone's telephone and SMS
   messaging facilities as a 9P filesystem.  This would enable Plan 9
   and Inferno applications to place/receive voice calls and
   send/receive text messages across a network.  This could be done by
   extending bhgv's existing Android port of Inferno, or as a
   separtate, stand-alone server app.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-M627e2da16ac2f567361984f0
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


[9fans] GSoC 2021 project ideas (WAS: Re: Plan 9 Applying to GSoC 2021)

2021-02-01 Thread cigar562hfsp952fans
Anthony Sorace  writes:

> Hello! After a few years away, we’ll be applying to Google’s Summer of Code 
> program again this year.

...

> 1. Project ideas. One of the key parts of the application is the
> project ideas page. If you’ve got ideas that seem like they’d be a

Plan 9-related:

(1) Porting the Plan 9 kernel to a microkernel architecture, such as
Mach.  This would give Plan 9 instant access to the whole range of
hardware supported by the underlying microkernel.

(2) A Zoom/video conferencing application for Plan 9.  Enough said.  :)

(3) Happauge/Brooktree BTTV/video capture drivers.  AFAIK, Plan 9 can
only use USB Web cams.

(4) Port SANE (Scanner Access Now Easy) tools as a Plan 9 file system.
That would give Plan 9 instant access to a huge range of flatbed &
sheet-fed document scanners.

(5) An NFS sever for Plan 9.  Unix machines have a lot of trouble
handling edge cases encountered on 9P filesystems (such as the
number of hard links to directories).  An NFS server would make it
much easier for Unix/Linux and Plan 9 to get along happily.

(6) Incorporating Inferno's Dis virtual machine into the Plan 9 kernel,
so Plan 9 can run Dis binaries natively, without having to run the
Inferno emulator (emu) as a user process.

Inferno-related:

(A) A 64-bit version of Dis, which was designed as a 32-bit (31-bit?)
architecture.

(B) Porting Inferno to modern video game consoles, such as the Nintendo
Switch family.  Coolness.

(C) Creating a secure version of Dis.  The way that Dis handles
allocated/freed memory isn't particularly safe, and can leak
sensitive data (such as encryption keys).  It doesn't have a way to
whiten memory, or to mark ranges of memory as non-swappable.  This
could be done by adding new VM instructions, or on a per-module
basis by adding new module flags.

(D) Porting Nemo/LSUB's "OSHAD" to Plan 9.  OSHAD is an authentication
system (implemented in Inferno) which allows you to provide
passwords or acknowledge actions from a separate, wireless hand-held
device.

(E) A postscript/PDF viewer for Inferno.  Enough said.  :)

Android-related:

(a) An Android "app" that presents an Android phone's telephone and SMS
messaging facilities as a 9P filesystem.  This would enable Plan 9
and Inferno applications to place/receive voice calls and
send/receive text messages across a network.  This could be done by
extending bhgv's existing Android port of Inferno, or as a
separtate, stand-alone server app.

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1c300cdbd9941edb-M8dc3d53ad2fd15c95abf0584
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription