-
Website
http://www.matasano.com/log -
Original page
http://www.matasano.com/log/1064/reminiscences-about-lua-and-mosquito/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
Press Controls
3 comments · 2 points
-
ChrisMtso
12 comments · 1 points
-
Eric Monti
11 comments · 1 points
-
StatlerAndWaldorf
12 comments · 3 points
-
Dave G.
7 comments · 1 points
-
-
Popular Threads
From my perspective Lua is the most elegant language I've ever encountered. Brilliant C API, well thought architecture, responsive community... And I hardly need a debugger --- nontrivial code slip from my fingers bugfree.
In fact it's just a matter of philosophy --- you can not write a good code until you accept philosophy of the language you are using.
But we had very different goals, and that was to make a small thing rather than a big thing. And we found that Lua's philiosophy and design goals worked against us in that regards.
@Thomas Ptacek: Indeed, indeed! It was the opinion of Ephemeral Security, not of Matasano Security, LLC. Thanks for clarifying this.
Roberto Ierusalimschy wrote in PiL "Lua gives you the power; you build the mechanisms.". It's painful to reinvent the wheel, but in the same time it makes certain things simpler. And once you have one, you never need to rebuild it again.
"Ideal Language for All Programmers and All Tasks". There is no such thing. So if certain language is not suitable for your task, just do not use it. No one enforces you... And if you persist: never complain. It was your choice, and your fault. Not the fault of the language. That is how I do things.
// No offense. Sorry, if it looks like one...
If you note, we did not use Lua next time -- we reinvented the wheel with Mosquito Lisp using what we learned. No offense was taken.
@drrr: Sort of. Mosquito Lisp as a security-specific language isn't being developed anymore. But its descendant, intended to be more general purpose, lives on as WaspVM. Mosquito Lisp was designed for a particular goal and it didn't quite meet what I expected.
If you want a network-oriented streaming Lisp1 that's small, and portable across multiple architectures, check out WaspVM at http://waspvm.blogspot.com/. Please note that I am not in any way involved with this project, nor is Matasano.
I'm currently working on another project along the vein of injectable virtual machines, and I'll reveal it when I think it is ready.
http://www.unknownworlds.com/decoda
@rikitan: I'll be elaborating on this in a future blog post. But in a nutshell, it achived its goals admirably. It is just that at the end of the project, I realized that the goal it achieved did not serve the purpose that I had in mind as well as it could have.
In other words, it was small, it was targeted towards 64K-128K in size, and it had an amazing amount of versatility and functionality for that size, but it wasn't small enough. :)
Matasano's blog is informative and overall good, but the following statement:
"We settled on LibTomCrypt as our cryptography library, as we considered it the gold standard for such software."
is one of the most ridiculous statements I have ever read on this blog. The author of LibTomCrypt is a complete idiot and I can authoritatively say that guy does not know jack shit about cryptography.
Needless to say, I have been educated as to LibTomCrypt's inadequacies since then.