The workshop is over. See some photos taken by Marius Gheorghe.
A Lua workshop will be held at Adobe's headquarters in San Jose, California, on July 27-28, 2005.
The main goal of the workshop is to allow the Lua community (or at least part of it) to get together and meet in person and talk about the Lua language, its uses, and its implementation.
Another goal is to help spread the word about Lua to the industry and academia, taking advantage of the location of the workshop.
The workshop is open to everyone interested in Lua. There is no registration fee but participants are required to register because only a limited number of seats are available, which will be filled first-come, first-served.
There is no registration fee but registration is required. To register, please fill the form below and send it to firstname.lastname@example.org. As confirmation, your name will appear in the list of participants.
Lua Workshop 2005 -- Registration form * Data to appear on badge Name: Affiliation: * If you plan to give a talk Title: Abstract:
A Lua Decompiler
Hisham Muhammad (PUC-Rio)
A Macro Facility for Lua
Luiz Henrique de Figueiredo (IMPA)
I shall describe an add-on core module for providing a macro facility for Lua via token filters. I shall also show how coroutines are a handy tool for implementing such filters.
Embedding Lua in Grim Fandango
Bret Mogilefsky (Sony Computer Entertainment America)
Embedding Lua into LabVIEW
Albert-Jan Brouwer (CIT Engineering)
LabVIEW is a graphical dataflow language used for laboratory and industrial automation. Its dataflow nature posed particular obstacles to embedding that necessitated a yielding calling mechanism as well as cooperative scheduling provisions. The combination of both languages was used to develop a test environment for the European Space Agency. Lua turned out to be capable of performing many different roles.
Io and Lua
In many ways, Io can be considered a descendent of Lua. This talk gives an overview of Io and compares various aspects of the two languages, including their design philosophies, VM implementations, concurrency models, primivites, and libraries.
It's all glue: Experiences building a desktop application with Lua
Mark Hamburg (Adobe)
Lua and BREW
Marc Nijdam (Qualcomm)
This talk presents the use of Lua on the BREW platform. It covers the modifications required to Lua as part of the port to BREW and how Lua is planned to be used across various layers in BREW to offer an extensible easy to use scripting system.
Lua and Instant Messaging
Matthew Burke (St. Mary's College of Maryland)
This talk will present an overview of work to build a unified API in Lua to allow scripting of Instant Messaging applications. Details of the back-end libraries will be presented, but the emphasis will be on abstracting the differences between services and providing useful tools for developing applications.
Lua for molecular biology
Yutaka Ueno (Neuroscience Research Institute, AIST Tsukuba, Japan)
In these years, the programming language Lua has been applied in various studies in molecular biology at my laboratory. The genome database management was greatly facilitated by Lua with its data description facilities, in particular, data schema conversion for hierarchical information from various biological databases. I would like to introduce our successful application program, a sequence map viewer program "GUPPY". It features quick rendering and smooth operation for the tasks required to handle the genetic sequence map with Lua for data-warehouse and script program. In order to support larger amount of data in foreign databases, a virtual memory table for Lua would be our next development topic.
Lua in ATE
Marius Gheorghe (CableTest Systems Inc., Canada)
The presentation will cover the usage of Lua in the Automated Test Equipment designed and manufactured by CableTest. The highlights will be on Lua-based data conversion wizards, a Lua implementation of a wirelist database and the integration of Lua into our own scripting language. I would also like to briefly touch on a few features that are planned for the future such as JIT conversion of our scripting language to Lua and/or support in Lua for electrical engineering values (i.e. magnitude / dimension / unit / precision).
Lua Integrated into Embedded Linux
Glenn Edgar (Onyx Engineering, Inc.)
As an embedded developer, this is an area where Lua will provide a wonderful and necessary solution and if other developers can get behind it, Lua can be the default script engine for Embedded Linux. If this happens then Lua will be in large numbers of devices, particularly in the consumer electronics area.
LuaSocket Behind the Scenes
Diego Nehab (Princeton University)
In the first part of the talk, we will describe LuaSocket's heavy use of LTNs 12 and 13. Sources, sinks and filters greatly increased the flexibility of FTP, HTTP and SMTP support. Finalized exceptions all but eliminated the need for repetitive error checking throughout the implementation. The study case will be the SMTP module. Moving to the server side, the second part will address non-blocking I/O with LuaSocket and coroutines. The overall approach will be illustrated by a forward server implementation.
Alex Mohr (Adobe Systems)
An attempt to open Audition (Adobe's audio app, ex-CoolEdit) to scripting with Lua. Lua is used to synthesize/process sounds in real-time via a couple of VST plugins (digital audio industry plugin standard) implementing sound processing primitives like oscillators, delay lines, filters, reverberators, etc. These primitives are all exposed via Lua and can be used for scripting sound algorithms in Audition (or any other app supporting the VST standard).
Psychonauts and Lua: a case study
Paul Du Bois (double fine productions)
Psychonauts is a recently-shipped game for the Xbox, PS2, and PC. We used Lua 4.0 to implement a large amount of gameplay logic: a rough calculation shows the project contains 260 KLOC of C++ and 400 KLOC of Lua. In this talk I'll cover how we modified Lua to address memory and CPU issues, and the scalability problems we encountered with such a large codebase.
The Implementation of Lua
Roberto Ierusalimschy (PUC-Rio)
In this talk we will discuss the implementation of Lua 5.0/5.1. We will concentrate on the new features, namely the register-based virtual machine, the algorithm for numeric indices in tables, and the implementation of lexical scoping (closures).
The Kepler Project
André Carregal (Fábrica Digital)
An overview of Kepler Project history, architecture, strategies and a road map for the incoming months.
The Novelties of Lua 5.1
Roberto Ierusalimschy (PUC-Rio)
In this talk we will discuss the main differences between Lua 5.1 and Lua 5.0, with special emphasis on the new module system. Other differences that we will address include environments for other types (userdata and C functions), debugging threads, the new operators (# and %), new syntax for long strings, memory allocation, and more.
Using Lua to Build Domain Specific-Languages
Thomas Wrensch (University of the Pacific)
While I often use Lua for small one-off programs, I have recently found that it serves as an excellent foundation for building domain-specific languages (DSLs). The DSLs I have built using Lua range from simple languages for tracking student grades to a research prototypes of a high-level model-based programming systems.