SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Hi foss-north,
I’m Daniel
Dear Daniel,
I had emailed you a couple months
ago
Since you weren't aware that your
name was attached to Instagram
related hacking code
Since you weren't aware that your
name was attached to Instagram
related hacking code, I thought
you might want to know, in case
you weren't already aware, that
Since you weren't aware that your
name was attached to Instagram
related hacking code, I thought
you might want to know, in case
you weren't already aware, that
your name is also included in
Spotify terms and conditions.
these are big companies that you
likely don't want to have a trail of
evidence that you are a part of
an Instagram
and Spotify
hacking ring
Let me tell you about our hacking
ring
This is a storyThis is a story
about an openabout an open
source projectsource project
(Buckle up, here comes
the brand new logo!)
cURL is
An open source project
that makes a command
line tool and a library
for transferring data
using Internet protocols
Let the story begin
First there was nothing
… became curl 1998
HTTP
Gopher
FTP
… and time passed...
2016
DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP,
IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and
TFTP
TLS certificates, HTTP POST, HTTP PUT, FTP
uploading, HTTP form based upload, proxies,
cookies, authentication (Basic, Digest, NTLM,
Negotiate, Kerberos), HTTP/2, happy eyeballs,
file transfer resume, proxy tunneling and much
more
16 Software, 1C Company, ACCESS, Actuate, Adara Networks, AddLive, Adobe, Aditiva, Adknowledge,
alaTEST, Altera, Altova, Ananse Productions, AOL, Apple, Archivas, ATX, AT&T, Autodesk, Avaya, BBC,
Bietfuchs, Biicode, Bitcartel, Blackberry, Blizzard, Bloglines.com, Blue Digits, Blue Security, BMW, Bosch,
Broadcom, bwin, Candela Technologies, Canonical, Carestream Health, Cascade Data Systems, CatchFIRE
Systems, CERN, CheckPoint, Chevrolet, Chronos, Cisco, Citrix, CLAAS Tractor SAS, Comcast, Contactor,
CounterPath, Cybernetica, Datasphere, Datordax, Denon, DesignQuotes, Device Scape, Digium, EdelWeb,
EFS Technology, Eiffel Software, Electronic Arts, Emsoft, Enigma Software, Euroling, Ergon Informatik, ESRI,
etikett.de, www.expandtalk.se, Eye-Fi, E2E Technologies Ltd, F-Secure, Facebook, FalconView, Feitian
Technologies, FriendFeed, FMWebschool, GeekDrop, GRIN, Groopex, Grooveshark, focuseek, Games
Workshop, Garmin, GipsyMedia, Google, Haxx, HPC, Heynow Software, Hitachi, Honeywell, HP, Huawei, HTC,
inSORS, IBM, ideelabor.ee, Idruna Software Inc, Id Software, Infomedia Business Systems Division,
Informatica, Information Handling Services, Insignia, Instagram, Intel, Internet Security Systems,
Intra2net AG, isee systems, Jajja Communications, Jawbone, JET, JLynx Software, Kajala Group Ltd.,
Kaleidescape, Karelia, Kaseya, kencast inc, Kerio Technologies, Kongsberg Spacetec, LassoSoft, lastpass,
LG, LifeSize Software, Linden Lab, Machina Networks, Macromates, Macromedia, Magic TV, Matrix Science,
Mandiant, MandrakeSoft, Marantz, Mazda, McAfee, MediaAnalys, Mellanox, Mercedes-Benz, Metaio,
Micromuse Inc., Miniclip, Modio, MokaFive, Inc, Momento, Moodstocks, Motorola, Mozilla, Music FX Live,
Nagarsoft, Neptune Labs, Nest, Netflix, Netgear, Netiq, Network Mail, Neuros, Nintendo, NoDesign, Nortel,
Office2office Plc, OKTET Labs Ltd, One Laptop Per Child, Onkyo, On Technology, OpenLogic, opsmate,
Optimsys, Oracle, Outrider, Palm, Panasonic, Pandigital, Parrot, Passiv Systems, Pelco, Philips, Pioneer,
Plogue, Pocket Gems, Polaroid Corporation, Polycom, Pure Storage, Quest, QVD, QNX, RBS, Research in
Motion, Retarus Network Services GmbH, Riverbed, ROBLOX, Rockstar Games, Rolltech, Inc, RSA Security
Inc, RSSS, Samsung, SanDisk, SAP, SAS Institute, SEB, Sharp, Siemens, Silicon Landmark, Sjphone,
Slingbox, SmithMicro, Sony, Sophos, Source Remoting, Splunk, Spotify, Steambird, Sun, SurfEasy Inc,
Swisscom, Symantec, System Garden, Tango, tasvideos, Tellabs, Telstra, Telvue, Thumbtack, Tilgin,
Tomtom, ToolAware, Toshiba, Trend Micro, Tribalmedia, Trion Worlds, Tiempo de Espera, Unisys, UniPlot,
Unity3d, ustream, Valve, VETport, Vivisimo, Vmware, Voddler, Volition Inc, Vuo, Wump Research, Xilinx,
XonaSoftware, Yahoo, Yamaha, Yubico, Zimbra, Zixcorp, Zonar Systems, Zyxel, Z2,
Adobe, Altera, AOL, Apple, AT&T, BBC,
Blackberry, BMW, Bosch, Broadcom,
Chevrolet, Cisco, Comcast, Facebook,
Google, Hitachi, Honeywell, HP, Huawei,
HTC, IBM, Intel, LG, Mazda, Mercedes-
Benz, Motorola, Netflix, Nintendo, Oracle,
Panasonic, Philips, Pioneer, RBS,
Samsung, SanDisk, SAP, SAS Institute,
SEB, Sharp, Siemens, Sony, Spotify, Sun,
Swisscom, Tomtom, Toshiba, Vmware,
Xilinx, Yahoo, Yamaha
In allIn all thethe things!things!
Mac OS X
TVs
Iphones and Ipads
Other phones
Linux
Games
Version control
systems
Cars
PHP sites
Set-top boxes
Audio equipment
Bluray players
Printers
Firefox crash
reporter
Sites: Facebook,
Yahoo, …
Your next device
Everyone here likely has a
device using libcurl.
Probably even more than one!
one billion usersone billion users
a bunch of usersa bunch of users
Every human in theEvery human in the
connected worldconnected world
uses somethinguses something
running curlrunning curl
- every day- every day
Why they use curl?
Internet doesn't follow
specs
Open source
MIT licensed
Simple and stable API
Yet powerful API
HTTP library when libwww
was the only choice
C library is still most
portable
Bindings for every language
Decent documentation
Decent stability
Supports all the protocols
Fast
Allows disabling parts for
footprint shaving
Many TLS backends
Small devices still like C
http://curl.haxx.se/libcurl/theysay.html
Why Open Source?
There was never any alternative to me
Wanted to contribute back
Would never even come close unless
No, I would not be rich otherwise
What is success ?
Is success important?
Whose success?
Perhaps this is success?
“Cool.. we're running with the patch reverted in production now
and it's solved quite a number of latency issues for us.”
/ person @ Facebook
Subject: Multimedya isc-v:85
I have toyota corola with
multimedya system that you
have its copyright.
I need a advice to know how to
use the gps.
How?
Contributors
1400 in total1400 in total
30-40 per release30-40 per release
IncreasingIncreasing
Small core teamSmall core team
VolunteersVolunteers
Everything is
public
on githubon github
a few have pusha few have push
rightsrights
mailing listsmailing lists
Who pays
Spare time hackers
Company paid contributors
Company paid feature development
How to write software
that ends up getting
used by billions of
people
Write good software
Write lots of code
Provide useful options and APIs
Review lots of code
Test all the code
Write decent documentation
Release often
Iterate
Then repeat that until
it actually succeeds
Let's make it personalLet's make it personal
This is the lead developerThis is the lead developer
of this projectof this project
This is my primary hobby
On average, I work two hours on curl per day
Every day of the week, every week of the year
Since 1998
Part time paid by Mozilla since 2014
12,000 spare time hours and counting
24,000 emails sent
15,000 commits
Why I do it?
I enjoy creating something that is
appreciated by others. Many others.
I want to make curl as good as
possible
Everyone needs a hobby
It's the most fun I can
imagine
Why I work on curl
FutureFuture
No, it trulyNo, it truly never gets donenever gets done
ProtocolsProtocols keep evolvingkeep evolving
Open source codeOpen source code survivessurvives
No slow-downNo slow-down in sightin sight
You canYou can help!help!
RoadmapRoadmap
https://curl.haxx.se/
Thank you!
Doing good is part of our code
Questions?
License
This presentation and its contents are licensed under
the Creative Commons Attribution 4.0 license:
http://creativecommons.org/licenses/by/4.0/

Weitere ähnliche Inhalte

Ähnlich wie Everybody runs this code all the time

You know what's cool? Running on a billion devices
You know what's cool? Running on a billion devicesYou know what's cool? Running on a billion devices
You know what's cool? Running on a billion devicesDaniel Stenberg
 
curl - a hobby project that conquered the world
curl - a hobby project that conquered the worldcurl - a hobby project that conquered the world
curl - a hobby project that conquered the worldDaniel Stenberg
 
AT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-offAT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-offEd Donahue
 
MDW NY | Scott Prindle_The Role of Creative Technologist
MDW NY | Scott Prindle_The Role of Creative TechnologistMDW NY | Scott Prindle_The Role of Creative Technologist
MDW NY | Scott Prindle_The Role of Creative TechnologistBoulder Digital Works at CU
 
Mindspark 21' - Sparrow platform
Mindspark 21' - Sparrow platform Mindspark 21' - Sparrow platform
Mindspark 21' - Sparrow platform Jay Lohokare
 
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst Boulder Digital Works at CU
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)Satoru Takagi
 
Pharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcomePharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcomePharo
 
Enterprise Platform - Mathon
Enterprise Platform - MathonEnterprise Platform - Mathon
Enterprise Platform - Mathonaaronwso2
 
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & ArduinoEchelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & ArduinoAndri Yadi
 
Get in Touch with Internet of Things
Get in Touch with Internet of ThingsGet in Touch with Internet of Things
Get in Touch with Internet of ThingsCodePolitan
 
Is there an API in that (IoT)?
Is there an API in that (IoT)?Is there an API in that (IoT)?
Is there an API in that (IoT)?CA API Management
 
LIB 114 Emerging Technologies 2011
LIB 114 Emerging Technologies 2011LIB 114 Emerging Technologies 2011
LIB 114 Emerging Technologies 2011bthat
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentDroidConTLV
 
Global Azure Bootcamp 2019 - AIoT powered by Azure
Global Azure Bootcamp 2019 - AIoT powered by AzureGlobal Azure Bootcamp 2019 - AIoT powered by Azure
Global Azure Bootcamp 2019 - AIoT powered by AzureAndri Yadi
 
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giớiPhiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giớiVietnam Open Infrastructure User Group
 

Ähnlich wie Everybody runs this code all the time (20)

You know what's cool? Running on a billion devices
You know what's cool? Running on a billion devicesYou know what's cool? Running on a billion devices
You know what's cool? Running on a billion devices
 
curl - a hobby project that conquered the world
curl - a hobby project that conquered the worldcurl - a hobby project that conquered the world
curl - a hobby project that conquered the world
 
AT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-offAT&T Shape Hackathon Kick-off
AT&T Shape Hackathon Kick-off
 
MDW NY | Scott Prindle_The Role of Creative Technologist
MDW NY | Scott Prindle_The Role of Creative TechnologistMDW NY | Scott Prindle_The Role of Creative Technologist
MDW NY | Scott Prindle_The Role of Creative Technologist
 
Mindspark 21' - Sparrow platform
Mindspark 21' - Sparrow platform Mindspark 21' - Sparrow platform
Mindspark 21' - Sparrow platform
 
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
MDW Boulder April '11 | Scott Prindle_The Role of the Creative Technologst
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)
 
Pharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcomePharo Hands-On: 01 welcome
Pharo Hands-On: 01 welcome
 
Enterprise Platform - Mathon
Enterprise Platform - MathonEnterprise Platform - Mathon
Enterprise Platform - Mathon
 
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & ArduinoEchelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
 
Get in Touch with Internet of Things
Get in Touch with Internet of ThingsGet in Touch with Internet of Things
Get in Touch with Internet of Things
 
Is there an API in that (IoT)?
Is there an API in that (IoT)?Is there an API in that (IoT)?
Is there an API in that (IoT)?
 
LIB 114 Emerging Technologies 2011
LIB 114 Emerging Technologies 2011LIB 114 Emerging Technologies 2011
LIB 114 Emerging Technologies 2011
 
voip_en
voip_envoip_en
voip_en
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App Development
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Cet
CetCet
Cet
 
Global Azure Bootcamp 2019 - AIoT powered by Azure
Global Azure Bootcamp 2019 - AIoT powered by AzureGlobal Azure Bootcamp 2019 - AIoT powered by Azure
Global Azure Bootcamp 2019 - AIoT powered by Azure
 
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giớiPhiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
 

Mehr von Daniel Stenberg

Mehr von Daniel Stenberg (20)

mastering libcurl part 2
mastering libcurl part 2mastering libcurl part 2
mastering libcurl part 2
 
mastering libcurl part 1
mastering libcurl part 1mastering libcurl part 1
mastering libcurl part 1
 
curl - openfourm europe.pdf
curl - openfourm europe.pdfcurl - openfourm europe.pdf
curl - openfourm europe.pdf
 
curl experiments - curl up 2022
curl experiments - curl up 2022curl experiments - curl up 2022
curl experiments - curl up 2022
 
curl security - curl up 2022
curl security - curl up 2022curl security - curl up 2022
curl security - curl up 2022
 
HTTP/3 in curl - curl up 2022
HTTP/3 in curl - curl up 2022HTTP/3 in curl - curl up 2022
HTTP/3 in curl - curl up 2022
 
The state of curl 2022
The state of curl 2022The state of curl 2022
The state of curl 2022
 
Let me tell you about curl
Let me tell you about curlLet me tell you about curl
Let me tell you about curl
 
Curl with rust
Curl with rustCurl with rust
Curl with rust
 
Getting started with libcurl
Getting started with libcurlGetting started with libcurl
Getting started with libcurl
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 
Landing code in curl
Landing code in curlLanding code in curl
Landing code in curl
 
Testing curl for security
Testing curl for securityTesting curl for security
Testing curl for security
 
common mistakes when using libcurl
common mistakes when using libcurlcommon mistakes when using libcurl
common mistakes when using libcurl
 
HTTP/3 in curl 2020
HTTP/3 in curl 2020HTTP/3 in curl 2020
HTTP/3 in curl 2020
 
The state of curl 2020
The state of curl 2020The state of curl 2020
The state of curl 2020
 
curl roadmap 2020
curl roadmap 2020curl roadmap 2020
curl roadmap 2020
 
curl better
curl bettercurl better
curl better
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
HTTP/3, QUIC and streaming
HTTP/3, QUIC and streamingHTTP/3, QUIC and streaming
HTTP/3, QUIC and streaming
 

Kürzlich hochgeladen

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Kürzlich hochgeladen (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
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!
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Everybody runs this code all the time

  • 2. Dear Daniel, I had emailed you a couple months ago
  • 3.
  • 4. Since you weren't aware that your name was attached to Instagram related hacking code
  • 5. Since you weren't aware that your name was attached to Instagram related hacking code, I thought you might want to know, in case you weren't already aware, that
  • 6. Since you weren't aware that your name was attached to Instagram related hacking code, I thought you might want to know, in case you weren't already aware, that your name is also included in Spotify terms and conditions.
  • 7.
  • 8. these are big companies that you likely don't want to have a trail of evidence that you are a part of
  • 10. Let me tell you about our hacking ring
  • 11. This is a storyThis is a story about an openabout an open source projectsource project
  • 12. (Buckle up, here comes the brand new logo!)
  • 13.
  • 14. cURL is An open source project that makes a command line tool and a library for transferring data using Internet protocols
  • 15. Let the story begin
  • 16. First there was nothing
  • 17.
  • 18. … became curl 1998 HTTP Gopher FTP
  • 19. … and time passed...
  • 20. 2016 DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP TLS certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, authentication (Basic, Digest, NTLM, Negotiate, Kerberos), HTTP/2, happy eyeballs, file transfer resume, proxy tunneling and much more
  • 21. 16 Software, 1C Company, ACCESS, Actuate, Adara Networks, AddLive, Adobe, Aditiva, Adknowledge, alaTEST, Altera, Altova, Ananse Productions, AOL, Apple, Archivas, ATX, AT&T, Autodesk, Avaya, BBC, Bietfuchs, Biicode, Bitcartel, Blackberry, Blizzard, Bloglines.com, Blue Digits, Blue Security, BMW, Bosch, Broadcom, bwin, Candela Technologies, Canonical, Carestream Health, Cascade Data Systems, CatchFIRE Systems, CERN, CheckPoint, Chevrolet, Chronos, Cisco, Citrix, CLAAS Tractor SAS, Comcast, Contactor, CounterPath, Cybernetica, Datasphere, Datordax, Denon, DesignQuotes, Device Scape, Digium, EdelWeb, EFS Technology, Eiffel Software, Electronic Arts, Emsoft, Enigma Software, Euroling, Ergon Informatik, ESRI, etikett.de, www.expandtalk.se, Eye-Fi, E2E Technologies Ltd, F-Secure, Facebook, FalconView, Feitian Technologies, FriendFeed, FMWebschool, GeekDrop, GRIN, Groopex, Grooveshark, focuseek, Games Workshop, Garmin, GipsyMedia, Google, Haxx, HPC, Heynow Software, Hitachi, Honeywell, HP, Huawei, HTC, inSORS, IBM, ideelabor.ee, Idruna Software Inc, Id Software, Infomedia Business Systems Division, Informatica, Information Handling Services, Insignia, Instagram, Intel, Internet Security Systems, Intra2net AG, isee systems, Jajja Communications, Jawbone, JET, JLynx Software, Kajala Group Ltd., Kaleidescape, Karelia, Kaseya, kencast inc, Kerio Technologies, Kongsberg Spacetec, LassoSoft, lastpass, LG, LifeSize Software, Linden Lab, Machina Networks, Macromates, Macromedia, Magic TV, Matrix Science, Mandiant, MandrakeSoft, Marantz, Mazda, McAfee, MediaAnalys, Mellanox, Mercedes-Benz, Metaio, Micromuse Inc., Miniclip, Modio, MokaFive, Inc, Momento, Moodstocks, Motorola, Mozilla, Music FX Live, Nagarsoft, Neptune Labs, Nest, Netflix, Netgear, Netiq, Network Mail, Neuros, Nintendo, NoDesign, Nortel, Office2office Plc, OKTET Labs Ltd, One Laptop Per Child, Onkyo, On Technology, OpenLogic, opsmate, Optimsys, Oracle, Outrider, Palm, Panasonic, Pandigital, Parrot, Passiv Systems, Pelco, Philips, Pioneer, Plogue, Pocket Gems, Polaroid Corporation, Polycom, Pure Storage, Quest, QVD, QNX, RBS, Research in Motion, Retarus Network Services GmbH, Riverbed, ROBLOX, Rockstar Games, Rolltech, Inc, RSA Security Inc, RSSS, Samsung, SanDisk, SAP, SAS Institute, SEB, Sharp, Siemens, Silicon Landmark, Sjphone, Slingbox, SmithMicro, Sony, Sophos, Source Remoting, Splunk, Spotify, Steambird, Sun, SurfEasy Inc, Swisscom, Symantec, System Garden, Tango, tasvideos, Tellabs, Telstra, Telvue, Thumbtack, Tilgin, Tomtom, ToolAware, Toshiba, Trend Micro, Tribalmedia, Trion Worlds, Tiempo de Espera, Unisys, UniPlot, Unity3d, ustream, Valve, VETport, Vivisimo, Vmware, Voddler, Volition Inc, Vuo, Wump Research, Xilinx, XonaSoftware, Yahoo, Yamaha, Yubico, Zimbra, Zixcorp, Zonar Systems, Zyxel, Z2,
  • 22. Adobe, Altera, AOL, Apple, AT&T, BBC, Blackberry, BMW, Bosch, Broadcom, Chevrolet, Cisco, Comcast, Facebook, Google, Hitachi, Honeywell, HP, Huawei, HTC, IBM, Intel, LG, Mazda, Mercedes- Benz, Motorola, Netflix, Nintendo, Oracle, Panasonic, Philips, Pioneer, RBS, Samsung, SanDisk, SAP, SAS Institute, SEB, Sharp, Siemens, Sony, Spotify, Sun, Swisscom, Tomtom, Toshiba, Vmware, Xilinx, Yahoo, Yamaha
  • 23. In allIn all thethe things!things! Mac OS X TVs Iphones and Ipads Other phones Linux Games Version control systems Cars PHP sites Set-top boxes Audio equipment Bluray players Printers Firefox crash reporter Sites: Facebook, Yahoo, … Your next device
  • 24. Everyone here likely has a device using libcurl. Probably even more than one!
  • 25. one billion usersone billion users
  • 26. a bunch of usersa bunch of users
  • 27. Every human in theEvery human in the connected worldconnected world uses somethinguses something running curlrunning curl - every day- every day
  • 28. Why they use curl? Internet doesn't follow specs Open source MIT licensed Simple and stable API Yet powerful API HTTP library when libwww was the only choice C library is still most portable Bindings for every language Decent documentation Decent stability Supports all the protocols Fast Allows disabling parts for footprint shaving Many TLS backends Small devices still like C http://curl.haxx.se/libcurl/theysay.html
  • 29. Why Open Source? There was never any alternative to me Wanted to contribute back Would never even come close unless No, I would not be rich otherwise
  • 30. What is success ? Is success important? Whose success?
  • 31. Perhaps this is success? “Cool.. we're running with the patch reverted in production now and it's solved quite a number of latency issues for us.” / person @ Facebook
  • 32. Subject: Multimedya isc-v:85 I have toyota corola with multimedya system that you have its copyright. I need a advice to know how to use the gps.
  • 33. How?
  • 34. Contributors 1400 in total1400 in total 30-40 per release30-40 per release IncreasingIncreasing Small core teamSmall core team VolunteersVolunteers
  • 36. on githubon github a few have pusha few have push rightsrights
  • 38. Who pays Spare time hackers Company paid contributors Company paid feature development
  • 39. How to write software that ends up getting used by billions of people
  • 40. Write good software Write lots of code Provide useful options and APIs Review lots of code Test all the code Write decent documentation Release often Iterate
  • 41. Then repeat that until it actually succeeds
  • 42. Let's make it personalLet's make it personal This is the lead developerThis is the lead developer of this projectof this project
  • 43. This is my primary hobby On average, I work two hours on curl per day Every day of the week, every week of the year Since 1998 Part time paid by Mozilla since 2014 12,000 spare time hours and counting 24,000 emails sent 15,000 commits
  • 44. Why I do it? I enjoy creating something that is appreciated by others. Many others. I want to make curl as good as possible Everyone needs a hobby
  • 45. It's the most fun I can imagine Why I work on curl
  • 46. FutureFuture No, it trulyNo, it truly never gets donenever gets done ProtocolsProtocols keep evolvingkeep evolving Open source codeOpen source code survivessurvives No slow-downNo slow-down in sightin sight You canYou can help!help!
  • 49. Doing good is part of our code Questions?
  • 50. License This presentation and its contents are licensed under the Creative Commons Attribution 4.0 license: http://creativecommons.org/licenses/by/4.0/