SlideShare a Scribd company logo
1 of 80
Download to read offline
Real World Functional
Programming
reason-react
Functional Programming for React developers
@keirasaid
React.js Reason-ReactReasonML FinStart
The State of JS 2017
ContentContainer
Button
Header
ContentContainer
Header
Button
AnotherContainer
Header
Button
<button>
{this.props.buttonText}
</button>
<h1>{this.props.headerText}</h1>
ContentContainer.propTypes = {
headerText: PropTypes.string.isRequired,
buttonText: PropTypes.string.isRequired,
};
Unidirectional
Data-flow
Stateful component
Stateless component
Stateless component
<button>
{this.props.buttonText}
</button>
<h1>{this.props.headerText}</h1>
ContentContainer.propTypes = {
headerText: PropTypes.string.isRequired,
buttonText: PropTypes.string.isRequired,
};
Unidirectional
Data-flow
Stateful component
Stateless component
Stateless component
<button>
{this.props.buttonText}
</button>
<h1>{this.props.headerText}</h1>
render() {
return (
<ContentContainer>
<Header headerText=“My Header” />
<Button buttonText=“Click Me” />
</ContentContainer>
);
}
JavaScript
https://wiki.haskell.org/The_JavaScript_Problem
1. JavaScript, the language, has some issues that
make working with it inconvenient and make
developing software harder :
lack of module system (only pre-Ecmascript 2015),
weak-typing,
verbose function syntax (pre-Ecmascript 2015),
late binding,
finicky equality/automatic conversion,
‘this’ behaviour,
and lack of static types.
2. We need JavaScript
+ =>
React.js Reason-ReactReasonML FinStart
Syntax
JavaScript Reason OCaml
“Hello Linux Conf 2018!” Same as JS Same as JS
‘Hello Linux Conf 2018’ Must use double quotation marks Must use double quotation marks
“Hello” + “Linux Conf” “Hello” ++ “Linux Conf” “Hello” ^ “Linux Conf”
Syntax
JavaScript Reason OCaml
true, false Writes like JS, compiles differently Writes like JS, compiles differently
!true Writes like JS, compiles differently not true
||, &&, <=, >=, <, > Writes like JS, compiles differently Writes like JS, compiles differently
Syntax
JavaScript let greaterThan = (num1, num2) => num1 > num2;
Reason let greaterThan = (num1, num2) => num1 > num2;
Bucklescript var greaterThan = Caml_obj.caml_greaterthan;
Syntax
JavaScript
let x = 5;
x = x + 1;
Syntax
JavaScript Reason OCaml
let x = 5;
x = x + 1;
let x = ref(5);
x := x^ + 1;
let x = ref 5
x := ((!x) + 1)
OCaml Syntax
OCaml Semantics
Bytecode Native
https://
spyder.wordpress.com/
2017/05/14/ocaml-to-
javascript-buzzwords/
OCaml Syntax
OCaml Semantics
Bytecode Native
https://
spyder.wordpress.com/
2017/05/14/ocaml-to-
javascript-buzzwords/
js_of_ocaml
https://
spyder.wordpress.com/
2017/05/14/ocaml-to-
javascript-buzzwords/
OCaml Syntax
OCaml Semantics
Bucklescript
https://
spyder.wordpress.com/
2017/05/14/ocaml-to-
javascript-buzzwords/
Reason Syntax
OCaml Semantics
Bucklescript
React.js Reason-ReactReasonML FinStart
+ =>
Because it’s
reasonably easy.
Learning and chunking
• Miller, G.A. (1956) The magical number seven, plus or minus
two: some limits on our capacity for processing information.
Psychol. Rev. 63, 81–97
• Gobet, F., Lane, P. C. R., Croker, S., Cheng, P. C. H., Jones, G.,
Oliver, I., & Pine, J. M. (2001). Chunking mechanisms in human
learning. Trends in Cognitive Sciences, 5(6), 236-243.
• Guida, A., Gobet, F., Tardieu, H., & Nicolas, S. (2012). How
chunks, long-term working memory and templates offer a
cognitive explanation for neuroimaging data on expertise
acquisition: A two-stage framework. Brain and Cognition,
79(3), 221-244. doi: 10.1016/j.bandc.2012.01.010
• Syntax
• Workflow
• React mental model
Key similarities
Immutable
by default
NPM /
Yarn
Refmt
Rtop
Static
Typing
ReasonRouter
NPM /
Yarn
JavaScript
Console
Prettier
EsLint
ReactRouter
Immutable.js
Flow
NPM /
Yarn
NPM /
Yarn
Included
included in
Browser
Included in
toolchain
language
feature
Includedin syntax
Dependency
Dependency
Dependency
Dependency
Immutable
by default
Dependency


npm install -g bs-platform
then
yarn create react-app my-app --scripts-version
reason-scripts
or
bsb -init my-react-app -theme react
React mental model
Key similarities
React Component Lifecycle ReasonReact Component Lifecycle
componentDidMount() didMount
componentWillReceiveProps() willReceiveProps
shouldComponentUpdate() shouldUpdate
componentWillUpdate() willUpdate
componentDidUpdate() didUpdate
componentWillUnmount() willUnmount
componentWillMount() not implemented - use didMount
props => labeled arguments
React mental model
{this.props.someProp}
example.js
<Example someProp=“hello!” />
React mental model
<Example someProp=“hello!” />
example.re
let make(~someProp, _children) {
...component,
render /* etc */
};
let make(~someProp=?, _children) {
...component,
render /* etc */
};
example.re
<Example someProp=?someDataVariable />
Optional argument
let make(~someProp=“hi!”, _children) {
...component,
render /* etc */
};
example.re
<Example someProp=someDataVariable />
Default argument
stateless & stateful
components
React mental model
ReasonReact.statelessComponent
ReasonReact.statefulComponent
ReasonReact.statelessComponent
ReasonReact.reducerComponent
type state = { counter: int }
type action =
| DoSomething
| DoSomethingElse
| DoAnotherThing
type action =
| Click
| Toggle;
let make = (_children) => {
...component,
initialState: () => { count: 0 },
reducer: (action, state) =>
switch(action) {
| Click => ReasonReact.Update({…state etc
| Toggle => ReasonReact.Update({…state
type action =
| Click
| Toggle;
let make = (_children) => {
...component,
initialState: () => { count: 0 },
reducer: (action, state) =>
switch(action) {
| Click => ReasonReact.Update({…state etc
| Toggle => ReasonReact.Update({…state
reducer: (action, state) =>
switch(action) {
| Click => ReasonReact.UpdateWithSideEffects(
{…state, count: state.count + 1}),
(self => self.send(DoSomething)
| Toggle => ReasonReact.Update({…state
Intermission
ship it
Inside the Magic 8 Ball App
Using a React component
Fetching data from an API
Option type pattern matching
Using a React component in ReasonReact
buttonWrapper.re
Button.js
Button.js
ButtonWrapper.reReasonReact.wrapJsForReason
ButtonWrapper.reReasonReact.wrapJsForReason
ButtonWrapper.reReasonReact.wrapJsForReason
Using a Reason component in React
Using Bucklescript with APIs
MagicEightBall.re
yarn add -D bs-fetch bs-json
{
magic: {
question: "Will I ever let you down?",
answer: "Reply hazy, try again",
type: "Neutral"
}
}
Using Pattern Matching
App.re
type state = {
data: option(MagicEightBall.data),
/ * …other state */
}
switch (state.data: option(MagicEightBall.data)) {
| Some(data) => <Answer data=data />
| None => <div><img src=loading /></div>
};
render: ({state, handle, send}) => {
let answer =
React.js Reason-ReactReasonML FinStart
“At the language level, it has features that we’ve previously had to
bolt on top of the JavaScript such as allocation-less named
arguments, prop types, and more. In short, it is the best way to
take React to the next level - unlocking far better user
experiences and fast-loading applications
Jordan Walke
(creator, React and Reason,
Reactiflux Discord Channel Q & A, 2017)
JavaScript and HTML - I can build things!
React - I can reuse my things!
ReasonReact - I can reuse my React things more safely!
All Functional Programming
https://jaredforsyth.com/2017/07/05/a-reason-react-tutorial/
https://jamesfriend.com.au/a-first-reason-react-app-for-js-developers
https://spyder.wordpress.com/2017/05/14/ocaml-to-javascript-buzzwords/
http://blog.klipse.tech/reason/2017/10/17/externals-js-ffi-reason.html
http://2ality.com/archive.html?tag=reasonml
Join the community on
http://discord.gg/reasonml 
FIN
join the community on
http://discord.gg/reasonml 

More Related Content

Similar to Linux conf-2018-fp-miniconf-slideshare

State managment in a world of hooks
State managment in a world of hooksState managment in a world of hooks
State managment in a world of hooks500Tech
 
Murach : How to work with session state and cookies
Murach : How to work with session state and cookiesMurach : How to work with session state and cookies
Murach : How to work with session state and cookiesMahmoudOHassouna
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsJeff Durta
 
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...Flink Forward
 
Reactive Programming in the Browser feat. Scala.js and Rx
Reactive Programming in the Browser feat. Scala.js and RxReactive Programming in the Browser feat. Scala.js and Rx
Reactive Programming in the Browser feat. Scala.js and RxLuka Jacobowitz
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!JSFestUA
 
Ajax for dummies, and not only.
Ajax for dummies, and not only.Ajax for dummies, and not only.
Ajax for dummies, and not only.Nerd Tzanetopoulos
 
Recompacting your react application
Recompacting your react applicationRecompacting your react application
Recompacting your react applicationGreg Bergé
 
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisionsindeedeng
 
How Reactive do we need to be
How Reactive do we need to beHow Reactive do we need to be
How Reactive do we need to beJana Karceska
 
Oleksandr Tolstykh
Oleksandr TolstykhOleksandr Tolstykh
Oleksandr TolstykhCodeFest
 
We Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle Games
We Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle GamesWe Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle Games
We Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle GamesUnity Technologies
 
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...IJCSES Journal
 
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...ijcseit
 

Similar to Linux conf-2018-fp-miniconf-slideshare (20)

Reactjs: Rethinking UI Devel
Reactjs: Rethinking UI DevelReactjs: Rethinking UI Devel
Reactjs: Rethinking UI Devel
 
State managment in a world of hooks
State managment in a world of hooksState managment in a world of hooks
State managment in a world of hooks
 
Murach : How to work with session state and cookies
Murach : How to work with session state and cookiesMurach : How to work with session state and cookies
Murach : How to work with session state and cookies
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
 
Redux js
Redux jsRedux js
Redux js
 
Reactive Programming in the Browser feat. Scala.js and Rx
Reactive Programming in the Browser feat. Scala.js and RxReactive Programming in the Browser feat. Scala.js and Rx
Reactive Programming in the Browser feat. Scala.js and Rx
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
 
Unit – II (1).pptx
Unit – II (1).pptxUnit – II (1).pptx
Unit – II (1).pptx
 
ReactJS
ReactJSReactJS
ReactJS
 
Ajax for dummies, and not only.
Ajax for dummies, and not only.Ajax for dummies, and not only.
Ajax for dummies, and not only.
 
Recompacting your react application
Recompacting your react applicationRecompacting your react application
Recompacting your react application
 
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
[@IndeedEng] Logrepo: Enabling Data-Driven Decisions
 
JavaEE Spring Seam
JavaEE Spring SeamJavaEE Spring Seam
JavaEE Spring Seam
 
How Reactive do we need to be
How Reactive do we need to beHow Reactive do we need to be
How Reactive do we need to be
 
Oleksandr Tolstykh
Oleksandr TolstykhOleksandr Tolstykh
Oleksandr Tolstykh
 
We Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle Games
We Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle GamesWe Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle Games
We Love Performance! How Tic Toc Games Uses ECS in Mobile Puzzle Games
 
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
 
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
THE IMPLICATION OF STATISTICAL ANALYSIS AND FEATURE ENGINEERING FOR MODEL BUI...
 
Data Science Machine
Data Science Machine Data Science Machine
Data Science Machine
 

Recently uploaded

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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
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
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Linux conf-2018-fp-miniconf-slideshare