SlideShare une entreprise Scribd logo
1  sur  106
WebAssembly
Jay Phelps | @_jayphelps
The
Revolutionhas begun
InfoQ.com: News & Community Site
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
webassembly-wasm-intro
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
Jay Phelps | @_jayphelps
WebAssembly will change the way
we think of "web apps"
Senior Software Engineer |
@_jayphelps
Jay Phelps
Jay Phelps | @_jayphelps
So...what is WebAssembly? aka wasm
Jay Phelps | @_jayphelps
Efficient, low-level bytecode for the Web
Jay Phelps | @_jayphelps
Efficient, low-level bytecode for the Web
Jay Phelps | @_jayphelps
Fast to load and execute
Jay Phelps | @_jayphelps
Efficient, low-level bytecode for the Web
Jay Phelps | @_jayphelps
0x6a01101010
Jay Phelps | @_jayphelps
Intended as a compilation target
int	factorial(int	n)	{	
		if	(n	==	0)	{	
				return	1;	
		}	else	{	
				return	n	*	factorial(n	-	1);	
		}	
}
int	factorial(int	n)	{	
		if	(n	==	0)	{	
				return	1;	
		}	else	{	
				return	n	*	factorial(n	-	1);	
		}	
}
00	61	73	6D	01	00	00	00	01	
86	80	80	80	00	01	60	01	7F	
01	7F	03	82	80	80	80	00	01	
00	06	81	80	80	80	00	00	0A	
9D	80	80	80	00	01	97	80	80	
80	00	00	20	00	41	00	46	04	
40	41	01	0F	0B	20	00	41	01	
6B	10	00	20	00	6C	0B
Jay Phelps | @_jayphelps
Safe and portable
just like JavaScript is
Jay Phelps | @_jayphelps
Is it going to kill JavaScript?
Jay Phelps | @_jayphelps
Nope!says browser vendors
*
Jay Phelps | @_jayphelps
*well...maybe...some day...a long time from now
(my own opinion)
Jay Phelps | @_jayphelps
Will we compile JavaScript to WebAssembly?
Jay Phelps | @_jayphelps
JavaScript is an extremely dynamic language
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
Compiling JavaScript to WebAssembly would run slower
What about a something JavaScript-like?
Jay Phelps | @_jayphelps
AssemblyScript, TurboScript, ThinScript, etc
Jay Phelps | @_jayphelps
class	Coordinates	{	
		x:	i64;	
		y:	i64;	
		z:	i64;	
		constructor(x:	i64,	y:	i64,	z:	i64)	{	
				this.x	=	x;	
				this.y	=	y;	
				this.z	=	z;	
		}	
}	
export	function	example()	{	
		let	position	=	new	Coordinates(10,	20,	30);	
		//	later	
		delete	position;	
}
Jay Phelps | @_jayphelps
WebAssembly is still missing things
for broad adoption
Jay Phelps | @_jayphelps
v1 MVP is best suited for languages like
C/C++ and Rust
Jay Phelps | @_jayphelps
But other languages soon!
Things like Java, OCaml, and even brand new ones
Jay Phelps | @_jayphelps
type	schoolPerson	=	Teacher	|	Director	|	Student(string);	
let	greeting	=	(stranger)	=>	
		switch	stranger	{	
				|	Teacher	=>	"Hey	professor!"	
				|	Director	=>	"Hello	director."	
				|	Student("Richard")	=>	"Still	here	Ricky?"	
				|	Student(anyOtherName)	=>	"Hey,	"	++	anyOtherName	++	"."	
		};
Jay Phelps | @_jayphelps
When should I target WebAssembly right now?
Jay Phelps | @_jayphelps
Heavily CPU-bound number computations
Jay Phelps | @_jayphelps
Games
Physics Simulation
Encryption
Compression
Video Decoding
Audio Mixing
Language Detection
Jay Phelps | @_jayphelps
Games
Physics Simulation
Encryption
Compression
Video Decoding
Audio Mixing
Language Detection
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelpshttps://goo.gl/yvV92X
https://goo.gl/YWMpdp
asm-dom
https://goo.gl/XWBeme
Jay Phelps | @_jayphelps
Other use cases just around the corner
Jay Phelps | @_jayphelps
You'll likely consume compiled
WebAssembly libraries even sooner
Jay Phelps | @_jayphelps
What was that binary stuff?
int	factorial(int	n)	{	
		if	(n	==	0)	{	
				return	1;	
		}	else	{	
				return	n	*	factorial(n	-	1);	
		}	
}
00	61	73	6D	01	00	00	00	01	
86	80	80	80	00	01	60	01	7F	
01	7F	03	82	80	80	80	00	01	
00	06	81	80	80	80	00	00	0A	
9D	80	80	80	00	01	97	80	80	
80	00	00	20	00	41	00	46	04	
40	41	01	0F	0B	20	00	41	01	
6B	10	00	20	00	6C	0B
00	61	73	6D	01	00	00	00	01	
86	80	80	80	00	01	60	01	7F	
01	7F	03	82	80	80	80	00	01	
00	06	81	80	80	80	00	00	0A	
9D	80	80	80	00	01	97	80	80	
80	00	00	20	00	41	00	46	04	
40	41	01	0F	0B	20	00	41	01	
6B	10	00	20	00	6C	0B
00	61	73	6D	01	00	00	00	01	
86	80	80	80	00	01	60	01	7F	
01	7F	03	82	80	80	80	00	01	
00	06	81	80	80	80	00	00	0A	
9D	80	80	80	00	01	97	80	80	
80	00	00	20	00	41	00	46	04	
40	41	01	0F	0B	20	00	41	01	
6B	10	00	20	00	6C	0B
00	61	73	6D	01	00	00	00	01	
86	80	80	80	00	01	60	01	7F	
01	7F	03	82	80	80	80	00	01	
00	06	81	80	80	80	00	00	0A	
9D	80	80	80	00	01	97	80	80	
80	00	00	20	00	41	00	46	04	
40	41	01	0F	0B	20	00	41	01	
6B	10	00	20	00	6C	0B
03	82	80	80	80	0
	81	80	80	80	00	0
	80	80	00	01	97	8
	00	20	00	41	00	4
03	82	80	80	80	0
	81	80	80	80	00	0
	80	80	00	01	97	8
	00	20	00	41	00	4
Jay Phelps | @_jayphelps
Binary can be a little intimidating
Jay Phelps | @_jayphelps
Protip: don't worry about it
(unless of course, you want to)
Jay Phelps | @_jayphelps
Textual representation to the rescue!
Jay Phelps | @_jayphelps
(func	$factorial	(param	$n	i32)	(result	i32)	
		get_local	$n	
		i32.const	0	
		i32.eq	
		if	$if0	
		i32.const	1	
		return	
		end	$if0	
		get_local	$n	
		i32.const	1	
		i32.sub	
		call	$factorial	
		get_local	$n	
		i32.mul	
)
Jay Phelps | @_jayphelps
(func	$factorial	(param	$n	i32)	(result	i32)	
		get_local	$n	
		i32.const	0	
		i32.eq	
		if	$if0	
		i32.const	1	
		return	
		end	$if0	
		get_local	$n	
		i32.const	1	
		i32.sub	
		call	$factorial	
		get_local	$n	
		i32.mul	
)
Jay Phelps | @_jayphelps
WebAssembly is a stack machine language
Jay Phelps | @_jayphelps
stack machine: instructions on a stack
1	+	2
i32.add 0x6a
opcode
01101010
mnemonic
stack
i32.const	1	
i32.const	2	
i32.add
i32.const	1	
i32.const	2	
i32.add
i32.const	1	
stack
1
i32.const	1	
i32.const	2	
i32.add
i32.const	2	
stack
2
1
i32.const	1	
i32.const	2	
i32.addi32.add
stack
1
2
i32.const	1	
i32.const	2	
i32.add
stack
3
i32.add
Jay Phelps | @_jayphelps
call	$log	
i32.const	1	
i32.const	2	
i32.add
Jay Phelps | @_jayphelps
Compilers usually apply optimizations
real-world output is often less understandable to humans
i32.const	1	
i32.const	2	
i32.add	
call	$log	
Jay Phelps | @_jayphelps
i32.const	3	
call	$log	
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
Most tooling supports an Abstract Syntax Tree (AST)
still compiled and evaluated as a stack machine
i32.const	1	
i32.const	2	
i32.add	
call	$log	
Jay Phelps | @_jayphelps
(call	$log	
		(i32.add	
				(i32.const	1)	
				(i32.const	2)	
		)	
)
Jay Phelps | @_jayphelps
(call	$log	
		(i32.add	
				(i32.const	1)	
				(i32.const	2)	
		)	
)
Jay Phelps | @_jayphelps
s-expressions
Yep, looks like Lisp
Jay Phelps | @_jayphelps
Source map support is coming
Jay Phelps | @_jayphelps
What about memory on the heap?
Jay Phelps | @_jayphelps
A linear memory is a contiguous, byte-
addressable range of memory
Jay Phelps | @_jayphelps
Accessed with instructions like
i32.load and i32.store
Jay Phelps | @_jayphelps
0 1 2 3 4 5 6 7 8 9 10
Jay Phelps | @_jayphelps
0 1 2 3 4 5 6 7 8 9 10
1 byte
Jay Phelps | @_jayphelps
0 1 2 3 4 5 6 7 8 9 10
Jay Phelps | @_jayphelps
0 1 2 3 4 5 6 7 8 9 10
w a s m
Jay Phelps | @_jayphelps
0 1 2 3 4 5 6 7 8 9 10
w a s m
Jay Phelps | @_jayphelps
0 1 2 3 4 5 6 7 8 9 10
119 97 115 109
Jay Phelps | @_jayphelps
How do I get started?
https://mbebenita.github.io/WasmExplorer/
Jay Phelps | @_jayphelps
https://github.com/WebAssembly/wabt
Jay Phelps | @_jayphelps
https://github.com/WebAssembly/binaryen
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
$	emcc	main.c	-s	WASM=1	-o	app.html
Jay Phelps | @_jayphelps
webassembly.org
Jay Phelps | @_jayphelps
Webpack is adding support (!!!)
They received a $125,000 grant from MOSS
Jay Phelps | @_jayphelps
Imagine a cpp-loader / rust-loader
Jay Phelps | @_jayphelps
What's missing?
Jay Phelps | @_jayphelps
Direct access to Web APIs
You have call into JavaScript, right now
Jay Phelps | @_jayphelps
Garbage collection
also necessary for better interop with JavaScript and WebIDL
Jay Phelps | @_jayphelps
Multi-threading
Jay Phelps | @_jayphelps
Browser support?
Jay Phelps | @_jayphelps
The revolution is just beginning
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
Efficient, low-level bytecode for the Web
Jay Phelps | @_jayphelps
Efficient, low-level bytecode for the Web
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
Questions?
@_jayphelps
Jay Phelps | @_jayphelps
Thanks!
@_jayphelps
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
Jay Phelps | @_jayphelps
void	log(char	*);	
void	example()	{	
		log("wasm");	
}
(module	
		(import	"env"	"log"	(func	$log	(param	i32)))	
		(memory	$0	1)	
		(data	(i32.const	0)	"wasm00")	
		(func	$example	
				(call	$log	
						(i32.const	0)	
				)	
		)	
)	
Jay Phelps | @_jayphelps
(module	
		(import	"env"	"log"	(func	$log	(param	i32)))	
		(memory	$0	1)	
		(func	$example	
				(call	$log	
						(i32.const	0)	
				)	
		)	
)	
Jay Phelps | @_jayphelps
		(data	(i32.const	0)	"wasm00")
(module	
		(import	"env"	"log"	(func	$log	(param	i32)))	
		(memory	$0	1)	
		(data	(i32.const	0)	"wasm00")	
		(func	$example	
		)	
)	
Jay Phelps | @_jayphelps
				(call	$log	
						(i32.const	0)	
				)
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
webassembly-wasm-intro

Contenu connexe

Plus de C4Media

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseC4Media
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinC4Media
 

Plus de C4Media (20)

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
 

Dernier

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Dernier (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

The WebAssembly Revolution Has Begun