SlideShare a Scribd company logo
High level application scripting
with Enlightenment Foundation Libraries and LuaJIT
Daniel Kolesa
Samsung Open Source Group
d.kolesa@osg.samsung.com
@octaforge
Lua Workshop 2015 Stockholm
The Problem
What are we dealing with?
What is the EFL?
What is the EFL?
A suite of graphics (and other) libraries
What is the EFL?
A suite of graphics (and other) libraries
A widget toolkit
What is the EFL?
A suite of graphics (and other) libraries
A widget toolkit
Originally written for the Enlightenment window manager
What is the EFL?
A suite of graphics (and other) libraries
A widget toolkit
Originally written for the Enlightenment window manager
Scalable to both embedded and desktop systems
What is the EFL?
A suite of graphics (and other) libraries
A widget toolkit
Originally written for the Enlightenment window manager
Scalable to both embedded and desktop systems
Lightweight, written in C
What is the EFL?
A suite of graphics (and other) libraries
A widget toolkit
Originally written for the Enlightenment window manager
Scalable to both embedded and desktop systems
Lightweight, written in C
Significant usage includes Samsung’s Tizen platform
EFL components
EFL components
Historically, several projects with individual build systems
EFL components
Historically, several projects with individual build systems
Merged in version 1.8
EFL components
Historically, several projects with individual build systems
Merged in version 1.8
EFL - the core library set
EFL components
Historically, several projects with individual build systems
Merged in version 1.8
EFL - the core library set
ELementary - the widget toolkit built on the EFL
EFL components
Historically, several projects with individual build systems
Merged in version 1.8
EFL - the core library set
ELementary - the widget toolkit built on the EFL
Some others still separate - Evas generic loaders etc.
Evas
Evas
The oldest EFL component
Evas
The oldest EFL component
A scene graph canvas
Evas
The oldest EFL component
A scene graph canvas
Represents the canvas as state with Evas objects
Evas
The oldest EFL component
A scene graph canvas
Represents the canvas as state with Evas objects
Provides several core primitives (rectangles, images etc.)
Evas
The oldest EFL component
A scene graph canvas
Represents the canvas as state with Evas objects
Provides several core primitives (rectangles, images etc.)
Widgets provided by other libraries are Evas objects
Ecore
Ecore
Provides the interface between the OS and the rest of the EFL
Ecore
Provides the interface between the OS and the rest of the EFL
Interaction with X11, Wayland, SDL, Cocoa, DirectX etc.
Ecore
Provides the interface between the OS and the rest of the EFL
Interaction with X11, Wayland, SDL, Cocoa, DirectX etc.
Provides a main loop for applications
Ecore
Provides the interface between the OS and the rest of the EFL
Interaction with X11, Wayland, SDL, Cocoa, DirectX etc.
Provides a main loop for applications
Also several other unrelated things
Edje
Edje
Edje is a layout/UI description language
Edje
Edje is a layout/UI description language
It is also a way to compile said language together with data
Edje
Edje is a layout/UI description language
It is also a way to compile said language together with data
The result can be loaded from the application and used as UI
Edje
Edje is a layout/UI description language
It is also a way to compile said language together with data
The result can be loaded from the application and used as UI
Separation of UI/layout and application logic
Edje
Edje is a layout/UI description language
It is also a way to compile said language together with data
The result can be loaded from the application and used as UI
Separation of UI/layout and application logic
Widgets provided by libs can be embedded in Edje
Elementary
Elementary
A widget toolkit
Elementary
A widget toolkit
Provides a large set of widgets as Evas objects
Elementary
A widget toolkit
Provides a large set of widgets as Evas objects
Can be used standalone (boxed style layouting defined from C)
Elementary
A widget toolkit
Provides a large set of widgets as Evas objects
Can be used standalone (boxed style layouting defined from C)
Can be used with Edje (Elementary widgets, Edje layout)
Eo
Eo
An object system for the EFL
Eo
An object system for the EFL
The base for everything EFL 2.0
Eo
An object system for the EFL
The base for everything EFL 2.0
Allows for backwards compatible legacy APIs
Eo
An object system for the EFL
The base for everything EFL 2.0
Allows for backwards compatible legacy APIs
Provides everything one would expect from an object system
Eo
An object system for the EFL
The base for everything EFL 2.0
Allows for backwards compatible legacy APIs
Provides everything one would expect from an object system
Much of EFL 2.0 API is interfaces
Eo
An object system for the EFL
The base for everything EFL 2.0
Allows for backwards compatible legacy APIs
Provides everything one would expect from an object system
Much of EFL 2.0 API is interfaces
We aim for API and ABI stability
Overview
Overview
Sick and tired of writing apps in C
Overview
Sick and tired of writing apps in C
There has to be a better way
Overview
Sick and tired of writing apps in C
There has to be a better way
Scripting languages?
Overview
Sick and tired of writing apps in C
There has to be a better way
Scripting languages?
They kind of suck
Why is that?
Why is that?
Slow
Why is that?
Slow
Lack of a proper type system
Why is that?
Slow
Lack of a proper type system
Tons of bloat we don’t need
Why is that?
Slow
Lack of a proper type system
Tons of bloat we don’t need
Inconvenient binding
Why is that?
Slow
Lack of a proper type system
Tons of bloat we don’t need
Inconvenient binding
Resource heavy
Why is that?
Slow
Lack of a proper type system
Tons of bloat we don’t need
Inconvenient binding
Resource heavy
Battery eating
Why is that?
Slow
Lack of a proper type system
Tons of bloat we don’t need
Inconvenient binding
Resource heavy
Battery eating
Could there be a solution?
Scripting language overview
Python
Python
An obvious choice at first
Python
An obvious choice at first
Tons of problems
Python
An obvious choice at first
Tons of problems
Slooooow
Python
An obvious choice at first
Tons of problems
Slooooow
Bloated
Python
An obvious choice at first
Tons of problems
Slooooow
Bloated
No decent unified API
Python
An obvious choice at first
Tons of problems
Slooooow
Bloated
No decent unified API
Hard to embed
Python
An obvious choice at first
Tons of problems
Slooooow
Bloated
No decent unified API
Hard to embed
Language design issues
Ruby
Ruby
A not so obvious choice
Ruby
A not so obvious choice
Tons of problems
Ruby
A not so obvious choice
Tons of problems
Slooooow
Ruby
A not so obvious choice
Tons of problems
Slooooow
Bloated
Ruby
A not so obvious choice
Tons of problems
Slooooow
Bloated
No decent unified API
Ruby
A not so obvious choice
Tons of problems
Slooooow
Bloated
No decent unified API
Hard to embed
Ruby
A not so obvious choice
Tons of problems
Slooooow
Bloated
No decent unified API
Hard to embed
Language design issues
Perl
Perl
You serious?
Perl
You serious?
Tons of problems
Perl
You serious?
Tons of problems
Slooooow
Perl
You serious?
Tons of problems
Slooooow
Bloated
Perl
You serious?
Tons of problems
Slooooow
Bloated
No decent unified API
Perl
You serious?
Tons of problems
Slooooow
Bloated
No decent unified API
Hard to... ok that’s enough
JavaScript
JavaScript
Popular these days
JavaScript
Popular these days
Fairly decent quality JIT implementations
JavaScript
Popular these days
Fairly decent quality JIT implementations
Each implementation has its own weird API
JavaScript
Popular these days
Fairly decent quality JIT implementations
Each implementation has its own weird API
Language is pretty bad
JavaScript
Popular these days
Fairly decent quality JIT implementations
Each implementation has its own weird API
Language is pretty bad
But probably a better choice than the above
Io, Self, Squirrel etc.
Io, Self, Squirrel etc.
Many different choices
Io, Self, Squirrel etc.
Many different choices
Mostly slow interpreters
Io, Self, Squirrel etc.
Many different choices
Mostly slow interpreters
Some are decent languages
Io, Self, Squirrel etc.
Many different choices
Mostly slow interpreters
Some are decent languages
Mostly fairly light on resources
Io, Self, Squirrel etc.
Many different choices
Mostly slow interpreters
Some are decent languages
Mostly fairly light on resources
Not good enough
Io, Self, Squirrel etc.
Many different choices
Mostly slow interpreters
Some are decent languages
Mostly fairly light on resources
Not good enough
People would look at us weird
Lua
Lua
A popular scripting language
Lua
A popular scripting language
Good language with a few quirks
Lua
A popular scripting language
Good language with a few quirks
Light on resources
Lua
A popular scripting language
Good language with a few quirks
Light on resources
Great embedding API
Lua
A popular scripting language
Good language with a few quirks
Light on resources
Great embedding API
Interpreted... :(
Lua
A popular scripting language
Good language with a few quirks
Light on resources
Great embedding API
Interpreted... :(
LuaJIT saves the day
Why is LuaJIT awesome?
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Very light on resources
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Very light on resources
Performance close to C for real world scenarios
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Very light on resources
Performance close to C for real world scenarios
The exact same API as Lua!
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Very light on resources
Performance close to C for real world scenarios
The exact same API as Lua!
API and ABI compatible with Lua 5.1
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Very light on resources
Performance close to C for real world scenarios
The exact same API as Lua!
API and ABI compatible with Lua 5.1
Portable bytecode
Why is LuaJIT awesome?
One of the fastest JIT compilers around
Very light on resources
Performance close to C for real world scenarios
The exact same API as Lua!
API and ABI compatible with Lua 5.1
Portable bytecode
We have a winner
Why LuaJIT sucks
Why LuaJIT sucks
VM written in assembly - only a handful of architectures
Why LuaJIT sucks
VM written in assembly - only a handful of architectures
OTOH, it’s good enough
Why LuaJIT sucks
VM written in assembly - only a handful of architectures
OTOH, it’s good enough
Classic Lua C API is not JITed
Why LuaJIT sucks
VM written in assembly - only a handful of architectures
OTOH, it’s good enough
Classic Lua C API is not JITed
A handful of other things not JITed
Why LuaJIT sucks
VM written in assembly - only a handful of architectures
OTOH, it’s good enough
Classic Lua C API is not JITed
A handful of other things not JITed
No multithreading support
Why LuaJIT sucks
VM written in assembly - only a handful of architectures
OTOH, it’s good enough
Classic Lua C API is not JITed
A handful of other things not JITed
No multithreading support
LuaJIT 2.1 significantly improves the situation
Elua
What is it?
What is it?
An application runtime
What is it?
An application runtime
Ships with the EFL
What is it?
An application runtime
Ships with the EFL
Lightweight
What is it?
An application runtime
Ships with the EFL
Lightweight
Reusable
What is it supposed to achieve?
What is it supposed to achieve?
Rapid application development
What is it supposed to achieve?
Rapid application development
Clean, high level code
What is it supposed to achieve?
Rapid application development
Clean, high level code
Lightweight, good performance
What is it supposed to achieve?
Rapid application development
Clean, high level code
Lightweight, good performance
Easier app distribution (app store model)
What is it supposed to achieve?
Rapid application development
Clean, high level code
Lightweight, good performance
Easier app distribution (app store model)
More safety (memory etc.)
How does it work?
How does it work?
Elua library and binary
How does it work?
Elua library and binary
Library provides Elua-related C utilities for the Lua state
How does it work?
Elua library and binary
Library provides Elua-related C utilities for the Lua state
Binary is a minimal application launcher
How does it work?
Elua library and binary
Library provides Elua-related C utilities for the Lua state
Binary is a minimal application launcher
Together they set up Lua state + ecore main loop
How does it work?
Elua library and binary
Library provides Elua-related C utilities for the Lua state
Binary is a minimal application launcher
Together they set up Lua state + ecore main loop
Most of Elua is written in Lua itself
Bindings
Bindings
Any decent application runtime needs APIs
Bindings
Any decent application runtime needs APIs
Writing bindings is a pain in the ass
Bindings
Any decent application runtime needs APIs
Writing bindings is a pain in the ass
Maintaining bindings is a bigger pain in the ass
Bindings
Any decent application runtime needs APIs
Writing bindings is a pain in the ass
Maintaining bindings is a bigger pain in the ass
What do?
Eolian
Eolian
Two things
Eolian
Two things
An API description language we invented
Eolian
Two things
An API description language we invented
A library to parse this language and expose the information
via API
Eolian
Two things
An API description language we invented
A library to parse this language and expose the information
via API
We describe our EFL APIs in it
Eolian
Two things
An API description language we invented
A library to parse this language and expose the information
via API
We describe our EFL APIs in it
We can reuse it to generate bindings
Eolian
Two things
An API description language we invented
A library to parse this language and expose the information
via API
We describe our EFL APIs in it
We can reuse it to generate bindings
No maintenance burden
Lualian
Lualian
Lualian is the Elua binding generator
Lualian
Lualian is the Elua binding generator
Itself a Lua application powered by Elua
Lualian
Lualian is the Elua binding generator
Itself a Lua application powered by Elua
Easy to maintain and high level
Lualian
Lualian is the Elua binding generator
Itself a Lua application powered by Elua
Easy to maintain and high level
Bindings generated at EFL build time
How do our bindings work?
How do our bindings work?
LuaJIT provides a foreign function interface (FFI)
How do our bindings work?
LuaJIT provides a foreign function interface (FFI)
This allows us to directly access C APIs
How do our bindings work?
LuaJIT provides a foreign function interface (FFI)
This allows us to directly access C APIs
Lualian generates FFI-powered bindings
Eo and Elua
Eo and Elua
We have a Lua Eo layer
Eo and Elua
We have a Lua Eo layer
This provides a native-feeling Eo Lua core
Eo and Elua
We have a Lua Eo layer
This provides a native-feeling Eo Lua core
Handles callbacks, method resolution and other things
Eo and Elua
We have a Lua Eo layer
This provides a native-feeling Eo Lua core
Handles callbacks, method resolution and other things
Generated bindings properly register bound classes with this
Eo and Elua
We have a Lua Eo layer
This provides a native-feeling Eo Lua core
Handles callbacks, method resolution and other things
Generated bindings properly register bound classes with this
Native-feeling APIs!
Other Elua APIs
Other Elua APIs
Elua also provides a collection of Lua utilities
Other Elua APIs
Elua also provides a collection of Lua utilities
This includes a Lua-side object system
Other Elua APIs
Elua also provides a collection of Lua utilities
This includes a Lua-side object system
Also bindings to most relevant Eina components
Other Elua APIs
Elua also provides a collection of Lua utilities
This includes a Lua-side object system
Also bindings to most relevant Eina components
Used by bindings
Other Elua APIs
Elua also provides a collection of Lua utilities
This includes a Lua-side object system
Also bindings to most relevant Eina components
Used by bindings
Eo interacts with our Lua-side object system
Other Elua APIs
Elua also provides a collection of Lua utilities
This includes a Lua-side object system
Also bindings to most relevant Eina components
Used by bindings
Eo interacts with our Lua-side object system
Completely transparent
Distribution
Distribution
Bundled with EFL → always available
Distribution
Bundled with EFL → always available
App store to promote development and distribution of apps
Distribution
Bundled with EFL → always available
App store to promote development and distribution of apps
Well supported - encouraging people to write apps
Distribution
Bundled with EFL → always available
App store to promote development and distribution of apps
Well supported - encouraging people to write apps
Closely matching EFL APIs → free documentation
Distribution
Bundled with EFL → always available
App store to promote development and distribution of apps
Well supported - encouraging people to write apps
Closely matching EFL APIs → free documentation
Needs self-contained package format (use eet?)
Distribution
Bundled with EFL → always available
App store to promote development and distribution of apps
Well supported - encouraging people to write apps
Closely matching EFL APIs → free documentation
Needs self-contained package format (use eet?)
Make it possible to run Elua apps on Tizen?
Status
Where are we?
Where are we?
Working, solid base
Where are we?
Working, solid base
Binding generator needs some work
Where are we?
Working, solid base
Binding generator needs some work
Elua library needs a lot of work
Where are we?
Working, solid base
Binding generator needs some work
Elua library needs a lot of work
EFL interfaces
EFL interfaces
EFL interfaces
A linked project
EFL interfaces
A linked project
Design and implement EFL 2.0 APIs
EFL interfaces
A linked project
Design and implement EFL 2.0 APIs
Eo based
EFL interfaces
A linked project
Design and implement EFL 2.0 APIs
Eo based
Why is this relevant to bindings?
Eo files
Eo files
Our current Eo files are not complete
Eo files
Our current Eo files are not complete
Missing enum definitions, structs etc.
Eo files
Our current Eo files are not complete
Missing enum definitions, structs etc.
Complete Eo files → validation is possible
Eo files
Our current Eo files are not complete
Missing enum definitions, structs etc.
Complete Eo files → validation is possible
Guaranteed definitions for types etc.
Eo files
Our current Eo files are not complete
Missing enum definitions, structs etc.
Complete Eo files → validation is possible
Guaranteed definitions for types etc.
Allows for proper binding generation
What does this all mean?
What does this all mean?
Our bindings are currently not fully functional
What does this all mean?
Our bindings are currently not fully functional
Many will fail to load because of missing type definitions
What does this all mean?
Our bindings are currently not fully functional
Many will fail to load because of missing type definitions
Dependencies are not correctly handled
What does this all mean?
Our bindings are currently not fully functional
Many will fail to load because of missing type definitions
Dependencies are not correctly handled
Elementary is not handled at all
What does this all mean?
Our bindings are currently not fully functional
Many will fail to load because of missing type definitions
Dependencies are not correctly handled
Elementary is not handled at all
Our demos work with what we have + manually adjusted
bindings
Other issues
Other issues
Internationalization and localization
Other issues
Internationalization and localization
Seamless VFS integrated with Lua IO streams
Other issues
Internationalization and localization
Seamless VFS integrated with Lua IO streams
Sandboxing
Other issues
Internationalization and localization
Seamless VFS integrated with Lua IO streams
Sandboxing
Startup time minimization
Other issues
Internationalization and localization
Seamless VFS integrated with Lua IO streams
Sandboxing
Startup time minimization
Portable bytecode loading
Code breakdown
Entry point
Entry point
Everything starts in the Elua launcher
Entry point
Everything starts in the Elua launcher
Lua state gets initialized
Entry point
Everything starts in the Elua launcher
Lua state gets initialized
Elua supports application lookup path
Entry point
Everything starts in the Elua launcher
Lua state gets initialized
Elua supports application lookup path
Apps get executed
Entry point
Everything starts in the Elua launcher
Lua state gets initialized
Elua supports application lookup path
Apps get executed
Ecore main loop is started
Module system
Module system
Elua provides a custom module system that works outside of
Lua’s
Module system
Elua provides a custom module system that works outside of
Lua’s
Seamless (replaces require)
Module system
Elua provides a custom module system that works outside of
Lua’s
Seamless (replaces require)
Modules support init/shutdown callbacks
Module system
Elua provides a custom module system that works outside of
Lua’s
Seamless (replaces require)
Modules support init/shutdown callbacks
Those take care of opening and closing the appropriate libs
Library system
Library system
C libraries are opened and initialized as necessary
Library system
C libraries are opened and initialized as necessary
Opened C libraries are cached and reference counted
Library system
C libraries are opened and initialized as necessary
Opened C libraries are cached and reference counted
Eolian-generated bindings use this
Library system
C libraries are opened and initialized as necessary
Opened C libraries are cached and reference counted
Eolian-generated bindings use this
Symbols are retrieved and bound using C FFI
Library system
C libraries are opened and initialized as necessary
Opened C libraries are cached and reference counted
Eolian-generated bindings use this
Symbols are retrieved and bound using C FFI
This is wrapped in high level API (no FFI exposed to apps)
Eina bindings
Eina bindings
Elua provides hand-bound APIs from Eina
Eina bindings
Elua provides hand-bound APIs from Eina
Containers are read only
Eina bindings
Elua provides hand-bound APIs from Eina
Containers are read only
Provides APIs to convert them to Lua values
Eina bindings
Elua provides hand-bound APIs from Eina
Containers are read only
Provides APIs to convert them to Lua values
Various modules like accessor, iterator, list, log, file etc.
Eina bindings
Elua provides hand-bound APIs from Eina
Containers are read only
Provides APIs to convert them to Lua values
Various modules like accessor, iterator, list, log, file etc.
Will be further expanded as necessary
Other modules
Other modules
Elua includes a benchmarking module in core
Other modules
Elua includes a benchmarking module in core
Also features a powerful command line argument parser
Other modules
Elua includes a benchmarking module in core
Also features a powerful command line argument parser
Lualian is included
Other modules
Elua includes a benchmarking module in core
Also features a powerful command line argument parser
Lualian is included
A custom module system implementation
Other modules
Elua includes a benchmarking module in core
Also features a powerful command line argument parser
Lualian is included
A custom module system implementation
Util module provides an object system, library system, string
buffer implementation and other utils
Conclusion
Conclusion
Still largely incomplete
Conclusion
Still largely incomplete
Getting there
Conclusion
Still largely incomplete
Getting there
Eo files need work
Conclusion
Still largely incomplete
Getting there
Eo files need work
Eolian validator needs to be fully enabled
Conclusion
Still largely incomplete
Getting there
Eo files need work
Eolian validator needs to be fully enabled
Lua APIs need plenty of work
Thank you.
Daniel Kolesa
Samsung Open Source Group
d.kolesa@osg.samsung.com
@octaforge
Lua Workshop 2015 Stockholm

More Related Content

What's hot

Python ppt
Python pptPython ppt
Python ppt
Mohita Pandey
 
Introduction to programming with python
Introduction to programming with pythonIntroduction to programming with python
Introduction to programming with python
Porimol Chandro
 
GDG Helwan Introduction to python
GDG Helwan Introduction to pythonGDG Helwan Introduction to python
GDG Helwan Introduction to python
Mohamed Hegazy
 
NLP using JavaScript Natural Library
NLP using JavaScript Natural LibraryNLP using JavaScript Natural Library
NLP using JavaScript Natural Library
Aniruddha Chakrabarti
 
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Dr. Jan Köhnlein
 
Beginning Python
Beginning PythonBeginning Python
Beginning Python
Ankur Shrivastava
 
How to use Ruby code inside Elixir
How to use Ruby code inside ElixirHow to use Ruby code inside Elixir
How to use Ruby code inside Elixir
Weverton Timoteo
 

What's hot (7)

Python ppt
Python pptPython ppt
Python ppt
 
Introduction to programming with python
Introduction to programming with pythonIntroduction to programming with python
Introduction to programming with python
 
GDG Helwan Introduction to python
GDG Helwan Introduction to pythonGDG Helwan Introduction to python
GDG Helwan Introduction to python
 
NLP using JavaScript Natural Library
NLP using JavaScript Natural LibraryNLP using JavaScript Natural Library
NLP using JavaScript Natural Library
 
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
 
Beginning Python
Beginning PythonBeginning Python
Beginning Python
 
How to use Ruby code inside Elixir
How to use Ruby code inside ElixirHow to use Ruby code inside Elixir
How to use Ruby code inside Elixir
 

Viewers also liked

igdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT introigdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT intro
igdshare
 
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
What's New in LuaRocks - Lua Workshop 2014 - Hisham MuhammadWhat's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
Hisham Muhammad
 
Lua by Ong Hean Kuan
Lua by Ong Hean KuanLua by Ong Hean Kuan
Lua by Ong Hean Kuan
fossmy
 
Api Design Anti-Patterns
Api Design Anti-PatternsApi Design Anti-Patterns
Api Design Anti-Patterns
Jason Harmon
 
Hands on lua
Hands on luaHands on lua
Hands on lua
Javier Arauz
 
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaRoll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Jon Moore
 
Accounting concepts conventions & principles
Accounting concepts conventions & principlesAccounting concepts conventions & principles
Accounting concepts conventions & principlesJatin Pancholi
 

Viewers also liked (7)

igdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT introigdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT intro
 
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
What's New in LuaRocks - Lua Workshop 2014 - Hisham MuhammadWhat's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
 
Lua by Ong Hean Kuan
Lua by Ong Hean KuanLua by Ong Hean Kuan
Lua by Ong Hean Kuan
 
Api Design Anti-Patterns
Api Design Anti-PatternsApi Design Anti-Patterns
Api Design Anti-Patterns
 
Hands on lua
Hands on luaHands on lua
Hands on lua
 
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaRoll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
 
Accounting concepts conventions & principles
Accounting concepts conventions & principlesAccounting concepts conventions & principles
Accounting concepts conventions & principles
 

Similar to High Level Application Scripting With EFL and LuaJIT

[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...
[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...
[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...
EnlightenmentProject
 
[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...
[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...
[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...
EnlightenmentProject
 
Enlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitEnlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & Toolkit
Samsung Open Source Group
 
[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)
[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)
[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)EnlightenmentProject
 
Preparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsPreparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for Translations
HPCC Systems
 
Python overview
Python overviewPython overview
Python overview
Haroon Karim
 
Java As A Programming Language
Java As A Programming LanguageJava As A Programming Language
Java As A Programming Language
Jennifer Wright
 
Voice Assistant.pptx
Voice Assistant.pptxVoice Assistant.pptx
Voice Assistant.pptx
AnimeshUpadhyay11
 
Text to speech converter in C#.NET
Text to speech converter in C#.NETText to speech converter in C#.NET
Text to speech converter in C#.NET
Mandeep Cheema
 
Bringing UX to the Backend
Bringing UX to the BackendBringing UX to the Backend
Bringing UX to the Backend
Elizabeth Chesters
 
Chinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.orgChinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.orgAlexandro Colorado
 
Pharo: A Reflective System
Pharo: A Reflective SystemPharo: A Reflective System
Pharo: A Reflective System
Marcus Denker
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
mikaelbarbero
 
Ti1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsTi1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsEelco Visser
 
The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...
The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...
The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...
Sanket Sahu
 
Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language Workbenches
Markus Voelter
 
Swift vs. Language X
Swift vs. Language XSwift vs. Language X
Swift vs. Language X
Scott Wlaschin
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
Mickael Istria
 
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the uglyUri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
tlv-ios-dev
 

Similar to High Level Application Scripting With EFL and LuaJIT (20)

[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...
[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...
[E-Dev-Day 2015][1/4] Eolian - Past Year Experiences and the Future (Daniel K...
 
[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...
[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...
[E-Dev-Day-US-2015][9/9] High Level Application Development with Elua (Daniel...
 
Enlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitEnlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & Toolkit
 
[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)
[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)
[E-Dev-Day-US-2015][8/9] he EFL API in Review (Tom Hacohen)
 
Preparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsPreparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for Translations
 
Python overview
Python overviewPython overview
Python overview
 
Java As A Programming Language
Java As A Programming LanguageJava As A Programming Language
Java As A Programming Language
 
Voice Assistant.pptx
Voice Assistant.pptxVoice Assistant.pptx
Voice Assistant.pptx
 
Text to speech converter in C#.NET
Text to speech converter in C#.NETText to speech converter in C#.NET
Text to speech converter in C#.NET
 
Bringing UX to the Backend
Bringing UX to the BackendBringing UX to the Backend
Bringing UX to the Backend
 
Chinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.orgChinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.org
 
Eo fosdem 15
Eo fosdem 15Eo fosdem 15
Eo fosdem 15
 
Pharo: A Reflective System
Pharo: A Reflective SystemPharo: A Reflective System
Pharo: A Reflective System
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
 
Ti1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsTi1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming Linguistics
 
The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...
The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...
The State of One Codebase For All The Platforms | Sanket Sahu | App.js Conf 2...
 
Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language Workbenches
 
Swift vs. Language X
Swift vs. Language XSwift vs. Language X
Swift vs. Language X
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
 
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the uglyUri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
 

More from Samsung Open Source Group

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
Samsung Open Source Group
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
Samsung Open Source Group
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
Samsung Open Source Group
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
Samsung Open Source Group
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Samsung Open Source Group
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
Samsung Open Source Group
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
Samsung Open Source Group
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
Samsung Open Source Group
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
Samsung Open Source Group
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
Samsung Open Source Group
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
Samsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
Samsung Open Source Group
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Samsung Open Source Group
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
Samsung Open Source Group
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
Samsung Open Source Group
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
Samsung Open Source Group
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
Samsung Open Source Group
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Samsung Open Source Group
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
Samsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
Samsung Open Source Group
 

More from Samsung Open Source Group (20)

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 

Recently uploaded

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 

Recently uploaded (20)

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 

High Level Application Scripting With EFL and LuaJIT