SlideShare a Scribd company logo
USING ACTORS FOR THE INTERNET
OF (LEGO) TRAINS [CON1709]
Johan Janssen, Info Support @johanjanssen42
Disclaimer:
No Lego was harmed beyond
repair during the project.
CONTENT
 Why?
 Getting started
 Architecture
 Actors
 Remote actors
 Shared protocol
 HTTP vs Actors
 Conclusion
 Challenges
 Questions
WHY?
Why?
GETTING STARTED
MINIMAL INGREDIENTS FOR 1TRAIN
ABOUT € 50
Raspberry Pi A+ / Raspberry Pi Zero
Wifi dongle
EDUP Ultra-Mini Nano USB 2.0 802.11n
USB battery pack
Anker® 2. Gen Astro Mini 3200mAh
Infrared transmitter
Keyes 38KHz IR InfraredTransmitter Module for
Arduino
COMPARISON
Idle (mA) Memory (MB) CPU (Mhz) Size (mm)
RPi A+ 100 256 700 65 *56
RPi Zero 100 512 1000 65 * 30
RPi B+ 200 512 700 85 *56
RPi 2 B 230 1024 4*900 85 *56
Odroid C1 325 1024 4*1500 85 *56
Particle
Photon
80-100 128KB 120 38 * 21
ARCHITECTURE
Architecture
LTCC
(Angular)
LTCC
(Java)
DeviceControl
(Java)
Infrared
(C and LIRC)
RFID
(C)
SwitchControl
(Java)
Servo
(Python)
RPi-Cam-Web-
Interface
(C)
LTCC
(Angular)
LTCC
(Scala/Akka)
DeviceControl
(Scala/Akka)
Infrared
(C and LIRC)
RFID
(C)
SwitchControl
(Scala/Akka)
Servo
(Python)
Leds with Photon
(C)
RPi-Cam-Web-
Interface
(C)
LTCC (Laptop / Pi)
LegoTrain
SwitchControl (Pi) Camera (Pi)
Device
Control
(Pi)
Original
controls
Infrared
Sound
Camera
Switches
LTCC APPLICATION
ACTORS
AKKA ACTORS
class Worker extends Actor {
def receive = {
case x =>
println(x)
}
}
val system = ActorSystem("ExampleActorSystem")
val workerActorRef = system.actorOf(Props[Worker])
workerActorRef ! "Hello conference"
REMOTE ACTORS
AKKA REMOTE ACTOR CALL
val workerActorRef =
system.actorOf(Props[Worker])
val workerActorRef =
system.actorSelection("akka.tcp://
ExampleActorSystem@127.0.0.1:9005
/user/workerActor")
AKKA REMOTE ACTOR CONFIGURATION
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = "127.0.0.1"
port = 9002
}
}
}
SHARED PROTOCOL
Actor on
JVM 1
Actor on
JVM 2
Messages
Actor on
laptop
Musicservice
Actor on
Raspberry PiPlay
message
CONCRETE EXAMPLE
Server
application
MessageProtocol
Raspberry Pi
application
EXAMPLE MESSAGE
object MusicServiceMessage {
case class Play(filename: String)
case class MusicList(filenames: List[Song])
}
MESSAGE USED BY APPLICATION
val actorRef = context.actorSelection(
"akka.tcp://[Actorsystem]@
[IP]:[port]/user/musicservice")
actorRef !
[packagename].MusicServiceMessage.Play(filename)
HTTP VS REMOTE ACTOR
ADVANTAGES REMOTE ACTORS
 No converting to JSON/SOAP
 More natural programming
 Concurrent on default
 Built-in load balancer
 Built-in circuit breaker
ADVANTAGES HTTP
 Indepedent of technology
 Loosely coupled
FAT JAR (SBT ASSEMBLY) IN MB
0
5
10
15
20
25
Local actor Remote actor Akka HTTP Spring boot
GATLING
class ExampleSimulation extends Simulation {
val scn = scenario("My scenario").repeat(100) {
exec(
http("Ping")
.get("http://localhost:8080/ping")
.check(status.is(200))
).pause(100 millisecond) // Optional
}
setUp(scn.inject(
rampUsers(1000) over (10 seconds) // Changing
))
}
PERFORMANCETEST SETUP
JVM 1
Akka HTTP
HTTP: /ping
pong JVM 2
Akka HTTP
HTTP: /pong
pong
JVM 1
Akka HTTP
HTTP: /ping
pong JVM 2
Akka remote actor
Akka over TCP: pong
pong
0
20
40
60
80
100
120
50 50 no pause 500 500 no pause 1000 1000 no pause
Mean response time (ms)
Akka HTTP Remote actor
0
100
200
300
400
500
600
700
800
900
50 50 no pause 500 500 no pause 1000 1000 no pause
Max response time (ms)
Akka HTTP Remote actor
0
50
100
150
200
250
300
350
50 50 no pause 500 500 no pause 1000 1000 no pause
99 percentile (ms)
Akka HTTP Remote actor
GRADUATION STUDENT
REST could handle around 600 users
Remote actors probably around 3300 users
REST is dead,
long live remote actors!
- Johan Janssen
0
5
10
15
20
25
30
50 50 no pause 500 500 no pause 1000 1000 no pause
Mean response time (ms)
Remote actor Spring boot
0
100
200
300
400
500
600
700
800
900
50 50 no pause 500 500 no pause 1000 1000 no pause
Max response time (ms)
Remote actor Spring boot
0
20
40
60
80
100
120
140
160
50 50 no pause 500 500 no pause 1000 1000 no pause
99 percentile (ms)
Remote actor Spring boot
Challenges
CONCLUSION
The best part!!
QUESTIONS?
Johan Janssen, Info Support
@johanjanssen42

More Related Content

What's hot

Milan Futurology V1.1
Milan Futurology V1.1Milan Futurology V1.1
Milan Futurology V1.1
Gianluca Musetti
 
TechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building SwitchesTechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building Switches
Robb Boyd
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Codemotion
 
Tools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionTools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital Conversion
Alexander Bolshev
 
Cisco 2921 specs
Cisco 2921 specsCisco 2921 specs
Cisco 2921 specs
Router Switch
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
Brendan Gregg
 
4 Sessions
4 Sessions4 Sessions
4 Sessions
Marian Marinov
 
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLABElectric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Tsuyoshi Horigome
 
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits SystemQuantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
inside-BigData.com
 
Cisco 2901 specs
Cisco 2901 specsCisco 2901 specs
Cisco 2901 specs
Router Switch
 
Itc Wireshark
Itc WiresharkItc Wireshark
Itc Wireshark
JayMNEA
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
Simen Li
 
Track Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 TriggerTrack Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 Trigger
Timothy Head
 

What's hot (14)

Milan Futurology V1.1
Milan Futurology V1.1Milan Futurology V1.1
Milan Futurology V1.1
 
TechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building SwitchesTechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building Switches
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
 
Tools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionTools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital Conversion
 
Cisco 2921 specs
Cisco 2921 specsCisco 2921 specs
Cisco 2921 specs
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
4 Sessions
4 Sessions4 Sessions
4 Sessions
 
Showcase
ShowcaseShowcase
Showcase
 
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLABElectric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
 
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits SystemQuantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
 
Cisco 2901 specs
Cisco 2901 specsCisco 2901 specs
Cisco 2901 specs
 
Itc Wireshark
Itc WiresharkItc Wireshark
Itc Wireshark
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
 
Track Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 TriggerTrack Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 Trigger
 

Viewers also liked

Witold kula teoria eocnomica del sistema feudal
Witold kula   teoria eocnomica del sistema feudalWitold kula   teoria eocnomica del sistema feudal
Witold kula teoria eocnomica del sistema feudal
Ciocio Sam
 
Periodismo digital en mexico
Periodismo digital en mexicoPeriodismo digital en mexico
Periodismo digital en mexico
julissachavira
 
How to write quality content that's shared like crazy
How to write quality content that's shared like crazyHow to write quality content that's shared like crazy
How to write quality content that's shared like crazy
Perfect Blender
 
Закон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализацииЗакон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализации
MoySklad
 
Bellezas escondidas de méxico
Bellezas escondidas de méxicoBellezas escondidas de méxico
Bellezas escondidas de méxico
Juan Luis Baqueiro Gonzalez
 
Chaovn hello vietnam
Chaovn  hello vietnamChaovn  hello vietnam
Chaovn hello vietnam
bonjouratous
 
Estuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician CompetenceEstuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician CompetenceEstuardo Santos
 
2016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 20162016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 2016
Uli Kaiser
 
Chapter 1 Terms Review
Chapter 1 Terms ReviewChapter 1 Terms Review
Chapter 1 Terms Review
massameg
 

Viewers also liked (9)

Witold kula teoria eocnomica del sistema feudal
Witold kula   teoria eocnomica del sistema feudalWitold kula   teoria eocnomica del sistema feudal
Witold kula teoria eocnomica del sistema feudal
 
Periodismo digital en mexico
Periodismo digital en mexicoPeriodismo digital en mexico
Periodismo digital en mexico
 
How to write quality content that's shared like crazy
How to write quality content that's shared like crazyHow to write quality content that's shared like crazy
How to write quality content that's shared like crazy
 
Закон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализацииЗакон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализации
 
Bellezas escondidas de méxico
Bellezas escondidas de méxicoBellezas escondidas de méxico
Bellezas escondidas de méxico
 
Chaovn hello vietnam
Chaovn  hello vietnamChaovn  hello vietnam
Chaovn hello vietnam
 
Estuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician CompetenceEstuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician Competence
 
2016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 20162016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 2016
 
Chapter 1 Terms Review
Chapter 1 Terms ReviewChapter 1 Terms Review
Chapter 1 Terms Review
 

Similar to JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]

JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]
Johan Janssen
 
The internet of (lego) trains
The internet of (lego) trainsThe internet of (lego) trains
The internet of (lego) trains
Grzegorz Duda
 
Server-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaServer-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyatta
Naoto MATSUMOTO
 
VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法
Naoto MATSUMOTO
 
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
ROMSAT
 
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
huawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdfhuawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdf
Hi-Network.com
 
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdfhuawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
Hi-Network.com
 
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdfhuawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
Hi-Network.com
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
Chris Westin
 
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdfhuawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
Hi-Network.com
 
FPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow SwitchFPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow Switch
Yutaka Yasuda
 
Server-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows AzureServer-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows Azure
Naoto MATSUMOTO
 
Stress your DUT
Stress your DUTStress your DUT
Stress your DUT
Redge Technologies
 
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PROIDEA
 
SAS (Secure Active Switch)
SAS (Secure Active Switch)SAS (Secure Active Switch)
SAS (Secure Active Switch)
Security Date
 
VyattaCore TIPS2013
VyattaCore TIPS2013VyattaCore TIPS2013
VyattaCore TIPS2013
Naoto MATSUMOTO
 
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdfhuawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
Hi-Network.com
 
Nvidia in bioinformatics
Nvidia in bioinformaticsNvidia in bioinformatics
Nvidia in bioinformatics
Shanker Trivedi
 
cisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdfcisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdf
Hi-Network.com
 

Similar to JavaOne: Using actors for the iInternet of (Lego) Trains [con1709] (20)

JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]
 
The internet of (lego) trains
The internet of (lego) trainsThe internet of (lego) trains
The internet of (lego) trains
 
Server-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaServer-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyatta
 
VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法
 
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
 
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
 
huawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdfhuawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdf
 
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdfhuawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
 
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdfhuawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdfhuawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
 
FPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow SwitchFPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow Switch
 
Server-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows AzureServer-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows Azure
 
Stress your DUT
Stress your DUTStress your DUT
Stress your DUT
 
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
 
SAS (Secure Active Switch)
SAS (Secure Active Switch)SAS (Secure Active Switch)
SAS (Secure Active Switch)
 
VyattaCore TIPS2013
VyattaCore TIPS2013VyattaCore TIPS2013
VyattaCore TIPS2013
 
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdfhuawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
 
Nvidia in bioinformatics
Nvidia in bioinformaticsNvidia in bioinformatics
Nvidia in bioinformatics
 
cisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdfcisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdf
 

More from Johan Janssen

How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17
Johan Janssen
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17
Johan Janssen
 
Continuous delivery in 50 minutes
Continuous delivery in 50 minutesContinuous delivery in 50 minutes
Continuous delivery in 50 minutes
Johan Janssen
 
Create a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesCreate a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutes
Johan Janssen
 
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesDevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
Johan Janssen
 
How we started our first java conference JVMCON
How we started our first java conference JVMCONHow we started our first java conference JVMCON
How we started our first java conference JVMCON
Johan Janssen
 
Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]
Johan Janssen
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLand
Johan Janssen
 
Welcome alexa, your personal assistant
Welcome alexa, your personal assistantWelcome alexa, your personal assistant
Welcome alexa, your personal assistant
Johan Janssen
 
A tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesA tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutes
Johan Janssen
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even further
Johan Janssen
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
Johan Janssen
 
JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]
Johan Janssen
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
Johan Janssen
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
Johan Janssen
 

More from Johan Janssen (15)

How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17
 
Continuous delivery in 50 minutes
Continuous delivery in 50 minutesContinuous delivery in 50 minutes
Continuous delivery in 50 minutes
 
Create a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesCreate a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutes
 
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesDevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
 
How we started our first java conference JVMCON
How we started our first java conference JVMCONHow we started our first java conference JVMCON
How we started our first java conference JVMCON
 
Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLand
 
Welcome alexa, your personal assistant
Welcome alexa, your personal assistantWelcome alexa, your personal assistant
Welcome alexa, your personal assistant
 
A tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesA tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutes
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even further
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]

Editor's Notes

  1. You can also make it a bit bigger with camera, RFID, speaker
  2. You could use a Zero or Particle Photon if you only need an IR transmitter. But for video it’s a bit more difficult to use those. Bigger is better for development speed. Smaller is better to put it in a train.
  3. This is the test setup for the performance test JVM1 is the frontend, receives http request from client JVM1 sends a request to JVM2 for some further info, after reply from JVM2 it responds to the client. Top is over HTTP Bottom is using Akka remote actors over TCP.
  4. Documentation Raspberry USB connector/burned Hardware resources To small children Time
  5. Limited resources although quite a lot with the Raspberry Pi. This HD only has 72 MB
  6. Broken Raspberry Pi USB connector on A+
  7. Lego quite picky with batteries, empty batteries. No easy/cheap way to charge Lego battery box.
  8. RFID only works when nearby and when moving slowly
  9. WIFI issues
  10. No plug and play
  11. Lots of options: Raspbian/Arch. Docker, documentation, support, hardware
  12. Documentation, wiring etc.
  13. To small children
  14. Not enough time
  15. Sum up Play with lego;s like kids Show and tells for grownups Testdrive akka, experience Come to Jfokus in beaty stockholm … That’s not even the best part. The best part is … Ervaring opgedaan met hardware/IoT Java en Scala/Akka werken blijkbaar prima - Marketing stands op conferenties Scala/Akka ervaring REST vs Remote Actors Ons hier gebracht