💾 Archived View for zaibatsu.circumlunar.space › ~krixano › phlog › 031420_Ponix.txt captured on 2020-09-24 at 01:34:26.
-=-=-=-=-=-=-
-------------------------------------------------------------------------------- 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.