Let's Get Physical

J
www.spiria.com
Let’s Get Physical
Presented By
JOEL LORD
JS Remote Conf
March 15th, 2017
www.spiria.com
Let’s Get Physical
Presented By
JOEL LORD
JS Remote Conf
March 15th, 2017
@joel__lord
#JSRemoteConf
JOEL LORD
Aboot me, eh?
• Javascript Junkie
• Tinkerer
• Technology enthusiast
@joel__lord
#JSRemoteConf
Agenda
• What is Bluetooth
• The Physical Web
• Web Bluetooth API
• Demos, code and lots of fun!
@joel__lord
#JSRemoteConf
Agenda
• What is Bluetooth
• The Physical Web
• Web Bluetooth API
• Demos, code and lots of fun!
What’s the fuss about?
BLUETOOTH, BLE, PHYSICAL WEB
@joel__lord
#JSRemoteConf
Bluetooth
WHY USE IT?
• Named after Harald Bluetooth who was the
Viking king of Denmark between 958 and
970
• It’s present on most cell phones that were
manufactured in this millennium
• Uses a network of 79 bands of radio waves.
• The most recent standard (4.2) has a
theoretical speed of 2.1Mbps and range of
100 meters
• Devices can automatically detect each
other
• Can connect up to 8 devices at once
@joel__lord
#JSRemoteConf
Bluetooth
AVAILABLE IN MULTIPLE FLAVORS
• Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR)
• More limited in range
• More suitable for continuous connections
• Bluetooth Low Energy (LE)
• Perfect for brief bursts of data
• Uses very low power
• Cheaper
@joel__lord
#JSRemoteConf
The Generic Attributes (GATT) define a
hierarchical data structure that is exposed
to connected Bluetooth LE devices.
@joel__lord
#JSRemoteConf
Bluetooth
GENERIC ATTRIBUTE PROFILE (GATT)
• A characteristic consists of
• a type (represented by a UUID)
• a value
• a set of properties indicating the operations the characteristic
supports
• a set of permissions relating to security.
@joel__lord
#JSRemoteConf
Bluetooth
ADOPTED SPECIFICATIONS
• Battery Service - org.bluetooth.service.battery_service (0x180F)
• battery_level: Read, Notify
• Heart Rate Service – org.bluetooth.service.heart_rate (0x180D)
• heart_rate_measurement: Notify
• body_sensor_location: Read
For more on Bluetooth specs: https://www.bluetooth.com/specifications/gatt
What’s that?
PHYSICAL WEB
@joel__lord
#JSRemoteConf
The Physical Web is an open approach to
enable quick and seamless interactions with
physical objects and locations.
@joel__lord
#JSRemoteConf
Physical Web
EDDYSTONE BEACONS
• An easy way to broadcast a URL
• Makes it easy to interact with objects
• Only requires something that can broadcast over Bluetooth (BLE)
@joel__lord
#JSRemoteConf
Physical Web
POSSIBLE BEACONS
• Ready to use beacons
@joel__lord
#JSRemoteConf
Physical Web
POSSIBLE BEACONS
• Ready to use beacons
• Your own laptop
@joel__lord
#JSRemoteConf
Physical Web
POSSIBLE BEACONS
• Ready to use beacons
• Your own laptop
• And, of course, a little touch of
Javascript
@joel__lord
#JSRemoteConf
Physical Web
WHAT WILL YOU NEED
• A URL that you want to broadcast
• Has to resolve to HTTPS and public
• Has to be less than 18 characters
• A phone or device that can receive nearby notifications
@joel__lord
#JSRemoteConf
Physical Web
CONFIGURE YOUR PHONE
• First, check that you have an active data
connection as well as Bluetooth and Location
turned on. The notification shade provides an
easy way to check that these requirements are
met.
@joel__lord
#JSRemoteConf
Physical Web
CONFIGURE YOUR PHONE
• Swipe down on the notification shade when
you first encounter a beacon. You will receive
a notification alerting you about nearby web
pages.
@joel__lord
#JSRemoteConf
Physical Web
CONFIGURE YOUR PHONE
• Tap on the notification to opt into future
Nearby notifications. Opting in will take you to
a list of nearby URLs
@joel__lord
#JSRemoteConf
Physical Web
CONFIGURE YOUR PHONE
• When you are near a beacon in the future, you
will see a notification informing you of nearby
URLs.
@joel__lord
#JSRemoteConf
Physical Web
STILL NOT WORKING?
• Try to download the application ”Physical
Web” from the Play Store
@joel__lord
#JSRemoteConf
Physical Web
AS FOR IPHONES?
• Dunno…
Try it and let me know: iOS
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
• You will need
• Compatible Bluetooth 4.0 USB adapter
(Macbook Pro)
• NodeJs
• See full list of requirements
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
[SYS:~ jlord$ npm install eddystone-beacon
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
var beacon = require("eddystone-beacon");
var options = {
name: "MyBeacon"
};
var url = "https://goo.gl/SuTBBh";
beacon.advertiseUrl(url, options);
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
var beacon = require("eddystone-beacon");
var options = {
name: "MyBeacon"
};
var url = "https://goo.gl/SuTBBh";
beacon.advertiseUrl(url, options);
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
var beacon = require("eddystone-beacon");
var options = {
name: "MyBeacon"
};
var url = "https://goo.gl/SuTBBh";
beacon.advertiseUrl(url, options);
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
var beacon = require("eddystone-beacon");
var options = {
name: "MyBeacon"
};
var url = "https://goo.gl/SuTBBh";
beacon.advertiseUrl(url, options);
@joel__lord
#JSRemoteConf
Physical Web
BROADCAST THAT URL
var beacon = require("eddystone-beacon");
var options = {
name: "MyBeacon"
};
var url = "https://goo.gl/SuTBBh";
beacon.advertiseUrl(url, options);
@joel__lord
#JSRemoteConf
Physical Web
TADA!
• You should see the notification on your phone
• It’s really just that simple!
Web Bluetooth API
@joel__lord
#JSRemoteConf
Web Bluetooth API
WHAT THE…?
• Available in Chrome 56 and Chrome for Android M
• Lets you:
• Request and connect to nearby Bluetooth devices
• Read and write Bluetooth Characteristics
• Receive GATT Notifications
• Know about disconnects
@joel__lord
#JSRemoteConf
Web Bluetooth API
WHAT THE…?
• Still experimental
• Full specs here
• Only Google implementing it so far
• Security is a big concern
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• You will need a compatible browser
• Understanding of Promises
• A User gesture event
document.querySelector("button").addEventListener("click", _ => {
//User event
});
@joel__lord
#JSRemoteConf
Web Bluetooth API
LET’S GET CODING
• Heart Beat Sensor
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• First, we need to connect to a device.
• Requires a mandatory service filter
navigator.bluetooth.requestDevice({ filters: [
{ services: ['heart_rate'] }
]})
.then(device => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• First, we need to connect to a device.
• Requires a mandatory service filter
navigator.bluetooth.requestDevice({ filters: [
{ services: ['heart_rate'] }
]})
.then(device => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• You can see all the devices but you will get an error later if you don’t
add a service filter
navigator.bluetooth.requestDevice({acceptAllDevices: true})
.then(device => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• First, we need to connect to a device.
• Requires a mandatory service filter
navigator.bluetooth.requestDevice({ filters: [
{ services: ['heart_rate'] }
]})
.then(device => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• First, we need to connect to a device.
• Requires a mandatory service filter
navigator.bluetooth.requestDevice({ filters: [
{ services: ['heart_rate'] }
]})
.then(device => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• You can *then* connect to the device and get information about this
device
navigator.bluetooth.requestDevice(options)
.then(device => {
// Human-readable name of the device.
console.log(device.name);
})
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• Once you have a device, you can access the GATT server
navigator.bluetooth.requestDevice(options)
.then(device => {
// Attempts to connect to remote GATT Server.
return device.gatt.connect();
})
.then(server => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• Once you have a device, you can access the GATT server
navigator.bluetooth.requestDevice(options)
.then(device => {
// Attempts to connect to remote GATT Server.
return device.gatt.connect();
})
.then(server => { /* ... */ })
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• And you can now access the service to get the desired characteristic
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => {
// Getting Battery Service
return server.getPrimaryService('battery_service');
})
.then(service => {
// Getting Battery Level Characteristic.
return service.getCharacteristic('battery_level');
})
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• And you can now access the service to get the desired characteristic
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => {
// Getting Battery Service
return server.getPrimaryService('battery_service');
})
.then(service => {
// Getting Battery Level Characteristic.
return service.getCharacteristic('battery_level');
})
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• You can finally read the value of the characteristic
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService('battery_service'))
.then(service => service.getCharacteristic('battery_level'))
.then(characteristic => {
// Reading Battery Level
return characteristic.readValue();
})
.then(value => {
console.log('Characteristic value: ' + value);
})
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• You can finally read the value of the characteristic
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService('battery_service'))
.then(service => service.getCharacteristic('battery_level'))
.then(characteristic => {
// Reading Battery Level
return characteristic.readValue();
})
.then(value => {
console.log('Characteristic value: ' + value);
})
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• When reading the value, it returns a ArrayBuffer which you need to
convert into an int value
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService('battery_service'))
.then(service => service.getCharacteristic('battery_level'))
.then(characteristic => characteristic.readValue())
.then(value => {
var intVal = value.getUint8(0);
console.log('Battery percentage is ' + intVal);
})
.catch(error => { console.log(error); });
@joel__lord
#JSRemoteConf
Web Bluetooth API
GETTING READY
• Or subscribe to the notifications
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService('battery_service'))
.then(service => service.getCharacteristic('battery_level'))
.then(c => {
// Set up event listener for when characteristic value changes.
c.addEventListener('characteristicvaluechanged', console.log);
})
.catch(error => { console.log(error); });
Show me the real stuff !
QUESTIONS?
DOCUMENT CONFIDENTIEL, TOUT DROIT RÉSERVÉ
PRESENTED BY
That’s all folks !
JOEL LORD
March 17th, 2017
TWITTER: @JOEL__LORD
GITHUB: HTTP://GITHUB.COM/JOELLORD
1 of 54

Recommended

Beyond the Node: Arkestration with Noah by
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noahlusis
3.5K views80 slides
Future Ready? Stop Waiting for What the Tech Will Do by
Future Ready?  Stop Waiting for What the Tech Will DoFuture Ready?  Stop Waiting for What the Tech Will Do
Future Ready? Stop Waiting for What the Tech Will Dobudtheteacher
14.2K views65 slides
【Jt】closhe 分層 プレゼン (1) by
【Jt】closhe 分層 プレゼン (1)【Jt】closhe 分層 プレゼン (1)
【Jt】closhe 分層 プレゼン (1)久美歩 石郷
965 views56 slides
Casa administrativo by
Casa   administrativoCasa   administrativo
Casa administrativoChristiano Morais
858 views343 slides
Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur... by
Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...
Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...Lviv Startup Club
475 views33 slides
مجلة ابن رشد الاصدار الثاني by
مجلة ابن رشد الاصدار الثانيمجلة ابن رشد الاصدار الثاني
مجلة ابن رشد الاصدار الثانيibnrushd1434
625 views30 slides

More Related Content

Viewers also liked

Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez) by
Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez)Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez)
Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez)Lalvmun
13.1K views59 slides
Kaleidoscopic organization Characteristics - Author Senthil by
Kaleidoscopic organization Characteristics - Author SenthilKaleidoscopic organization Characteristics - Author Senthil
Kaleidoscopic organization Characteristics - Author SenthilSenthil Kumar, PhD.
414 views8 slides
Inteligencia emocional para el liderazgo v1.0 ago 2015 by
Inteligencia emocional para el liderazgo v1.0 ago 2015Inteligencia emocional para el liderazgo v1.0 ago 2015
Inteligencia emocional para el liderazgo v1.0 ago 2015Juan Carlos Zúñiga Montalvo
1.5K views30 slides
O futuro do Bitcoin está nas mãos da China? by
O futuro do Bitcoin está nas mãos da China?O futuro do Bitcoin está nas mãos da China?
O futuro do Bitcoin está nas mãos da China?Edilson Osorio Junior
3.5K views72 slides
Documento de finanzas corporativas de 50 ejercicios (1) by
Documento de finanzas corporativas de 50 ejercicios (1)Documento de finanzas corporativas de 50 ejercicios (1)
Documento de finanzas corporativas de 50 ejercicios (1)Gian Guzman
1.1K views15 slides
DevLOVE Beautiful Development - 第一幕 陽の巻 by
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻都元ダイスケ Miyamoto
5.4K views60 slides

Viewers also liked(12)

Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez) by Lalvmun
Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez)Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez)
Bullying intimidación y maltrato entre el alumnado (j maria avilés martínez)
Lalvmun13.1K views
Kaleidoscopic organization Characteristics - Author Senthil by Senthil Kumar, PhD.
Kaleidoscopic organization Characteristics - Author SenthilKaleidoscopic organization Characteristics - Author Senthil
Kaleidoscopic organization Characteristics - Author Senthil
Documento de finanzas corporativas de 50 ejercicios (1) by Gian Guzman
Documento de finanzas corporativas de 50 ejercicios (1)Documento de finanzas corporativas de 50 ejercicios (1)
Documento de finanzas corporativas de 50 ejercicios (1)
Gian Guzman1.1K views
What is Modernization Infographic by Uniface
What is Modernization InfographicWhat is Modernization Infographic
What is Modernization Infographic
Uniface1.1K views
Time Theft: How Hidden and Unplanned Work Commit the Perfect Crime by LeanKit
Time Theft: How Hidden and Unplanned Work Commit the Perfect CrimeTime Theft: How Hidden and Unplanned Work Commit the Perfect Crime
Time Theft: How Hidden and Unplanned Work Commit the Perfect Crime
LeanKit1.5K views
Revisit performance management to achieve peak team performance by David Perks
Revisit performance management to achieve peak team performanceRevisit performance management to achieve peak team performance
Revisit performance management to achieve peak team performance
David Perks249 views
Chavez hugo. frases 1 by Jose Silva
Chavez hugo. frases 1Chavez hugo. frases 1
Chavez hugo. frases 1
Jose Silva3.3K views
Why you should start a side project as soon as possible by Luciano Braga
Why you should start a side project as soon as possibleWhy you should start a side project as soon as possible
Why you should start a side project as soon as possible
Luciano Braga826 views

Similar to Let's Get Physical

Let's Get Physical by
Let's Get PhysicalLet's Get Physical
Let's Get PhysicalJoel Lord
279 views58 slides
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28 by
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28Frédéric Harper
734 views59 slides
The Physical World meets the Web by
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the WebMaximiliano Firtman
894 views121 slides
HTML for the Mobile Web, Firefox OS by
HTML for the Mobile Web, Firefox OSHTML for the Mobile Web, Firefox OS
HTML for the Mobile Web, Firefox OSAll Things Open
786 views57 slides
WordCamp Columbus - Location Based Integrations by
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrationslukepilon
681 views45 slides
Web of things introduction by
Web of things introductionWeb of things introduction
Web of things introduction承翰 蔡
1.1K views22 slides

Similar to Let's Get Physical(20)

Let's Get Physical by Joel Lord
Let's Get PhysicalLet's Get Physical
Let's Get Physical
Joel Lord279 views
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28 by Frédéric Harper
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28
Firefox OS, HTML5 pour le mobile - Code(love) Hackathon - 2014-05-28
Frédéric Harper734 views
HTML for the Mobile Web, Firefox OS by All Things Open
HTML for the Mobile Web, Firefox OSHTML for the Mobile Web, Firefox OS
HTML for the Mobile Web, Firefox OS
All Things Open786 views
WordCamp Columbus - Location Based Integrations by lukepilon
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrations
lukepilon681 views
Web of things introduction by 承翰 蔡
Web of things introductionWeb of things introduction
Web of things introduction
承翰 蔡1.1K views
Economies of Scaling Software by Joshua Long
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling Software
Joshua Long3K views
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru... by Reuven Lerner
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...
Reuven Lerner2.2K views
Modern Web Technologies — Jerusalem Web Professionals, January 2011 by Reuven Lerner
Modern Web Technologies — Jerusalem Web Professionals, January 2011Modern Web Technologies — Jerusalem Web Professionals, January 2011
Modern Web Technologies — Jerusalem Web Professionals, January 2011
Reuven Lerner3.4K views
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry by Codemotion Tel Aviv
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerryGetting Physical with Web Bluetooth - Uri Shaked, BlackBerry
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry
The Mobile Web Revealed For The Java Developer by balunasj
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
balunasj682 views
Can a browser become an IoT Gateway? by Sooraj Sanker
Can a browser become an IoT Gateway?Can a browser become an IoT Gateway?
Can a browser become an IoT Gateway?
Sooraj Sanker19 views
HTML5 is the Future of Mobile, PhoneGap Takes You There Today by davyjones
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones74.8K views
MongoDB Mobile by MongoDB
MongoDB Mobile MongoDB Mobile
MongoDB Mobile
MongoDB189 views
2018 Boulder JUG Deconstructing and Evolving REST Security by David Blevins
2018 Boulder JUG Deconstructing and Evolving REST Security2018 Boulder JUG Deconstructing and Evolving REST Security
2018 Boulder JUG Deconstructing and Evolving REST Security
David Blevins147 views
The Software Developers Guide to Prototyping Wearable Devices by TechWell
The Software Developers Guide to Prototyping Wearable DevicesThe Software Developers Guide to Prototyping Wearable Devices
The Software Developers Guide to Prototyping Wearable Devices
TechWell407 views

More from Joel Lord

From Ceasar Cipher To Quantum Cryptography by
From Ceasar Cipher To Quantum CryptographyFrom Ceasar Cipher To Quantum Cryptography
From Ceasar Cipher To Quantum CryptographyJoel Lord
405 views185 slides
I Don't Care About Security (And Neither Should You) by
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)Joel Lord
670 views131 slides
I Don't Care About Security (And Neither Should You) by
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)Joel Lord
157 views128 slides
I Don't Care About Security (And Neither Should You) by
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)Joel Lord
323 views121 slides
Forgot Password? Yes I Did! by
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!Joel Lord
432 views61 slides
I Don't Care About Security (And Neither Should You) by
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)Joel Lord
153 views126 slides

More from Joel Lord(20)

From Ceasar Cipher To Quantum Cryptography by Joel Lord
From Ceasar Cipher To Quantum CryptographyFrom Ceasar Cipher To Quantum Cryptography
From Ceasar Cipher To Quantum Cryptography
Joel Lord405 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord670 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord157 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord323 views
Forgot Password? Yes I Did! by Joel Lord
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!
Joel Lord432 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord153 views
Mot de passe oublié? Absolument! by Joel Lord
Mot de passe oublié? Absolument!Mot de passe oublié? Absolument!
Mot de passe oublié? Absolument!
Joel Lord193 views
Asynchronicity: concurrency. A tale of by Joel Lord
Asynchronicity: concurrency. A tale ofAsynchronicity: concurrency. A tale of
Asynchronicity: concurrency. A tale of
Joel Lord283 views
Learning Machine Learning by Joel Lord
Learning Machine LearningLearning Machine Learning
Learning Machine Learning
Joel Lord452 views
Forgot Password? Yes I Did! by Joel Lord
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!
Joel Lord295 views
WTH is a JWT by Joel Lord
WTH is a JWTWTH is a JWT
WTH is a JWT
Joel Lord909 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord125 views
Forgot Password? Yes I Did! by Joel Lord
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!
Joel Lord115 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord195 views
WTH is a JWT by Joel Lord
WTH is a JWTWTH is a JWT
WTH is a JWT
Joel Lord311 views
Asynchonicity: concurrency. A tale of by Joel Lord
Asynchonicity: concurrency. A tale ofAsynchonicity: concurrency. A tale of
Asynchonicity: concurrency. A tale of
Joel Lord360 views
I Don't Care About Security by Joel Lord
I Don't Care About Security I Don't Care About Security
I Don't Care About Security
Joel Lord247 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord209 views
I Don't Care About Security (And Neither Should You) by Joel Lord
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Joel Lord233 views
Secure your SPA with Auth0 by Joel Lord
Secure your SPA with Auth0Secure your SPA with Auth0
Secure your SPA with Auth0
Joel Lord341 views

Recently uploaded

802.11 Computer Networks by
802.11 Computer Networks802.11 Computer Networks
802.11 Computer NetworksTusharChoudhary72015
13 views33 slides
sam_software_eng_cv.pdf by
sam_software_eng_cv.pdfsam_software_eng_cv.pdf
sam_software_eng_cv.pdfsammyigbinovia
9 views5 slides
START Newsletter 3 by
START Newsletter 3START Newsletter 3
START Newsletter 3Start Project
6 views25 slides
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth by
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for GrowthInnomantra
10 views4 slides
Design_Discover_Develop_Campaign.pptx by
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptxShivanshSeth6
45 views20 slides
SPICE PARK DEC2023 (6,625 SPICE Models) by
SPICE PARK DEC2023 (6,625 SPICE Models) SPICE PARK DEC2023 (6,625 SPICE Models)
SPICE PARK DEC2023 (6,625 SPICE Models) Tsuyoshi Horigome
36 views218 slides

Recently uploaded(20)

BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth by Innomantra
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth
Innomantra 10 views
Design_Discover_Develop_Campaign.pptx by ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth645 views
SUMIT SQL PROJECT SUPERSTORE 1.pptx by Sumit Jadhav
SUMIT SQL PROJECT SUPERSTORE 1.pptxSUMIT SQL PROJECT SUPERSTORE 1.pptx
SUMIT SQL PROJECT SUPERSTORE 1.pptx
Sumit Jadhav 22 views
Design of machine elements-UNIT 3.pptx by gopinathcreddy
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptx
gopinathcreddy34 views
REACTJS.pdf by ArthyR3
REACTJS.pdfREACTJS.pdf
REACTJS.pdf
ArthyR335 views
Web Dev Session 1.pptx by VedVekhande
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptx
VedVekhande13 views
fakenews_DBDA_Mar23.pptx by deepmitra8
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptx
deepmitra816 views
Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx by lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang78165 views
Ansari: Practical experiences with an LLM-based Islamic Assistant by M Waleed Kadous
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic Assistant
M Waleed Kadous7 views
Searching in Data Structure by raghavbirla63
Searching in Data StructureSearching in Data Structure
Searching in Data Structure
raghavbirla6314 views
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf by AlhamduKure
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
AlhamduKure6 views
_MAKRIADI-FOTEINI_diploma thesis.pptx by fotinimakriadi
_MAKRIADI-FOTEINI_diploma thesis.pptx_MAKRIADI-FOTEINI_diploma thesis.pptx
_MAKRIADI-FOTEINI_diploma thesis.pptx
fotinimakriadi10 views
GDSC Mikroskil Members Onboarding 2023.pdf by gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil59 views
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc... by csegroupvn
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
csegroupvn6 views

Let's Get Physical