Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NodeOS 1.0-RC1 #181

Closed
piranna opened this issue Nov 18, 2015 · 12 comments
Closed

NodeOS 1.0-RC1 #181

piranna opened this issue Nov 18, 2015 · 12 comments
Labels
blog Blog Entries

Comments

@piranna
Copy link
Member

piranna commented Nov 18, 2015

It has been a long time, but now that all the core functionality is ready being only a matter of some tune-ups and add some external projects like find a suitable git client or improve nsh, now we can say it: we have a release candidate :-D

The last weeks there has been a lot of work to make this happen, like adding support for LXC containers using vagga and re-enabling support for Docker, but also work to make all the dependencies downloaded using Node.js instead of bash scripts (and a lot of fixes on several projects to make it work like download, tar-stream, jsdiff or vinyl-fs). Next step, made the build scripts also in Javascript :-)

We have also made it possible to test independently the cross-compiled Node.js binary by using QEmu user mode so we can detect build failures in an earlier stage, and improved memory consumption by using node-kexec both on usrbinenv and logon, although this is a point that still needs to be improved. But best of all... we have network enabled by default! :-D Only dhcp at this moment and the wire needs to be plugged on boot to fetch the address and DNS servers, but it's just enought to start fiddling around.

As a side note, I've inscribed NodeOS this year both on the spanish national Free Software Universitary Championship and the Granada UniversityFree Projects Competition, so let's cross our fingers to see if this year we won again! :-P

@piranna piranna added the blog Blog Entries label Nov 18, 2015
@zodern
Copy link
Contributor

zodern commented Nov 18, 2015

Exciting! I might start working on Silk again and get it up to par with what you have said about a GUI.

I have had an issue from npm install. I cloned it into a different folder to start fresh.

zodern@zodern:~/nodeos2$ npm install
npm WARN package.json nodeos-barebones@0.0.0 No repository field.
npm WARN package.json nodeos-rootfs@0.0.0 No repository field.
npm WARN package.json nodeos-usersfs@0.0.0 No repository field.
npm WARN package.json nodeos-initramfs@0.0.0 No repository field.
npm http GET https://registry.npmjs.org/cpio-stream
npm http 304 https://registry.npmjs.org/cpio-stream

> nodeos-barebones@0.0.0 preinstall /home/zodern/nodeos2/node_modules/nodeos-barebones
> scripts/preinstall


> nodeos-cross-toolchain@0.0.0 preinstall /home/zodern/nodeos2/node_modules/nodeos-barebones/node_modules/nodeos-cross-toolchain
> scripts/preinstall

     fetch : http://www.musl-libc.org/releases/musl-1.1.12.tar.gz
     fetch : https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.3.tar.gz
     fetch : http://ftpmirror.gnu.org/gcc/gcc-4.7.3/gcc-4.7.3.tar.gz
     fetch : http://ftpmirror.gnu.org/binutils/binutils-2.25.1.tar.gz
  progress : [                    ] 2% 882.1s(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

And it continues the last 2 lines until it gets

RangeError: Maximum call stack size exceeded
npm ERR! weird error 8
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! not ok code 0

@piranna
Copy link
Member Author

piranna commented Nov 18, 2015

Exciting! I might start working on Silk again and get it up to par with what you have said about a GUI.

At #178 (comment) I've put some sketches about how I think the GUI could be (floating windows are so 90's... :-P), can you take a look and give some comments? :-)

I have had an issue from npm install

Are you using Node.js 0.10.x? I had this same problem on the CI server and fixed it by updating to Node.js 0.12.7, give it a try.

@mitsukaki
Copy link
Contributor

floating windows are so 90's... :-P

I agree 100%! Sure they may look cool, but so much precious time is lost re arranging your windows, when the computer could do this for you! I'm excited for this release!

I've inscribed NodeOS this year both on the spanish national Free Software Universitary Championship and the Granada UniversityFree Projects Competition, so let's cross our fingers to see if this year we won again! :-P

If we do, I called it! We've definitely got a project to pull it off.

find a suitable git client

I wouldn't mind assigning myself this task. Shouldn't be too hard! Just curious, would you rather have git baked into NSH or as a separate module? Of course, as all other modules should be, I will still make it integrable with any other script on the system (via module exporting).

@piranna
Copy link
Member Author

piranna commented Nov 19, 2015

floating windows are so 90's... :-P

I agree 100%! Sure they may look cool, but so much precious time is lost
re arranging your windows, when the computer could do this for you! I'm
excited for this release!

Well, I don't like windows-based interfaces at all, in the end we use only
maximized or maybe tabbed apps, so that's what I tried to achieve. There
are floating windows, but they are second class citizens, mostly only for
complementary tools (calculator, post-it notes...).

I've inscribed NodeOS this year both on the spanish national Free
Software Universitary Championship and the Granada UniversityFree Projects
Competition, so let's cross our fingers to see if this year we won again!
:-P

If we do, I called it! We've definitely got a project to pull it off.

That's the spirit! ;-)

find a suitable git client

I wouldn't mind assigning myself this task. Shouldn't be too hard! Just
curious, would you rather have git baked into NSH or as a separate module?

This would be an useful task if you want to take it :-) There are several
pieces, but unluckily they are disconnected :-( I think the best would be
to get a libgit binding and give it an interface like gitlet, so we could
have an equivalent to git cli. Or maybe, work towards integrate libgit in
npm and don't need a git cli at all, this would be awesome! :-D

By the way: independent module, please ;-)

@zodern
Copy link
Contributor

zodern commented Nov 19, 2015

Are you using Node.js 0.10.x? I had this same problem on the CI server and fixed it by updating to Node.js 0.12.7, give it a try.

That worked! I was also missing realpath. Should that be added to install-dependencies? Also, could it check what version of node is installed, and notify the user if it is 0.10.x? I might create a pull request for that.

At #178 (comment) I've put some sketches about how I think the GUI could be (floating windows are so 90's... :-P), can you take a look and give some comments? :-)

I also like not having floating windows. In concept, I thought that the modern apps in windows 8 would be great with the apps using the full screen, but when using a mouse there were things that made it less productive. In Silk all apps are currently full screen with a minimize and close button. I need to add some keyboard shortcuts for switching apps. I would like to have the task bar collapse to give apps more space, but I didn't like that in Windows 8.1.

I would like to make the app menu full screen and pull in other things like have widgets and show all of the open windows.

To create groups, the user could drag the tab to the right or bottom, and then moving tabs could work like Web Storm.

I am not sure about the secondary floating windows, though the more I think about it the better it seems. In any case, we need something for apps that don't need all the space of a full window.

Blender has an interesting UI where windows have no overlap, you can create new sections, divide them, or combine them. You can read about the principles behind it here.

Silk was my first node project and a lot of it needs to be rewritten (I wasn't aware at first that modules were singletons).

The front end of Silk and of apps will be cross platform, but currently the back end of apps only work in Silk. I would like to get it to the point that an app can be run on a computer without silk, but if run by silk it will have additional features for interacting with silk and maybe have some restrictions for security.

Another issue I was having was trying to have everything in apps and then the user can choose which to use, but that fell down for basic features like a file picker.

When I work on Silk, I will create a list of the tasks that cover most of what the target audience do on a computer (terminal, code, browser web, etc.) which I will try to cover for a first version.

@piranna
Copy link
Member Author

piranna commented Nov 19, 2015

I was also missing realpath. Should that be added to install-dependencies?

Maybe, or check the scripts that are using it and convert them to Javascript. In the long term we'll deprecate bash scripts after all, so... :-)

Also, could it check what version of node is installed, and notify the user if it is 0.10.x? I might create a pull request for that.

This should be done by the engines section on package.json, but pull-request are welcome :-)

In Silk all apps are currently full screen with a minimize and close button

I don't like full-screen apps, but maximized ones, I still love the tasksbar and the top menu (I've grown using MacOS Classic :-P ). I falled in love with the original ChromeOS UI, using the browser tabs as application switcher, and as you can see my sketch is somewhat inspired in it :-D It draws some inspiration from Eclipse IDE and Terminator too, and the "minimized" secondary tool windows at the botton and the sides are inspired from hangout/facebook chats and MacOS 8 tabbed folders:

that tabs at the bottom are in fact file explorer folder windows that you were able to drag and drop there to have a quick access:


I think we should create a new issue were start collecting all these ideas in only just one place instead of stole topics... :-P

@zodern
Copy link
Contributor

zodern commented Nov 19, 2015

I don't like full-screen apps, but maximized ones,

Sorry, I meant maximized. The task bar is still there.

that tabs at the bottom are in fact file explorer folder windows that you were able to drag and drop there to have a quick access:

Expand that to quick access for anything, and it would be really useful.

I think we should create a new issue were start collecting all these ideas in only just one place instead of stole topics... :-P

I agree

@piranna
Copy link
Member Author

piranna commented Nov 19, 2015

that tabs at the bottom are in fact file explorer folder windows that
you were able to drag and drop there to have a quick access:

Expand that to quick access for anything, and it would be really useful.

Absolutely, since you can be able to access to them with a click and drop
your files directly on it. OSX now have the "spring folders" on the Dock,
but only have the basic functionality, on MacOS 8 they were full real
folder windows, and they were awesome :-D Imagine doing that with all the
aplication windows... :-P

@mitsukaki
Copy link
Contributor

curious, would you rather have git baked into NSH or as a separate module?

Technically it would and wouldn't be. See #182 to see what I mean 😛

@piranna
Copy link
Member Author

piranna commented Nov 23, 2015

A NodeOS article in german. WTF?!?! :-P

@zodern
Copy link
Contributor

zodern commented Nov 23, 2015

If Google translated it correctly, it looks like it is positive about NodeOS. Though I did notice some things that are inaccurate (npm - Node Package Manager).

@piranna
Copy link
Member Author

piranna commented Nov 23, 2015

npm - Node Package Manager

This error is somewhat common, but I don't think it's too much a problem :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog Blog Entries
Projects
None yet
Development

No branches or pull requests

3 participants