This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Cross_Sans's profile picture

Graduation - The portable operating system

Started by Cross_Sans, 04 February 2017 - 08:29 AM
Cross_Sans #1
Posted 04 February 2017 - 09:29 AM

Graduation is an operating system which is available on GitHub.

The idea was from the Porty Shell, which is created by Zayne. The problem was the activity.
Too long for me, I prefered to create my own operating system from scratch.


The objective of this operating system is to be lightweight and useful at the same time.
Because you can have the entire power on your computer.
You are in the freedom.


This is why I created Graduation, the portable operating system.

Downloading the latest version of Graduation
Spoiler

You can download the latest version of Graduation on GitHub. Please be aware that this is a unstable version !
The pastebin installer does not exists because this operating system do not have reached the Beta stage.


Downloading the user manual
Spoiler

You can download the latest version of the Graduation User Manual here.


Features of this operating system
Spoiler
  • It is lightweight and fast
  • It can fit on any floppy disk
  • It is portable, all of your programs can be in your inventory
  • It has the same commands from CraftOS, just re-written from scratch. You do not lose any habits from CraftOS, and can be used by the majority of players.
  • It is open-source, this mean that you can improve, share, copy and modify the code, and even create an operating system using this base (please read the section with the following URL:
  • https://github.com/R...ore-proceeding-)
  • You can use it for rescuring infected computers.
  • You can add your own programs.
  • System API is really simple to understand.


Screenshots
Spoiler







Thank you for reading my post. Have an nice day,

Redall.
Edited on 04 February 2017 - 09:31 AM
Exerro #2
Posted 04 February 2017 - 10:20 AM
Looks kinda cool. The pdf manual is a neat idea although a markdown file in the wiki probably would've done just as well and been much easier to write. It's also not that hard to show folder file sizes in the 'ls' program, and that'd be pretty helpful. Also, what's with the 'rwx'? I'm guessing that's for file permissions (read/write/execute), but I couldn't find anything in the code that handles that. Is it just for show?

I looked through the code; you have a big function for finding if a string is empty, which I think should probably return true if it only contains "\t" and " ". You could simplify this to:

return not s:find "[^\t ]" or #s == 0
That being said, your current function will also return true if only the start is whitespace (probably unintentional?), which'd be this:

return s:find "^[\t ]" or #s == 0

You give quite a few restrictions in the README on creating OSs from this, but you've given it the MIT license. Have a read through your restrictions and the license: the license says "do whatever you want", pretty much. You might want to change that.

If you can manage it, I'd add in things like piping: redirecting the output of one program to the input of another. Right now, this only really gives a graphical tweak to the inbuilt shell commands, so claiming it's "more powerful than a graphical operating system" is a bit risky when compared to something that does things like multitasking and users as well as fancy graphics.

Anyways, the effort you put into this really shows, just keep adding more to make it worth the annoyingly awkward installation process.
Cross_Sans #3
Posted 04 February 2017 - 10:30 AM
Looks kinda cool. The pdf manual is a neat idea although a markdown file in the wiki probably would've done just as well and been much easier to write. It's also not that hard to show folder file sizes in the 'ls' program, and that'd be pretty helpful. Also, what's with the 'rwx'? I'm guessing that's for file permissions (read/write/execute), but I couldn't find anything in the code that handles that. Is it just for show?

I looked through the code; you have a big function for finding if a string is empty, which I think should probably return true if it only contains "\t" and " ". You could simplify this to:

return not s:find "[^\t ]" or #s == 0
That being said, your current function will also return true if only the start is whitespace (probably unintentional?), which'd be this:

return s:find "^[\t ]" or #s == 0

You give quite a few restrictions in the README on creating OSs from this, but you've given it the MIT license. Have a read through your restrictions and the license: the license says "do whatever you want", pretty much. You might want to change that.

If you can manage it, I'd add in things like piping: redirecting the output of one program to the input of another. Right now, this only really gives a graphical tweak to the inbuilt shell commands, so claiming it's "more powerful than a graphical operating system" is a bit risky when compared to something that does things like multitasking and users as well as fancy graphics.

Anyways, the effort you put into this really shows, just keep adding more to make it worth the annoyingly awkward installation process.

- The rwx is to short this, because it takes only 3 characters :
  • Can I read ?
  • Can I write ?
  • Can I execute ?
- Actually, you are right for the license and my restrictions. I changed it
- This was intentional to only return true if the string contains only spaces or tabulation characters. I changed the function, thanks for your code.
- This operating system just have 7/8 days of live, I should remove the line "more powerful than a graphical operating system", and re-add it when I will do the multitasking and piping.
- I prefer writing on a document than on a Wiki. I do not really like the way Wikis works.
- Actually, I am really bad at coroutines, so I need time to learn more about it.

Thanks for your post, this was really constructive and helpful.
Edited on 04 February 2017 - 09:49 AM
Exerro #4
Posted 04 February 2017 - 11:08 AM
- The rwx is to short this, because it takes only 3 characters :
  • Can I read ?
  • Can I write ?
  • Can I execute ?

Sure but does it actually affect anything? Like, would I be able to give a file `r-x` permissions and then not be able to write to it (make it read-only)?


- I prefer writing on a document than on a Wiki. I do not really like the way Wikis works.


That may be true, but I'd suggest most people prefer wikis. It's probably as simple as copying the pdf text into a `.md` file and doing a bit of formatting, ~10 mins tops.
Cross_Sans #5
Posted 04 February 2017 - 11:16 AM
- The rwx is to short this, because it takes only 3 characters :
  • Can I read ?
  • Can I write ?
  • Can I execute ?

Sure but does it actually affect anything? Like, would I be able to give a file `r-x` permissions and then not be able to write to it (make it read-only)?


- I prefer writing on a document than on a Wiki. I do not really like the way Wikis works.


That may be true, but I'd suggest most people prefer wikis. It's probably as simple as copying the pdf text into a `.md` file and doing a bit of formatting, ~10 mins tops.

- I plan to add a permission system, for the moment, it is just for showing properties quickly.
- I still do not want to make a Wiki for this. I don't like it.
minebuild02 #6
Posted 06 May 2017 - 05:06 PM
A great remake of Porty. Maybe I'll try it soon.
Cross_Sans #7
Posted 13 May 2017 - 07:53 PM
Graduation is now discountinued, a new and bigger project is in creation.
Please do not download and use this operating system.