SlideShare una empresa de Scribd logo
1 de 90
Descargar para leer sin conexión
Bluetooth LE,
CoreBluetooth
@zachdennis
@zdennis
!

mutuallyhuman.com
Bluetooth LE
What is BTLE?
A short range, ultra-low
power consuming
wireless technology.
Shares the “Bluetooth”
name, but has different
design goals in mind.
Power
Consumption
Years, not hours or
days.
Short range
~ 50m
Packet-based
Short bursts of data.
Intervals

Ad

Ad

Data

Ad

Data
Multiple channels

#1

Ad

Ad

Data

Ad

Data

#2

Ad

Ad

Data

Ad

Data

#3

Ad

Ad

Data

Ad

Data
Device A is looking.
Scan

Scan

Data

Ad

Ad

Data

Ad

Data

Ad

Ad

Data

Ad

Data

Device B is advertising.
Frequency hopping
Connection-less
Devices do not need to maintain
connections.
Pairing
e.g. iOS - happens when Insufficient
Authentication error code is sent from the
peripheral.
Security
Devices pair, keys are distributed, and the
connection is encrypted.
!

Encryption is AES-128.
Why BTLE?
*Borrowed from 2012 WWDC CoreBluetooth Talk
1 billion+ devices
*Borrowed from 2013 Apple WWDC talk
How BTLE Works
The Stack
Key Terms
•

Central

•

Peripheral

•

Service

•

Characteristic

•

Descriptor
Central
(wants data)

Peripheral
(has data)
Central

Peripheral
advertising
Central

Peripheral
advertising

scan
Central

Peripheral
advertising

scan

advertising
Central

Peripheral
advertising

scan

advertising

discover services

Heart Monitor
Central

Peripheral
advertising

scan

advertising

discover services

Heart Monitor

discover characteristics

BPM
Central

Peripheral
advertising

scan

advertising

discover services

Heart Monitor

discover characteristics

BPM

read value

95
Central

Peripheral
advertising

scan

advertising

discover services

Heart Monitor

discover characteristics

BPM

read value

95

observe value

BPM

95
Central

Peripheral
advertising

scan

advertising

discover services

Heart Monitor

discover characteristics

BPM

read value

95

value changed

BPM

95

BPM

observe value

95

BPM

98
Service

A service is a human-readable specification of a
set of characteristics and their associated
behavior.
Two kinds of services

There are primary services and secondary
services.
Nested services

Services can contain other services.
Characteristic
A characteristic is a bit of data that has a known
format labeled with a UUID.
They are intended for computer-readable format
as opposed to human-readable text.
Profiles
A profile is a specification that describe two or
more devices, with one or more services on each
device, how they discover each other, connect,
and otherwise interact.
Profiles define roles for devices to play.
Heart Rate Profile
Collector

Heart Rate Sensor

Heart Rate Service

Device Information Service
Heart Rate Profile
GATT CLIENT

GATT SERVER

Collector

Heart Rate Sensor

Heart Rate Service

Device Information Service
Profiles & Services

Profiles contain services.
Services can be contained by multiple profiles.
Anatomy of a Peripheral
Peripheral

Service

Characteristic
Descriptor
Characteristic

Service
Characteristic
Apple’s Approach to
BTLE
Simple
Powerful
Technology Stack
*Borrowed from 2012 WWDC CoreBluetooth Talk
Supported Profiles
•

Generic Attribute Profile Service

•

Generic Access Profile Service

•

Bluetooth Low Energy HID Service

•

Battery Service

•

Time Service

•

Apple Notification Center Service
CoreBluetooth
Object Model
Main Objects
CBCentralManager
CBCentralManagerDelegate

CBPeripheralManager
CBPeripheralManagerDelegate

Data Objects
CBPeripheral

CBCentral

CBPeripheralDelegate

CBMutableService
CBService
CBMutableCharacteristic
CBCharacteristic

Helper Objects
CBUUID

CBATTRequest
Being a Central
Central

Peripheral
CBCentralManager

Scanning!
– scanForPeripheralsWithServices:options
!

Stop scanning!
– stopScan
!

Connecting to peripherals!
– connectPeripheral:options
– cancelPeripheralConnection:
!

Retrieving known peripherals!
– retrieveConnectedPeripheralsWithServices:
– retrievePeripheralsWithIdentifiers:
CBCentralManagerDelegate

Monitoring Connections with Peripherals!
– centralManager:didConnectPeripheral:
– centralManager:didDisconnectPeripheral:error:
– centralManager:didFailToConnectPeripheral:error:
!

Discovering and Retrieving Peripherals!
– centralManager:didDiscoverPeripheral:advertisementData:RSSI:
– centralManager:didRetrieveConnectedPeripherals:
– centralManager:didRetrievePeripherals:
!

Monitoring Changes to the Central Manager’s State!
– centralManagerDidUpdateState:
– centralManager:willRestoreState:
CBPeripheralDelegate
Discovering Services!
– peripheral:didDiscoverServices:
– peripheral:didDiscoverIncludedServicesForService:error:

!

Discovering Characteristics and Characteristic Descriptors!
– peripheral:didDiscoverCharacteristicsForService:error:
– peripheral:didDiscoverDescriptorsForCharacteristic:error:

!

Retrieving Characteristic and Characteristic Descriptor Values!
– peripheral:didUpdateValueForCharacteristic:error:
– peripheral:didUpdateValueForDescriptor:error:

!

Writing Characteristic and Characteristic Descriptor Values!
– peripheral:didWriteValueForCharacteristic:error:
– peripheral:didWriteValueForDescriptor:error:

!

Managing Notifications for a Characteristic’s Value!
– peripheral:didUpdateNotificationStateForCharacteristic:error:

!

Retrieving a Peripheral’s Received Signal Strength Indicator (RSSI) Data!
– peripheralDidUpdateRSSI:error:

!

Monitoring Changes to a Peripheral’s Name or Services!
– peripheralDidUpdateName:
– peripheral:didModifyServices:
> code <
Being a Peripheral
Central

Peripheral
CBPeripheralManager
Services!
– addService:
– removeService:
– removeAllServices:
!

Advertising!
– startAdvertising:
– stopAdvertising
– isAdvertising
!

Notifying observing devices of updates!
– updateValue:forCharacteristic:onSubscribedCentrals:
!

Responding to Read/Write Requests!
– respondToRequest:withResult
CBPeripheralManagerDelegate
Monitoring Changes to the Peripheral Manager’s State!
– peripheralManagerDidUpdateState:
– peripheralManager:willRestoreState:
!

Adding Services!
– peripheralManager:didAddService:error:
!

Advertising Peripheral Data!
– peripheralManagerDidStartAdvertising:error:
!

Monitoring Subscriptions to Characteristic Values!
– peripheralManager:central:didSubscribeToCharacteristic:
– peripheralManager:central:didUnsubscribeFromCharacteristic:
– peripheralManagerIsReadyToUpdateSubscribers:
!

Receiving Read and Write Requests!
– peripheralManager:didReceiveReadRequest:
– peripheralManager:didReceiveWriteRequests:
CBMutableService
Initializing a Mutable Service!
– initWithType:primary:
!

Managing a Mutable Service!
– UUID
– isPrimary
– characteristics
– includedServices

CBMutableCharacteristic
Initializing a Mutable Characteristic!
– initWithType:properties:value:permissions:
!

Managing a Mutable Characteristic!
UUID
value
descriptors
properties
permissions
subscribedCentrals
> code <
Foreground vs.
Background
Two background
modes.
bluetooth-central
“Uses Bluetooth LE accessories” in Xcode
bluetooth-peripheral
“Acts as Bluetooth LE accessory” in Xcode
Specify background
modes in Info.plist.
Nuances of
backgrounding
Central Scanning
•

Scanning (as a Central) acts differently in the
background.
•

Scan options are ignored. Multiple discoveries
of a peripheral are coalesced into one.

•

The scan interval may increase and your app
may take longer to discover a peripheral.
Peripheral Advertising
•

Advertising in the background differs from
foreground mode:
•

The CBAdvertisementDataLocalNameKey is not
advertised.

•

The frequency at which your app advertises
may decrease.

•

Service UUIDs may not be advertised. Apple
does best effort.
Peripheral Events

•

iOS will wake up your app to receive events:
read, write, and subscribe events.
Caching
•

Services, characteristics and characteristic
descriptors are cached

•

Characteristic value is kind of cached. When
discovered the last read value will be provided,
but it’s put to you to use it (static values) or read
the value (dynamic values) from the peripheral.
State Preservation and
Restoration
•

Optional feature.

•

Why? if your app is background it can be terminated
the OS

•

iOS will store the state of the application and act on
behalf of it as a proxy. When it receives an event your
app is waiting for it will start the app back up in the
background to allow it to process it

•

Single method for you to implement to restore the
state of your app.
iBeacons
A part of CoreLocation
Just a data format in the
advertising packets.
!

Apple to release actual
profile on ___________.
Tips
CoreBluetooth lives in
IOBluetooth for Mac
apps.
No more
simulator
support
as of
iOS7
Keep references to
CBPeripheral and CBCentrals
if you plan on using them.
YOSO!
YOCO!
DSWYDNT
Done with peripheral,
disconnect.
CBPeripheral and
CBCentral objects can be
dictionary keys.
If you’re a peripheral
support characteristic
notifications.
Require paired
connections to acquire
sensitive information
Finding peripherals the system
already knows about

CentralManager
– retrieveConnectedPeripheralsWithServices:
– retrievePeripheralsWithIdentifiers:
MTU Exchange Requests

*Borrowed from 2013 Apple WWDC talk
MTU Exchange Requests
•

Allows more data to be sent in one go

•

Less packet overhead

•

up to 20% increase in throughput

•

Free.
App store recommendations
from Apple
•

include the device with your submission

•

be explicit about services the device provides

•

provide instructions for how to use the device/
app

•

or don’t and cross your fingers
@zachdennis
@zdennis
!

mutuallyhuman.com

Más contenido relacionado

La actualidad más candente

Bluetooth security
Bluetooth securityBluetooth security
Bluetooth securityRamasubbu .P
 
MILLIMETER WAVE FOR 5G CELLULAR
MILLIMETER WAVE FOR 5G CELLULARMILLIMETER WAVE FOR 5G CELLULAR
MILLIMETER WAVE FOR 5G CELLULARSudeeshvs01
 
Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...
Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...
Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...Rupesh Sharma
 
WC and LTE 4G module 1- 2019 by Prof. Suresha V
WC and LTE 4G  module 1- 2019 by Prof. Suresha VWC and LTE 4G  module 1- 2019 by Prof. Suresha V
WC and LTE 4G module 1- 2019 by Prof. Suresha VSURESHA V
 
Cellular communication
Cellular communicationCellular communication
Cellular communicationRahul Pandey
 
UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))
UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))
UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))Md Mustafizur Rahman
 
IOT Protocols
IOT  Protocols IOT  Protocols
IOT Protocols Nagesh Rao
 
Ble overview and_implementation
Ble overview and_implementationBle overview and_implementation
Ble overview and_implementationStanley Chang
 
Introduction to LTE
Introduction to LTEIntroduction to LTE
Introduction to LTESB MN
 

La actualidad más candente (20)

Bluetooth security
Bluetooth securityBluetooth security
Bluetooth security
 
LTE Basic
LTE BasicLTE Basic
LTE Basic
 
MILLIMETER WAVE FOR 5G CELLULAR
MILLIMETER WAVE FOR 5G CELLULARMILLIMETER WAVE FOR 5G CELLULAR
MILLIMETER WAVE FOR 5G CELLULAR
 
Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...
Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...
Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At Transmit...
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
WC and LTE 4G module 1- 2019 by Prof. Suresha V
WC and LTE 4G  module 1- 2019 by Prof. Suresha VWC and LTE 4G  module 1- 2019 by Prof. Suresha V
WC and LTE 4G module 1- 2019 by Prof. Suresha V
 
Cellular communication
Cellular communicationCellular communication
Cellular communication
 
Cellular communication
Cellular communicationCellular communication
Cellular communication
 
Wimax ppt
Wimax pptWimax ppt
Wimax ppt
 
GSM Bands and Frame Structure
GSM Bands and Frame StructureGSM Bands and Frame Structure
GSM Bands and Frame Structure
 
UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))
UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))
UMTS/3G RAN Capacity Management Guideline Part-02 (Sectorization))
 
IOT Protocols
IOT  Protocols IOT  Protocols
IOT Protocols
 
5G network architecture progress
5G network architecture progress5G network architecture progress
5G network architecture progress
 
Lte physical layer overview
Lte physical layer overviewLte physical layer overview
Lte physical layer overview
 
Ble overview and_implementation
Ble overview and_implementationBle overview and_implementation
Ble overview and_implementation
 
Hsdpa analysis
Hsdpa analysisHsdpa analysis
Hsdpa analysis
 
2.6 ethernet ieee 802.3
2.6 ethernet   ieee 802.32.6 ethernet   ieee 802.3
2.6 ethernet ieee 802.3
 
GSM Technology
GSM TechnologyGSM Technology
GSM Technology
 
Introduction to LTE
Introduction to LTEIntroduction to LTE
Introduction to LTE
 
Gprs architecture ppt
Gprs architecture pptGprs architecture ppt
Gprs architecture ppt
 

Similar a BTLE (Bluetooth Low Energy) and CoreBluetooth

Kavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_finKavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_finPacSecJP
 
Develop a portal to manage your IoT Hub solution
 Develop a portal to manage your IoT Hub solution Develop a portal to manage your IoT Hub solution
Develop a portal to manage your IoT Hub solutionMarco Parenzan
 
Successful Industrial IoT patterns
Successful Industrial IoT patterns Successful Industrial IoT patterns
Successful Industrial IoT patterns John Mathon
 
Bw13 session2 app_dev_presenter_final
Bw13 session2 app_dev_presenter_finalBw13 session2 app_dev_presenter_final
Bw13 session2 app_dev_presenter_finalBlair Poloskey
 
Azure iot edge and AI enabling the intelligent edge
Azure iot edge and AI  enabling the intelligent edgeAzure iot edge and AI  enabling the intelligent edge
Azure iot edge and AI enabling the intelligent edgeMarco Dal Pino
 
iOS application (in)security
iOS application (in)securityiOS application (in)security
iOS application (in)securityiphonepentest
 
Wearables, Things & Apps - Mobile Dev + Test '15
Wearables, Things & Apps - Mobile Dev + Test '15Wearables, Things & Apps - Mobile Dev + Test '15
Wearables, Things & Apps - Mobile Dev + Test '15Chris Beauchamp
 
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryBuilding A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryProgrammableWeb
 
Can a browser become an IoT Gateway?
Can a browser become an IoT Gateway?Can a browser become an IoT Gateway?
Can a browser become an IoT Gateway?Sooraj Sanker
 
A Brief Introduction to Bluetooth Low Energy (BLE) on iOS
A Brief Introduction to Bluetooth Low Energy (BLE) on iOSA Brief Introduction to Bluetooth Low Energy (BLE) on iOS
A Brief Introduction to Bluetooth Low Energy (BLE) on iOSMatt Whitlock
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Codemotion
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
WSO2Con EU 2015: IoT in Finance
WSO2Con EU 2015: IoT in FinanceWSO2Con EU 2015: IoT in Finance
WSO2Con EU 2015: IoT in FinanceWSO2
 
ibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkDavid Jones
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Tomek Borek
 
Hack your business android+beacons+big data
Hack your business  android+beacons+big dataHack your business  android+beacons+big data
Hack your business android+beacons+big dataTushar Choudhary
 
Architectural Patterns in IoT Cloud Platforms
Architectural Patterns in IoT Cloud PlatformsArchitectural Patterns in IoT Cloud Platforms
Architectural Patterns in IoT Cloud PlatformsRoshan Kulkarni
 
AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to StartAMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to StartIvanti
 
AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)
AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)
AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)byteLAKE
 

Similar a BTLE (Bluetooth Low Energy) and CoreBluetooth (20)

Kavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_finKavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_fin
 
Develop a portal to manage your IoT Hub solution
 Develop a portal to manage your IoT Hub solution Develop a portal to manage your IoT Hub solution
Develop a portal to manage your IoT Hub solution
 
Successful Industrial IoT patterns
Successful Industrial IoT patterns Successful Industrial IoT patterns
Successful Industrial IoT patterns
 
JAM805 - Beyond the Device
JAM805 -  Beyond the DeviceJAM805 -  Beyond the Device
JAM805 - Beyond the Device
 
Bw13 session2 app_dev_presenter_final
Bw13 session2 app_dev_presenter_finalBw13 session2 app_dev_presenter_final
Bw13 session2 app_dev_presenter_final
 
Azure iot edge and AI enabling the intelligent edge
Azure iot edge and AI  enabling the intelligent edgeAzure iot edge and AI  enabling the intelligent edge
Azure iot edge and AI enabling the intelligent edge
 
iOS application (in)security
iOS application (in)securityiOS application (in)security
iOS application (in)security
 
Wearables, Things & Apps - Mobile Dev + Test '15
Wearables, Things & Apps - Mobile Dev + Test '15Wearables, Things & Apps - Mobile Dev + Test '15
Wearables, Things & Apps - Mobile Dev + Test '15
 
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryBuilding A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
 
Can a browser become an IoT Gateway?
Can a browser become an IoT Gateway?Can a browser become an IoT Gateway?
Can a browser become an IoT Gateway?
 
A Brief Introduction to Bluetooth Low Energy (BLE) on iOS
A Brief Introduction to Bluetooth Low Energy (BLE) on iOSA Brief Introduction to Bluetooth Low Energy (BLE) on iOS
A Brief Introduction to Bluetooth Low Energy (BLE) on iOS
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
WSO2Con EU 2015: IoT in Finance
WSO2Con EU 2015: IoT in FinanceWSO2Con EU 2015: IoT in Finance
WSO2Con EU 2015: IoT in Finance
 
ibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawk
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
 
Hack your business android+beacons+big data
Hack your business  android+beacons+big dataHack your business  android+beacons+big data
Hack your business android+beacons+big data
 
Architectural Patterns in IoT Cloud Platforms
Architectural Patterns in IoT Cloud PlatformsArchitectural Patterns in IoT Cloud Platforms
Architectural Patterns in IoT Cloud Platforms
 
AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to StartAMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
 
AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)
AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)
AI for Manufacturing (Machine Vision, Edge AI, Federated Learning)
 

Más de Zach Dennis

A Brief, Very Very Brief Intro to Systems Thinking
A Brief, Very Very Brief Intro to Systems ThinkingA Brief, Very Very Brief Intro to Systems Thinking
A Brief, Very Very Brief Intro to Systems ThinkingZach Dennis
 
Sand Piles and Software - Madison Ruby Conference
Sand Piles and Software - Madison Ruby ConferenceSand Piles and Software - Madison Ruby Conference
Sand Piles and Software - Madison Ruby ConferenceZach Dennis
 
Discovering patterns
Discovering patternsDiscovering patterns
Discovering patternsZach Dennis
 
JavaScript Code Organizations, Patterns Slides - Zach Dennis
JavaScript Code Organizations, Patterns Slides - Zach DennisJavaScript Code Organizations, Patterns Slides - Zach Dennis
JavaScript Code Organizations, Patterns Slides - Zach DennisZach Dennis
 
Balancing the Pendulum: Reflecting on BDD in Practice
Balancing the Pendulum: Reflecting on BDD in PracticeBalancing the Pendulum: Reflecting on BDD in Practice
Balancing the Pendulum: Reflecting on BDD in PracticeZach Dennis
 

Más de Zach Dennis (6)

A Brief, Very Very Brief Intro to Systems Thinking
A Brief, Very Very Brief Intro to Systems ThinkingA Brief, Very Very Brief Intro to Systems Thinking
A Brief, Very Very Brief Intro to Systems Thinking
 
Sand Piles and Software - Madison Ruby Conference
Sand Piles and Software - Madison Ruby ConferenceSand Piles and Software - Madison Ruby Conference
Sand Piles and Software - Madison Ruby Conference
 
Discovering patterns
Discovering patternsDiscovering patterns
Discovering patterns
 
SSH
SSHSSH
SSH
 
JavaScript Code Organizations, Patterns Slides - Zach Dennis
JavaScript Code Organizations, Patterns Slides - Zach DennisJavaScript Code Organizations, Patterns Slides - Zach Dennis
JavaScript Code Organizations, Patterns Slides - Zach Dennis
 
Balancing the Pendulum: Reflecting on BDD in Practice
Balancing the Pendulum: Reflecting on BDD in PracticeBalancing the Pendulum: Reflecting on BDD in Practice
Balancing the Pendulum: Reflecting on BDD in Practice
 

Último

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

BTLE (Bluetooth Low Energy) and CoreBluetooth