OBSIDIANLAKE

Writing down my thoughts once ince a while

Archive for the ‘Lua’ Category

The new Prosody Jabber Server

leave a comment »

A small group of 3 software developers (at the time of writing) have released a new Jabber server that they say will rival the current number one XMPP/Jabber server, ejabberd, in performance, extensibility and computer resource consumption regards, or pretty much every regard, according to the developers who have chosen to write the server in their favorite “scripting” language called Lua. While everyone knows that Lua is a very powerful language for embedding with your C or C++ applications, allowing easy runtime scripting and manipulation of data and code (Lua is often used to parse very large blocks of data without problems), it actually is very capable as a stand-alone language for your applications, with dozens of useful libraries and bindings that bring sockets to Lua, bit manipulation and more. If you don’t know about Lua, visit lua.org.

Another reason the developers have chosen Lua is that a Jabber server needs to parse varying amounts of text that get bigger and bigger as more users are being served by the server and this is where Lua excels. While there will be a physical limit on how many users Prosody can serve (if you haven’t figured it out already, Prosody is the name of the server), future releases are said to provide clustering capabilities built-in. Also, as Lua is an interpreted language, extending the server by adding new XEPs or protocols is easy because you don’t have to recompile the server, you don’t even need to restart the server, you can load arbitrary code at run-time.

That said, Prosody seems pretty sweet. Version 0.2.0 of the server has just been released today, just a month after the first 0.1.0 release and brings a load of new features and improvements. I’ve tried the latest version myself and I like it. Setting it up was trivial as the configuration file was easy to understand. It is actually also written in Lua but even if you don’t know the language, you can understand it right away as it’s pretty easy and there are a lot of helpful comments in the file.

The future looks promising with version 0.3.0 as they plan to bring MUC support allowing for multi-user chat conferences. The support has already been written according to the developers who hang around and discuss the development of the server on the Jabber chat room prosody [at] conference [dot] heavy-horse [dot] co [dot] uk. But as it was a late developement, it hasn’t been tested yet so it wasn’t included in the current release.

I am eagerly waiting in anticipation for the next release as adding new cool features to the chat rooms might be too easy. I’m thinking of a MOO world running on Prosody. 😉

Written by brokenthorn

December 29, 2008 at 21:48

Next: Lua

leave a comment »

The only programming language I know decently well is good old Pascal. I had no real idea of what a programming language was until I started high school. Well, I did hear about BASIC, but it seemed more like a game to me at that time :). Now that high school is ending and because I want to pursue a career in informatics, I find myself empty handed when I think about how I’m going to purse that career. I never had the time and strong will to finish learning C++ (I kind of stopped learning when I reached OOP, but later picked up some concepts…), or Python, or PHP, or Javascript (yes, I tried all of them), so now I have small pieces of everything… but considerably more of C++ compared to the other languages.

Lately I found out about this wonderful scripting language called Lua. Learning Lua is a breeze. But Lua is a powerful, fast, light-weight, embeddable scripting language. It’s so light and powerful that it could be used just about everywhere in my opinion :). To get a better idea read about Lua. I like it so much and I’m learning it so fast, compared to C++, that I’ll definitely finish this one!

Written by brokenthorn

June 9, 2007 at 20:47

Posted in Lua, programming