Integers in Lua 5.3
Roberto Ierusalimschy
(PUC-Rio)
Slides
Video
In this talk we will discuss why and how Lua 5.3 will bring integer numbers.
What's new in LuaRocks
Hisham Muhammad
(LuaRocks and PUC-Rio)
Slides
Video
This talk will discuss the latest developments in the world of
LuaRocks, the package manager for Lua modules. It will start by
introducing the LuaRocks tool, for those who are not familiar with it.
Then, I will present what has changed in this past year: the move to a
open repository, automation of the upload process and the latest
efforts in making the tool more flexible. A revision of the format for
specification files (rockspecs) has been long overdue, and in this
talk we'll discuss the changes needed to make the format fully
extensible.
Lua as a script language for industrial process design and optimisation with energy integration
Min-Jung Yoo
(EPFL)
Slides
Video
Currently we are developing an open source platform for Energy
Systems Integration for industrial processes using Lua. The purpose
of the project is to provide a generic modeling and optimization
platform for industrial process integration and their optimization
in terms of energy efficiencies and environmental issues. Already
at our laboratory, there was a platform, developed on MatLab, for
the purpose of Energy Integration. By developing a new generation
of Energy Systems Integration platform in Lua, we are targeting the
range of integration towards GIS Data integration and LCA issues.
The presentation will mainly concern our project content and also
our challenge in launching a new doctoral course in Lua.
LuaOsmose: a Lua based framework to design and analysis integrated energy system
Renaud Kern
(EPFL)
Slides
Video
This talk will focus on technical aspects of building a complete Lua
framework for scientific users with no or few programming skills. We will cover the strengths of Lua in this project such
as, small footprint, speed, painless DSL, quick prototyping, glue language with other system components.
We will also discuss some of the weaknesses that we've encountered and how we solved them.
A little code goes a long way — Cross-platform Game Development with Lua
Ivan Beliy
(Marmalade)
Slides
Video
Marmalade Engineer Ivan Beliy will talk through the simple easy steps to take a game written in
Lua to a whole host of mobile devices with Marmalade Quick. He will also delve into the extensibility available in
Lua with open source access to the Marmalade Ecosystem and overlap with the Cocos2D Ecosystem, using live demos and examples.
Game development with Corona SDK and Lua
Sergey Lalov
(Spiral Code Studio)
Slides
Video
Lua is often used as an extension for games written in C/C++ or other
"lower level" language, however now some game engines allow developing
entirely in Lua. Corona SDK is one of such frameworks. This approach
has proven to be fast to develop, clean to read and easy to maintain
with almost no performance drawback. From this talk you will know more
about Lua usage for game development, how to write clean code and make
the best of Lua.
Typed Lua: An Optional Type System for Lua
Andre Murbach Maidl
(PUC-Rio)
Slides
Video
Dynamically typed languages such as Lua trade flexibility
and ease of use for safety, while statically typed languages
prioritize the early detection of bugs, and provide a better
framework for structuring large programs.
The idea of optional typing is to combine the two approaches
in the same language: the programmer can begin the
development with dynamic types, and migrate to static types
as the program matures.
The challenge is to design a type system that feels natural
to the programmer that is used to programming in a
dynamic language.
This talk presents the initial design of Typed Lua, an
optionally-typed extension to Lua, and through code examples
shows how Typed Lua handles some of the idioms that Lua
programmers are used to, bringing static type safety to these idioms.
Lua pitfalls
Dmitry Kotelnikov
(IPONWEB)
Slides
Video
This report is about various pitfalls somehow related to Lua. We know them firsthand because dozen of
our developers use Lua to implement business logic. Even obvious traps may hit the wallet and the psyche.
Additionally possible workarounds will be given.
The report will contain a list of peculiarities of the Lua, missed that you can get a bug. Mainly this will be well-known
things, such as nil in the table or global variables. Everything I tell you is not a revelation. All this can be seen in
the pages of documentation, on the internet or learn from your colleagues. But for many it's just knowledge, not experience.
The most reliable way to learn not to make mistakes is to make every mistake at least once. Preferably with serious consequences -)
And for most of the knowledge we really had to pay. So for us it is truly an experience. I will try to share our experience with you,
and I hope that these traps will cost you less.
A metaprogramming compiler for interactive ebooks
Enrico Colombini
(freelance author)
Slides
Video
The Medusa compiler takes a book source including Lua code, e.g. for puzzles or exercises,
and generates a (possibly very large) set of immutable hyperlinked pages. This 'printed once and for
all' set of pages mimicks a runtime program behaving like the original code; the author can thus give the impression
of complex dynamic behaviour (similar to the logic in modern graphic adventure games) in a static
ebook, printed book or static Web site. Some topics of the talk are:
- From ancient gamebooks to static ebooks: how to represent variables and state.
- From an old runtime Javascript framework (Idra) to a metaprogramming Lua compiler (Medusa).
- Compiler structure and design choices; using Lua environments to efficiently handle page states.
Lua as the common language for the internet of things
André Riesberg
(Ing. Büro Riesberg GmbH and NOGS GmbH)
Slides
Video
The talk is about how to make smart objects really smart.
It displays an approach of dynamic coding as a communication principle.
The report proposes a new IoT framework, called Nogs, which does not only help to simplify
communication but also addresses various challenges of embedded software development.
Lua in Low-Level Programming
Javier Guerra Giraldez
(Snabb GmbH)
Slides
Video
Snabb Switch is an unusual project in many ways, over 90% written in Lua,
it has very tight performance goals, it's own 10Gbit Ethernet driver, and deep collaboration with virtual machine
networking. This talk first presents the niche, goals and overall structure of Snabb Switch, then shares some of
the lessons learned to make most of LuaJIT: how the FFI makes low level programming possible, how the
performance goals were met and where the dynamic nature of Lua was a challenge and where it wasn't.
Lua as business logic language in high load application
Ilya Martynov
(IPONWEB)
Slides
Video
This report covers our experience building custom HTTP web server used for
the delivery of internet advertising. The application design has as one
goals finding the right balance between high performance and ease of
development. To achieve this goal we are using Lua as a business logic
scripting language embedded into C++ application. The report tries to
explain how and why we use Lua and how the choice of Lua affects
architecture of the application.
Sailor - a web MVC framework in Lua
Etiene Dalcol
(PUC-Rio and ENSTA Bretagne)
Slides
Video
Lua's use in web tools, despite its great potential, is not yet widespread. Having had
experience as a web programmer, and aiming to learn more about this language, I
started a marathon that produced an MVC framework completely written in Lua, called Sailor.
This talk presents the beginnings of Sailor, a comparison with other existing tools, the current
stage of Sailor's development today and intends to start a debate on what we can do to
spread the idea of using Lua more in web development.
See
sailorproject.org
and
sailor at github.com.
Homemade load balancing with nginx + Lua
Andrey Kononov and Anton Shcherbinin
(IPONWEB)
Slides
Video
How to consistently divert users to backends based on users' IP
addresses, cookies, phase of the Moon, you name it.
lubyk, a set of Lua libraries for live arts
Gaspard Bucher
(teti)
Slides
Video
Using Lua for event scheduling, live coding, midi transformation,
3D simulation, OpenGL shaders, etc.
Lua binding for C++11
Nikolay Zykov
(TSNIImash)
Slides
Video
An open-source library that uses C++11-powered template metaprogramming to
create low-overhead object-oriented Lua binding. It provides automatic stack management, natural-form
expressions including calls and indexation, seamless value traversal, full support for multiple value
returns and automatic function wrapping.
Q&A session
Video
Gopher on the Moon: Bonus talk from Lua Workshop day 2
Video
Intro to the Tarantool: Lua Workshop 2014, second bonus talk
Video