SlideShare a Scribd company logo
1 of 96
Patrick Kettner
Patrick Kettner
Program Manager
Microsoft Edge
:[:D
O
Lexing
Parsing
Code Gen
Lexing
“hey, that’s a keyword!”“and that’s an identifier!”“thats an integer!”“another integer!”“oh cool! an addition operator”“looks like an assignment operator”
var sum = 1 + 2var sum=1+2
keyword identifier assignment int addition int
still lexestokens
21=sum +
identifier assignment int addition int
var
keyword
Parsing
, called sumset a variable
and assign it the value of
the integer 1 , in addition to ,
the integer 2
var sum = 1 + 2var sum=1+2
keyword identifier assignment int addition int
Code Gen
Program
VariableDeclaration
sum +
1 2
set a variable,
called sum
assign the value of
the integer 1,
in addition to
the integer 2
set a variable,
called sum
assign the value of
the integer 1,
in addition to
the integer 2
Abstract
Syntax
Tree
Abstract
Syntax
Tree
Program
VariableDeclaration
sum +
1 2
var sum = 1 + 2
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
#opal_sass.rb
require 'opal'
require 'opal-parser'
require 'sass'
def sassBuilder(str, opts)
Sass::Engine.new(str, opts).render
end
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script src="./opal_sass.js"></script>
</body>
</html>
The
first time
1. It never
works.
1.
2. Tools
aren’t
perfect.
2.
Every time
3. It is super
tedious.
3.
So simplify
when you
can
Sass
Opal
Gemfile/Deps
https://OfflineSass.club
4. Test
Everything
4.
Reuse tests
whenever
possible
…
def test_rgb_percent
assert_equal("#123457", evaluate("rgb(7.1%, 20.4%, 34%)"))
assert_equal("#beaded", evaluate("rgb(74.7%, 173, 93%)"))
assert_equal("#beaded", evaluate("rgb(190, 68%, 237)"))
assert_equal("#00ff80", evaluate("rgb(0%, 100%, 50%)"))
end
def test_rgb_clamps_bounds
assert_equal("#ff0101", evaluate("rgb(256, 1, 1)"))
assert_equal("#01ff01", evaluate("rgb(1, 256, 1)"))
assert_equal("#0101ff", evaluate("rgb(1, 1, 256)"))
assert_equal("#01ffff", evaluate("rgb(1, 256, 257)"))
assert_equal("#000101", evaluate("rgb(-1, 1, 1)"))
end
def test_rgb_clamps_percent_bounds
assert_equal("red", evaluate("rgb(100.1%, 0, 0)"))
assert_equal("black", evaluate("rgb(0, -0.1%, 0)"))
assert_equal("blue", evaluate("rgb(0, 0, 101%)"))
end
def test_rgb_tests_types
assert_error_message("$red: "foo" is not a number for `rgb'",
80 Versions
Automatically generated
(That’s 7 years of sass)
Two Point
Seven
Megabytes
sass-3.4.23.js.gz –
2.7mb
sass-3.4.23.js.br –
250kb
asm.js
Alon Zakai
L L V M
O E I A
W V R C
E T H
L U I
A N
L E
0101010
0101010101010
0101010101010101010
0101010101010101010101010
01010101010101010101010101010
010101010101 01010101010
0101010101 0101010101
01010101 01010101
0101010 0101 01010101
010101 010101010 01010101010
010101 01010101010101010101010
010101 0101010101010101 0101 01
010101 0101010101010101 0101 01
010101 01010101010101010101010
010101 010101010 01010101010
0101010 01010 01010101
01010101 01010101
0101010101 0101010101
010101010101 010101010101
0101010101010101010101010101010
0101010101010101010101010
0101010101010101010
0101010101
0101
asm.js
function cX(b) {
b = b | 0;
var d = 0,
f = 0,
sp(31416, (x = i, i = i + 40 | 0, c[x >> 2] = c[b + 80 >> 2], c[x + 8 >> 2] = n, c[x + 16
>> 2] = p, c[x + 24 >> 2] = l, c[x + 32 >> 2] = j, x) | 0);
j = c[b + 84 >> 2] | 0;
l = c[b + 100 >> 2] | 0;
p = c[b + 116 >> 2] | 0;
n = c[b + 132 >> 2] | 0;
k = ii(b) | 0;
sp(31280, (x = i, i = i + 40 | 0, c[x >> 2] = j, c[x + 8 >> 2] = l, c[x + 16 >> 2] = p, c[x
+ 24 >> 2] = n, c[x + 32 >> 2] = k, x) | 0);
k = c[b + 104 >> 2] | 0;
n = c[b + 120 >> 2] | 0;
p = c[b + 136 >> 2] | 0;
l = b + 188 | 0;
j = b + 140 | 0;
q = c[((a[l] | 0) == 0 ? j : b + 152 | 0) >> 2] | 0;
sp(31168, (x = i, i = i + 40 | 0, c[x >> 2] = c[b + 88 >> 2], c[x + 8 >> 2] = k, c[x + 16
>> 2] = n, c[x + 24 >> 2] = p, c[x + 32 >> 2] = q, x) | 0);
q = c[b + 92 >> 2] | 0;
p = c[b + 108 >> 2] | 0;
n = c[b + 124 >> 2] | 0;
function cX(b) {
b = b | 0;
var d = 0,
f = 0,
sp(31416, (x = i, i = i + 40 | 0, c[x >> 2] = c[b + 80 >> 2], c[x + 8 >> 2] = n, c[x + 16
>> 2] = p, c[x + 24 >> 2] = l, c[x + 32 >> 2] = j, x) | 0);
j = c[b + 84 >> 2] | 0;
l = c[b + 100 >> 2] | 0;
p = c[b + 116 >> 2] | 0;
n = c[b + 132 >> 2] | 0;
k = ii(b) | 0;
sp(31280, (x = i, i = i + 40 | 0, c[x >> 2] = j, c[x + 8 >> 2] = l, c[x + 16 >> 2] = p, c[x
+ 24 >> 2] = n, c[x + 32 >> 2] = k, x) | 0);
k = c[b + 104 >> 2] | 0;
n = c[b + 120 >> 2] | 0;
p = c[b + 136 >> 2] | 0;
l = b + 188 | 0;
j = b + 140 | 0;
q = c[((a[l] | 0) == 0 ? j : b + 152 | 0) >> 2] | 0;
sp(31168, (x = i, i = i + 40 | 0, c[x >> 2] = c[b + 88 >> 2], c[x + 8 >> 2] = k, c[x + 16
>> 2] = n, c[x + 24 >> 2] = p, c[x + 32 >> 2] = q, x) | 0);
q = c[b + 92 >> 2] | 0;
p = c[b + 108 >> 2] | 0;
n = c[b + 124 >> 2] | 0;
x + 2
x is a…
string?
object?
int?
x=(x|0);x + 2
x is a…
string?
object?
int?
x is a…
string?
object?
int?
asm.js
https://github.com/kripken/sql.js
https://quakejs.com
asm.js
Lexing
Parsing
Code Gen
Lexing
Parsing
Code Gen
5. Try
something
dumb
5.

More Related Content

What's hot

Wzory statystyka
Wzory statystykaWzory statystyka
Wzory statystykauekatonotes
 
Human-powered Javascript Compression for Fun and Gummy Bears
Human-powered Javascript Compression for Fun and Gummy BearsHuman-powered Javascript Compression for Fun and Gummy Bears
Human-powered Javascript Compression for Fun and Gummy BearsRui Lopes
 
makalah saya
makalah sayamakalah saya
makalah saya4l4ly
 
cocos2d 事例編 HungryMasterの実装から
cocos2d 事例編 HungryMasterの実装からcocos2d 事例編 HungryMasterの実装から
cocos2d 事例編 HungryMasterの実装からYuichi Higuchi
 
Tabela derivadas-e-integrais
Tabela derivadas-e-integraisTabela derivadas-e-integrais
Tabela derivadas-e-integraismariasousagomes
 
Numerical Method Assignment
Numerical Method AssignmentNumerical Method Assignment
Numerical Method Assignmentashikul akash
 
Cocos2dを使ったゲーム作成の事例
Cocos2dを使ったゲーム作成の事例Cocos2dを使ったゲーム作成の事例
Cocos2dを使ったゲーム作成の事例Yuichi Higuchi
 
Introduction of 3D Development
Introduction of 3D DevelopmentIntroduction of 3D Development
Introduction of 3D Developmentsiufu
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integraisDiego Rodrigues Vaz
 

What's hot (15)

Wzory statystyka
Wzory statystykaWzory statystyka
Wzory statystyka
 
Human-powered Javascript Compression for Fun and Gummy Bears
Human-powered Javascript Compression for Fun and Gummy BearsHuman-powered Javascript Compression for Fun and Gummy Bears
Human-powered Javascript Compression for Fun and Gummy Bears
 
Tabla integrales
Tabla integralesTabla integrales
Tabla integrales
 
Integral table
Integral tableIntegral table
Integral table
 
makalah saya
makalah sayamakalah saya
makalah saya
 
cocos2d 事例編 HungryMasterの実装から
cocos2d 事例編 HungryMasterの実装からcocos2d 事例編 HungryMasterの実装から
cocos2d 事例編 HungryMasterの実装から
 
Tabela derivadas-e-integrais
Tabela derivadas-e-integraisTabela derivadas-e-integrais
Tabela derivadas-e-integrais
 
ЗНО-2021 (математика)
ЗНО-2021 (математика)ЗНО-2021 (математика)
ЗНО-2021 (математика)
 
Numerical Method Assignment
Numerical Method AssignmentNumerical Method Assignment
Numerical Method Assignment
 
Seg code
Seg codeSeg code
Seg code
 
Cocos2dを使ったゲーム作成の事例
Cocos2dを使ったゲーム作成の事例Cocos2dを使ったゲーム作成の事例
Cocos2dを使ったゲーム作成の事例
 
graphics Assidnment
graphics Assidnmentgraphics Assidnment
graphics Assidnment
 
Introduction of 3D Development
Introduction of 3D DevelopmentIntroduction of 3D Development
Introduction of 3D Development
 
Grid help, Processing
Grid help, ProcessingGrid help, Processing
Grid help, Processing
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integrais
 

Similar to Javascript Without Javascript

第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」Ken'ichi Matsui
 
Positive and negative solutions of a boundary value problem for a fractional ...
Positive and negative solutions of a boundary value problem for a fractional ...Positive and negative solutions of a boundary value problem for a fractional ...
Positive and negative solutions of a boundary value problem for a fractional ...journal ijrtem
 
Current Score – 0 Due Wednesday, November 19 2014 0400 .docx
Current Score  –  0 Due  Wednesday, November 19 2014 0400 .docxCurrent Score  –  0 Due  Wednesday, November 19 2014 0400 .docx
Current Score – 0 Due Wednesday, November 19 2014 0400 .docxfaithxdunce63732
 
C++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical ReviewerC++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical ReviewerAndrey Karpov
 
Formulario de Calculo Diferencial-Integral
Formulario de Calculo Diferencial-IntegralFormulario de Calculo Diferencial-Integral
Formulario de Calculo Diferencial-IntegralErick Chevez
 
第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)
第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)
第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)Wataru Shito
 
Sparse Matrix and Polynomial
Sparse Matrix and PolynomialSparse Matrix and Polynomial
Sparse Matrix and PolynomialAroosa Rajput
 
Match II (armand)
Match II (armand)Match II (armand)
Match II (armand)Eng. QaSeMy
 
Convolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoConvolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoSeongwon Hwang
 
令和から本気出す
令和から本気出す令和から本気出す
令和から本気出すTakashi Kitano
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015ihji
 
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...Ji Hyung Moon
 
Optimization and Mathematical Programming in R and ROI - R Optimization Infra...
Optimization and Mathematical Programming in R and ROI - R Optimization Infra...Optimization and Mathematical Programming in R and ROI - R Optimization Infra...
Optimization and Mathematical Programming in R and ROI - R Optimization Infra...Dr. Volkan OBAN
 

Similar to Javascript Without Javascript (20)

Prelude to halide_public
Prelude to halide_publicPrelude to halide_public
Prelude to halide_public
 
Numerical Methods Solving Linear Equations
Numerical Methods Solving Linear EquationsNumerical Methods Solving Linear Equations
Numerical Methods Solving Linear Equations
 
jacobi method, gauss siedel for solving linear equations
jacobi method, gauss siedel for solving linear equationsjacobi method, gauss siedel for solving linear equations
jacobi method, gauss siedel for solving linear equations
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
 
Include
IncludeInclude
Include
 
Positive and negative solutions of a boundary value problem for a fractional ...
Positive and negative solutions of a boundary value problem for a fractional ...Positive and negative solutions of a boundary value problem for a fractional ...
Positive and negative solutions of a boundary value problem for a fractional ...
 
Current Score – 0 Due Wednesday, November 19 2014 0400 .docx
Current Score  –  0 Due  Wednesday, November 19 2014 0400 .docxCurrent Score  –  0 Due  Wednesday, November 19 2014 0400 .docx
Current Score – 0 Due Wednesday, November 19 2014 0400 .docx
 
C++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical ReviewerC++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical Reviewer
 
Formulario de Calculo Diferencial-Integral
Formulario de Calculo Diferencial-IntegralFormulario de Calculo Diferencial-Integral
Formulario de Calculo Diferencial-Integral
 
第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)
第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)
第5回 様々なファイル形式の読み込みとデータの書き出し(解答付き)
 
Sparse Matrix and Polynomial
Sparse Matrix and PolynomialSparse Matrix and Polynomial
Sparse Matrix and Polynomial
 
Match II (armand)
Match II (armand)Match II (armand)
Match II (armand)
 
Convolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoConvolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in Theano
 
令和から本気出す
令和から本気出す令和から本気出す
令和から本気出す
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
 
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
(KO) 온라인 뉴스 댓글 플랫폼을 흐리는 어뷰저 분석기 / (EN) Online ...
 
Optimization and Mathematical Programming in R and ROI - R Optimization Infra...
Optimization and Mathematical Programming in R and ROI - R Optimization Infra...Optimization and Mathematical Programming in R and ROI - R Optimization Infra...
Optimization and Mathematical Programming in R and ROI - R Optimization Infra...
 
Computer Programming- Lecture 9
Computer Programming- Lecture 9Computer Programming- Lecture 9
Computer Programming- Lecture 9
 
MATLAB ARRAYS
MATLAB ARRAYSMATLAB ARRAYS
MATLAB ARRAYS
 
C programs
C programsC programs
C programs
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Javascript Without Javascript