SlideShare a Scribd company logo
Candies for everybody:
hacking from 9 to 6
Alberto López
Braintree_Dev.
<Advocate/>
https://flic.kr/p/6kFQBc
ciao
source
@AlbertusLM@Braintree_Dev
This is me
@AlbertusLM@Braintree_Dev
I am here!
my current office
@AlbertusLM@Braintree_Dev
@PayPalDev @AlbertusLM
@AlbertusLM@Braintree_Dev
battlehack.org
@AlbertusLM@Braintree_Dev
battlehack.org
@AlbertusLM@Braintree_Dev
battlehack.org
@AlbertusLM@Braintree_Dev
battlehack.org
100.000 USD
@AlbertusLM@Braintree_Dev
we <3 hackers
@AlbertusLM@Braintree_Dev
we <3 hacking
@AlbertusLM@Braintree_Dev
we <3 hacking 9-6
@AlbertusLM@Braintree_Dev
what is my story?
@AlbertusLM@Braintree_Dev
@AlbertusLM@Braintree_Dev
internet of things everything
@AlbertusLM@Braintree_Dev
4.9 Billion Connected "Things" by 2015
http://www.gartner.com/newsroom/id/2905717
Gartner Symposium/ITxpo 2014, November 9-13 in Barcelona, Spain
@AlbertusLM@Braintree_Dev
everybody <3 chocolate
@AlbertusLM@Braintree_Dev
few months of hard work…
@AlbertusLM@Braintree_Dev
Candy Machine 1.0!
@AlbertusLM@Braintree_Dev
@AlbertusLM@Braintree_Dev
@AlbertusLM@Braintree_Dev
technologies
Braintree v.zero SDK
<frontend> <backend>
@AlbertusLM@Braintree_Dev
goo.gl/CTnv8U
efficient BUT rudimentary
@AlbertusLM@Braintree_Dev
few months of hard work…
@AlbertusLM@Braintree_Dev
Candy Machine 2.0!
@AlbertusLM@Braintree_Dev
Candy Machine 2.0!ALPHA
@AlbertusLM@Braintree_Dev
technologies
Braintree v.zero SDK
@AlbertusLM@Braintree_Dev
why Braintree v.zero SDK?
v.zero
OFF
ON
ON
ON
ON
OFF
ON
ON
ON
ON
FUTURE
Payment Method
C&D Cards
@AlbertusLM@Braintree_Dev
why Braintree v.zero SDK?
v.zero
Ultra Slim
Invisible
Elegant
@AlbertusLM@Braintree_Dev
why Braintree v.zero SDK?
v.zero
<frontend/>
<backend/>
@AlbertusLM@Braintree_Dev
why Magento?
> open source
> created for eCommerce
> fully scalable
> high performance
> great look&feel
@AlbertusLM@Braintree_Dev
why spark core?
> open source
> wifi connected
> tiny size
> code on private cloud
> multi-language
@AlbertusLM@Braintree_Dev
Ouch!
> Old Braintree module
> v.zero not available yet

(official plugin in development)
@AlbertusLM@Braintree_Dev
BUSTED
@AlbertusLM@Braintree_Dev
dem
@AlbertusLM@Braintree_Dev
@AlbertusLM@Braintree_Dev
backup
plan:
video
J
LET’S CODE OUR MODULE
CHALLENGE ACCEPTED
Frontend: <templateFile>.phtml
[…]
<form id="Braintree_vzero">
</form>
<script src=“https://js.braintreegateway.com/v2/braintree.js"></script>
<script type="text/javascript">
braintree.setup(
"<?php echo $clientToken;?>",
'dropin', {
container: ‘Braintree_vzero’,
}
});
</script>
[…]
@AlbertusLM@Braintree_Dev
Frontend: <templateFile>.phtml
[…]
<form id="Braintree_vzero">
</form>
<script src=“https://js.braintreegateway.com/v2/braintree.js"></script>
<script type="text/javascript">
braintree.setup(
"<?php echo $clientToken;?>",
'dropin', {
container: ‘Braintree_vzero’,
}
});
</script>
[…]
@AlbertusLM@Braintree_Dev
Frontend: <templateFile>.phtml
[…]
<form id="Braintree_vzero">
</form>
<script src=“https://js.braintreegateway.com/v2/braintree.js"></script>
<script type="text/javascript">
braintree.setup(
"<?php echo $clientToken;?>",
'dropin', {
container: ‘Braintree_vzero’,
}
});
</script>
[…]
@AlbertusLM@Braintree_Dev
Frontend: <templateFile>.phtml
[…]
<form id="Braintree_vzero">
</form>
<script src=“https://js.braintreegateway.com/v2/braintree.js"></script>
<script type="text/javascript">
braintree.setup(
"<?php echo $clientToken;?>",
'dropin', {
container: ‘Braintree_vzero’,
}
});
</script>
[…]
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[…]
Braintree_Configuration::merchantId(‘YOUR_MERCHANT_ID’);
Braintree_Configuration::publicKey(‘YOUR_PUBLIC_KEY');
Braintree_Configuration::privateKey(‘YOUR_PRIVATE_KEY’);
[...]
Security: Setting API Credentials
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[...]
class Braintree_Vzero_Block_Form extends Mage_Payment_Block_Form
{
protected function _construct()
{
parent::_construct();
$this->setTemplate('vzero/form.phtml');
}
[…]
public function getClientToken()
{
$clientToken = Braintree_ClientToken::generate(array());
$this->setData('clientToken', $clientToken);
return $clientToken;
}
}
[...]
Asking for ClientToken (creating UI payment form)
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[...]
class Braintree_Vzero_Block_Form extends Mage_Payment_Block_Form
{
protected function _construct()
{
parent::_construct();
$this->setTemplate('vzero/form.phtml');
}
[…]
public function getClientToken()
{
$clientToken = Braintree_ClientToken::generate(array());
$this->setData('clientToken', $clientToken);
return $clientToken;
}
}
[...]
Asking for ClientToken (creating UI payment form)
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[...]
$result = Braintree_Transaction::sale(array(
'amount' => $grandTotal,
'paymentMethodNonce' => $paymentNonce,
'shipping' => array(
'firstName' => $firstName,
'lastName' => $lastName,
'streetAddress' => $streetAddress,
'locality' => $locality,
'region' => $stateOrProvince,
'countryName' => $countryName
),
'customFields' => array(
'cart' => $cart
)
));
$transactionID = $result->transaction->id;
[...]
NOTE
Getting previously these parameters from
the checkout:
• 'cart'-> array with the cart details
• 'grandTotal'-> total amount
• 'paymentNonce'->payment_method_nonce
Finishing the transaction
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[...]
$result = Braintree_Transaction::sale(array(
'amount' => $grandTotal,
'paymentMethodNonce' => $paymentNonce,
'shipping' => array(
'firstName' => $firstName,
'lastName' => $lastName,
'streetAddress' => $streetAddress,
'locality' => $locality,
'region' => $stateOrProvince,
'countryName' => $countryName
),
'customFields' => array(
'cart' => $cart
)
));
$transactionID = $result->transaction->id;
[...]
NOTE
v.zero form doesn’t send to backend
personal information. You only have a
nonce to finish the transaction.
Finishing the transaction
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[...]
$result = Braintree_Transaction::sale(array(
'amount' => $grandTotal,
'paymentMethodNonce' => $paymentNonce,
'shipping' => array(
'firstName' => $firstName,
'lastName' => $lastName,
'streetAddress' => $streetAddress,
'locality' => $locality,
'region' => $stateOrProvince,
'countryName' => $countryName
),
'customFields' => array(
'cart' => $cart
)
));
$transactionID = $result->transaction->id;
[...]
Finishing the transaction
@AlbertusLM@Braintree_Dev
Backend: <ModelFile>.php
[...]
$accessToken = ‘your_access_token';
$core = SparkCore::make($accessToken);
$core->setDeviceId('your_device_id');
$core->setFunction('movemotor');
$core->setParams(array(‘transactionID'));
$result = $core->run();
echo $result->return_value;
[...]
Sending info to Candy Machine
NOTE
Library: garethtdavies/SparkPHP
Enjoy!	
  
Tr.ID:	
  dfr43
@AlbertusLM@Braintree_Dev
Spark Core: <filename>.ino
void setup()
{
[…]
//setup TFT
tft.begin();
//setup SD
SD.begin(SD_CS);
//setup DC Motor
pinMode(MOTOR, OUTPUT);
//Register our Spark function here
Spark.function("candy", moveMotorCandy);
[…]
}
Setting up the device
NOTE
TFT/SD: pkourany/ILI9341_SPI_LCD
Enjoy!	
  
Tr.ID:	
  dfr43
@AlbertusLM@Braintree_Dev
Spark Core: <filename>.ino
[…]
int moveMotorCandy(String command)
{
//Adjustment to present correctly the text on the screen
String textToPrint = " Enjoy! n Tr.ID: "+ command;
//Printing the MotorMovement screen
bmpDraw("motor.bmp", 0, 0);
showTextInScreen (textToPrint,10,160);
delay(1000);
digitalWrite(MOTOR, 1); // Turn ON the motor
delay(milisecsMovingMotor);
digitalWrite(MOTOR, 0); // Turn OFF the motor
delay(3000);
setScreenToStandBy();
}
[…]
}
Expending the candies
NOTE
TFT/SD: pkourany/ILI9341_SPI_LCD
Enjoy!	
  
Tr.ID:	
  dfr43
@AlbertusLM@Braintree_Dev
dem
ALPHA
v.zero +
@AlbertusLM@Braintree_Dev
problems happen…
@AlbertusLM@Braintree_Dev
only available the fronted
@AlbertusLM@Braintree_Dev
Braintree:
braintreepayments.com
v.zero:
braintreepayments.com/v.zero
Dev Braintree Portal:
developers.braintreepayments.com
Demo in Hackster.io:
hackster.io/AlbertoLopez/candy-machine-with-v-zero-sdk
@AlbertusLM@Braintree_Dev
>questions?_
@AlbertusLM@Braintree_Dev
ask him
Source	
  photo
Alberto López
alberto.lopez@getbraintree.com
@AlbertusLM / @Braintree_Dev

More Related Content

What's hot

“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
Rafael Dohms
 
Worth the hype - styled components
Worth the hype - styled componentsWorth the hype - styled components
Worth the hype - styled components
kathrinholzmann
 
Let's write secure Drupal code!
Let's write secure Drupal code!Let's write secure Drupal code!
Let's write secure Drupal code!
Balázs Tatár
 
CGI::Prototype (NPW 2006)
CGI::Prototype (NPW 2006)CGI::Prototype (NPW 2006)
CGI::Prototype (NPW 2006)brian d foy
 
Crafting beautiful software
Crafting beautiful softwareCrafting beautiful software
Crafting beautiful software
Jorn Oomen
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!
Balázs Tatár
 
Your code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnConYour code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnCon
Rafael Dohms
 
PHP object calisthenics
PHP object calisthenicsPHP object calisthenics
PHP object calisthenics
Giorgio Cefaro
 
Keeping It Simple
Keeping It SimpleKeeping It Simple
Keeping It Simple
Stephanie Leary
 
RubyBarCamp “Полезные gems и plugins”
RubyBarCamp “Полезные gems и plugins”RubyBarCamp “Полезные gems и plugins”
RubyBarCamp “Полезные gems и plugins”
apostlion
 
Make your own wp cli command in 10min
Make your own wp cli command in 10minMake your own wp cli command in 10min
Make your own wp cli command in 10min
Ivelina Dimova
 
Shangz R Brown Presentation
Shangz R Brown PresentationShangz R Brown Presentation
Shangz R Brown Presentation
shangbaby
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
ambiescent
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax pluginsInbal Geffen
 
[PL] Jak nie zostać "programistą" PHP?
[PL] Jak nie zostać "programistą" PHP?[PL] Jak nie zostać "programistą" PHP?
[PL] Jak nie zostać "programistą" PHP?
Radek Benkel
 
PHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object CalisthenicsPHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object Calisthenics
Guilherme Blanco
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHP
Guilherme Blanco
 
SQL Injection Part 2
SQL Injection Part 2SQL Injection Part 2
SQL Injection Part 2
n|u - The Open Security Community
 
Everyday's JS
Everyday's JSEveryday's JS
Everyday's JS
Adib Mehedi
 
Xmpp prebind
Xmpp prebindXmpp prebind
Xmpp prebind
Syed Arshad
 

What's hot (20)

“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
 
Worth the hype - styled components
Worth the hype - styled componentsWorth the hype - styled components
Worth the hype - styled components
 
Let's write secure Drupal code!
Let's write secure Drupal code!Let's write secure Drupal code!
Let's write secure Drupal code!
 
CGI::Prototype (NPW 2006)
CGI::Prototype (NPW 2006)CGI::Prototype (NPW 2006)
CGI::Prototype (NPW 2006)
 
Crafting beautiful software
Crafting beautiful softwareCrafting beautiful software
Crafting beautiful software
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!
 
Your code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnConYour code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnCon
 
PHP object calisthenics
PHP object calisthenicsPHP object calisthenics
PHP object calisthenics
 
Keeping It Simple
Keeping It SimpleKeeping It Simple
Keeping It Simple
 
RubyBarCamp “Полезные gems и plugins”
RubyBarCamp “Полезные gems и plugins”RubyBarCamp “Полезные gems и plugins”
RubyBarCamp “Полезные gems и plugins”
 
Make your own wp cli command in 10min
Make your own wp cli command in 10minMake your own wp cli command in 10min
Make your own wp cli command in 10min
 
Shangz R Brown Presentation
Shangz R Brown PresentationShangz R Brown Presentation
Shangz R Brown Presentation
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax plugins
 
[PL] Jak nie zostać "programistą" PHP?
[PL] Jak nie zostać "programistą" PHP?[PL] Jak nie zostać "programistą" PHP?
[PL] Jak nie zostać "programistą" PHP?
 
PHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object CalisthenicsPHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object Calisthenics
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHP
 
SQL Injection Part 2
SQL Injection Part 2SQL Injection Part 2
SQL Injection Part 2
 
Everyday's JS
Everyday's JSEveryday's JS
Everyday's JS
 
Xmpp prebind
Xmpp prebindXmpp prebind
Xmpp prebind
 

Similar to Candies for everybody - Meet Magento Italia 2015

Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...
Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...
Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...
Alberto López Martín
 
Zero to SOLID
Zero to SOLIDZero to SOLID
Zero to SOLID
Vic Metcalfe
 
Dropping ACID with MongoDB
Dropping ACID with MongoDBDropping ACID with MongoDB
Dropping ACID with MongoDB
kchodorow
 
Design Patterns the Ruby way - ConFoo 2015
Design Patterns the Ruby way - ConFoo 2015Design Patterns the Ruby way - ConFoo 2015
Design Patterns the Ruby way - ConFoo 2015
Fred Heath
 
Data Mining Open Ap Is
Data Mining Open Ap IsData Mining Open Ap Is
Data Mining Open Ap Isoscon2007
 
Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019
Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Balázs Tatár
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the tests
Michelangelo van Dam
 
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Masahiro Nagano
 
Daily notes
Daily notesDaily notes
Daily notes
meghendra168
 
10...ish things i learned from programming an e-shop for a year
10...ish things i learned from programming an e-shop for a year10...ish things i learned from programming an e-shop for a year
10...ish things i learned from programming an e-shop for a year
Ines Panker
 
Laravel, the right way - PHPConference 2016
Laravel, the right way - PHPConference 2016Laravel, the right way - PHPConference 2016
Laravel, the right way - PHPConference 2016
Matheus Marabesi
 
Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked about
acme
 
Desymfony2013.gonzalo123
Desymfony2013.gonzalo123Desymfony2013.gonzalo123
Desymfony2013.gonzalo123
Gonzalo Ayuso
 
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
James Titcumb
 
Dip Your Toes in the Sea of Security (CoderCruise 2017)
Dip Your Toes in the Sea of Security (CoderCruise 2017)Dip Your Toes in the Sea of Security (CoderCruise 2017)
Dip Your Toes in the Sea of Security (CoderCruise 2017)
James Titcumb
 
The worst Ruby codes I’ve seen in my life - RubyKaigi 2015
The worst Ruby codes I’ve seen in my life - RubyKaigi 2015The worst Ruby codes I’ve seen in my life - RubyKaigi 2015
The worst Ruby codes I’ve seen in my life - RubyKaigi 2015
Fernando Hamasaki de Amorim
 
Dip Your Toes in the Sea of Security
Dip Your Toes in the Sea of SecurityDip Your Toes in the Sea of Security
Dip Your Toes in the Sea of Security
James Titcumb
 
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
James Titcumb
 
HTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC EditionHTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC Edition
Xavier Mertens
 

Similar to Candies for everybody - Meet Magento Italia 2015 (20)

Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...
Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...
Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nan...
 
Zero to SOLID
Zero to SOLIDZero to SOLID
Zero to SOLID
 
Dropping ACID with MongoDB
Dropping ACID with MongoDBDropping ACID with MongoDB
Dropping ACID with MongoDB
 
Design Patterns the Ruby way - ConFoo 2015
Design Patterns the Ruby way - ConFoo 2015Design Patterns the Ruby way - ConFoo 2015
Design Patterns the Ruby way - ConFoo 2015
 
Data Mining Open Ap Is
Data Mining Open Ap IsData Mining Open Ap Is
Data Mining Open Ap Is
 
Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the tests
 
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
 
Daily notes
Daily notesDaily notes
Daily notes
 
10...ish things i learned from programming an e-shop for a year
10...ish things i learned from programming an e-shop for a year10...ish things i learned from programming an e-shop for a year
10...ish things i learned from programming an e-shop for a year
 
Laravel, the right way - PHPConference 2016
Laravel, the right way - PHPConference 2016Laravel, the right way - PHPConference 2016
Laravel, the right way - PHPConference 2016
 
Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked about
 
Desymfony2013.gonzalo123
Desymfony2013.gonzalo123Desymfony2013.gonzalo123
Desymfony2013.gonzalo123
 
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
 
Dip Your Toes in the Sea of Security (CoderCruise 2017)
Dip Your Toes in the Sea of Security (CoderCruise 2017)Dip Your Toes in the Sea of Security (CoderCruise 2017)
Dip Your Toes in the Sea of Security (CoderCruise 2017)
 
The worst Ruby codes I’ve seen in my life - RubyKaigi 2015
The worst Ruby codes I’ve seen in my life - RubyKaigi 2015The worst Ruby codes I’ve seen in my life - RubyKaigi 2015
The worst Ruby codes I’ve seen in my life - RubyKaigi 2015
 
Dip Your Toes in the Sea of Security
Dip Your Toes in the Sea of SecurityDip Your Toes in the Sea of Security
Dip Your Toes in the Sea of Security
 
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
 
HTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC EditionHTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC Edition
 

More from Alberto López Martín

Candy for everybody - APIDays Mediterranea 2015
Candy for everybody - APIDays Mediterranea 2015Candy for everybody - APIDays Mediterranea 2015
Candy for everybody - APIDays Mediterranea 2015Alberto López Martín
 
Starting from zero: a modern way to make payments - API Athens 2015
Starting from zero: a modern way to make payments - API Athens 2015Starting from zero: a modern way to make payments - API Athens 2015
Starting from zero: a modern way to make payments - API Athens 2015
Alberto López Martín
 
Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015
Alberto López Martín
 
Changes, innovation and… an axe!
Changes, innovation and… an axe!Changes, innovation and… an axe!
Changes, innovation and… an axe!
Alberto López Martín
 
Candies for everybody: Hacking from 9 to 6
Candies for everybody: Hacking from 9 to 6Candies for everybody: Hacking from 9 to 6
Candies for everybody: Hacking from 9 to 6
Alberto López Martín
 
Cómo integrar un método de pago en nuestros desarrollos.
Cómo integrar un método de pago en nuestros desarrollos.Cómo integrar un método de pago en nuestros desarrollos.
Cómo integrar un método de pago en nuestros desarrollos.
Alberto López Martín
 
Present and future of mCommerce in Spain
Present and future of mCommerce in SpainPresent and future of mCommerce in Spain
Present and future of mCommerce in Spain
Alberto López Martín
 
v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...
v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...
v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...
Alberto López Martín
 
Internet of Things - I Commerce Factory Madrid
Internet of Things - I Commerce Factory MadridInternet of Things - I Commerce Factory Madrid
Internet of Things - I Commerce Factory Madrid
Alberto López Martín
 
Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...
Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...
Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...
Alberto López Martín
 
[ES] Battlehacks, hackatones y algún hacha
[ES] Battlehacks, hackatones y algún hacha[ES] Battlehacks, hackatones y algún hacha
[ES] Battlehacks, hackatones y algún hacha
Alberto López Martín
 
PayPal - Innovando en el presente
PayPal - Innovando en el presentePayPal - Innovando en el presente
PayPal - Innovando en el presente
Alberto López Martín
 
Braintree and our new v.zero SDK for iOS
Braintree and our new v.zero SDK for iOSBraintree and our new v.zero SDK for iOS
Braintree and our new v.zero SDK for iOS
Alberto López Martín
 
Crowdfunding with PayPal
Crowdfunding with PayPalCrowdfunding with PayPal
Crowdfunding with PayPal
Alberto López Martín
 

More from Alberto López Martín (14)

Candy for everybody - APIDays Mediterranea 2015
Candy for everybody - APIDays Mediterranea 2015Candy for everybody - APIDays Mediterranea 2015
Candy for everybody - APIDays Mediterranea 2015
 
Starting from zero: a modern way to make payments - API Athens 2015
Starting from zero: a modern way to make payments - API Athens 2015Starting from zero: a modern way to make payments - API Athens 2015
Starting from zero: a modern way to make payments - API Athens 2015
 
Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015
 
Changes, innovation and… an axe!
Changes, innovation and… an axe!Changes, innovation and… an axe!
Changes, innovation and… an axe!
 
Candies for everybody: Hacking from 9 to 6
Candies for everybody: Hacking from 9 to 6Candies for everybody: Hacking from 9 to 6
Candies for everybody: Hacking from 9 to 6
 
Cómo integrar un método de pago en nuestros desarrollos.
Cómo integrar un método de pago en nuestros desarrollos.Cómo integrar un método de pago en nuestros desarrollos.
Cómo integrar un método de pago en nuestros desarrollos.
 
Present and future of mCommerce in Spain
Present and future of mCommerce in SpainPresent and future of mCommerce in Spain
Present and future of mCommerce in Spain
 
v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...
v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...
v.zero SDK - Cose che mi piace vedere durante il pagamento - Codemotion Milan...
 
Internet of Things - I Commerce Factory Madrid
Internet of Things - I Commerce Factory MadridInternet of Things - I Commerce Factory Madrid
Internet of Things - I Commerce Factory Madrid
 
Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...
Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...
Codemotion Mad 2014 - Things I love seeing when I buy something online - Brai...
 
[ES] Battlehacks, hackatones y algún hacha
[ES] Battlehacks, hackatones y algún hacha[ES] Battlehacks, hackatones y algún hacha
[ES] Battlehacks, hackatones y algún hacha
 
PayPal - Innovando en el presente
PayPal - Innovando en el presentePayPal - Innovando en el presente
PayPal - Innovando en el presente
 
Braintree and our new v.zero SDK for iOS
Braintree and our new v.zero SDK for iOSBraintree and our new v.zero SDK for iOS
Braintree and our new v.zero SDK for iOS
 
Crowdfunding with PayPal
Crowdfunding with PayPalCrowdfunding with PayPal
Crowdfunding with PayPal
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
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
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
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)

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
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
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
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
 

Candies for everybody - Meet Magento Italia 2015