پست های پیشنهاد شده

Lua Workshop 2018

The Lua Workshop 2018 will be held in Kaunas, Lithuania, on September 6–7, 2018, cortesy of CUJO.

As in previous workshops, the main goal of the workshop is to allow the Lua community to get together and meet in person and talk about the Lua language, its uses, and its implementation.

The workshop is open to everyone interested in Lua. Register now to reserve a seat.

Please make your own travel and accommodation arrangements. See the tips in the local page. Contact us if you need help or have special requirements.


Registrations are now open. There is no registration fee but registration is required because space is limited.

To register to attend the workshop, send a message to lua.workshop@gmail.com including your full name and the name of your company or organization, if applicable. As confirmation, your name will appear in the list of participants.


The program is available here and also below.

We shall have a plenary talk by Roberto Ierusalimschy (Lua's chief architect) and several contributed talks. There will also be plenty of time for getting together and chatting about Lua.

If you'd like to speak at the workshop, send a tentative title and a short abstract with your registration.



Thursday, Oct 6th


8:45   registration and badge pick-up

Garbage collection in Lua
Roberto Ierusalimschy


10:00   coffee break
10:30   Rewriting LuaJIT: Why and How?
Anton Soldatov
11:15   Scripting Linux system calls with Lua
Pedro Tammela
12:00   lunch
14:00   Pallene
Gabriel Ligneul
14:45   Lua (and Fortran) in thermomechanical simulations
Vadim Zborovskii
15:30   coffee break
16:00   How do you use your Lua skills to start making games
workshop with Björn Ritzl and Oleg Pridiuk
17:00   end of first day

Friday, Oct 7th


9:00   warm up
9:15   Machine learning for HTTP requests with OpenResty and Torch
Kipras Mancevičius
10:00   coffee break
10:30   Effil: yet another way for multithreading in Lua
Mikhail Kupriyanov
11:15   New features in LuaRocks 3.0
Hisham Muhammad
12:00   lunch
14:00   LuaMemory - Writable byte sequences in Lua
Renato Maia
14:45   The route to ARM
Javier Guerra
15:30   coffee break
16:00   LabLua in the Google Summer of Code
Ana Lucia de Moura
16:45   end of second day



The workshop will be held at the CUJO AI Headquarters in Zemieji Sanciai:

A. Juozapavičiaus pr. 31B
Kaunas 45257

See the precise location in the map.


The workshop is organized by CUJO and the Lua team.

The organizers can be contacted at lua.workshop@gmail.com.

Sponsored by CUJO


Registered participants are listed here. If you have sent a registration and your name does not appear here in a couple of days, please let us know.

  • Pierre Chapuis (Lima Technology)
  • Björn Ritzl (King)
  • Alexey Gulev (PotatoJam)
  • Oleg Naydin (SRI Infotech)
  • Ruslan Menibaev (Range Soft)
  • Oleg Pridiuk (King)
  • Etiene Dalcol
  • Denis Rakcheyev
  • Italo Maia (booking.com)
  • Donatas Abraitis (Hostinger.com)
  • Edgaras Lukoševičius (Hostinger.com)
  • Nerijus Bendziunas
  • Alan Vezhbitskis (Tesonet)
  • Kęstutis Žvinklys (Tesonet)
  • Ahmet Burak Sağlık (Chremiasoft)
  • Rimantas Baranauskas (Oracle)
  • Kipras Mancevičius (Oracle)
  • Anton Soldatov (IPONWEB)
  • Gytis Basinskas (Oracle)
  • Deimantas Galčius (VTeX)
  • Žilvinas Vaiciukevičius (Laserpas)
  • Sergio Hernán Hidalgo Espinoza (Yachay Tech University)
  • Javier Guerra (Cloudflare)
  • Ignacio Burgueño (King)
  • Alëna Ponomarenko (Social Quantum)
  • Sebastian Spaar (ariadne-service gmbh)
  • Motiejus Jakštys (Uber)
  • Mikhail Kupriyanov (Kaspersky Lab)
  • Majtyka Marek (Tieto)
  • Maxim Bolshov (IPONWEB)
  • Lolita Tolenė (VTeX)
  • Pedro Tammela (CUJO AI)
  • Giedrius Balbieris (CUJO AI)
  • Ana Lúcia de Moura (LabLua, PUC-Rio)
  • Paulius Zaleckis (Transunion)
  • Giedrius Stalioraitis (Tesonet)
  • Hisham Muhammad (Kong)
  • Rasa Šataitė (CUJO AI)
  • Vadim Zborovskii (SRC RF TRINITI)
  • Arvydas Rumša (CUJO AI)
  • Renato Maia (CUJO AI)
  • Elias Hogstvedt
  • Gabriel de Quadros Ligneul (CUJO AI)
  • Egmantas Girnis (CUJO AI)
  • Paulius Zaliaduonis (Bendras)
  • Augustinas Bacvinka (CUJO AI)
  • Tomi Tavela
  • Enrique García Cota (Kong)
  • Carlos Carvalho (CUJO AI)
  • Aapo Talvensaari (Kong)
  • Agnė Bankauskienė (VTeX)
  • Linas Nenorta (CUJO AI)
  • Saulius Reklaitis
  • Darius Joksas (Teltonika)
  • Saulius Krasuckas (Telia Lietuva)
  • Marius Karotkis (Fischer international)
  • Eimantas Žvirblys (Teltonika)


Garbage collection in Lua slides
Roberto Ierusalimschy (PUC-Rio / Lua.org)

How do you use your Lua skills to start making games - workshop slides
Björn Ritzl and Oleg Pridiuk (King)

This no-slides workshop guides you of how to quickly start making games without much experience in gamedev, but with good Lua skills. We'll start with an empty project and by the end of the workshop we'll have a small game running on mobiles and the browser. We'll give people the kick-start and supply them with a demo-project so they can experiment at home. So we won't require attendees to follow us on their laptops during the workshop.

Rewriting LuaJIT: Why and How? slides
Anton Soldatov (IPONWEB)

In our company, we have used Lua for more than 10 years to describe the business logic of our projects. The long journey started with PUC-Rio Lua, went through LuaJIT, and finally led us to our own implementation based on LuaJIT 2.0. In my talk, I would like to discuss:

  • why we eventually decided to start a new implementation of Lua;
  • how we tested it and ensured compliance for APIs provided by the Lua
  • tandard libraries;
  • how we extended our implementation (I will discuss adding support for immutable objects and preemptive coroutines as examples);
  • what tools we created around our platform to ease troubleshooting and further development.

The route to ARM slides
Javier Guerra (Cloudflare)

At Cloudflare, ARM servers are coming. We're in the midst of a project to port all our services from the current Intel-only to a more diverse environment. Given that roughly half of each CPU's time is spent running LuaJIT code and the huge number of machines we deploy to, we have to follow and investigate many corner cases. This talk will present a few of the challenges and lessons learned so far.

Effil: yet another way for multithreading in Lua slides
Mikhail Kupriyanov (Kaspersky Lab)

Multithreading is one of the eternal problems of script languages. Lua suffers from this problem too: no native support of OS threads and interpreter state lock. Existing solutions that work with threads in Lua use different approaches and do not cover all our needs at once. This talk explains how Effil solves this problem. The Effil is a multithreading library for Lua. It aims to provide high level abstraction of threads usage and interaction. Based on multiple interpreter states approach, Effil reimplements a set of Lua mechanisms (tables, metatables, GC) from scratch to make objects live outside of Lua state and be transmittable between threads. In sum with other features this library makes thread usage simple and efficient.

Scripting Linux system calls with Lua slides
Pedro Tammela (CUJO AI)

Recent versions of the Linux kernel introduced a feature to offload TLS encryption/decryption to kernel space, letting users use send/recv system-calls transparently. Kernel scripting is a paradigm in Operating Systems that allows users or programs to modify, at run time, kernel tailored behaviors using scripts in high level languages like Lua. Inspired by the new TLS feature, in this talk we explore system-call scripting, using Lua scripts in a kernel-scripted Operating System, to modify the behavior accordingly. We present a prototype implementation and discuss possible real world use cases.

New features in LuaRocks 3.0 slides
Hisham Muhammad (Kong)

LuaRocks 3.0 is out, and it contains a bunch of new features which are easy to miss out if you're used to the typical LuaRocks workflows. In this talk, we'll take a tour around the features of this new release, including the changes and simplifications of the rockspec format, and the introduction of project-based workflows, where you can install a separate set of rocks for a project and work with a private rocks tree without disturbing your main system.

Lua (and Fortran) in thermomechanical simulations slides
Vadim Zborovskii (SRC RF TRINITI)

The talk covers the use of Lua as an extension and glue language for the computer codes which perform engineering thermomechanical analysis. One of the applications is specification of the physical material properties, boundary conditions, volume sources and other input parameters by the user. Those values can depend on many variables and be defined as constant, tables, formulae or algorithms. A database of user functions written in Lua is one of the feasible solutions. We describe the architecture and some implementation details, including Lua bindings to Fortran-2003/2008. Another topic is development of the thermomechanical simulation software where the control logic written in Lua serves as a glue for the computational modules written in Fortran, C and other static high-performance languages.

LuaMemory - Writable byte sequences in Lua slides
Renato Maia (CUJO AI)

Lua strings can handle binary data, but as they are immutable it is usually necessary to create temporary strings with partial data prior to compose the desired final byte sequence. LuaMemory provides an alternative to strings by use of memory areas, which work as writable byte sequences that can be used to compose the binary data and avoid the creation of temporary objects. In this talk, we present how to use the Lua module to create and manipulate memory areas. We also show how to use the provided C API to manipulate these memory areas from C, and also how to use it to write or adapt current libraries that handle strings to be able to handle memory areas interchangeably.

Pallene: designing a statically typed language around Lua slides
Gabriel de Quadros Ligneul (CUJO AI)

Pallene is a companion language for Lua aimed to archive good performance by relying on a static-type system and an ahead-of-time compiler. Pallene is also designed to seamlessly interoperate with Lua, hence performance-sensitive code can be written in one language and the scripting in the other. In this talk we are going to focus on the design of arrays in Pallene, a single data structure that is shared between the two languages.

last update: mon oct 8 13:28:47 -03 2018

به اشتراک گذاری این ارسال

لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
Note: Your post will require moderator approval before it will be visible.

ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.