SlideShare una empresa de Scribd logo
1 de 25
PHP Hacking
           The battle between great ideas
               and not-so-great code




Pete Prodoehl
http://rasterweb.net/raster/
PHP: Hypertext Preprocessor




PHP: Hypertext Preprocessor
Developer
“Software development is
the act of working to
produce/create software.”
Programmer
“Computer programming is
the process of writing, testing,
debugging/troubleshooting, and
maintaining the source code of
computer programs.”
Hacker
“Someone who plays golf poorly.”




                                   hmmm...
Hacker
“A programmer who breaks into
computer systems in order to steal
or change or destroy information
as a form of cyber-terrorism.”



                                     uhhh...
Hacker
1. A person who enjoys exploring the details of programmable systems and how to
stretch their capabilities, as opposed to most users, who prefer to learn only the
minimum necessary.

2. One who programs enthusiastically (even obsessively) or who enjoys programming
rather than just theorizing about programming.

3. A person capable of appreciating hack value.

4. A person who is good at programming quickly.

5. An expert at a particular program, or one who frequently does work using it or on
it; as in ‘a UNIX hacker.’

6. An expert or enthusiast of any kind. One might be an astronomy hacker, for
example.

7. One who enjoys the intellectual challenge of creatively overcoming or
circumventing limitations.
                                                             From “The Jargon File” http://www.catb.org/jargon/
PERL
PHP

“It’s like PERL, but for building web sites,
and... not as good...”
Culture
Kellan Elliott-McCrea

“The hardest part in working with
languages I’m less familiar with (python,
and php for example) rather then those
I’m more comfortable with (perl or java)
is not syntax questions, its culture.”

                         http://laughingmeme.org/2002/10/23/there-has-got-to-be-a-better-way/
Feed on Feeds
An open source web-based aggregator.




In 2004, I hacked the
living crap out of it...
Categorize
A tool to categorize articles.




In 2004, I wrote it for
my employer...
delisync
A tool to sync your del.icio.us data.




Open APIs are a good
thing... exploit them!
Locator
A store locator using Google Maps.




90% example code
10% my own code
Evil-O-Mator
Just another silly hack...




90% silly
10% PHP
Heard
A tool to mirror your Last.fm data.




Open APIs are (still)                     Hu b!
                                      G it
good... exploit them!           on
                            Now
MAKE
 COOL
  SHIT!
HACK!
Thank You
Find me on the Internet!

  Blog: http://rasterweb.net/raster/

       Email: pete@rasterweb.net

                  Twitter: @raster

Más contenido relacionado

Similar a PHP Hacking: The battle between great ideas and not-so-great code

Keith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith Jones, PhD
 
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...Alan Quayle
 
Cyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptxCyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptxYashSomalkar
 
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...Matt Weaver
 
Introduction to Hacking for University Hack Day
Introduction to Hacking for University Hack DayIntroduction to Hacking for University Hack Day
Introduction to Hacking for University Hack DayChristian Heilmann
 
OpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internetOpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internettkisason
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.Marcel Caraciolo
 
Hpai class 12 - potpourri & perception - 032620 actual
Hpai   class 12 - potpourri & perception - 032620 actualHpai   class 12 - potpourri & perception - 032620 actual
Hpai class 12 - potpourri & perception - 032620 actualmelendez321
 
Mastering python lesson1
Mastering python lesson1Mastering python lesson1
Mastering python lesson1Ruth Marvin
 
P Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php LampP Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php Lampphptechtalk
 
YAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses PerlYAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses PerlCosimo Streppone
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxMrHackerxD
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formatsAnge Albertini
 
Php Symfony and software-life-cycle
Php Symfony and software-life-cyclePhp Symfony and software-life-cycle
Php Symfony and software-life-cycleSwatantra Kumar
 
Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909Tim Bunce
 
In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...butest
 
Py4 inf 01-intro
Py4 inf 01-introPy4 inf 01-intro
Py4 inf 01-introIshaq Ali
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Dhruv Gohil
 
DIY Applied Machine Learning
DIY Applied Machine LearningDIY Applied Machine Learning
DIY Applied Machine LearningTarek Hoteit
 

Similar a PHP Hacking: The battle between great ideas and not-so-great code (20)

JTMDetroit: Code
JTMDetroit: CodeJTMDetroit: Code
JTMDetroit: Code
 
Keith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysis
 
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
 
Cyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptxCyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptx
 
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
 
Introduction to Hacking for University Hack Day
Introduction to Hacking for University Hack DayIntroduction to Hacking for University Hack Day
Introduction to Hacking for University Hack Day
 
OpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internetOpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internet
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.
 
Hpai class 12 - potpourri & perception - 032620 actual
Hpai   class 12 - potpourri & perception - 032620 actualHpai   class 12 - potpourri & perception - 032620 actual
Hpai class 12 - potpourri & perception - 032620 actual
 
Mastering python lesson1
Mastering python lesson1Mastering python lesson1
Mastering python lesson1
 
P Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php LampP Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php Lamp
 
YAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses PerlYAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses Perl
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptx
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formats
 
Php Symfony and software-life-cycle
Php Symfony and software-life-cyclePhp Symfony and software-life-cycle
Php Symfony and software-life-cycle
 
Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909
 
In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...
 
Py4 inf 01-intro
Py4 inf 01-introPy4 inf 01-intro
Py4 inf 01-intro
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
 
DIY Applied Machine Learning
DIY Applied Machine LearningDIY Applied Machine Learning
DIY Applied Machine Learning
 

Más de Pete Prodoehl

DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”Pete Prodoehl
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee MakerspacePete Prodoehl
 
The Maker Movement and Where It’s Going
The Maker Movement and Where It’s GoingThe Maker Movement and Where It’s Going
The Maker Movement and Where It’s GoingPete Prodoehl
 
The Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY CommunityThe Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY CommunityPete Prodoehl
 
Makerspaces & Makers
Makerspaces & MakersMakerspaces & Makers
Makerspaces & MakersPete Prodoehl
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee MakerspacePete Prodoehl
 
Blogging With WordPress
Blogging With WordPressBlogging With WordPress
Blogging With WordPressPete Prodoehl
 
Art Robots: Machines That Draw
Art Robots: Machines That DrawArt Robots: Machines That Draw
Art Robots: Machines That DrawPete Prodoehl
 
Web414 june 2011 Meeting
Web414 june 2011 MeetingWeb414 june 2011 Meeting
Web414 june 2011 MeetingPete Prodoehl
 
Web414 November 2010 Meeting
Web414 November 2010 MeetingWeb414 November 2010 Meeting
Web414 November 2010 MeetingPete Prodoehl
 
Web414 September 2010 Meeting
Web414 September 2010 MeetingWeb414 September 2010 Meeting
Web414 September 2010 MeetingPete Prodoehl
 
Web414 - Snake or Software
Web414 - Snake or SoftwareWeb414 - Snake or Software
Web414 - Snake or SoftwarePete Prodoehl
 
What is a PhotoCamp?
What is a PhotoCamp?What is a PhotoCamp?
What is a PhotoCamp?Pete Prodoehl
 
Lightbox Js (and Friends)
Lightbox Js (and Friends)Lightbox Js (and Friends)
Lightbox Js (and Friends)Pete Prodoehl
 

Más de Pete Prodoehl (15)

Welcome to Arduino
Welcome to ArduinoWelcome to Arduino
Welcome to Arduino
 
DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee Makerspace
 
The Maker Movement and Where It’s Going
The Maker Movement and Where It’s GoingThe Maker Movement and Where It’s Going
The Maker Movement and Where It’s Going
 
The Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY CommunityThe Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY Community
 
Makerspaces & Makers
Makerspaces & MakersMakerspaces & Makers
Makerspaces & Makers
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee Makerspace
 
Blogging With WordPress
Blogging With WordPressBlogging With WordPress
Blogging With WordPress
 
Art Robots: Machines That Draw
Art Robots: Machines That DrawArt Robots: Machines That Draw
Art Robots: Machines That Draw
 
Web414 june 2011 Meeting
Web414 june 2011 MeetingWeb414 june 2011 Meeting
Web414 june 2011 Meeting
 
Web414 November 2010 Meeting
Web414 November 2010 MeetingWeb414 November 2010 Meeting
Web414 November 2010 Meeting
 
Web414 September 2010 Meeting
Web414 September 2010 MeetingWeb414 September 2010 Meeting
Web414 September 2010 Meeting
 
Web414 - Snake or Software
Web414 - Snake or SoftwareWeb414 - Snake or Software
Web414 - Snake or Software
 
What is a PhotoCamp?
What is a PhotoCamp?What is a PhotoCamp?
What is a PhotoCamp?
 
Lightbox Js (and Friends)
Lightbox Js (and Friends)Lightbox Js (and Friends)
Lightbox Js (and Friends)
 

Último

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 

Último (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

PHP Hacking: The battle between great ideas and not-so-great code

  • 1. PHP Hacking The battle between great ideas and not-so-great code Pete Prodoehl http://rasterweb.net/raster/
  • 2. PHP: Hypertext Preprocessor PHP: Hypertext Preprocessor
  • 3. Developer “Software development is the act of working to produce/create software.”
  • 4. Programmer “Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs.”
  • 5. Hacker “Someone who plays golf poorly.” hmmm...
  • 6. Hacker “A programmer who breaks into computer systems in order to steal or change or destroy information as a form of cyber-terrorism.” uhhh...
  • 7. Hacker 1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. 2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating hack value. 4. A person who is good at programming quickly. 5. An expert at a particular program, or one who frequently does work using it or on it; as in ‘a UNIX hacker.’ 6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example. 7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. From “The Jargon File” http://www.catb.org/jargon/
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. PHP “It’s like PERL, but for building web sites, and... not as good...”
  • 16. Culture Kellan Elliott-McCrea “The hardest part in working with languages I’m less familiar with (python, and php for example) rather then those I’m more comfortable with (perl or java) is not syntax questions, its culture.” http://laughingmeme.org/2002/10/23/there-has-got-to-be-a-better-way/
  • 17. Feed on Feeds An open source web-based aggregator. In 2004, I hacked the living crap out of it...
  • 18. Categorize A tool to categorize articles. In 2004, I wrote it for my employer...
  • 19. delisync A tool to sync your del.icio.us data. Open APIs are a good thing... exploit them!
  • 20. Locator A store locator using Google Maps. 90% example code 10% my own code
  • 21. Evil-O-Mator Just another silly hack... 90% silly 10% PHP
  • 22. Heard A tool to mirror your Last.fm data. Open APIs are (still) Hu b! G it good... exploit them! on Now
  • 23. MAKE COOL SHIT!
  • 24. HACK!
  • 25. Thank You Find me on the Internet! Blog: http://rasterweb.net/raster/ Email: pete@rasterweb.net Twitter: @raster

Notas del editor

  1. \n
  2. Are there any developers here tonight?\nAny programmers here?\n
  3. \n
  4. Any Hackers?\n
  5. That describes me...\n
  6. That doesn’t describes me... in fact, I think that’s a “cracker”\n
  7. Here’s a few definitions of Hacker I can identify with...\n
  8. I’m actually a Perl Hacker... I started using BASIC around 1980, and was out of programming until about 1993. I tried to learn Perl by reading about it but it didn’t stick. (And this was MacPerl at the time!) I was using UserTalk Frontier at the time, which had this weird internal scripting language, and I did a lot of stuff in that. Eventually I started using Linux web servers and a guy I knew at work got me started in Perl. When I found my code was running about 20 times faster, I started using Perl.\n
  9. I never really got into Java... I never really liked Sun too much, and I couldn’t get into Java. Even though the open source text editor I’ve used for the last 6 years has been written in Java. I did write some BeanShell scripts. Nowadays I’m working with the Arduino and Processing, which is as close to Java as I get.\n
  10. This is your typical Java developer. An attractive looking woman with a nondescript laptop who lays on the floor with no shoes on. She’s having so much damn fun, I really want to get into Java. I actually do know an attractive woman who is reading a Java book, and when I asked why, she said to learn how to build web sites. I sort of shook my head... Rogers Cadenhead wrote it.\n
  11. Dot Net. Dear God.... As someone who has always hated Microsoft, and probably always will, I’m not about to touch Dot Net. I got burned by ASP and other Microsoft technologies, and I avoid Mono like, well Mono, and I’m not doing Dot Net.\n
  12. This is your typical Dot Net developer.\n
  13. Rails. I should probably say “Ruby on Rails” but 90% of the time I hear the word “Ruby” it’s followed by “on Rails” anyway. Rails or Ruby, or whatever, is something I should really look into, but I haven’t. I will someday... unless I don’t. I worked with a developer once who decided he’d learn Rails by writing a client application in Rails. He ended up scrapping the whole thing and re-writing it in PHP over a weekend. \n
  14. OK, seriously... if this didn’t have the names on the photo, I would have thought this was a fashion shoot for American Apparel or something. Maybe the Gap? I don’t know... Really? These guys are behind Rails? They look like male models... Did they coordinate their wardrobes? Are you allowed to be a Rails dude if you’re not good looking?\n
  15. This was my first introduction to PHP... I knew a lot of Perl hackers who started building web sites with PHP. We did a lot of complaining about how PHP did something wrong, or was missing something we used in Perl... But you know what? PHP is OK... it’s gotten much better over the years. Remember PHP3? Don’t get me started... Hey, at least it isn’t ColdFusion! Actually, speaking of ColdFusion, the biggest mistake I ever made at one of my old jobs was going along with the boss’s decision to use ColdFusion instead of PHP because “it was already installed.” I tried numerous times to get the application re-written in PHP, but it never happened.\n
  16. It’s a bit of Culture Shock really... After years of using a language, you get used to it, and know how it works, and not just the “language” but the people who use it, and develop it, and how it gets used, and the community, and all the surrounding bits that have nothing to do with code... That was my struggle with PHP. Culture is what the real difference is between Drupal and Joomla, or Apple and Microsoft, or the U.S. and Canada.\n
  17. Back when your RSS Aggregator was made by friends of yours instead of big corporations, a guy named Steve Minutillo released Feed on Feeds. I installed it on my own server and hacked the crap out of it. I added all these features I wanted to see in an aggregator. This is probably when I realized how awesome PHP was.\n
  18. I wrote this for the company I worked for at the time... I based it on Feed on Feeds to some degree. That was the application that I learned how to write PHP applications from. Chances are I did it all wrong, and continue to do it all wrong... but I don’t sort of don’t care.\n
  19. Back in 2004 or 2005 or something like that, del.icio.us used to have downtime (this is before Yahoo! acquired it) so I wrote some code to synchronize data between del.icio.us and any other service using the del.icio.us API... People actually used it!\n
  20. This past summer I had to build a store locator for a web site... Google had sample code that did most of the work, and I added a bunch of site-specific features. It’s pretty unremarkable, but I’m glad the sample was written in PHP.\n
  21. This started out as a simple project to play with HTML5, CSS3, and the <audio> tag. I ended up writing it in PHP because I figured learning a new language on top of all that was too much. I think I finished it around 4AM one night. It works. I also ended up putting a bunch of easter eggs into it later just for Tom Henrich. \n
  22. This is similar to the delisync thing. It uses the Last.fm API to pull all of my data out, store it in MySQL, and then display it on my own site. It’s a complete mirror of my Last.fm data running on my own server. I also ended up putting this on GitHub thanks to Matt Gauger. Now I’m waiting patiently for someone to make it 100 times better so I can upgrade. If it doesn’t happen... oh well. I’m really a fan of PHP letting me experiment and exercise my ideas than anything else... Oddly enough a Perl guy said he wished it was written in Perl so he could hack at it. You just can’t win...\n
  23. Hack... \n
  24. Hack... \n
  25. \n