💾 Archived View for zaibatsu.circumlunar.space › ~krixano › phlog › 031420_Ponix.txt captured on 2020-09-24 at 01:56:13.

View Raw

More Information

⬅️ Previous capture (2020-09-24)

-=-=-=-=-=-=-

--------------------------------------------------------------------------------
 Introducing PoNIX Pubnix
--------------------------------------------------------------------------------

I wanted to introduce a project that I've been planning for a long time, PoNIX.
Ponix will be a development-focused pubnix system that prioritizes innovative
ideas with the end-goal of being fast, efficient, and well-designed programs.
The idea is to improve the useability of the tools people need to use all the
time, and to hopefully create a Linux system where the tools are well-developed
in mind of *the User*. Because of this goal, one of the many goals of this
pubnix system is to hopefully replace the broken parts of Linux with something
better - something that respects the User. This includes better shells, 
libraries, development tools, general user tools, init system, system management
tools, etc.

As a user, you shouldn't have to worry about broken or ill-developed
tools that don't make sense or are buggy or don't let you do the things that
you need to do. More useable shouldn't have to mean more code-complex or less 
featureful. We can have both at the same time, and with this, we are taking
a philosophy in a similar vain to what Rust and the HandmadeNetwork communities
have taken, but it should be mentioned however, that contrary to what Rust's
philosophy likes to point out (concerning compile-time tradeoff), the tradeoff
of our philosophy will be the developers' efforts. But I believe that that is
the way it *should* be. We do not sacrifice the user for the developer (even
if the users are developers), and we should not assume that the developer is
the only user of a program. We are a development-oriented and user-focused
pubnix.

One of the first things that I've been focusing on while planning this was
building development and terminal tools to allow people to get the things
they need done on the system. This includes a build system, a new shell, a
cross-platform terminal manipulation library, a terminal UI library (that
builds upon the terminal manipulation library), multilect - a terminal document
reader (that I started on Circumlunar, and will *remain* on circumlunar),
as well as a well-developed new chat, registration shell, and a terminal muxer
created by ivanq - who I met in the ZeroNet community, is new here, and is
one of the best programmers I know.

One of the first things we decided on when we first started working on this
project last year was that we needed a good registration system. Other pubnixes
have worked on this in the past by creating a shell for some registration user
that would allow the user to view a limited subset of things on the shell and
also register right there (an example of this is the Dome).

We wanted something similar. The other thing was that we didn't want ssh'ing
into this registration user to require a password, so after researching a bit
about OpenSSH options, we were able to completely disable the password only
for that registration user.

The next thing we needed was a very good chat system. Ivanq got working on that
very quickly and created a very very good chat program that I'm very happy with.

I decided to then move my shell over there as well as derevel, my build system,
because it lines up with the goals I had planned for the system.

Before I can officially launch this new pubnix, however, I want to make sure
everything is setup correctly and that all the tools are useable. I still need
to work on Paled, the new shell, the build system, and lastly finishing up
multilect. I am also planning on creating a new gopher client.

A few other things I wanted to say is that currently this system is a
low-resource system. This will put restrictions on programs that will hopefully
benefit them by requiring their developers to think about low memory usage and
low cpu usage. The system currently runs on a Raspberry Pi 3B. Because of this,
we will probably have to limit the number of users on the system.

Finally, for people who might like to play with GUI programs, I am working
on another pubnix system that will be a GUI-focused pubnix system (which means,
atm, it will use X11 forwarding). However, this project is nowhere near as
planned out as Ponix is. But I'm calling this GuNIX.