SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
Saturday, May 11, 13
These are the
things you don’t
care about
Saturday, May 11, 13
Saturday, May 11, 13
github
Saturday, May 11, 13
githubGit hosting:
No longer a pain in the ass
Saturday, May 11, 13
githubGit hosting:
No longer a pain in the ass
for you.
Not for us.
Because, goddamnit,
if I ever find the guy who invented
this thing I’m going to hang him from
a fence by his underwear and.Saturday, May 11, 13
Let’s host some
Git repos!
 file.c
 src
 file.h
 README.md
 COPYING.md
 .git
 Bare Repository
 HEAD
 index
 objects
 refs
git-daemon
Saturday, May 11, 13
OK, now about
the web...
grit Ruby - Git
interface
Saturday, May 11, 13
OK, now about
the web...
grit  Bare Repo
 Bare Repo
 Bare Repo
Ruby - Git
interface
Saturday, May 11, 13
1VM grit
📽storage
rails app
Saturday, May 11, 13
nVM 📽storage
Saturday, May 11, 13
nVM 📽storage
(GFS)
Saturday, May 11, 13
Rails was making us slow.
Saturday, May 11, 13
Saturday, May 11, 13
Literally.
Saturday, May 11, 13
Time to move to
Real Hardware
Saturday, May 11, 13
fileservers
frontends
📸
db
Saturday, May 11, 13
fileservers
frontends
📸
db
?????????
Saturday, May 11, 13
smoke
Saturday, May 11, 13
Saturday, May 11, 13
bert(binary Erlang term)
Saturday, May 11, 13
bert(binary Erlang term)ernie
(not an acronym)
Saturday, May 11, 13
📸chimney
(Redis)
frontend
fileserver
smoke
griterniegrit
Saturday, May 11, 13
Vertical Scaling
#realtalk
Saturday, May 11, 13
bottleneck:
grit
Saturday, May 11, 13
bottleneck:
grit
solution:
gitshell out to
Saturday, May 11, 13
bottleneck:
gitshell out to
Saturday, May 11, 13
bottleneck:
git
solution:
gitshell out to
shell out to
Saturday, May 11, 13
bottleneck:
git
solution:
gitshell out to
shell out to
properly
Saturday, May 11, 13
Saturday, May 11, 13
GUISE
Saturday, May 11, 13
GUISE
GUISE
Saturday, May 11, 13
GUISE
GUISE
GUISE
Saturday, May 11, 13
GUISE
GUISE
GUISE
...what?
Saturday, May 11, 13
Saturday, May 11, 13
Why don’t we take
Saturday, May 11, 13
Why don’t we take
the Git binary...
Saturday, May 11, 13
Why don’t we take
the Git binary...
yeah?
Saturday, May 11, 13
Why don’t we take
the Git binary...
yeah? and compile it as
Saturday, May 11, 13
Why don’t we take
the Git binary...
yeah? and compile it as
a library
Saturday, May 11, 13
Why don’t we take
the Git binary...
yeah? and compile it as
a library
oh... go on...
Saturday, May 11, 13
Why don’t we take
the Git binary...
yeah? and compile it as
a library
oh... go on...
and link that into
Saturday, May 11, 13
Why don’t we take
the Git binary...
yeah? and compile it as
a library
oh... go on...
and link that into
our server
Saturday, May 11, 13
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
Well, we didn’t think about
freeing memory, but...
Saturday, May 11, 13
Well, we didn’t think about
freeing memory, but...
THIS IS THE KIND
OF PROBLEM
WE COULD SOLVE
WITH CGI
Saturday, May 11, 13
Well, we didn’t think about
freeing memory, but...
THIS IS THE KIND
OF PROBLEM
WE COULD SOLVE
WITH CGI
IN 1995
Saturday, May 11, 13
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
MemoryUsage
Time
Scientific
Graph™
Saturday, May 11, 13
What do you mean
the server died?
Saturday, May 11, 13
die("BUG: non-INDEX attr direction
in a bare repo");
die("a bad revision is needed");
die("'%s' is not a valid
branch name.", name); die("Empty patch.
Aborted.");
die("unable to read index file");
What do you mean
the server died?
Saturday, May 11, 13
libgit
Saturday, May 11, 13
libgit2
the “2” means this one
frees memory
Saturday, May 11, 13
libgit2
the “2” means this one
frees memory
NOT ENOUGH
ABSTRACT
FACTORIES
Saturday, May 11, 13
JGit
the “J” means this oneis in Java
...not our thing.
Saturday, May 11, 13
Javaa brief timeline
New companies
don’t use Java
because it’s
not like Unix
1995
New companies
use Java
because it’s
new and shiny
1997
New companies
don’t use Java
because it’s
ooooooold
2005
New companies
use the JVM
because WEBSCALE
2011
Saturday, May 11, 13
Javaa brief timeline
New companies
don’t use Java
because it’s
not like Unix
1995
New companies
use Java
because it’s
new and shiny
1997
New companies
don’t use Java
because it’s
ooooooold
2005
New companies
use the JVM
because WEBSCALE
2011
github
Saturday, May 11, 13
If you think you understand
the JVM, you are either:
Saturday, May 11, 13
If you think you understand
the JVM, you are either:
a) Very smart
Saturday, May 11, 13
If you think you understand
the JVM, you are either:
a) Very smart
b) Very wrong
Saturday, May 11, 13
If you think you understand
the JVM, you are either:
a) Very smart
b) Very wrong
Saturday, May 11, 13
Some people think
that github is a
Rails shop
Ruby shop.or even a
Saturday, May 11, 13
Some people think
that github is a
Rails shop
Ruby shop.or even a
github is a
Unix shop
and everything else is
just a detail.
Saturday, May 11, 13
libgit2So,
Saturday, May 11, 13
Good Heavens,
just look at the
time.
It’s NoSQL o’clock
NoSQL
NoSQL NoSQL
NoSQL
NoSQL NoSQL
NoSQLNoSQL
Saturday, May 11, 13
Saturday, May 11, 13
...do you even
Saturday, May 11, 13
...do you even
mongo?
Saturday, May 11, 13
a b r i e f i n t r o d u c t i o n
t o t h e G i t d a t a m o d e l
Saturday, May 11, 13
Saturday, May 11, 13
Saturday, May 11, 13
 file.c
 src
 file.h
 README.md
 COPYING.md
Saturday, May 11, 13
 file.c
 src
 file.h
 README.md
 COPYING.md
tree
src/
README.md
COPYING.md
tree
file.c
file.h
blob
blob
blob
blob
Saturday, May 11, 13
commit
parent
tree T
metadata
Saturday, May 11, 13
commit
T
commit
T
commit
T
commit
T
commit
T
commit
T
Behold,
a graph.
Saturday, May 11, 13
Saturday, May 11, 13
Well that was easy.
Saturday, May 11, 13
Saturday, May 11, 13
master
Oh
god
kill
me
Saturday, May 11, 13
Li le known
torture
methods:
Saturday, May 11, 13
Saturday, May 11, 13
warning:
the rabbit
hole is
pretty deep
Saturday, May 11, 13
Git doesn’t give
a #!%$ about CAP
Saturday, May 11, 13
Saturday, May 11, 13
Number of hops on a complex query
1,000,000
Saturday, May 11, 13
Number of hops on a complex query
1,000,000
Required hops for a successful query
1,000,000
Saturday, May 11, 13
Number of hops on a complex query
1,000,000
Required hops for a successful query
1,000,000
Replica count to ensure 100% availability
a metric shitton
Saturday, May 11, 13
We could fix it.
Saturday, May 11, 13
We could fix it.
But we won’t.
Saturday, May 11, 13
libgit2
Saturday, May 11, 13
libgit2
Saturday, May 11, 13
GitRPC
Saturday, May 11, 13
GitRPC
Less.
Saturday, May 11, 13
GitRPC
Rugged
libgit2
server
Ruby
Ruby
C
Saturday, May 11, 13
📸chimney
(Redis)
frontend
fileserver
smoke
grit
ernie-
corn
grit
GitRPC GitRPC
Saturday, May 11, 13
📸chimney
(Redis)
frontend fileserver
GitRPC GitRPC
serverclient
Saturday, May 11, 13
evolutionary(disappointing?)
Saturday, May 11, 13
We’ve had a
lot of
Saturday, May 11, 13
We’ve had a
lot of hard
engineering
challenges
Saturday, May 11, 13
We tackled them by:
Saturday, May 11, 13
Using the
most reliable
tools we know.
Saturday, May 11, 13
Challenging ourselves to build
the simplest thing.
Not because it’s easy,
but because it works.
Saturday, May 11, 13
Innovating
where it really ma ers.
Saturday, May 11, 13
revolutionary
product
building a
revolutionary
backend.
not a
Saturday, May 11, 13
Having fun
Saturday, May 11, 13
Saturday, May 11, 13

Mais conteúdo relacionado

Semelhante a My mom told me that Git doesn’t scale by Vicent Martí

How We Look At Software
How We Look At SoftwareHow We Look At Software
How We Look At SoftwareDevrim Yasar
 
RailsConf 2013: RubyMotion
RailsConf 2013: RubyMotionRailsConf 2013: RubyMotion
RailsConf 2013: RubyMotionBrian Sam-Bodden
 
Vinted life embetterment
Vinted life embettermentVinted life embetterment
Vinted life embettermentAgile Lietuva
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009Fabio Akita
 
Part 4 of Git, Illuminated
Part 4 of Git, IlluminatedPart 4 of Git, Illuminated
Part 4 of Git, Illuminatedjessitron
 
Arbitrage on Amazon: Exploiting the Textbook Trade-ins with Python
Arbitrage on Amazon: Exploiting the Textbook Trade-ins with PythonArbitrage on Amazon: Exploiting the Textbook Trade-ins with Python
Arbitrage on Amazon: Exploiting the Textbook Trade-ins with PythonMichael Brandon Lorenz
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaVinicius Quaiato
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
 
Painful Success - Lessons Learned while Scaling Up
Painful Success - Lessons Learned while Scaling UpPainful Success - Lessons Learned while Scaling Up
Painful Success - Lessons Learned while Scaling UpC4Media
 
Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!Mark Jaquith
 
5 Ways Thinking Content-first Will Save Your Butt
5 Ways Thinking Content-first Will Save Your Butt5 Ways Thinking Content-first Will Save Your Butt
5 Ways Thinking Content-first Will Save Your ButtZURB
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013Mojo Lingo
 
The Future of JRuby - Baruco 2013
The Future of JRuby - Baruco 2013The Future of JRuby - Baruco 2013
The Future of JRuby - Baruco 2013Charles Nutter
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVMPhil Calçado
 
Docker: do básico ao cluster
Docker: do básico ao clusterDocker: do básico ao cluster
Docker: do básico ao clusterLeonardo Comelli
 
[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE
[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE
[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERENuxeo
 
Termtter 2009-03-14
Termtter 2009-03-14Termtter 2009-03-14
Termtter 2009-03-14jugyo kohno
 
Slaying Bugs with Gradle and Jenkins
Slaying Bugs with Gradle and JenkinsSlaying Bugs with Gradle and Jenkins
Slaying Bugs with Gradle and JenkinsDavid Kay
 
Web directions code 13 notes
Web directions code 13 notesWeb directions code 13 notes
Web directions code 13 notesjaredau
 

Semelhante a My mom told me that Git doesn’t scale by Vicent Martí (20)

How We Look At Software
How We Look At SoftwareHow We Look At Software
How We Look At Software
 
RailsConf 2013: RubyMotion
RailsConf 2013: RubyMotionRailsConf 2013: RubyMotion
RailsConf 2013: RubyMotion
 
Vinted life embetterment
Vinted life embettermentVinted life embetterment
Vinted life embetterment
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
 
Part 4 of Git, Illuminated
Part 4 of Git, IlluminatedPart 4 of Git, Illuminated
Part 4 of Git, Illuminated
 
Arbitrage on Amazon: Exploiting the Textbook Trade-ins with Python
Arbitrage on Amazon: Exploiting the Textbook Trade-ins with PythonArbitrage on Amazon: Exploiting the Textbook Trade-ins with Python
Arbitrage on Amazon: Exploiting the Textbook Trade-ins with Python
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp Londrina
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
Painful Success - Lessons Learned while Scaling Up
Painful Success - Lessons Learned while Scaling UpPainful Success - Lessons Learned while Scaling Up
Painful Success - Lessons Learned while Scaling Up
 
Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!
 
5 Ways Thinking Content-first Will Save Your Butt
5 Ways Thinking Content-first Will Save Your Butt5 Ways Thinking Content-first Will Save Your Butt
5 Ways Thinking Content-first Will Save Your Butt
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 
Ruby off Rails
Ruby off RailsRuby off Rails
Ruby off Rails
 
The Future of JRuby - Baruco 2013
The Future of JRuby - Baruco 2013The Future of JRuby - Baruco 2013
The Future of JRuby - Baruco 2013
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVM
 
Docker: do básico ao cluster
Docker: do básico ao clusterDocker: do básico ao cluster
Docker: do básico ao cluster
 
[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE
[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE
[Nuxeo World 2013] MARKETPLACE PACKAGES - THIBAUD ARGUILLERE
 
Termtter 2009-03-14
Termtter 2009-03-14Termtter 2009-03-14
Termtter 2009-03-14
 
Slaying Bugs with Gradle and Jenkins
Slaying Bugs with Gradle and JenkinsSlaying Bugs with Gradle and Jenkins
Slaying Bugs with Gradle and Jenkins
 
Web directions code 13 notes
Web directions code 13 notesWeb directions code 13 notes
Web directions code 13 notes
 

Mais de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mais de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Último (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

My mom told me that Git doesn’t scale by Vicent Martí