Demo the reactive jargons by Mushtaq Ahmed, ThoughtWorks presented at Pune Scala Symposium 2014, ThoughtWorks

Thoughtworks
ThoughtworksVice President at Thoughtworks
Demo the reactive jargons
Mushtaq Ahmed
ThoughtWorks
@mushtaqA
getProductPage
getModule1
getModule2
getPricing
getProductSpec
square(a: Int): Intsquares(a: Seq[Int]): Seq[Int]
Demo
● Async and NonBlocking mean different things
○ Async is about API
○ NonBlocking is about Implementation
● Async API can be implemented for Blocking calls!
● For NonBlocking calls, Sync API is not possible!
○ Macros and CPS transformations can be used to fake it
Blocking Non-blocking
Sync square(a: Int): Int XXX
Async square(a: Int): Future[Int] square(a: Int): Future[Int]
API
Implementation
Demo
● Blocking IO is contagious
○ ExecutionContext helps to quarantine it
● Separate ExecutionContext for Blocking and
NonBlocking IO
○ Like different speed lanes
Demo
● Error handling in Future is a bit difficult for bulk
operation
● Observable is a nicer alternative
○ Yet to explore: Retry, Timeout etc
● Observable API does not support backpressure
○ Be Careful not to introduce memory leaks
Single Multiple
Sync square(a: Int): Int squares(a: Seq[Int]): Seq[Int]
Async square(a: Int): Future[Int]
squares(a: Seq[Int]): Future[Seq
[Int]]
squares(a: Seq[Int]): Observable[Int]
Observable[Int] == Future[Iterable[Future[Int]]]
The code for demo is here:
https://github.com/mushtaq/pune-scala-symposium
● We like to teach Scala
● We are planning to offer a FREE training in Pune!
○ Screening based on coding test ;)
● 4 full day sessions
○ Two consecutive Friday-Saturdays
● Sometime in May or June
○ Will announce it via @punescala/Pune Scala meetup group
Thank you
1 of 14

Recommended

10 books that every developer must read by
10 books that every developer must read10 books that every developer must read
10 books that every developer must readGanesh Samarthyam
5K views12 slides
10 more lessons learned from building Machine Learning systems by
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systemsXavier Amatriain
180.1K views48 slides
Oa 4 month exp by
Oa 4 month expOa 4 month exp
Oa 4 month expGanesh Thutte
220 views3 slides
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc... by
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...Natalia Díaz Rodríguez
682 views44 slides
Staying Shallow & Lean in a Deep Learning World by
Staying Shallow & Lean in a Deep Learning WorldStaying Shallow & Lean in a Deep Learning World
Staying Shallow & Lean in a Deep Learning WorldXavier Amatriain
7.6K views52 slides
Machine learning (webinar) by
Machine learning (webinar)Machine learning (webinar)
Machine learning (webinar)Syed Rashid
266 views48 slides

More Related Content

What's hot

steppy: lightweight, open source, Python library for fast and reproducible ex... by
steppy: lightweight, open source, Python library for fast and reproducible ex...steppy: lightweight, open source, Python library for fast and reproducible ex...
steppy: lightweight, open source, Python library for fast and reproducible ex...neptune.ml
69 views24 slides
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016 by
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016MLconf
796 views76 slides
Julia language: inside the corporation by
Julia language: inside the corporationJulia language: inside the corporation
Julia language: inside the corporationAndre Pemmelaar
7.4K views22 slides
Designing and coding for cloud-native applications using Python, Harjinder Mi... by
Designing and coding for cloud-native applications using Python, Harjinder Mi...Designing and coding for cloud-native applications using Python, Harjinder Mi...
Designing and coding for cloud-native applications using Python, Harjinder Mi...Pôle Systematic Paris-Region
653 views33 slides
Unite 2017 - Reactive Programming - Pieter Nijs by
Unite 2017 - Reactive Programming - Pieter NijsUnite 2017 - Reactive Programming - Pieter Nijs
Unite 2017 - Reactive Programming - Pieter NijsN Core
83 views49 slides
Denys Kovalenko "Scaling Data Science at Bolt" by
Denys Kovalenko "Scaling Data Science at Bolt"Denys Kovalenko "Scaling Data Science at Bolt"
Denys Kovalenko "Scaling Data Science at Bolt"Fwdays
546 views40 slides

What's hot(20)

steppy: lightweight, open source, Python library for fast and reproducible ex... by neptune.ml
steppy: lightweight, open source, Python library for fast and reproducible ex...steppy: lightweight, open source, Python library for fast and reproducible ex...
steppy: lightweight, open source, Python library for fast and reproducible ex...
neptune.ml69 views
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016 by MLconf
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
Ryan Curtin, Principal Research Scientist, Symantec at MLconf ATL 2016
MLconf796 views
Julia language: inside the corporation by Andre Pemmelaar
Julia language: inside the corporationJulia language: inside the corporation
Julia language: inside the corporation
Andre Pemmelaar7.4K views
Unite 2017 - Reactive Programming - Pieter Nijs by N Core
Unite 2017 - Reactive Programming - Pieter NijsUnite 2017 - Reactive Programming - Pieter Nijs
Unite 2017 - Reactive Programming - Pieter Nijs
N Core83 views
Denys Kovalenko "Scaling Data Science at Bolt" by Fwdays
Denys Kovalenko "Scaling Data Science at Bolt"Denys Kovalenko "Scaling Data Science at Bolt"
Denys Kovalenko "Scaling Data Science at Bolt"
Fwdays546 views
Machine Learning for .NET Developers - ADC21 by Gülden Bilgütay
Machine Learning for .NET Developers - ADC21Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21
Gülden Bilgütay324 views
PyData Global: Thrifty Machine Learning by Rebecca Bilbro
PyData Global: Thrifty Machine LearningPyData Global: Thrifty Machine Learning
PyData Global: Thrifty Machine Learning
Rebecca Bilbro59 views
Automatic image moderation in classifieds by Jaroslaw Szymczak
Automatic image moderation in classifiedsAutomatic image moderation in classifieds
Automatic image moderation in classifieds
Jaroslaw Szymczak721 views
Pentaho World 2017: Automated Machine Learning (AutoML) and Pentaho (Thursday... by Caio Moreno
Pentaho World 2017: Automated Machine Learning (AutoML) and Pentaho (Thursday...Pentaho World 2017: Automated Machine Learning (AutoML) and Pentaho (Thursday...
Pentaho World 2017: Automated Machine Learning (AutoML) and Pentaho (Thursday...
Caio Moreno259 views
Computer Graphics - Lecture 01 - 3D Programming I by 💻 Anton Gerdelan
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I
Asyncio : Final frontier in python by Ankit Mittal
Asyncio : Final frontier in pythonAsyncio : Final frontier in python
Asyncio : Final frontier in python
Ankit Mittal36 views
Clojure: Programming self-optimizing webapps in Lisp by Stefan Richter
Clojure: Programming self-optimizing webapps in LispClojure: Programming self-optimizing webapps in Lisp
Clojure: Programming self-optimizing webapps in Lisp
Stefan Richter590 views
On being a professional software developer by Anton Kirillov
On being a professional software developerOn being a professional software developer
On being a professional software developer
Anton Kirillov3.1K views
DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify by Dataconomy Media
DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify
DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify
Dataconomy Media254 views

Viewers also liked

Liderança compartilhada - "pare de gerenciar pessoas" by
Liderança compartilhada - "pare de gerenciar pessoas"Liderança compartilhada - "pare de gerenciar pessoas"
Liderança compartilhada - "pare de gerenciar pessoas"Thoughtworks
2K views27 slides
Simplify Then Add Lightness by
Simplify Then Add LightnessSimplify Then Add Lightness
Simplify Then Add LightnessThoughtworks
2.7K views28 slides
Olhares Diversos, Oportunidades Iguais | ThoughtWorks na HSM by
Olhares Diversos, Oportunidades Iguais | ThoughtWorks na HSMOlhares Diversos, Oportunidades Iguais | ThoughtWorks na HSM
Olhares Diversos, Oportunidades Iguais | ThoughtWorks na HSMThoughtworks
3.6K views28 slides
Working as an agile Experience Designer by
Working as an agile Experience DesignerWorking as an agile Experience Designer
Working as an agile Experience DesignerThoughtworks
5.5K views34 slides
XConf Coimbatore 2016 - Through the eyes of an Analyst by
XConf Coimbatore 2016 - Through the eyes of an AnalystXConf Coimbatore 2016 - Through the eyes of an Analyst
XConf Coimbatore 2016 - Through the eyes of an AnalystThoughtworks
863 views37 slides
XConf Coimbatore 2016 - Being a Developer Consultant by
XConf Coimbatore 2016 - Being a Developer ConsultantXConf Coimbatore 2016 - Being a Developer Consultant
XConf Coimbatore 2016 - Being a Developer ConsultantThoughtworks
746 views27 slides

Viewers also liked(20)

Liderança compartilhada - "pare de gerenciar pessoas" by Thoughtworks
Liderança compartilhada - "pare de gerenciar pessoas"Liderança compartilhada - "pare de gerenciar pessoas"
Liderança compartilhada - "pare de gerenciar pessoas"
Thoughtworks2K views
Simplify Then Add Lightness by Thoughtworks
Simplify Then Add LightnessSimplify Then Add Lightness
Simplify Then Add Lightness
Thoughtworks2.7K views
Olhares Diversos, Oportunidades Iguais | ThoughtWorks na HSM by Thoughtworks
Olhares Diversos, Oportunidades Iguais | ThoughtWorks na HSMOlhares Diversos, Oportunidades Iguais | ThoughtWorks na HSM
Olhares Diversos, Oportunidades Iguais | ThoughtWorks na HSM
Thoughtworks3.6K views
Working as an agile Experience Designer by Thoughtworks
Working as an agile Experience DesignerWorking as an agile Experience Designer
Working as an agile Experience Designer
Thoughtworks5.5K views
XConf Coimbatore 2016 - Through the eyes of an Analyst by Thoughtworks
XConf Coimbatore 2016 - Through the eyes of an AnalystXConf Coimbatore 2016 - Through the eyes of an Analyst
XConf Coimbatore 2016 - Through the eyes of an Analyst
Thoughtworks863 views
XConf Coimbatore 2016 - Being a Developer Consultant by Thoughtworks
XConf Coimbatore 2016 - Being a Developer ConsultantXConf Coimbatore 2016 - Being a Developer Consultant
XConf Coimbatore 2016 - Being a Developer Consultant
Thoughtworks746 views
Design Tips for the Non-Designer by Thoughtworks
Design Tips for the Non-DesignerDesign Tips for the Non-Designer
Design Tips for the Non-Designer
Thoughtworks860 views
Recrutamento Ágil: Muito Além do Software by Thoughtworks
Recrutamento Ágil: Muito Além do SoftwareRecrutamento Ágil: Muito Além do Software
Recrutamento Ágil: Muito Além do Software
Thoughtworks1.1K views
Agile Data Insights: Decisões de Negócios Guiadas por Dados by Thoughtworks
Agile Data Insights: Decisões de Negócios Guiadas por DadosAgile Data Insights: Decisões de Negócios Guiadas por Dados
Agile Data Insights: Decisões de Negócios Guiadas por Dados
Thoughtworks916 views
XConf Coimbatore 2016 - From Epics to Showcases by Thoughtworks
XConf Coimbatore 2016 - From Epics to ShowcasesXConf Coimbatore 2016 - From Epics to Showcases
XConf Coimbatore 2016 - From Epics to Showcases
Thoughtworks1.4K views
XConf Coimbatore 2016 - Microservices Demystified by Thoughtworks
XConf Coimbatore 2016 - Microservices DemystifiedXConf Coimbatore 2016 - Microservices Demystified
XConf Coimbatore 2016 - Microservices Demystified
Thoughtworks1.2K views
ThoughtWorks Digital - Estratégia de Dados by Thoughtworks
ThoughtWorks Digital - Estratégia de DadosThoughtWorks Digital - Estratégia de Dados
ThoughtWorks Digital - Estratégia de Dados
Thoughtworks914 views
Platforms for growth retail executive breakfast: Connecting digital strategy ... by Thoughtworks
Platforms for growth retail executive breakfast: Connecting digital strategy ...Platforms for growth retail executive breakfast: Connecting digital strategy ...
Platforms for growth retail executive breakfast: Connecting digital strategy ...
Thoughtworks10.3K views
Anti-Padrões de Integração Contínua by Thoughtworks
Anti-Padrões de Integração ContínuaAnti-Padrões de Integração Contínua
Anti-Padrões de Integração Contínua
Thoughtworks1.3K views
#DigitalNudge - Tendências entre Psicologia Cognitiva, Behavioral Economics e... by Thoughtworks
#DigitalNudge - Tendências entre Psicologia Cognitiva, Behavioral Economics e...#DigitalNudge - Tendências entre Psicologia Cognitiva, Behavioral Economics e...
#DigitalNudge - Tendências entre Psicologia Cognitiva, Behavioral Economics e...
Thoughtworks1.4K views
Financial Services Executive Lunch: Finding The Missing Millennials by Thoughtworks
Financial Services Executive Lunch: Finding The Missing MillennialsFinancial Services Executive Lunch: Finding The Missing Millennials
Financial Services Executive Lunch: Finding The Missing Millennials
Thoughtworks1.5K views
Data Strategy - Enabling the Data-Guided Enterprise by Thoughtworks
Data Strategy - Enabling the Data-Guided EnterpriseData Strategy - Enabling the Data-Guided Enterprise
Data Strategy - Enabling the Data-Guided Enterprise
Thoughtworks1.2K views
Introduction to User Experience - Mike Biggs by Thoughtworks
Introduction to User Experience - Mike BiggsIntroduction to User Experience - Mike Biggs
Introduction to User Experience - Mike Biggs
Thoughtworks29.7K views
Strategy to Execution by Jonny Schneider - ThoughtWorks by Thoughtworks
Strategy to Execution by Jonny Schneider - ThoughtWorksStrategy to Execution by Jonny Schneider - ThoughtWorks
Strategy to Execution by Jonny Schneider - ThoughtWorks
Thoughtworks31.1K views
ThoughtWorks Retail and Onefinestay - Business Model Innovation - Retail Week... by Thoughtworks
ThoughtWorks Retail and Onefinestay - Business Model Innovation - Retail Week...ThoughtWorks Retail and Onefinestay - Business Model Innovation - Retail Week...
ThoughtWorks Retail and Onefinestay - Business Model Innovation - Retail Week...
Thoughtworks5K views

Similar to Demo the reactive jargons by Mushtaq Ahmed, ThoughtWorks presented at Pune Scala Symposium 2014, ThoughtWorks

Event Driven with LibUV and ZeroMQ by
Event Driven with LibUV and ZeroMQEvent Driven with LibUV and ZeroMQ
Event Driven with LibUV and ZeroMQLuke Luo
3.8K views31 slides
Cilk - An Efficient Multithreaded Runtime System by
Cilk - An Efficient Multithreaded Runtime SystemCilk - An Efficient Multithreaded Runtime System
Cilk - An Efficient Multithreaded Runtime SystemShareek Ahamed
529 views31 slides
Async fun by
Async funAsync fun
Async fun💡 Tomasz Kogut
526 views88 slides
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe] by
26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]Alex Ershov
332 views8 slides
Summer Internship Project - Remote Render by
Summer Internship Project - Remote RenderSummer Internship Project - Remote Render
Summer Internship Project - Remote RenderYen-Kuan Wu
267 views15 slides
Concurrency and Python - PyCon MY 2015 by
Concurrency and Python - PyCon MY 2015Concurrency and Python - PyCon MY 2015
Concurrency and Python - PyCon MY 2015Boey Pak Cheong
428 views20 slides

Similar to Demo the reactive jargons by Mushtaq Ahmed, ThoughtWorks presented at Pune Scala Symposium 2014, ThoughtWorks(20)

Event Driven with LibUV and ZeroMQ by Luke Luo
Event Driven with LibUV and ZeroMQEvent Driven with LibUV and ZeroMQ
Event Driven with LibUV and ZeroMQ
Luke Luo3.8K views
Cilk - An Efficient Multithreaded Runtime System by Shareek Ahamed
Cilk - An Efficient Multithreaded Runtime SystemCilk - An Efficient Multithreaded Runtime System
Cilk - An Efficient Multithreaded Runtime System
Shareek Ahamed529 views
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe] by Alex Ershov
26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
Alex Ershov332 views
Summer Internship Project - Remote Render by Yen-Kuan Wu
Summer Internship Project - Remote RenderSummer Internship Project - Remote Render
Summer Internship Project - Remote Render
Yen-Kuan Wu267 views
Concurrency and Python - PyCon MY 2015 by Boey Pak Cheong
Concurrency and Python - PyCon MY 2015Concurrency and Python - PyCon MY 2015
Concurrency and Python - PyCon MY 2015
Boey Pak Cheong428 views
Software Architecture Stories by ESUG
Software Architecture StoriesSoftware Architecture Stories
Software Architecture Stories
ESUG312 views
Android kotlin coroutines by Bipin Vayalu
Android kotlin coroutinesAndroid kotlin coroutines
Android kotlin coroutines
Bipin Vayalu658 views
Understanding concurrency by Anshul Sharma
Understanding concurrencyUnderstanding concurrency
Understanding concurrency
Anshul Sharma136 views
Algorithm 110801105245-phpapp01 by Jay Patel
Algorithm 110801105245-phpapp01Algorithm 110801105245-phpapp01
Algorithm 110801105245-phpapp01
Jay Patel389 views
Algorithm 110801105245-phpapp01-120223065724-phpapp02 by dhruv patel
Algorithm 110801105245-phpapp01-120223065724-phpapp02Algorithm 110801105245-phpapp01-120223065724-phpapp02
Algorithm 110801105245-phpapp01-120223065724-phpapp02
dhruv patel441 views
Algorithm by eShikshak
AlgorithmAlgorithm
Algorithm
eShikshak1.7K views
Asynchronous, Event-driven Network Application Development with Netty by Ersin Er
Asynchronous, Event-driven Network Application Development with NettyAsynchronous, Event-driven Network Application Development with Netty
Asynchronous, Event-driven Network Application Development with Netty
Ersin Er4.8K views
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,... by Mario Heiderich
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
Mario Heiderich45.4K views
Do You Need a Service Mesh? @ London Devops, January 2019 by Matt Turner
Do You Need a Service Mesh? @ London Devops, January 2019Do You Need a Service Mesh? @ London Devops, January 2019
Do You Need a Service Mesh? @ London Devops, January 2019
Matt Turner149 views
Tw2010slide2 by s1150036
Tw2010slide2Tw2010slide2
Tw2010slide2
s1150036240 views

More from Thoughtworks

Design System as a Product by
Design System as a ProductDesign System as a Product
Design System as a ProductThoughtworks
3.1K views100 slides
Designers, Developers & Dogs by
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & DogsThoughtworks
852 views26 slides
Cloud-first for fast innovation by
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovationThoughtworks
842 views14 slides
More impact with flexible teams by
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teamsThoughtworks
735 views34 slides
Culture of Innovation by
Culture of InnovationCulture of Innovation
Culture of InnovationThoughtworks
757 views22 slides
Dual-Track Agile by
Dual-Track AgileDual-Track Agile
Dual-Track AgileThoughtworks
923 views24 slides

More from Thoughtworks(20)

Design System as a Product by Thoughtworks
Design System as a ProductDesign System as a Product
Design System as a Product
Thoughtworks3.1K views
Designers, Developers & Dogs by Thoughtworks
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
Thoughtworks852 views
Cloud-first for fast innovation by Thoughtworks
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
Thoughtworks842 views
More impact with flexible teams by Thoughtworks
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
Thoughtworks735 views
Culture of Innovation by Thoughtworks
Culture of InnovationCulture of Innovation
Culture of Innovation
Thoughtworks757 views
Developer Experience by Thoughtworks
Developer ExperienceDeveloper Experience
Developer Experience
Thoughtworks738 views
When we design together by Thoughtworks
When we design togetherWhen we design together
When we design together
Thoughtworks620 views
Hardware is hard(er) by Thoughtworks
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
Thoughtworks467 views
Customer-centric innovation enabled by cloud by Thoughtworks
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
Thoughtworks819 views
Amazon's Culture of Innovation by Thoughtworks
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
Thoughtworks566 views
When in doubt, go live by Thoughtworks
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
Thoughtworks1.3K views
Don't cross the Rubicon by Thoughtworks
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
Thoughtworks810 views
Your test coverage is a lie! by Thoughtworks
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
Thoughtworks634 views
Docker container security by Thoughtworks
Docker container securityDocker container security
Docker container security
Thoughtworks879 views
Technology Radar Webinar UK - Vol. 22 by Thoughtworks
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
Thoughtworks1.4K views
A Tribute to Turing by Thoughtworks
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
Thoughtworks4.9K views
Rsa maths worked out by Thoughtworks
Rsa maths worked outRsa maths worked out
Rsa maths worked out
Thoughtworks2.9K views

Recently uploaded

Info Session November 2023.pdf by
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
15 views15 slides
STPI OctaNE CoE Brochure.pdf by
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdfmadhurjyapb
14 views1 slide
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...The Digital Insurer
24 views52 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
58 views21 slides
The Research Portal of Catalonia: Growing more (information) & more (services) by
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
115 views25 slides
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
17 views16 slides

Recently uploaded(20)

STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc72 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana17 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker48 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...

Demo the reactive jargons by Mushtaq Ahmed, ThoughtWorks presented at Pune Scala Symposium 2014, ThoughtWorks

  • 1. Demo the reactive jargons Mushtaq Ahmed ThoughtWorks @mushtaqA
  • 3. square(a: Int): Intsquares(a: Seq[Int]): Seq[Int]
  • 5. ● Async and NonBlocking mean different things ○ Async is about API ○ NonBlocking is about Implementation ● Async API can be implemented for Blocking calls! ● For NonBlocking calls, Sync API is not possible! ○ Macros and CPS transformations can be used to fake it
  • 6. Blocking Non-blocking Sync square(a: Int): Int XXX Async square(a: Int): Future[Int] square(a: Int): Future[Int] API Implementation
  • 8. ● Blocking IO is contagious ○ ExecutionContext helps to quarantine it ● Separate ExecutionContext for Blocking and NonBlocking IO ○ Like different speed lanes
  • 10. ● Error handling in Future is a bit difficult for bulk operation ● Observable is a nicer alternative ○ Yet to explore: Retry, Timeout etc ● Observable API does not support backpressure ○ Be Careful not to introduce memory leaks
  • 11. Single Multiple Sync square(a: Int): Int squares(a: Seq[Int]): Seq[Int] Async square(a: Int): Future[Int] squares(a: Seq[Int]): Future[Seq [Int]] squares(a: Seq[Int]): Observable[Int] Observable[Int] == Future[Iterable[Future[Int]]]
  • 12. The code for demo is here: https://github.com/mushtaq/pune-scala-symposium
  • 13. ● We like to teach Scala ● We are planning to offer a FREE training in Pune! ○ Screening based on coding test ;) ● 4 full day sessions ○ Two consecutive Friday-Saturdays ● Sometime in May or June ○ Will announce it via @punescala/Pune Scala meetup group