OneOS Version 2 - The All in One Operating...
Goof 03 Jul 2014
I think that error means that you didnt whitelist the websites, OneOS needs, to verify versions, and download files.
change your cfg file where it says whitelist: pastebin.com*; computercraft.info*
to whitelist: *;
someone correct me if i made typos ( on my phone atm )
I Hope that helped
change your cfg file where it says whitelist: pastebin.com*; computercraft.info*
to whitelist: *;
someone correct me if i made typos ( on my phone atm )
I Hope that helped
Saldor010 03 Jul 2014
NanoBob, on 03 July 2014 - 11:54 AM, said:
And where exactly can I find the config file?
This tutorial was made for this exact problem.
http://www.computerc...e-the-http-api/
Phlimy 03 Jul 2014
Oh My ******* God
It's amazing!! There is no lag/bugs and very easy to use =D
It's amazing!! There is no lag/bugs and very easy to use =D
SpencerBeige 03 Jul 2014
people always saying how great this is....i cannot even download it...it says 'domain not permitted'
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
Dog 03 Jul 2014
slow-coder, on 03 July 2014 - 07:41 PM, said:
people always saying how great this is....i cannot even download it...it says 'domain not permitted'
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
In this case, 'domain not permitted' is a behavior of ComputerCraft 1.6. The solution is easily found via Google, but I'll save you the time...
Open your ComputerCraft.cfg file and find this entry:
# Set the list of domains that can be accessed through "http" API on Computers. Set this to "*" to enable access to the entire internet. S:http_whitelist=*pastebin.com;*computercraft.info;*github.com --# these entries may be different in your config
To enable ALL domains do this
# Set the list of domains that can be accessed through "http" API on Computers. Set this to "*" to enable access to the entire internet. S:http_whitelist=*
or simply add the domains you wish to be able to visit following the format in the above example.
If you are playing on a server, the server admin will have to do this.
Saldor010 03 Jul 2014
slow-coder, on 03 July 2014 - 07:41 PM, said:
people always saying how great this is....i cannot even download it...it says 'domain not permitted'
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
Well, that's your fault, not Oeed's fault. Follow this link, http://www.computerc...e-the-http-api/, or follow the above post's instructions.
oeed 04 Jul 2014
First of all, sorry for not reply for a while, I've been on holiday for a few days.
Thanks!
You definitely can in 1.2 (which is still to be released), but I'm not sure if I added it to 1.1 (pretty sure I didn't).
What you could do is rename startup to something else (something like 'oneos') then, create a new startup file with this code:
Yea the App Store's rather glitchy, hopefully it'll be fixed when I remake it with Bedrock.
Yea you just need to do what Dog said. I do mention that in the first post, although I should probably make it more obvious as to how to fix it.
Now, on to some more news with the update.
It's moving along nicely. I've finally converted the base OS across to Bedrock (read the previous page for more info about it).
The previously 600 line main file is now only 60 lines and probably won't get much bigger. I've got menus and windows all working.
Here's some example code for making an alert box:
Which results in:
You can also show windows using a view (similar to program:LoadView) with similar syntax as above.
For menus the code looks like:
I've also added drawing constraints. Basically, if you have something like a window and the content is bigger than the window it will cut out everything that isn't within the constraints, you can also toggle this off. Additionally, these constraints are compounded, meaning that they essentially stack up... yea I can't really explain that, but they basically just work.
One of the big things I'm wanting feedback on is when the screen is drawn. Previously when ever something was clicked or something needed to be drawn the system would draw everything again (buffered though). In this new system I've made it so it will check if anything needs to be drawn every fifth of a second and if so draw anything that changed. All objects which haven't changed will draw from a cache. Objects can tell the OS to draw them using self:ForceDraw() However, I'm not sure if doing it this way is the best really, so if you have any feedback in this area it'd be most appreciated.
Edited by oeed, 04 July 2014 - 05:16 AM.
MrStickmanPro1, on 29 June 2014 - 02:01 PM, said:
Hey,
first of all, I gotta say that this is the best OS I've seen so far for computercraft. Well done.
However, I've got one question: If yes, how can you use external monitors?
- MrStickmanPro1
first of all, I gotta say that this is the best OS I've seen so far for computercraft. Well done.
However, I've got one question: If yes, how can you use external monitors?
- MrStickmanPro1
You definitely can in 1.2 (which is still to be released), but I'm not sure if I added it to 1.1 (pretty sure I didn't).
What you could do is rename startup to something else (something like 'oneos') then, create a new startup file with this code:
shell.run('monitor left oneos') --replace left with the side of the monitorThe main problem is that you can't right click but everything else should work.
Beeskee, on 30 June 2014 - 05:14 AM, said:
This is pretty sweet, I'm running it on FTB Unleashed and everything seems to be going well so far. The only bug I have encountered is in the app store, it crashes. I get this error: "startup:572: attempt to get length of number"
slow-coder, on 03 July 2014 - 07:41 PM, said:
people always saying how great this is....i cannot even download it...it says 'domain not permitted'
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
Now, on to some more news with the update.
It's moving along nicely. I've finally converted the base OS across to Bedrock (read the previous page for more info about it).
The previously 600 line main file is now only 60 lines and probably won't get much bigger. I've got menus and windows all working.
Here's some example code for making an alert box:
program:DisplayAlertWindow('Self Destruct?', 'Are you sure you want to blow up everything?', {'Yes', 'No'}, function(text) if text == 'Yes' then blowUp() end end)
Which results in:
You can also show windows using a view (similar to program:LoadView) with similar syntax as above.
For menus the code looks like:
myButton.OnClick = function(self, event, side, x, y) if self:ToggleMenu('desktopmenu', x, y) then program:GetObject('NewFolderMenuItem').OnClick = function(itm) --TODO: new folder end program:GetObject('NewFileMenuItem').OnClick = function(itm) --TODO: new file end program:GetObject('RefreshMenuItem').OnClick = function(itm) --TODO: refresh end end endYou can either pass the name of a file which has the menu items (which could be made using drag and drop) or you can pass a table, which could look something like:
{ ["Type"]="Menu", ["Children"]={ [1]={ ["Name"]="NewFolderMenuItem", ["Type"]="Button", ["Text"]="New Folder..." }, [2]={ ["Name"]="NewFileMenuItem", ["Type"]="Button", ["Text"]="New File..." }, [3]={ ["Name"]="Separator", ["Type"]="Separator" }, [4]={ ["Name"]="RefreshMenuItem", ["Type"]="Button", ["Text"]="Refresh" }, }, }
I've also added drawing constraints. Basically, if you have something like a window and the content is bigger than the window it will cut out everything that isn't within the constraints, you can also toggle this off. Additionally, these constraints are compounded, meaning that they essentially stack up... yea I can't really explain that, but they basically just work.
One of the big things I'm wanting feedback on is when the screen is drawn. Previously when ever something was clicked or something needed to be drawn the system would draw everything again (buffered though). In this new system I've made it so it will check if anything needs to be drawn every fifth of a second and if so draw anything that changed. All objects which haven't changed will draw from a cache. Objects can tell the OS to draw them using self:ForceDraw() However, I'm not sure if doing it this way is the best really, so if you have any feedback in this area it'd be most appreciated.
Edited by oeed, 04 July 2014 - 05:16 AM.
Thegameboy 08 Jul 2014
oeed, on 04 July 2014 - 05:13 AM, said:
One of the big things I'm wanting feedback on is when the screen is drawn. Previously when ever something was clicked or something needed to be drawn the system would draw everything again (buffered though). In this new system I've made it so it will check if anything needs to be drawn every fifth of a second and if so draw anything that changed. All objects which haven't changed will draw from a cache. Objects can tell the OS to draw them using self:ForceDraw() However, I'm not sure if doing it this way is the best really, so if you have any feedback in this area it'd be most appreciated.
First off, let me just say that I don't know how OneOS works internally, nor do I know the performance benefits of what I'm about to suggest, so this may or may not be a good idea. But why not take the best of both worlds? Have a certain "mode" using a method like you described above that you can toggle on and off that's used when you need to redraw most of the screen (ex. going into the file explorer) and another that's used for redrawing small things (ex. moving icons on the desktop, messages popping up) that can just draw what it needs to and leave everything else?
Edited by Thegameboy, 08 July 2014 - 08:10 PM.
Lyqyd 08 Jul 2014
One advantage of the way LyqydOS is laid out is that everything draws to individual buffers and there is one system-wide compositor that takes all of its buffers, composits them to the final output, and then draws that buffer to the screen, checking it against the previous buffer drawn to the screen and only drawing lines of the screen that have changed. It then copied the current output buffer and stores it to check against the next composited buffer. This occurs every time a process yields, drawing all of its changes to the screen at once. In this way, the OS prevents any unnecessary draws without messing with the visual appearance of any programs.
Geforce Fan 08 Jul 2014
No offense, but now that we have shell tabs, why would you want an OS without any extra features other than multitasking... I know that it came first, but multishell is default...
but anyway, one thing I think needs major improvements in OneOS is the file size. Seriously. It's too big. After installing OneOS you have like 1/4th of a MB to do all your stuff. I'd say you should compact everything down to a little under 500MB then have the user have 2 floppies with the OS. And if you could get it down to 124KB(probably impossible without dropping features) then that would mean only one disk. I'm currently making a program to expand storage to a (theoretically) infinite potential amount of storage using disk drives hooked to a computer, though the networks are pretty dang big for their size. For 1mb, it takes 8 drives with floppies, though you could use pocket computers, I've confirmed that they work. Either way, you don't want to have to go to the point where you need a network just to install OneOS with some space leftover.
but anyway, one thing I think needs major improvements in OneOS is the file size. Seriously. It's too big. After installing OneOS you have like 1/4th of a MB to do all your stuff. I'd say you should compact everything down to a little under 500MB then have the user have 2 floppies with the OS. And if you could get it down to 124KB(probably impossible without dropping features) then that would mean only one disk. I'm currently making a program to expand storage to a (theoretically) infinite potential amount of storage using disk drives hooked to a computer, though the networks are pretty dang big for their size. For 1mb, it takes 8 drives with floppies, though you could use pocket computers, I've confirmed that they work. Either way, you don't want to have to go to the point where you need a network just to install OneOS with some space leftover.
oeed 09 Jul 2014
Thegameboy, on 08 July 2014 - 08:09 PM, said:
First off, let me just say that I don't know how OneOS works internally, nor do I know the performance benefits of what I'm about to suggest, so this may or may not be a good idea. But why not take the best of both worlds? Have a certain "mode" using a method like you described above that you can toggle on and off that's used when you need to redraw most of the screen (ex. going into the file explorer) and another that's used for redrawing small things (ex. moving icons on the desktop, messages popping up) that can just draw what it needs to and leave everything else?
Lyqyd, on 08 July 2014 - 08:47 PM, said:
One advantage of the way LyqydOS is laid out is that everything draws to individual buffers and there is one system-wide compositor that takes all of its buffers, composits them to the final output, and then draws that buffer to the screen, checking it against the previous buffer drawn to the screen and only drawing lines of the screen that have changed. It then copied the current output buffer and stores it to check against the next composited buffer. This occurs every time a process yields, drawing all of its changes to the screen at once. In this way, the OS prevents any unnecessary draws without messing with the visual appearance of any programs.
Geforce Fan, on 08 July 2014 - 09:47 PM, said:
No offense, but now that we have shell tabs, why would you want an OS without any extra features other than multitasking... I know that it came first, but multishell is default...
but anyway, one thing I think needs major improvements in OneOS is the file size. Seriously. It's too big. After installing OneOS you have like 1/4th of a MB to do all your stuff. I'd say you should compact everything down to a little under 500MB then have the user have 2 floppies with the OS. And if you could get it down to 124KB(probably impossible without dropping features) then that would mean only one disk. I'm currently making a program to expand storage to a (theoretically) infinite potential amount of storage using disk drives hooked to a computer, though the networks are pretty dang big for their size. For 1mb, it takes 8 drives with floppies, though you could use pocket computers, I've confirmed that they work. Either way, you don't want to have to go to the point where you need a network just to install OneOS with some space leftover.
but anyway, one thing I think needs major improvements in OneOS is the file size. Seriously. It's too big. After installing OneOS you have like 1/4th of a MB to do all your stuff. I'd say you should compact everything down to a little under 500MB then have the user have 2 floppies with the OS. And if you could get it down to 124KB(probably impossible without dropping features) then that would mean only one disk. I'm currently making a program to expand storage to a (theoretically) infinite potential amount of storage using disk drives hooked to a computer, though the networks are pretty dang big for their size. For 1mb, it takes 8 drives with floppies, though you could use pocket computers, I've confirmed that they work. Either way, you don't want to have to go to the point where you need a network just to install OneOS with some space leftover.
Yea... file size is quite an issue. I really just don't know what to do about it though. The largest part of the OS by far is the programs, although the APIs are still quite sizeable. I don't think getting it down to 124KB is going to be at all possible. Hopefully Bedrock will reduce the file sizes a bit as it makes a lot of code I just copied and pasted centralised (the main.lua file is now 4KB, previously it was 15KB).
I've looked briefly in to minification. Removing tabs takes about 46KB and new lines about 26KB, although that's not strictly minification. And if possible I'd like to keep line numbers for error reporting. I'm going to take a look at this today and see how beneficial it'll be: http://matthewwild.c...s/squish/readme
I'm not sure if gzipping will work with CC, but it might help a lot.
oeed 14 Jul 2014
Bit of a quick(ish) update.
I've really been trying to reduce the size of the OS. I've managed to get it around 420KB (although that could change greatly), leaving you with over 500KB. I'll try to squish it down even more, and as I rewrite more programs to use Bedrock this should certainly help.
By far the biggest three files are Sketch, LuaIDE and Ink. I put them through a minifier and it certainly helped (about 30 - 40% reduction), but unless I start deleting things there isn't really going to be much more room to make space.
In other news, I've almost finished rewriting Files. Bedrock has changed it from a 600 line file to just 200 lines, so I'm quite happy with the benefits it's having. I've also added logging to the OS which will hopefully assist with tracking down errors, especially if I have to loose line numbers to save space. I don't have much logging at the moment, but I'll hopefully have enough information to solve most issues easily (the logs will be uploaded to GitHub instead of the serialised table).
So yea, I can't say when this update will be finished, but one thing I will promise, I won't be adding any more features I haven't already mentioned. I don't want to push the release further and further back. I'd also like to point out that 1.2 will not have have OneCode or Inspector. They might come 1.3.
I've really been trying to reduce the size of the OS. I've managed to get it around 420KB (although that could change greatly), leaving you with over 500KB. I'll try to squish it down even more, and as I rewrite more programs to use Bedrock this should certainly help.
By far the biggest three files are Sketch, LuaIDE and Ink. I put them through a minifier and it certainly helped (about 30 - 40% reduction), but unless I start deleting things there isn't really going to be much more room to make space.
In other news, I've almost finished rewriting Files. Bedrock has changed it from a 600 line file to just 200 lines, so I'm quite happy with the benefits it's having. I've also added logging to the OS which will hopefully assist with tracking down errors, especially if I have to loose line numbers to save space. I don't have much logging at the moment, but I'll hopefully have enough information to solve most issues easily (the logs will be uploaded to GitHub instead of the serialised table).
So yea, I can't say when this update will be finished, but one thing I will promise, I won't be adding any more features I haven't already mentioned. I don't want to push the release further and further back. I'd also like to point out that 1.2 will not have have OneCode or Inspector. They might come 1.3.
CCNerd a.k.a CCNoob 14 Jul 2014
Wow, looks awesome!
Quick question: is it possible to use bedrock for myself?
Quick question: is it possible to use bedrock for myself?
oeed 15 Jul 2014
oeed 15 Jul 2014
Tombot44 16 Jul 2014
Does this support pocket computers? Why don't you make OneMini, OneOS for pocket computers? Just a suggestion.
Thanks
Edited by Tombot44, 16 July 2014 - 04:29 AM.
Thanks
Edited by Tombot44, 16 July 2014 - 04:29 AM.
oeed 16 Jul 2014
Tombot44, on 16 July 2014 - 04:28 AM, said:
Does this support pocket computers? Why don't you make OneMini, OneOS for pocket computers? Just a suggestion.
Thanks
Thanks
1.2 is bringing greater support for pocket computers. Is there any aspect you feel that could improve? I will not be making a special version though, it just complicates things.