

Lua OS - An operating system around Lua, developed by a former Google employee - tete
http://luaos.net/

======
scott_s
I was initially confused - I thought this was going to be an OS implemented
_in_ Lua, but it's a Linux distribution which has special sandboxing for Lua:
<http://luaos.net/docs/manual.php#4>.

I've poked around a decent amount of the site, and I'm still not clear on what
this is a solution to.

~~~
mjschultz
Special Sandboxing that, I think, is implemented in Java. So this is an OS in
the sense that it only depends on having a JVM and Lua interpreter installed.

Not that this is a great metric (especially when the source languages are
taken into account), but here are the LOC counts in the project:

    
    
        $ find . -name '*.java' | xargs cat | wc -l
        28877
        $ find . -name '*.lua' | xargs cat | wc -l
        6826
        $ find . -name '*.slua' | xargs cat | wc -l
        1725

------
sharkbot
I'm a big fan of Lua, and a big fan of correctness via simplicity, but I worry
the author is a little too confident for his own good. Take his sample
webserver: <http://lua4everything.dyndns.org/> and the accompanying blog post:
<http://blog.luaos.net/>

That particular example is simple and doesn't permit much room for nefarious
actions, but as soon as he adds support for a wider selection of files, POST
(and other verbs), caching, templating, authentication and access control,
etc, the code will grow in complexity and the advantages of Lua will recede.

For instance, remove the line "isin(path, sources)" and there is a arbitrary
file read. White lists are more secure, but they don't scale.

~~~
32362
[Whilst I believe the project itself should in general stand based on its own
merits, in the spirit of openness...]

Also by the same author:

\- <http://article.gmane.org/gmane.comp.lang.lua.general/85887/>

\- <http://article.gmane.org/gmane.comp.lang.lua.general/85891/>

\- <http://article.gmane.org/gmane.comp.lang.lua.general/85896/>

\- <http://article.gmane.org/gmane.comp.lang.lua.general/85886/> (I don't want
it to seem like I'm cherry-picking stuff out of context, thread:
<http://thread.gmane.org/gmane.comp.lang.lua.general/85850/> )

\- <http://article.gmane.org/gmane.comp.lang.lua.general/85938/>

After this spectacle what interest I had in the project when it was first
announced waned. Community around an open-source project is very important,
and this is not how to build it. I'd rather see the project forked than deal
with someone like this.

~~~
ushi
omg, its super painful to read this list. whats wrong with these people?

------
krelian
Looks like a very cool project but aren't we passed the phase where something
like "developed by a former Google employee" needs to be added to add some
faux prestige to the project?

~~~
tete
I thought the same when I wrote this and had it removed for a while. The
reason is that I wanted to make clear that this isn't a project by someone who
knows Lua, because he plays World of Warcraft or something like that.

There are just lots of operating system projects by people who don't really
know what an operating system is.

~~~
oconnore
There are also a lot of people at Google who aren't OS experts.

~~~
tete
I didn't call him an expert though. ;)

But criticism accepted. Next time I will take care to choose a better title.
:)

------
davidhollander
> A first-class modern Linux distribution for the desktop

If you want a modern Linux desktop and web browser scriptable in Lua, consider
installing Awesome window manager[1] and LuaKit[2] on top of the distro of
your choice instead.

[1] <http://awesome.naquadah.org/>

[2] <http://mason-larobina.github.com/luakit/>

~~~
jmaygarden
Awesome is just that. I've been using it for a year or so and love it. Lua is
a fantastic language for configuring things. A few lines of Lua code with
Awesome and your application windows go exactly where you want them to when
opened without needing to reach for the mouse.

------
gouranga
Another repurposed Linux system. I'd rather like to see a fresh start and some
new ideas.

~~~
marshray
The problem is that supporting enough of the PC hardware to build a graphical
system from the ground up is a many hundreds of thousands, if not millions, of
lines of code commitment. It takes many many bug reports over several years to
stabilize something like that.

You could perhaps do something on a newer, simpler, and well-designed and
documented architecture (say an ARM dev board with a network interface to an
X/NX/VNC/browser interface). But even Google continues develops Android on top
of Linux for a reason.

~~~
gouranga
Design the architecture again. It's surprising what you can fit in an FPGA
these days.

I'm convinced the entire hardware and software stack is broken and we need to
start listening to people like Chuck Moore a bit more.

~~~
marshray
Count me in!

(In spirit, I have too many projects already :-)

~~~
gouranga
You might be interested in <http://loper-os.org>

~~~
marshray
Very interesting, thanks!

------
tete
Oh and a small addendum.

The more active forum can be found here:
<http://forum.luahub.com/index.php?board=16.0>

------
goggles99
"Lua OS - An operating system around LUA"

I think that is a bit backwards. It is actually a LUA GUI around a C based
Linux kernal.

I would think that the performance of LUA is too poor at this time for this to
be viable. I may try it when this has improved.

~~~
LeafStorm
First, Lua is not spelled in all caps, because it is a Portuguese word. That
would be like spelling PYTHON in all caps.

Second, Lua is the faster than any interpreted "scripting" language I know of.
And if you use LuaJIT, performance can even approach that of compiled
languages such as C.

And third, a completely Lua OS is a long-term goal. As I understand it, the
main focus of the project at this point is the creation of Safe Lua, then to
slowly replace Linux-based userland parts with Lua-based parts.

~~~
batista
_> First, Lua is not spelled in all caps, because it is a Portuguese word.
That would be like spelling PYTHON in all caps._

That argument is orthogonal to whether Lua should or should not be spelled in
all-caps. Besides being a Portuguese word, it's also the name for a
programming language, and that use could have a different spelling rule.

For example a "gnu" is an english world (an animal of the antelope family),
but we spell the organization that bears a gnu as it's logo: GNU.

Same for Python. Actually, Python servers as a counter-argument to your point,
because we spell it "Python" (initial cap) whereas if we treated it as an
english word it would be just "python".

~~~
stcredzero
_That argument is orthogonal to whether Lua should or should not be spelled in
all-caps. Besides being a Portuguese word, it's also the name for a
programming language, and that use could have a different spelling rule._

It's not an argument, it's a statement of fact. I'm not more than a Lua
dilettante, yet I know this. The name derives from a Portugese word, so it
should be treated as a proper noun, not an acronym.

EDIT: iPad completion snafu.

EDIT: _For example a "gnu" is an english world (an animal of the antelope
family), but we spell the organization that bears a gnu as it's logo: GNU._

GNU is an acronym, which is why it's spelled that way, which is stated on
their websites.

~~~
batista
_> It's not an argument, it's a statement of fact. I'm not a more than a Lua
dilettante, yet I know this. The name derives from a Portugese word, so it
should be treated as a pronoun, not an acronym._

And again, the fact that the name derives from an actual word tells us nothing
about how we should treat a language that uses it.

For example, I can make a language called "table" and specify in the docs and
faq that it should be written as TABLE (all caps).

Also: "pronoun"? Huh? Pronouns are words like "his", "him" etc. Perhaps you
meant "noun"? Still, we don't treat either nouns or pronouns with an initial
capital mid-sentence, whereas for Lua we do.

>GNU is an acronym, which is why it's spelled that way, which is stated on
their websites.

My point is, the spelling is a arbitrary decision by the project. Notice how,
despite it being an acronym they don't write G.N.U, but GNU (and keep the gnu
animal imagery). They could have dictated for us to spell it gnu or Gnu or
G.n.u, just as easily.

Case in point: the BETA programming language is spelled in all-caps despite
BOTH not being and acronym AND being a proper english word.

~~~
anonymous_mouse
Excellent points. According to the project site, "Lua" is correct.

> "Lua" (pronounced LOO-ah) means "Moon" in Portuguese. As such, it is neither
> an acronym nor an abbreviation, but a noun. More specifically, "Lua" is a
> name, the name of the Earth's moon and the name of the language. Like most
> names, it should be written in lower case with an initial capital, that is,
> "Lua". Please do not write it as "LUA", which is both ugly and confusing,
> because then it becomes an acronym with different meanings for different
> people. So, please, write "Lua" right!

("What's in a name?" from <http://www.lua.org/about.html>)

------
monistowl
Wake me when it's Scheme OS (and not run by some cheerleading brogrammer).

~~~
justauser
I was thinking along the same lines. What happened to Guile (
<http://www.gnu.org/software/guile/> )? Maybe the developer(s) were not aware
of it's purpose?

Substitute Lua with Tcl and it would still be underwhelming.

~~~
mahmud
Guile is under active development again.

