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

OmniOS - The OS than can do (almost) anything

Started by Creator, 09 August 2015 - 07:41 PM
Creator #1
Posted 09 August 2015 - 09:41 PM


Hello fellow ComputerCrafters,

for a long time I have been somewhat inactive on the forums. But there is a reason behind this: I can finally proudly present OmniOS.

The last 5 months, OmniOS has been my top priority in terms of coding.This is because the OSes on these forums too have little functionality. Of course some of them have a great GUI and are very easy to work with, but that is not the main purpose of an OS. It's main purpose, speaking in terms of ComputerCraft, is to add functionality on top of CraftOS. This is why I built OmniOS. An almost full list of it's features:
  • FS
    • Symlinks
    • Custom Filesystems
      • DevFS: for peripherals
      • TmpFS: ram storing only
      • CCFS: standard FS
  • Kernel
    • Multitasking (of course)
    • Interprocess messaging
  • Interact: a GUI api built specially for the needs of OmniOS
  • Utils: An api offering a bunch of options as logging and table copying
  • Sandboxing for a restricted FS and _G access
  • Debug app that allows you to use OmniOS to it’s full extent
  • A nice settings app that allows you to control almost nothing
  • App permissions
  • An OmniOS API
  • A relax function: The release of OmniOS finally allows to me to chill around!
Now I get to explain the different functions, how they work, and why you should bother dedicating some moments of your short life to OmniOS.

FS- fs.link(destination,source)
This function allows you to see the contents of the source directory at the destination directory.

- fs.setFS(path,filesystem)
Sets the filesystem of the path to the one that is indicated. The different filesystems can be found under OmniOS/Drivers/FS

- fs.mount(destination,source,filesystem)
It is a combination between both previous functions.

- fs.getFS(path)
You know what it does!

Kernel- Kernel.newProcess(func,parent,permission,name,…)
Starts a new process in the multitasking manager.
@parent refers to the terminal to be used. "term" will redirect to the default terminal.

- Kernel.list()
This function returns a list of processes as well as their names and coroutine statusses.

- Kernel.switch(newTaskID)
Switches to the given process. IDs are numbers! They start at 1 and can be viewed if you type "list" or "ls" in Debug.

- Kernel.bindEvent(event,func)
When the event is detected in the event queue, the function is exceuted. A thread can also be given as an argument.

- Kernel.kill(id)
Kills the process. So sad.

- Kernel.getRunning()
Return the id of the process running at the moment.

- Kernel.addMessage(destination,sender,message)
And finally interprocess messaging. I'll let you figure out how it works. Remember, ids are numbers!

- Kernel.setSidebarColor(id,color)
Sets the sidebar color of the ID to the given color

- Kernel.setSidebarTextColor(id,color)
Sets the color of the "<" in the sidebar to the given color for the given process!

- Kernel.getName(id)
Returns the name of the process.

- Kernel.broadcast(sender,message)
Sends a message to all processes!

- Kernel.getMessages(id)
Gets all the messages in the form of a table, I guess! Anothe method is to do this: coroutine.yield("kernel_messages")

- A last one: Press the "alt" key at the same time as the number of a process and see what happens!

DebugHere is a list of the things that should happen when you type certain things into Debug:

"cmds": a full list of all the commands. Use it to explore the rest!

LogsLogs are an essential part of OmniOS. Mainly because it allows me to discover what screw it up this time! However, logs can be a burden to some, so there is an option to turn them off. Go to OmniOS/API/Utils.lua and set the variables doLogs or something of the likes to false. Tadaaaa.

Screenie time!BIOS:


Booting:


Multitasking:


Desktop:

VersionsHere you can see what changed over the different years versions.
15w33a:
  • OmniOS automaticall jumps to app when it is launched!
  • Fixed the crashing of the Lua program!
15w43a:
  • Fixed error system, it is now displayed directly on screen. This allows you to bypass the difficult process of going to the log folder ans checking it manually. it's something!
  • FS sandbox is also working correctly
15w45a:
  • Added the option to add more OSes in the BIOS.
  • Some other small improvements.
1.1.0 or 16w40a

Hey guys,

after some heavy debugging during the last week I am rolling out a new minor version. "Why minor?" you ask. Well, this version does not add a ton of new features. It rather improves on the existing ones, and mainly fixes bugs and other annoying issues.

1.1.0 Update (Codename 16w40a)

New features:
  • Shell piping works somewhat decently
  • It boots (It doesn't always.)
  • Event redirection (One process passes all the events it receive to a child process. A child process is any process that was created by a given process and of which it has the handle.)
  • reduced it's size drastically by removing useless crap from it. It now has the glorious size of 483KB. I could shrink it if I wanted.
  • It logs stuff so that you can debug. Mainly for myself.
  • All those linux bins in /bin. Some of the work.

Planned features in future versions:
  • I really want to improve the installer
  • Inter-process-communication
  • Devices, like random or tty (Can someone explain what tty is exactly and how it works?)
  • Separates windows from processes, which makes visible output redirection easier.

Download:

pastebin run 2DMDuHci
Then type:

OmniOS/BIOS.lua

Note: It is possible to download previos versions of OmniOS typing:

pastebin run 2DMDuHci <version>
The versions can be found here.

By the way be sure to comment!

With love, Creator!

And it is my 1000th post!

PS:

Creadit for the logo goes to LoganDark.
Edited on 03 October 2016 - 05:26 PM
FUNCTION MAN! #2
Posted 09 August 2015 - 10:39 PM
It's standard, not standart.

and OSes don't have BIOSes. Computers do.
Creator #3
Posted 09 August 2015 - 11:07 PM
Thanks and I knew you'd mention that!
Edited on 09 August 2015 - 10:49 PM
cyanisaac #4
Posted 10 August 2015 - 06:51 AM
Holy yes my body has been ready for this.
cyanisaac #5
Posted 10 August 2015 - 06:57 AM
Okeh, so my first impressions. Excuse my nonstandard numerical formatting because I am using Chrome and the forums do not like Chrome :P/>

1) I really don't like how applications open in the background, it's possibly a dealbreaker for me using the OS, I want to jump into the app. Plus a flicker on the screen is NOT enough visual feedback to know that the app has opened.

2) also the close tab button doesn't work unless you're in that tab… eurgh.

3) I like the BIOS! I wish it ran at startup though :P/>

4) Overall looks good, I need to look at it more when im not tired, but looks cool :P/>
LeDark Lua #6
Posted 10 August 2015 - 10:26 AM
Ok I like it but please fix the bugs. Its unstable and crashes everytime almost. Error message is blank and the "Blue screen of death!" terminates itself. Multitasking is cool but make so that we can close every app that is in there and that sidebar doesnt close itself after termination of an app. Settings button doesnt work.

And make it jump into an app when we run it.
Edited on 10 August 2015 - 08:27 AM
Creator #7
Posted 10 August 2015 - 02:58 PM
Thanks for the feedback. I am surprised that there are some of the issues you mentioned. When I try it, it works perfectly.

Anyways, I will try to fix the stuff you pointed out.
Creator #8
Posted 10 August 2015 - 03:31 PM
Could each and everyone of you who is having issues, explain the steps they took to have them. Moreover, the errors can be found in the log folder under Error.log. If you don't find them there, they are in Filter.log or PrintIO.log.
LeDark Lua #9
Posted 10 August 2015 - 05:51 PM
My error accurs when i have opened more then two same apps and terminating them when im in desktop and presing "x" rapidly on the other processes. And one with edit program.
Creator #10
Posted 10 August 2015 - 06:21 PM
Strangely, I don't seen to be getting that issue. If you want you can screenshot the steps.
Creator #11
Posted 10 August 2015 - 10:57 PM
Working on the issues you mentioned. Thanks for the feedback! ;)/>
Geforce Fan #12
Posted 11 August 2015 - 08:51 AM
First impressions are that the OS is very buggy and unstable. "lua" crashes on the first keystroke saying "bios:247: attempt to call nil".
The omnios/debug's "cmds" command lists the commands list, which is too big to fit on the screen, therefore you can't see all of them. Or, that's what it looks like.
"npain" crahes(I think this was sopposed to say "npaintpro", but there's no ".." so idk).
It looks like it has a lot of potential if you iron out the bugs.
Creator #13
Posted 11 August 2015 - 09:39 AM
nPain ;)/> doesn't crash, but the program ends since no path is provided and thus it can't open a file. Lua crashes, but I fixed that. Actually it does not crash because of OmniOS but because of the version change from 1.7 to 1.7.4. And if I added .. I would only be able to write npa.., which I decided is worse.

Thanks for the feedback!

I will fix other stuff you mentioned.
Creator #14
Posted 11 August 2015 - 02:18 PM
I have fixed some of the issues you were kind enough to mention!

15w33a:
- OmniOS automaticall jumps to app when it is launched!
- Fixed the crashing of the Lua program!
- Added a script that is launched when OmniOS is installed!
- Added an option whether to run on startup or not!
LeDark Lua #15
Posted 11 August 2015 - 02:26 PM
Now its looking better, thanks ;)/>
Edited on 11 August 2015 - 12:26 PM
Creator #16
Posted 11 August 2015 - 02:30 PM
You're welcome! Be sure to comment on anything else that bothers you!
Lignum #17
Posted 11 August 2015 - 02:59 PM
I've found a few problems:
  • Aliases don't work in the shell.
  • Lua prompt crashes with "bios:247: attempt to call nil" as soon as you press a key.
  • Fake loading screen - I haven't checked your code, but APIs take no more than a few milliseconds to load.
  • The sidebar closes when you kill a process. Not really a problem but it's quite annoying when you want to end multiple programs.
  • Edit can't be started because you need to specify program arguments.
All in all, it's.. okay. I can tell you've put effort into it. It's better than most, definitely. But it does lack a lot in functionality. There's a file browser, a text editor and a paint program but for anything other than that I need to resort to the shell. The ability to add your own programs to the desktop would be quite a big improvement to that.

Anyway, good luck with your OS!
Creator #18
Posted 11 August 2015 - 03:54 PM
- I saw the aliases thing and I have yet to figure out, why this happens.
- The lua issue was fixed in the last update
- No fake loading! That'd be annoying!
- Someone previously complained it didn't close when you killed a process, so I changed it.
- That is a problem with the edit program. You can still open it using FileX.

Thanks for the tips!

PS: have you tried fs.link ? That is one big thing I am proud of!
SquidDev #19
Posted 11 August 2015 - 04:19 PM
PS: have you tried fs.link ? That is one big thing I am proud of!

I'll be honest, the virtual file system (fs.link/fs.mount, etc…) does seem pretty useful - especially if there was some sort of remote rednet file system (or even something like my dropbox VFS). Just the idea of mounting a remote turtle to edit files gets me excited :)/>.

Oh, also: congrats on 1000 posts.
Edited on 11 August 2015 - 02:19 PM
Creator #20
Posted 11 August 2015 - 06:19 PM
I'll add the possibility to actually be able to use remote filesystems like FTP.

Thanks for the support! :)/>
Creator #21
Posted 12 August 2015 - 12:07 AM
I probably won't be able to code for the next month so enjoy! -That totally made sense.
LeDark Lua #22
Posted 12 August 2015 - 03:20 PM
If you have a Smartphone, DroidEdit ( This is like SublimeText but Smartphone edition ), Love2D and HackerKeyboard you can continue your project, thats what I do when I'm away from PC ;)/>

EDIT: What i saw today is that "Super Hot" game has Omni piOS :o/>
Edited on 12 August 2015 - 01:28 PM
Creator #23
Posted 12 August 2015 - 04:12 PM
Thanks for the tipp! Will see what I can do.
MKlegoman357 #24
Posted 12 August 2015 - 06:37 PM
If we're talking about code editors for Android, then I'd suggest Quoda. This is the best code editor I've used on Android.
LeDark Lua #25
Posted 13 August 2015 - 09:17 AM
Oh thanks :D/> Quoda looks more like Sublime Text 2/3.

EDIT: Ok but i still prefer DroidEdit becouse you can select your coding language ( For ex: Lua ofc :P/> ), and you can open multiple files at once and edit them and there is no limitation ;)/>.
Edited on 13 August 2015 - 07:21 AM
Creator #26
Posted 14 August 2015 - 09:06 AM
Wow, thanks. Lots of feedback. I like it!
LeDark Lua #27
Posted 14 August 2015 - 09:18 AM
Yup, dont mention it, feedback is the main thing to keep on with the projects ;)/>
Creator #28
Posted 15 August 2015 - 01:37 PM
Yep, I totally agree with you!
LDDestroier #29
Posted 29 August 2015 - 04:48 AM
Just tested it out on ccemuredux. Looks pretty cool!

1. When using the terminal, the command 'ls' doesn't work (No such program). You gotta check that out, as well as any other regular bash commands.
2. Is there a keybinding for switching tasks left and right, or opening the task menu? That'd speed things up a bit.
3. When using the bottom menu on the main screen (the one that shows Shutdown and Restart and Refresh), and I press the left or right arrows, it just changes the background color to green.
4. On the main screen, the 'Bette' icon does nothing. What is a 'Bette' anyway?
Edited on 29 August 2015 - 02:50 AM
Creeper9207 #30
Posted 29 August 2015 - 09:24 PM
Ok, im really impressed, but can you put the kernel up for download for others to use in thier' oses? I suck at multitasking XD
cyanisaac #31
Posted 29 August 2015 - 11:53 PM
Ok, im really impressed, but can you put the kernel up for download for others to use in thier' oses? I suck at multitasking XD

For most stuff you can use the parallel api which is very very simple.
AndreWalia #32
Posted 30 August 2015 - 12:02 AM
It's standard, not standart.

and OSes don't have BIOSes. Computers do.

Actually Motherboards do, not computers.
(Sorry I had to)
Lignum #33
Posted 30 August 2015 - 12:12 AM
For most stuff you can use the parallel api which is very very simple.

Not really, how are you going to add new processes after waitForAll/waitForAny has been called?
Geforce Fan #34
Posted 30 August 2015 - 02:20 AM
It's standard, not standart.

and OSes don't have BIOSes. Computers do.

Actually Motherboards do, not computers.
(Sorry I had to)
Motherboards are capable of basic math.
Therefore, motherboards are computers.
Technically.
Creeper9207 #35
Posted 31 August 2015 - 01:33 AM
Ok, im really impressed, but can you put the kernel up for download for others to use in thier' oses? I suck at multitasking XD

For most stuff you can use the parallel api which is very very simple.

Nuh, i want to be able to pause ma tasks
Edited on 30 August 2015 - 11:33 PM
Creator #36
Posted 01 September 2015 - 04:40 PM
In order to download the kernel, go to https://github.com/Creator/OmniOS/blob/master/Core/Kernel.lua
Conczin #37
Posted 11 September 2015 - 11:56 AM
Im not sure if this is a bug, but nPaint and Edit do not launch and Aware does nothing, only shows a black screen.

The ability to control this OS with the keyboard too would be helpful in some cases, like switching between taskes and so on.

I like the backgroundcolor option, but if I press one of the arrows (left/right) in the options bar on the desktop, the background switches to green. Why?

You can increase the performance by drawing only things you need. For example you redraw the full screen by pressing the arrows on the top corners, but nothing changes.

As already said in another post, stopping non selected tasks has to be fixed.

All in all a nice OS (or the beginning of one) ^_^/>
Creator #38
Posted 12 September 2015 - 04:34 PM
Thanks for the tipps. Now that I can code again, the project will evolve further. That sounded akward. :P/>
Creator #39
Posted 13 September 2015 - 01:12 PM
I have an issue I can't seem to find a solution too. The cursor does not blink. I do use the standard window API. Does anyone have an idea what could be causing that?
Creator #40
Posted 27 September 2015 - 06:50 PM
There is a way to control OmniOS with the keyboard.
Pressing "Alt" and the number corresponding to the process will switch to it.
Example:
Alt + 1 takes you to the Debug app.
Creator #41
Posted 12 October 2015 - 05:28 PM
New version: 15w43a

New:
  • Fixed error system, it is now displayed directly on screen
  • FS sandbox is also working correctly
This allows you to bypass the difficult process of going to the log folder ans checking it manually. it's something!
Creator #42
Posted 17 October 2015 - 04:34 PM
Does anyone actually use OmniOS and is it worth the effort I am putting in it?
LeDark Lua #43
Posted 17 October 2015 - 07:43 PM
If I would have Minecraft, I would have a great use for it, but now, I use it for learning purposes and just trying to bug out the system, and In two weeks, I could not do anything, no bugs, no nothing, working properly. Except If you made it, you could tell us the exploits or weak spots so we could find bugs.
Creator #44
Posted 17 October 2015 - 07:54 PM
Do you mean that you were intentionally trying to bug OmniOS?
Well I totally encourage you to do so and to report the possible exploits (or keep them to yourself for evil purposes).
I am flattered that everything works properly.

There is one bug I can't fix: when I launch the shell program from the desktop, it gets to use the root directory not the OmniOS/usr directory. I have still no idea how to fix that one.

I also don't mind you using the code for learning purposes.

PS: I was sure you'd post because 1) I saw you in the online member list and you were reading this topic 2) you always respond and I find that great!
tehComputerCrafter #45
Posted 18 October 2015 - 06:58 AM
Missing program: Calculator.
found it in FileX, is it unused?
Creator #46
Posted 18 October 2015 - 10:58 PM
Calculator. Yep. It is unused because it was buggy and raised an error, which stopped OmniOS.
tehComputerCrafter #47
Posted 19 October 2015 - 05:53 AM
Ok then.
Creator #48
Posted 24 October 2015 - 03:57 PM
I am going to implement daemons into OmniOS. If you have any useful ideas, be sure to share them now while I have not implemented too much code. One of the ideas I have is to use it to detect key combinations and networking. Maybe notifications too.
Creator #49
Posted 04 November 2015 - 04:25 PM
Also, I have been working on a GUI framework. It will replace Interact, which was a failure. Any other requests you may have, because now I'm getting serious with coding.
thedigi321 #50
Posted 04 November 2015 - 11:10 PM
I love this OS, and found somethings that i would like but it might not be possible here is some of the things if they are not added yet:
i would love to have the ability to have more OSes on the list like if i want the Chrome OS, OmiOS, and Rindows on the list then i can pick from the ones i have installed, that might not be possible tho. another thing i would like is to make my own shortcuts on the desktop with programs from the list(also that might not be possible. there is an error currently
a bug i found is when clicking the NPaintPro gave me an error of "cannot resume dead coroutine", another thing is when on filex and right clicking then "Run" i get the error "Main.lua:689: attempt to concatenate nil and string". in settings when i click "desktop", shortcuts, then the + on the bottom left i get the error Main.lua:46:attempt to index ? (a nil value)
some things may need work but this OS shows promise
LDDestroier #51
Posted 04 November 2015 - 11:32 PM
Would you consider not making your own UI framework and using Flare, which already exists?
Creator #52
Posted 05 November 2015 - 05:28 AM
Thanks for the feedback.
@thedigi: this is the kind of feedback I love because I know exactly what I have to fix. Thanks.

@LDD: By making my own, I have several advantages: I know exactly how it works. If I don't like it, I change it. I also can modify it very easily. Remember that CC is a learning platform, so how much would I learn about coding and the pain making a GUI framework is if I used Flare. I also believe that my framework has a slight design (not visual, but coding/idea) advantage and if I optimize it properly, it might be faster.

Edit: Adding new OSes is no prob. I'll work on the bios function of the OS and allow you to add more OSes and the path of the file that should be run.
Creator #53
Posted 05 November 2015 - 03:30 PM
Good news, I added the ability to add OSes and the respective paths.
Creator #54
Posted 05 November 2015 - 03:58 PM
New version released: 15w45a

Features:
- The bios allows the addition of other OSes.
- Some other improvements.
Creator #55
Posted 05 November 2015 - 04:07 PM
The pastebin install script has been updated.
Nothy #56
Posted 05 November 2015 - 07:01 PM
When trying to add icons to the home screen, I stumbled upon this error:

"Main.lua:46: attempt to index ? (a nil value)"
Creator #57
Posted 05 November 2015 - 07:35 PM
I know. I will be fixing that. It is just that Interact was over complicated and overly badly designed. I am replacing it with another, better GUI framework.

I have been working on the wiki of OmniOS for the past few days, so if you feel like being overwhelmed with a nice documentation, be sure to drop by.

The best written (and only complete) page is OmniOS API.

Some of you may have heard of Pixel, an Application Framework I am developing. (If you haven't heard of it, be sure to look at the Gitter chat.) Well the good news is that OmniOS will completely switch to using it.
LoganDark #58
Posted 07 December 2015 - 07:12 AM
Nice! I really like this OS, but there are some catches I don't really like.
Creator #59
Posted 07 December 2015 - 06:47 PM
Nice! I really like this OS, but there are some catches I don't really like.

I'm listening. What can I improve?

And thanks!
LDDestroier #60
Posted 10 December 2015 - 02:17 AM
If there's any advice that I can give, try to make the color palate good looking. I try to stick with a gray background/white text, or lightGray background/black text for highlighted things. Orange text works nicely over gray, but not orange background.

I say this because the screenshot with the green background makes my eyes hurt. Color contrast is important!
Creator #61
Posted 10 December 2015 - 05:30 AM
Ok, that is some veruy precise advice I will be taking into account.
martmists #62
Posted 12 December 2015 - 05:15 PM
OmniOS does not seem to work in 1.8: CC-1.76pr2
Creator #63
Posted 12 December 2015 - 05:29 PM
Seriously? What happens?
ThyMason122 #64
Posted 22 December 2015 - 08:11 PM
Looks great! I'm liking the multitask function!
Creator #65
Posted 22 December 2015 - 08:39 PM
Looks great! I'm liking the multitask function!

Thanks a lot. You don't know what a headache it was to get it going. Have to work on the GUI too, but I have a lot of other side projects like a game engine.
Sewbacca #66
Posted 07 January 2016 - 09:59 PM
OmniOS is not working in version 1.76 of ComputerCraft anymore.
I get a bluescreen without a error message. :(/>
Creator #67
Posted 07 January 2016 - 10:37 PM
OmniOS is not working in version 1.76 of ComputerCraft anymore.
I get a bluescreen without a error message. :(/>

Thanks for the heads up. Will fix it ASAP.
randomdude999 #68
Posted 10 January 2016 - 01:53 PM
It doesn't work on me either, when starting it errors with

Boot.lua:112: Utils.lua:38: attempt to index ? (a nil value)
in 15w45a but starts in 15w43a then bluescreens without an error message when I try to open something.
Creator #69
Posted 10 January 2016 - 03:14 PM
It doesn't work on me either, when starting it errors with

Boot.lua:112: Utils.lua:38: attempt to index ? (a nil value)
in 15w45a but starts in 15w43a then bluescreens without an error message when I try to open something.

I guess I should just fix all these issues one day. Thanks.
EveryOS #70
Posted 17 February 2016 - 07:49 PM
Sounds awesome!!!
Creator #71
Posted 17 February 2016 - 10:59 PM
Sounds awesome!!!

What exactly?


And thanks!
EveryOS #72
Posted 19 February 2016 - 03:05 PM
Hey, i'm running it on the same emulator as you did (minecraftedu is not on my chromebook, can't put it on virtual machines other than the one at browsershots)
Creator #73
Posted 19 February 2016 - 04:03 PM
Hey, i'm running it on the same emulator as you did (minecraftedu is not on my chromebook, can't put it on virtual machines other than the one at browsershots)

I was using CCEmuRedux, if it is what you mean. It is a good emulator.
Leitolar #74
Posted 23 February 2016 - 02:34 PM
Bette shoutcut no works
EveryOS #75
Posted 15 March 2016 - 01:47 PM
This persists…
Edited on 25 May 2016 - 05:22 PM
Creator #76
Posted 15 March 2016 - 03:15 PM
What version of CC is this? The latest?
EveryOS #77
Posted 15 March 2016 - 03:58 PM
What version of CC is this? The latest?
1.7, at least I think
Edited on 15 March 2016 - 02:59 PM
Creator #78
Posted 15 March 2016 - 04:20 PM
I'll try it, and possibly fix it this evening. Can you please look through the error.log file in the log folder and tell me what the last entry is.
EveryOS #79
Posted 15 March 2016 - 05:25 PM
I'll try it, and possibly fix it this evening. Can you please look through the error.log file in the log folder and tell me what the last entry is.
Soon
It happens whenever I click an icon.
Lupus590 #80
Posted 15 March 2016 - 05:29 PM
[attachment=2516:Screenshot 2016-03-15 at 8.13.25 AM.png]
This persists…
What version of CC is this? The latest?
1.7, at least I think

CCEmu should have updated itself automatically to run 1.78. Try letting CCEmu update.
Creator #81
Posted 15 March 2016 - 05:59 PM
OK, will do it. Did you look at the logs, everyOS?
EveryOS #82
Posted 15 March 2016 - 06:04 PM
OK, will do it. Did you look at the logs, everyOS?
I will soon
EveryOS #83
Posted 15 March 2016 - 06:14 PM
[1:6.842].[Desktop]:
It doesn't provide the error here either
Creator #84
Posted 15 March 2016 - 06:22 PM
Well, I just tried it, and this is what I get:



Are you using the latest version of OmniOS?
EveryOS #85
Posted 15 March 2016 - 06:22 PM
This happens when I launch ANY app
Creator #86
Posted 15 March 2016 - 06:25 PM
Just got the same error when opening a program.
EveryOS #87
Posted 15 March 2016 - 06:25 PM
I am using version 2DMDuHci
Creator #88
Posted 15 March 2016 - 06:28 PM
Found it: Sandbox.lua: 115. Something with environments.
EveryOS #89
Posted 15 March 2016 - 06:31 PM
Found it: Sandbox.lua: 115. Something with environments.
Thx (:
Creator #90
Posted 15 March 2016 - 07:52 PM
I kinda feel like OmniOS is pretty broken now. Also there are a lot of things I have learned since, so I might go through an extensive rewrite.

Of course, I will also add new features, like full disk encryption.
EveryOS #91
Posted 15 March 2016 - 08:09 PM
I kinda feel like OmniOS is pretty broken now. Also there are a lot of things I have learned since, so I might go through an extensive rewrite.

Of course, I will also add new features, like full disk encryption.
Why not fix broken os's?
Creator #92
Posted 15 March 2016 - 08:12 PM
I am gonna fix it. Or am I misunderstanding your question?
EveryOS #93
Posted 15 March 2016 - 08:25 PM
I am gonna fix it. Or am I misunderstanding your question?
Good. Rember to update the command in your signature.

Also, I followed you on github, as you can see at https://github.com/Creator/followers
I used my real name in my github account, but you should notice I have about the same locatyion set

Also, have you looked at my os that's under developement. It's not available to public, but the end to the pastebin run command for it can be found if you click on the link in my signasture
Edited on 15 March 2016 - 07:36 PM
Selim #94
Posted 16 March 2016 - 02:42 AM
It's not available to public, but the end to the pastebin run command for it can be found if you click on the link in my signasture signature
Well, if the installer is in your signature, that means it is public…
EveryOS #95
Posted 16 March 2016 - 11:53 AM
It's not available to public, but the end to the pastebin run command for it can be found if you click on the link in my signasture signature
Well, if the installer is in your signature, that means it is public…
It's not the installer, if you click the link you'll see a couple of random letters. If you add pastebin.com/ %S then you get to the installer

For example, right now if you click on the link, KitREnNB would apppear.

To get the actual installer you type

pastebin run %s
Which translates to

pastebin run KitREnNB

And by not available to public, I mean I haven't made a post about it yet.
Edited on 16 March 2016 - 10:59 AM
EveryOS #96
Posted 16 March 2016 - 12:02 PM
Also, I think I have a solution. I assume you are using setfenv. Just get rid of it.

Edit:
Why? First of all, you probably didn't put _G in your environment. Secondly, you did say the problem had to do with environments. Lastly, I hate setfenv. It limits the ability for the user to make their own compatable programs.
Edited on 20 April 2018 - 12:14 PM
Creator #97
Posted 16 March 2016 - 01:43 PM
I never use getfenv. Never.
EveryOS #98
Posted 16 March 2016 - 01:49 PM
I never use getfenv. Never.
I meant to say setfenv.

Also, you never answered my question from that one reply.

Did you see that I followed you? On github.
Edited on 16 March 2016 - 12:51 PM
Creator #99
Posted 16 March 2016 - 03:23 PM
Yep, I saw that. I don't know what you mean with the location thingy. Same as on the forums?

setfenv is extremely useful. Not using it is like:

1. the entire OS not working, because without envs, functions don't often work properly

2. me, making OmniOS very insecure, since no sandbox is possible.
FUNCTION MAN! #100
Posted 16 March 2016 - 03:39 PM
No sandbox is possible, huh?


fn = load(string.dump(fn), nil, nil, setmetatable({}, {__index = _G}))
Creator #101
Posted 16 March 2016 - 03:44 PM
Except with load, which is not an official function in 5.1 Also, let me remind you that load uses setfenv in CC. So, no sandbox is possible without setfenv in 5.1
EveryOS #102
Posted 16 March 2016 - 06:16 PM
Since I'm following you on github, you should follow me

Yep, I saw that. I don't know what you mean with the location thingy. Same as on the forums?

setfenv is extremely useful. Not using it is like:

1. the entire OS not working, because without envs, functions don't often work properly

2. me, making OmniOS very insecure, since no sandbox is possible.
Well… If you really care, I like working OS's, and you really don't want to get rid of setfenv, and I want you to publish a REPAIRED version of this, so I just got the emulator on my Chromebook again.

Found it: Sandbox.lua: 115. Something with environments.
Where in omniOs is that stored anyways.
Edited on 25 May 2016 - 05:23 PM
Creator #103
Posted 16 March 2016 - 06:49 PM
Yeah. That file. I will fix it as soon as I am done with Pixel, the new GUI interface of OmniOS.
Creator #104
Posted 17 March 2016 - 02:42 PM
Update: Changed the logo of OmniOS.

Credits go to LoganDark.

This is the first step of the rewrite.
EveryOS #105
Posted 17 March 2016 - 04:05 PM
This is the first step of the rewrite.
And what exactly is the full list of steps you are planning?
LDDestroier #106
Posted 18 March 2016 - 11:39 AM


Help?
Creator #107
Posted 18 March 2016 - 01:12 PM
Is this the latest version? It does not happen when I boot into OmniOS.
LDDestroier #108
Posted 18 March 2016 - 01:30 PM
Yeah, latest version and everything.
Creator #109
Posted 18 March 2016 - 02:54 PM
OK, I'll look into it. While why wait, could reinstall it on a clean PC?
Atomosie #110
Posted 19 March 2016 - 02:26 AM
Ok, so I noticed that none of you are having this problem, but for some reason when I run: pastebin run 2DMDuHci, then it will just say: string:21402: attempt to index ? (a nil value)
I don't know what this means. Could you help me with this?
apemanzilla #111
Posted 19 March 2016 - 07:49 PM
On the topic of environments…

getfenv and setfenv are Lua 5.1 only.

load and _ENV are Lua 5.2 only.

If I were you I would go for using load and _ENV instead of setfenv and getfenv because setfenv and getfenv are Lua 5.1 features and CC is slowly moving towards Lua 5.2, meaning that you may lose access to them.
Creator #112
Posted 19 March 2016 - 07:55 PM
The actual command is "pastebin run 2DMDuHci OmniOS"

@giantnuker. I am planning a rewrite of OmniOS, so that issue will get fixed.

The first step was to change the logo. The second one, which I am working on, is to finish Pixel. I got buttons working yesterday.
Edited on 03 April 2016 - 05:24 PM
Sewbacca #113
Posted 20 March 2016 - 10:52 AM
Will exits loadfile(path, env) any more in Lua 5.2?
Lignum #114
Posted 20 March 2016 - 11:38 AM
Will exits loadfile(path, env) any more in Lua 5.2?

Yes, but loadstring will be replaced with load. Also do note that loadfile's signature is different: loadfile(path, mode, env).
GiantNuker #115
Posted 03 April 2016 - 03:44 AM
I know this isn't that helpful, but it crashed about 3/4 of the way through loading, i forgot the error but it had something to do with the kernal i think, i'll look more into it
Creator #116
Posted 12 April 2016 - 03:45 PM
I'll try to work on it ASAP.
Sewbacca #117
Posted 12 April 2016 - 03:47 PM
ASAP, ASAP, ASAP, are you able to say something else except ASAP?
Edited on 12 April 2016 - 01:47 PM
Creator #118
Posted 12 April 2016 - 04:29 PM
Yeah: better later then never.
Sewbacca #119
Posted 12 April 2016 - 04:45 PM
Never put off till tomorrow what you can do today.
Creator #120
Posted 12 April 2016 - 04:48 PM
I can't do it today. But I am working on it today.
LDDestroier #121
Posted 12 April 2016 - 04:48 PM
Never put off till tomorrow what you can do today.
Dude, it's a computercraft OS. Give him time, this is a side project.
Sewbacca #122
Posted 12 April 2016 - 06:08 PM
Never put off till tomorrow what you can do today.
Dude, it's a computercraft OS. Give him time, this is a side project.
I just wanted to motivate him :)/> , but you are right, this is a side project.
Creator #123
Posted 12 April 2016 - 06:18 PM
I kind of try to program a little every day, but sometimes I just don't feel like it or don't have time. So, it is going to take some time for sure.
Sewbacca #124
Posted 12 April 2016 - 06:54 PM
Its okay, it is your os. :D/>
Creator #125
Posted 12 April 2016 - 07:05 PM
Its okay, it is your os. :D/>

Wow!!! You sure? That is some mind-blowing info. :P/>
Edited on 12 April 2016 - 05:05 PM
LDDestroier #126
Posted 12 April 2016 - 07:26 PM
Its okay, it is your os. :D/>

Wow!!! You sure? That is some mind-blowing info. :P/>

Duuuuuuuuuuude.
Creator #127
Posted 12 April 2016 - 08:23 PM
Its okay, it is your os. :D/>

Wow!!! You sure? That is some mind-blowing info. :P/>

Duuuuuuuuuuude.

That some higher level of irony? Who are thou mocking? Me or him?

The reply thingy would suggest it's me, but we do share the same opinion, which leads me to believe it's him.
Sewbacca #128
Posted 13 April 2016 - 11:40 PM
Its okay, it is your os. :D/>/>/>

Wow!!! You sure? That is some mind-blowing info. :P/>/>/>

Duuuuuuuuuuude.
Whaaaaaaaaaaat.


Its okay, it is your os. :D/>/>/>

Wow!!! You sure? That is some mind-blowing info. :P/>/>/>
I hope, being sure.
Edited on 13 April 2016 - 09:39 PM
Creator #129
Posted 19 April 2016 - 07:55 PM
Development of OmniOS has restarted. I have reorganized the entire directory system so that it looks more like *nix systems.

The task will be long, but the results will be worth it:
  • better security
  • more filesystems
  • whole disk encryption
  • ipc
  • everything is a file
  • a lot of stuff
  • mainly *nix related features

PS: I accept the consequences of being bullied by DemHydraz over anything related to *nix systems.
Creator #130
Posted 24 April 2016 - 09:49 AM
Started the rewrite a couple of days ago, and this is what I've done:
  • TLCO
  • Boot sequence
  • Lib loading
  • Driver loading
  • fs overwrite
  • started the process manager
Sewbacca #131
Posted 24 April 2016 - 11:56 AM
Nice.
Creator #132
Posted 24 April 2016 - 12:37 PM
Thanks.
Creator #133
Posted 26 April 2016 - 10:33 PM
One feature I did not mention was that there would be a new shell. It supports piping, which is nice. The kernel is almost ready. I need to finish the different functions that allow user space and kernel space to interact with it.

Basically, I'm doing my best to make OmniOS a *nix like operating system, because their concept simply works and is awesome. I'll also be adding Pixel to the packet, as I believe a nice GUI is a must.
Edited on 26 April 2016 - 08:34 PM
Creator #134
Posted 17 May 2016 - 04:47 AM
Just a quick resume of what was posted:
  • The shell uses pipes. These pipes do not use buffering, but behave like real pipes. Basically threads with overwritten input and output functions.
  • The current version of OmniOS is not yet available for download, since there is a very annoying bug in the rewritten version.
  • Yes, there was a complete rewrite of the boot and kernel code of OmniOS
  • OmniOS now aims to be more *nix like, since they know what they are doing and I like their concept.
Creator #135
Posted 27 September 2016 - 07:21 PM
Hey guys, I'm kind of back, and I'll try to work on OmniOS again.

Maybe a complete rewrite, I'm not sure yet.
Piorjade #136
Posted 27 September 2016 - 07:55 PM
Dayum what's up with these unix ideas lately.. :D/>

And it Looks like my browser likes to make english words uppercase, hell yeah.
Creator #137
Posted 27 September 2016 - 09:38 PM
It's just that *nix works. And it makes more sense, at least to me.
LDDestroier #138
Posted 27 September 2016 - 10:08 PM
Well if you're going to continue working on OmniOS, first things first - change that color palate. White on green is an eyesore…in fact, green backgrounds never look good. The color wheel is your friend.
Sewbacca #139
Posted 27 September 2016 - 10:22 PM
You are online =)
Creator #140
Posted 27 September 2016 - 10:38 PM
The GUI is definitely one the weaker parts of OmniOS.

Currently working on pipes. Perfecting them.
Sewbacca #141
Posted 28 September 2016 - 03:48 PM
The GUI is definitely one the weaker parts of OmniOS.

Currently working on pipes. Perfecting them.

I've big problems with the f**king textutils cause of the global term.
Do you have the same problem with windows?
I thought on two solutions:
1. Loading the API for every program again and again
2. redirecting term, by switching between programs

Sewbacca
Creator #142
Posted 28 September 2016 - 05:38 PM
I have encountered no such issues until now.

Could you explain what happens exactly. And I don't use textutils.
Creator #143
Posted 29 September 2016 - 08:23 PM
Fixing the kernel currently.

Also working on the pipes. For some mysterious reason the always sends the first input it got.
Sewbacca #144
Posted 29 September 2016 - 08:56 PM
I mean that, but i solved it now =)
Creator #145
Posted 29 September 2016 - 09:47 PM
Just got the pipes to work perfectly. Now some more work into the shell.

I wanna implement this feature:


list >> target.txt

How is that called?

It's a form of piping.
Sewbacca #146
Posted 29 September 2016 - 10:43 PM
Just got the pipes to work perfectly. Now some more work into the shell.

I wanna implement this feature:


list >> target.txt

How is that called?

It's a form of piping.

Why do you don't use the pipe letter '|'.
Also, Lua 5.3 has the fetaures >>, to compare two numbers bitwise.
Creator #147
Posted 29 September 2016 - 10:50 PM
The pipe letter is for sending from one process to another, the >> is for sending to a file.

Current I use


list OmniOS | tac out.txt

tac is the opposite of cat (DamHydraz will kill me) and cat reads a file.
Lyqyd #148
Posted 30 September 2016 - 01:17 AM
Have you checked out lsh's pipe system? I think my previous post suggesting it got eaten a while back. It's got piping set up in accordance with sensible Lua idioms. The io functions are really the way to go for pipes.
ashnwill #149
Posted 30 September 2016 - 02:59 AM
I like OSes that really try to be unique and not just crappy CraftOS remakes, this is definitely good, keep it up
Creator #150
Posted 30 September 2016 - 05:37 AM
Have you checked out lsh's pipe system? I think my previous post suggesting it got eaten a while back. It's got piping set up in accordance with sensible Lua idioms. The io functions are really the way to go for pipes.

I definitely remember the post :)/> And yes, I'll check it out.

ashnwill said:
I like OSes that really try to be unique and not just crappy CraftOS remakes, this is definitely good, keep it up

Thanks a lot! I'm really trying to make it have a lot of features that actually work.
Sewbacca #151
Posted 30 September 2016 - 03:15 PM
I like OSes that really try to be unique and not just crappy CraftOS remakes, this is definitely good, keep it up
#NoRemake
Sewbacca #152
Posted 30 September 2016 - 11:15 PM
Oh, i forgot it to say: wow you are writing an own compiler.
So here:

WOW, you are writing an own compiler. Nice! =)
Sewbacca
Edited on 30 September 2016 - 09:15 PM
H4X0RZ #153
Posted 01 October 2016 - 02:06 AM
The pipe letter is for sending from one process to another, the >> is for sending to a file.

Current I use


list OmniOS | tac out.txt

tac is the opposite of cat (DamHydraz will kill me) and cat reads a file.

Instead of calling it "tac" which is "cat" reversed I would call it dog. (A) Dog is just superior. :D/>
Sewbacca #154
Posted 01 October 2016 - 08:41 PM
The pipe letter is for sending from one process to another, the >> is for sending to a file.

Current I use


list OmniOS | tac out.txt

tac is the opposite of cat (DamHydraz will kill me) and cat reads a file.

Instead of calling it "tac" which is "cat" reversed I would call it dog. (A) Dog is just superior. :D/>
And god reserved ^^.
Creator #155
Posted 03 October 2016 - 07:25 PM
Hey guys,

after some heavy debugging during the last week I am rolling out a new minor version. "Why minor?" you ask. Well, this version does not add a ton of new features. It rather improves on the existing ones, and mainly fixes bugs and other annoying issues.

1.1.0 Update (Codename 16w40a)

New features:
  • Shell piping works somewhat decently
  • It boots (It doesn't always.)
  • Event redirection (One process passes all the events it receive to a child process. A child process is any process that was created by a given process and of which it has the handle.)
  • reduced it's size drastically by removing useless crap from it. It now has the glorious size of 483KB. I could shrink it if I wanted.
  • It logs stuff so that you can debug. Mainly for myself.
  • All those linux bins in /bin. Some of the work.

Planned features in future versions:
  • I really want to improve the installer
  • Inter-process-communication
  • Devices, like random or tty (Can someone explain what tty is exactly and how it works?)
  • Separates windows from processes, which makes visible output redirection easier.
Piorjade #156
Posted 04 October 2016 - 12:39 PM
AFAIK are ttys like multiple "instances" of the linux term (this is not very accurate but kinda is like that).
One thing I noticed, is that many distros boot their DE in tty8 (ctrl + alt + f(nmbr) to switch to another tty) and the others are basically terminals without having X booted.

Correct me if I'm wrong..

EDIT:
Wrote boot wrong 2 times .. it's really cold out here
Can't move my fingers lol
Edited on 04 October 2016 - 01:26 PM
Creator #157
Posted 04 October 2016 - 08:42 PM
I just updated the installer.

Features:
  • Less ugly
  • Can select version
  • Can choose whether to boot on startup

Also, I had some issues with piping and window drawing. Turns out it was a pretty stupid mistake, which Exerro helped me find. So he gets some credit for that. :)/>
TheRockettek #158
Posted 05 October 2016 - 07:13 AM
https://en.m.wikipedia.org/wiki/Getty_(Unix)
Creator #159
Posted 05 October 2016 - 08:59 PM
There's a few things I got working today:
  • ramFS: this means that true temporary files are now possible. They are also blazing fast.
  • devFS: the filesystem itself is only setup to map peripherals for now, but the plan is have the device files too. The first one would be operational: dev/zero.
Edited on 05 October 2016 - 07:00 PM
Sewbacca #160
Posted 05 October 2016 - 09:14 PM
You can simplify the if statements (maybe it decrease your performance, idk):

if mode:match '^[aw]b?$' then
Creator #161
Posted 05 October 2016 - 09:16 PM
You can simplify the if statements (maybe it decrease your performance, idk):

if mode:match '^[aw]b?$' then

Smart one, I'll definitely see if it increases performance!

And thanks!
Sewbacca #162
Posted 05 October 2016 - 09:18 PM
You can simplify the if statements (maybe it decrease your performance, idk):

if mode:match '^[aw]b?$' then

Smart one, I'll definitely see if it increases performance!

And thanks!

I meant decrease, because here is a function called.
Creator #163
Posted 05 October 2016 - 09:19 PM
Oh, brain fart. Probably it'll be slower, but trying doesn't hurt.
Sewbacca #164
Posted 06 October 2016 - 10:48 PM
What did i do wrong?
I ran the installer and choosed latest.
I get an OmniOS shell?
And there isn't a help program?
Whaaaaaaaat?
Creator #165
Posted 07 October 2016 - 05:10 AM
oh sorry bout that. I have yet to do that. In the meantime, try "list /OmniOS/usr/bin" and experiment around.
Edited on 07 October 2016 - 03:11 AM
Creator #166
Posted 07 October 2016 - 06:59 PM
Currently writing the documentation for OmniOS. Expect it to be ready soon. It will be located in OmniOS/doc
Piorjade #167
Posted 07 October 2016 - 11:07 PM
I'm not quite sure if I'm allowed to do this, but I want to help you out a bit :P/>

When entering a non-existing path in list(.lua) it ends up being stuck and needs a reboot.
Here's the fixed code:

--[[
	Shell script: list by Creator
	for OmniOS
]]--

local path = (...) or getPath()


if fs.isDir(path) then
	for i, v in pairs(fs.list(path)) do
		if fs.isDir(path.."/"..v) then
			term.setTextColor(colors.green)
			print(v)
		else
			term.setTextColor(colors.white)
			print(v)
		end
	end
else
	term.setTextColor(colors.red)
	print("Not a directory.")
end

term.setTextColor(colors.white)

I'd be glad if I helped you out, maybe going to post further bugs when I find some.

EDIT:
This problem occurs on cat too, if you enter a folder.

New code:

--[[
    Shell script: cat by Creator
    for OmniOS
]]--

local path = (...) or getPath()

if fs.exists(path) and not fs.isDir(path) then
    local file = fs.open(path,"r")
    local data = file.readAll()
    file.close()
    print(data)
elseif fs.isDir(path) then
    term.setTextColor(colors.red)
    print("Path is a folder.")
else
    print("File does not exist.")
end
Edited on 07 October 2016 - 09:11 PM
Creator #168
Posted 08 October 2016 - 01:56 PM
I'm not quite sure if I'm allowed to do this, but I want to help you out a bit :P/>

When entering a non-existing path in list(.lua) it ends up being stuck and needs a reboot.
Here's the fixed code:

--[[
	Shell script: list by Creator
	for OmniOS
]]--

local path = (...) or getPath()


if fs.isDir(path) then
	for i, v in pairs(fs.list(path)) do
		if fs.isDir(path.."/"..v) then
			term.setTextColor(colors.green)
			print(v)
		else
			term.setTextColor(colors.white)
			print(v)
		end
	end
else
	term.setTextColor(colors.red)
	print("Not a directory.")
end

term.setTextColor(colors.white)

I'd be glad if I helped you out, maybe going to post further bugs when I find some.

EDIT:
This problem occurs on cat too, if you enter a folder.

New code:

--[[
	Shell script: cat by Creator
	for OmniOS
]]--

local path = (...) or getPath()

if fs.exists(path) and not fs.isDir(path) then
	local file = fs.open(path,"r")
	local data = file.readAll()
	file.close()
	print(data)
elseif fs.isDir(path) then
	term.setTextColor(colors.red)
	print("Path is a folder.")
else
	print("File does not exist.")
end

Thanks a lot!

I made the suggested changes and gave you credit in the scripts themselves.
Piorjade #169
Posted 08 October 2016 - 07:34 PM
No problem :)/>

EDIT:
Looks like you didn't upload it yet :P/>

Anyways, this rewrite looks quite good ! :)/>
Edited on 08 October 2016 - 07:47 PM
Creator #170
Posted 10 October 2016 - 09:29 PM
Devfs is now working quite well. When assigning devfs to a directory, it reads and loads all the files in it. They can then be opened like normal files and will return some output. For example (zero device):


--[[
Zero device
]]
local function instance(mode)
if mode == "r" then
  local handle = {}
  function handle.readLine()
   return "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  end

  function handle.readAll()
   return "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  end

  function handle.close()
   handle.readLine = nil
   handle.readAll = nil
   handle.close = nil
  end

  return handle
elseif mode == "rb" then
  local handle = {}

  function handle.read()
   read "\0"
  end

  function handle.close()
   handle.read = nil
   handle.close = nil
  end

  return handle
elseif mode == "w" or mode == "a" or mode == "wb" or mode == "ab" then -- try if mode:match '^[aw]b?$' then
  local handle = {}
  function handle.write(input)
  end
  function handle.writeLine(input)
  
  end
  function handle.flush()
  end
  function handle.close()
   handle.write = nil
   handle.writeLine = nil
   handle.flush = nil
   handle.close = nil
  end
  return handle
end
end
return instance

Once the new filesystem has been set, the contents will be compiled, and a function is returned that can then be called when the file is opened. When the file is read from, it returns a bunch of zeroes. I hope this explanation kind of makes sense.
Sewbacca #171
Posted 10 October 2016 - 09:48 PM
Devfs is now working quite well. When assigning devfs to a directory, it reads and loads all the files in it. They can then be opened like normal files and will return some output. For example (zero device):
– snippet –
Once the new filesystem has been set, the contents will be compiled, and a function is returned that can then be called when the file is opened. When the file is read from, it returns a bunch of zeroes. I hope this explanation kind of makes sense.

I don't see the sense of a handle, returning just zeros.
Creator #172
Posted 10 October 2016 - 10:47 PM
That is what the zero device does. Other devices have different functions, like for example the random or urandom device. Or TTY.
lkmnds #173
Posted 11 October 2016 - 12:30 AM
Shouldn't the zero device return the number of zeros that you want and not a predetermined string?

like implementing a bytes argument in handle.read()


function handle.read(bytes)
	local result = ""
	-- check if bytes is less than 1, if it is a number, etc
	for i=1,bytes do
		result = result .. "\0"
	end
	return result
end
Edited on 10 October 2016 - 10:34 PM
Lyqyd #174
Posted 11 October 2016 - 05:09 AM
Easier and faster:


return string.rep("\0", bytes)
Lur_ #175
Posted 11 October 2016 - 05:38 AM
Easier and faster:


return string.rep("\0", bytes)

aaand smaller!

return ("\0"):rep(bytes)
Creator #176
Posted 11 October 2016 - 10:02 AM
Easier and faster:


return string.rep("\0", bytes)

The idea is to provide a continuous stream, which I have yet to implement. And I know that this way is easier, but I'm trying to stay truthful to some linux features because they are awesome.
Edited on 11 October 2016 - 04:34 PM
Piorjade #177
Posted 11 October 2016 - 02:09 PM
Hands down, we never had to go to TLCO level just to make our OSes, hell you could just make it ontop of that and if you want to prevent TLCO, just run TLCO and make such a kind of running shell and rednet, that no matter if rednet crashes , it continues running shell and / or restart rednet. Aaand then build your OS ontop of shell :P/>

Tho we still kick out shell for fun / make it look cooler / make it maybe even more secure (which is honestly not that needed. :P/> )

My purpose for cLinux is fun :D/>
Sewbacca #178
Posted 11 October 2016 - 05:48 PM
Easier and faster:
 return string.rep("\0", bytes) 
The idea is to provide a continuous stream, which I have yet to implement. And I know that this way is easier, but im trying to stay truthfull to linux.

Well, i thought you are programming on OmniOS, not on a Linux OS.
I think that we have to develop OSes for CC, not to replicate already existing OSes.
Our OSes should be unique.
Yes, there is a ccLinux and it is okay, because it is not a replicate with another name.
I think the idea behind CC OSes are to implement features, like a desktop environment or a piping system,
but not the working wise (You know what i mean). Maybe i got you wrong, so correct me if i am wrong.
Sewbacca
Edited on 16 October 2016 - 03:10 PM
Creator #179
Posted 11 October 2016 - 06:33 PM
Easier and faster:
 return string.rep("\0", bytes) 
The idea is to provide a continuous stream, which I have yet to implement. And I know that this way is easier, but im trying to stay truthfull to linux.

Well, i thought you are programmin on OmniOS, not on a Linux OS.
I think that we have to develop OSes for CC, not to replicate already existing OSes.
Our OSes should be unique.
Yes, there is a ccLinux and it is okay, because it is not a replicate with another name.
I think the idea behind CC OSes are to implement features, like a desktop environment or a piping system,
but not the working wise (You know what i mean). Maybe i got you wrong, so correct me if i am wrong.
Sewbacca

I just think that devices are a neat idea and that I should implement them into OmniOS. It is true that I got the idea from Linux, but me saying that I am staying truthful to Linux was an overstatement. I just think that some of the features are nice and I plan to implement them.
Creator #180
Posted 13 October 2016 - 07:29 PM
A small update:
  • removed useless code, reducing OS size.
  • fixed a few kernel issues
  • discovered a whole new set vulnerabilities
Piorjade #181
Posted 15 October 2016 - 12:58 AM
A small update:
  • removed useless code, reducing OS size.
  • fixed a few kernel issues
  • discovered a whole new set vulnerabilities

Not trying to be rude, but you still didn't fix the scripts I posted above :P/>
Creator #182
Posted 15 October 2016 - 07:57 AM
A small update:
  • removed useless code, reducing OS size.
  • fixed a few kernel issues
  • discovered a whole new set vulnerabilities

Not trying to be rude, but you still didn't fix the scripts I posted above :P/>


Of course I did, take a look for yourself. Here and here.

Its't not in the new release, because there isn't a new release. Not enough stuff has been changed/approved for there to be one.
Piorjade #183
Posted 15 October 2016 - 10:13 AM
A small update:
  • removed useless code, reducing OS size.
  • fixed a few kernel issues
  • discovered a whole new set vulnerabilities

Not trying to be rude, but you still didn't fix the scripts I posted above :P/>


Of course I did, take a look for yourself. Here and here.

Its't not in the new release, because there isn't a new release. Not enough stuff has been changed/approved for there to be one.
Aaah didn't know you had a GitHub for that :P/>
SkyCrafter0 #184
Posted 20 May 2017 - 09:46 PM
There is an error, im trying to install it, i tried the main and latest version, i pressed y and then it gave
me this error: string:86: attempt to index ? (a nil value). some help please?
oh yeh also this happens for every OS
(Edit)
BTW I am running the SkyFactory 2.4 and the CC Version is: 1.73 MC Version 1.7.10

the line is

local func = loadstring(http.get(url).readAll())
Edited on 21 May 2017 - 11:26 PM
Creator #185
Posted 25 May 2017 - 05:34 PM
There is an error, im trying to install it, i tried the main and latest version, i pressed y and then it gave
me this error: string:86: attempt to index ? (a nil value). some help please?
oh yeh also this happens for every OS
(Edit)
BTW I am running the SkyFactory 2.4 and the CC Version is: 1.73 MC Version 1.7.10

the line is

local func = loadstring(http.get(url).readAll())

I took the code down. Will put it back up asap after some quick corrections.
ThreeSpy712 #186
Posted 27 May 2017 - 05:14 PM
Hi, I try to run it and I get the message: "2DMDuHci:86: attempt to index ? (a nil value)". Can anyone help me with this?
DannySMc #187
Posted 31 May 2017 - 09:42 AM
Hi, I try to run it and I get the message: "2DMDuHci:86: attempt to index ? (a nil value)". Can anyone help me with this?

Please read the above message, I have also quoted it below also:

- snip -

I took the code down. Will put it back up asap after some quick corrections.
Creator #188
Posted 17 June 2017 - 07:47 PM
After a very long hiatus, I have resumed dev on this. Nothing big, just modularizing the kernel, adding new FSes, improving general security.
Nothy #189
Posted 20 July 2017 - 01:47 PM
Installer crashes right after picking OS version with "86: Attempt to index ? (a nil value)"

Edit: the DL URL in the installer returns 404 not found.
Edited on 20 July 2017 - 11:49 AM
Creator #190
Posted 20 July 2017 - 02:50 PM
I haven't put up the latest version yet. It needs some polishing.
Zecradox #191
Posted 29 April 2018 - 01:20 PM
no pics no clicks
EveryOS #192
Posted 30 April 2018 - 04:53 PM
The latest version has been taken down, support obviously paused for a while…
Creator #193
Posted 03 May 2018 - 05:43 PM
Yes, indeed. I've gotten busy with a lot of other stuff.