About the workshop:
Lua is a simple, powerful, efficient, embeddable scripting language. It is widely used in the industry and is a leading scripting language for C projects. This workshop introduces the participants to the Lua programming language, its syntax and semantics. Lab exercises help in quickly understanding the language constructs.
Shakthi Kannan conducted the tutorial version of this workshop at Rootconf 2019 More than 50 participants attended the tutorial, and rated the content, usefulness of the session, and Shakthi Kannan’s teaching style very highly.
Who should attend the workshop? Why you must attend?
- This workshop is useful for both developers and operations engineers. If you are working on a C project which you want to extend and provide a scripting interface, then Lua is a preferred choice.
- The gaming industry uses Lua extensively for scripting. Therefore, game developers will benefit from learning the same.
- If you are a system administrator or network operations practitioner who wants to troubleshoot networks and analyze protocols, you will find the Wireshark Lua plugin interface very useful.
- As a programming language enthusiast, you will add another simple, yet powerful scripting language to your knowledge.
At the end of the workshop, you will have learnt the Lua programming language, and understood its use cases with examples.
Participants will begin with the Lua programming language syntax and semantics. Hands-on exercises will be provided to the participants to assist in learning the language.
- Data Types
- Error handling
Participants will explore three Lua use-cases in this workshop:
Wireshark (https://www.wireshark.org/) is a Free (Libre) and Open Source protocol analyzer used for troubleshooting networks, and analysis of communication protocols. The Lua programming language support has been included in Wireshark for scripting, prototyping and packet dissection. We will learn how to use Lua to do protocol dissection on packet captures with Wireshark.
Lua with Nginx: The OpenResty (http://openresty.org/en/) release has Lua support with Nginx that allows you to extend C functionality of the web server, and also do scripting. The Instructor will demonstrate some examples of the same.
Awesome window manager and Lua: Awesome (https://awesomewm.org/) is a tiling window manager that can boost your productivity. It is small, fast and highly extensible using the Lua programming language. Participants will learn how to configure the same.
Pre-requisites for attending this workshop:
Familiarity with any programming language is good to get started with Lua.
You must install install Lua on your laptop before coming to the workshop. If you are on any GNU/Linux distribution, you can use the package manager to install Lua. For the use case examples, you should install Wireshark (GUI), awesome window manager and OpenResty from the links shared above.
If you are on any other operating system, use a Virtual Machine to run any *nix distribution, and install the above mentioned packages. The official Wireshark downloads are available at https://www.wireshark.org/#download.
About the instructor:
Shakthi Kannan is a Free Software enthusiast who blogs at shakthimaan.com. He is an avid promoter of Free/Libre and Open Source Software, and has been organizing technical workshops in India for more than a decade. He holds a Masters degree in Information Technology from Rochester Institute of Technology.