SlideShare a Scribd company logo
1 of 104
Download to read offline
Just Enough C For
Open Source Projects
        Andy Lester
       OSCON 2008
Why this session?
It's all for
      Michael
      Schwern
     Schwern is a brilliant
         programmer.
An invaluable asset to the Perl
          community.
He still doesn't know C, even
 though Perl is written in C.
My assumptions
• You're like Schwern.
• Already a programmer, but raised on Ruby,
  Python, Java or PHP.
• You don't know what it was like in the bad
  old days.
• You want to work on open source projects.
Goals
• As much territory as possible
• As fast as possible
• Danger zones
• Impedance mismatches
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects
Just Enough C For Open Source Projects

More Related Content

What's hot

Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewGolang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewMarkus Schneider
 
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてSECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてt-sin
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作Amane Tanaka
 
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeA walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeRabbitMQ Summit
 
ZDD基礎
ZDD基礎ZDD基礎
ZDD基礎reew2n
 
セグメントツリーにセグメントツリーを乗せる手法(画像付録)
セグメントツリーにセグメントツリーを乗せる手法(画像付録)セグメントツリーにセグメントツリーを乗せる手法(画像付録)
セグメントツリーにセグメントツリーを乗せる手法(画像付録)光喜 濱屋
 
ユークリッド最小全域木
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木理玖 川崎
 
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章PythonクライアントライブラリrclpyROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章PythonクライアントライブラリrclpyAtsuki Yokota
 
At coder regular contest 013 解説
At coder regular contest 013 解説At coder regular contest 013 解説
At coder regular contest 013 解説光喜 濱屋
 
8051-mazidi-solution
8051-mazidi-solution8051-mazidi-solution
8051-mazidi-solutionZunAib Ali
 
深入淺出C語言
深入淺出C語言深入淺出C語言
深入淺出C語言Simen Li
 
キムワイプなスライド作った
キムワイプなスライド作ったキムワイプなスライド作った
キムワイプなスライド作ったHidetsugu Tamura
 

What's hot (20)

Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewGolang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
 
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてSECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
vcs_infoを使おう
vcs_infoを使おうvcs_infoを使おう
vcs_infoを使おう
 
OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作
 
計算可能実数とは
計算可能実数とは計算可能実数とは
計算可能実数とは
 
Topological sort
Topological sortTopological sort
Topological sort
 
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeA walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
 
ZDD基礎
ZDD基礎ZDD基礎
ZDD基礎
 
セグメントツリーにセグメントツリーを乗せる手法(画像付録)
セグメントツリーにセグメントツリーを乗せる手法(画像付録)セグメントツリーにセグメントツリーを乗せる手法(画像付録)
セグメントツリーにセグメントツリーを乗せる手法(画像付録)
 
Vhdl lab manual
Vhdl lab manualVhdl lab manual
Vhdl lab manual
 
ユークリッド最小全域木
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木
 
CMOS Logic Circuits
CMOS Logic CircuitsCMOS Logic Circuits
CMOS Logic Circuits
 
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章PythonクライアントライブラリrclpyROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
 
At coder regular contest 013 解説
At coder regular contest 013 解説At coder regular contest 013 解説
At coder regular contest 013 解説
 
8051-mazidi-solution
8051-mazidi-solution8051-mazidi-solution
8051-mazidi-solution
 
深入淺出C語言
深入淺出C語言深入淺出C語言
深入淺出C語言
 
キムワイプなスライド作った
キムワイプなスライド作ったキムワイプなスライド作った
キムワイプなスライド作った
 
MOS logic family
MOS logic familyMOS logic family
MOS logic family
 

Similar to Just Enough C For Open Source Projects

Jython: Integrating Python and Java
Jython: Integrating Python and JavaJython: Integrating Python and Java
Jython: Integrating Python and JavaCharles Anderson
 
Linguagens Dinamicas - Tech Days 2008
Linguagens Dinamicas - Tech Days 2008Linguagens Dinamicas - Tech Days 2008
Linguagens Dinamicas - Tech Days 2008Alcides Fonseca
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
 
Rubinius - A Tool of the Future
Rubinius - A Tool of the FutureRubinius - A Tool of the Future
Rubinius - A Tool of the Futureevanphx
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvmdeimos
 
J Ruby Power On The Jvm
J Ruby Power On The JvmJ Ruby Power On The Jvm
J Ruby Power On The JvmQConLondon2008
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationLong Nguyen
 
Bridging Ousterhout's Dichotomy
Bridging Ousterhout's DichotomyBridging Ousterhout's Dichotomy
Bridging Ousterhout's Dichotomyguest2838a0
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineKris Buytaert
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert NETWAYS
 
Kids coding! Yes, They Can!
Kids coding! Yes, They Can!Kids coding! Yes, They Can!
Kids coding! Yes, They Can!peeryn
 
Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009eCommConf
 
Secure Programming With Static Analysis
Secure Programming With Static AnalysisSecure Programming With Static Analysis
Secure Programming With Static AnalysisConSanFrancisco123
 
Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for RubistsSagiv Ofek
 
OpenSRF and Evergreen
OpenSRF and EvergreenOpenSRF and Evergreen
OpenSRF and EvergreenEvergreen ILS
 
Karmasphere hadoop-productivity-tools
Karmasphere hadoop-productivity-toolsKarmasphere hadoop-productivity-tools
Karmasphere hadoop-productivity-toolsHadoop User Group
 
Bringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirusBringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirusCTruncer
 
Adventures in Asymmetric Warfare
Adventures in Asymmetric WarfareAdventures in Asymmetric Warfare
Adventures in Asymmetric WarfareWill Schroeder
 

Similar to Just Enough C For Open Source Projects (20)

Amoocon May 2009 Germany
Amoocon May 2009   GermanyAmoocon May 2009   Germany
Amoocon May 2009 Germany
 
Jython: Integrating Python and Java
Jython: Integrating Python and JavaJython: Integrating Python and Java
Jython: Integrating Python and Java
 
Linguagens Dinamicas - Tech Days 2008
Linguagens Dinamicas - Tech Days 2008Linguagens Dinamicas - Tech Days 2008
Linguagens Dinamicas - Tech Days 2008
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
 
Rubinius - A Tool of the Future
Rubinius - A Tool of the FutureRubinius - A Tool of the Future
Rubinius - A Tool of the Future
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvm
 
J Ruby Power On The Jvm
J Ruby Power On The JvmJ Ruby Power On The Jvm
J Ruby Power On The Jvm
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Bridging Ousterhout's Dichotomy
Bridging Ousterhout's DichotomyBridging Ousterhout's Dichotomy
Bridging Ousterhout's Dichotomy
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipeline
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
 
Kids coding! Yes, They Can!
Kids coding! Yes, They Can!Kids coding! Yes, They Can!
Kids coding! Yes, They Can!
 
Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009
 
Secure Programming With Static Analysis
Secure Programming With Static AnalysisSecure Programming With Static Analysis
Secure Programming With Static Analysis
 
Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for Rubists
 
OpenSRF and Evergreen
OpenSRF and EvergreenOpenSRF and Evergreen
OpenSRF and Evergreen
 
Week7
Week7Week7
Week7
 
Karmasphere hadoop-productivity-tools
Karmasphere hadoop-productivity-toolsKarmasphere hadoop-productivity-tools
Karmasphere hadoop-productivity-tools
 
Bringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirusBringing Down the House - How One Python Script Ruled Over AntiVirus
Bringing Down the House - How One Python Script Ruled Over AntiVirus
 
Adventures in Asymmetric Warfare
Adventures in Asymmetric WarfareAdventures in Asymmetric Warfare
Adventures in Asymmetric Warfare
 

More from Andy Lester

What every beginning developer should know
What every beginning developer should knowWhat every beginning developer should know
What every beginning developer should knowAndy Lester
 
What I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersWhat I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersAndy Lester
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobsAndy Lester
 
Resumes and job interviews for technical jobs
Resumes and job interviews for technical jobsResumes and job interviews for technical jobs
Resumes and job interviews for technical jobsAndy Lester
 
Community and Github: 7/27/2011
Community and Github: 7/27/2011Community and Github: 7/27/2011
Community and Github: 7/27/2011Andy Lester
 
What schools should be teaching IT students
What schools should be teaching IT studentsWhat schools should be teaching IT students
What schools should be teaching IT studentsAndy Lester
 
Effective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the DeskEffective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the DeskAndy Lester
 
23 Rules For Job Hunters
23 Rules For Job Hunters23 Rules For Job Hunters
23 Rules For Job HuntersAndy Lester
 
Frozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteFrozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteAndy Lester
 
How to speak Manager
How to speak ManagerHow to speak Manager
How to speak ManagerAndy Lester
 

More from Andy Lester (10)

What every beginning developer should know
What every beginning developer should knowWhat every beginning developer should know
What every beginning developer should know
 
What I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersWhat I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developers
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobs
 
Resumes and job interviews for technical jobs
Resumes and job interviews for technical jobsResumes and job interviews for technical jobs
Resumes and job interviews for technical jobs
 
Community and Github: 7/27/2011
Community and Github: 7/27/2011Community and Github: 7/27/2011
Community and Github: 7/27/2011
 
What schools should be teaching IT students
What schools should be teaching IT studentsWhat schools should be teaching IT students
What schools should be teaching IT students
 
Effective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the DeskEffective Job Interviewing From Both Sides of the Desk
Effective Job Interviewing From Both Sides of the Desk
 
23 Rules For Job Hunters
23 Rules For Job Hunters23 Rules For Job Hunters
23 Rules For Job Hunters
 
Frozen Perl 2009 Keynote
Frozen Perl 2009 KeynoteFrozen Perl 2009 Keynote
Frozen Perl 2009 Keynote
 
How to speak Manager
How to speak ManagerHow to speak Manager
How to speak Manager
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Just Enough C For Open Source Projects

  • 1. Just Enough C For Open Source Projects Andy Lester OSCON 2008
  • 3. It's all for Michael Schwern Schwern is a brilliant programmer. An invaluable asset to the Perl community. He still doesn't know C, even though Perl is written in C.
  • 4. My assumptions • You're like Schwern. • Already a programmer, but raised on Ruby, Python, Java or PHP. • You don't know what it was like in the bad old days. • You want to work on open source projects.
  • 5. Goals • As much territory as possible • As fast as possible • Danger zones • Impedance mismatches