[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] Mobile Lua 5
- From: Stefan Reich <info@...>
- Date: Wed, 16 Nov 2011 14:28:25 +0000
Mobile Lua 5 is here, featuring full mobility and now three public servers which are aware of each other.
Project info & downloads at: http://luaos.net/pages/mobile-lua.php
Every computation server now maintains a list of 'peers' (other computation servers) which form a sort of little cloud around that server. The concept will quite certainly be extended in the future, with servers belonging to multiple groups and so on.
Also, hyperjumping will be made more robust in the face of server downtimes - comparable to email delivery.
Hyperjumping itself already works great right now. :)
Details on how to try the server are on the web page.
I am hoping very strongly that the group of Mobile Lua enthusiasts will grow quickly.
For what it's worth, I made an impression on a very interesting business guy in a local Starbucks yesterday. They have this designated table for computer freaks, you know. Guy took out his Macbook, his Macbook Air and his iPad (yes he carries all three). I was talking to my Lua servers in Lua OS and, well: One thing led to another and we began to talk.
Turns out he's doing professional video and rendering. His question was: Can you render with your system? My Macbook alone is too slow for the task.
I had to concede that that kind of application may be a little off with a Lua basis - but nothing is impossible with a healthy dose of development work, eh.
Either way, he was impressed. "A cloud made by the people? - That rocks!"
So...
To finish up this mail, I'd like to present to you some Mobile Lua source code (also available as 'example 1' in the server). I hope it will give you a little impression of how my idea of Lua mobility works. Here goes!
--Stefan
*** Mobile Lua example 1 ***
home = mb.hostname()
peers = mb.peers()
report = {}
-- add home server to report
table.insert(report, {server=home, status='online', version=mb.version()})
-- travel to peers
for _, peer in ipairs(peers) do
print('Jumping to: '..peer)
if mb.jump(peer) then
print('Jump OK')
table.insert(report, {server=mb.hostname(), status='online', version=mb.version()})
else
print('Jump failed')
table.insert(report, {server=peer, status='offline', version='?'})
end
end
-- return home and report
if not mb.jump(home) then
error('Please return me to '..home..'!!')
else
print('Report')
print('------')
print()
print(#report..' peers checked.')
for _, e in ipairs(report) do
print(" "..e.server..' '..e.status..'. Running '..e.version)
end
end
*** end of example 1 ***