SlideShare a Scribd company logo
1 of 118
<?php
 echo ($AgileFramework == $HappyDeveloper) ?
           “Rasmus, think again!” : die(‘PHP’);




   delicious.com          bookmarks.yahoo.com             addons.mozilla.org




            All sites above were created using a PHP Framework.
Who am I ?
Xinc - Lead Developer
Akelos Framework - Core Contributor
     BermiLabs.com - Partner
C, C++, C#
That’s not me!
Been there. Done that.
Got over it!
I am a Web Developer.

   Like you!
I am Pragmatic




 does the Job
  since 1995
1995
a star is
   born
Do you like Spaghetti?
Do you like Spaghetti?
                Warning:
The following slides contain spaghetti code.
The “Italian” Scripting Language




                                                                     * 1995
* Sample Snippet from 1995 (http://talks.php.net/show/froscon08/4)
The “Italian” Scripting Language
                                            ? ! ? ! ? ! ?!?!?!?




                                  ok, back then .. but now
                                  everything is better, no?
                                                                     * 1995
* Sample Snippet from 1995 (http://talks.php.net/show/froscon08/4)
Did I
grow up?
Did I
               grow up?


has grown up
But the manners?


                        Did I
                     grow up?


has grown up
“Spaghetti a la OOP” anyone?




                                                                     * 2005
* Sample Snippet from 2005 (http://talks.php.net/show/froscon08/5)
“Spaghetti a la OOP” anyone?

                                                                          at least stmts!


                                                                useless exception handling!




                                                                       wow! heredocs as
                                                                        view template!



                                                                             * 2005
* Sample Snippet from 2005 (http://talks.php.net/show/froscon08/5)
dont_get_me_wrong.php4
<?php
$dirty_coder = ‘Spaghetti coder’;
while ($iWasLearning /* in 1999 */) {
  echo “I was a $dirty_codern”;
}
I know what it’s like ...




              ... to maintain spaghetti code.
iChanged_in.php5
<?php
$everything /* became a */ = new Object();
$inPHP = ‘5’;
$andMixing = “<html>with $php was a sin</html>”;
$frameworks = “I created a lot of them!”;
Then I realized that ...
... knowing everything better
... reinventing the wheel
... organizing source code
... over and over again

is a pretty heavy load.
But there is help ...
... to make you a more relaxed,
more productive web developer.




                                  Disclaimer:
                                  The following slides are not the view of a sect
                                  or any kind of religion. Its just pragmatic!
If you could start fresh
               ... in a new job
       ... on a new project
If you could choose ...

         Don’t us               CAF*
                 e PHP?

                    Spaghetti
                                F rameworks




                                          * Create Another Framework
Don’t use PHP?
How much Spaghetti can you take?
Create Another Framework ?
Create Another Framework ?
Create Another Framework ?
Create Another Framework ?
Create Another Framework ?
Why should you use a Framework?




      You don’t need to reinvent the wheel
In fact, most of us should not ...
Not reinventing the wheel ...

                                      Framework                               No Framework
Lines of Code you need to write




                                                           Project Complexity


                                      ... makes you code less!
                                         Disclaimer: I do not trust any statistics, I did not invent myself.
                                              Graphs are representative to express a general fact.
But I am a coder! I want to code more!
Lines of Code you need to write   But writing more code ...




                                                                 Bugs


                                    ... results in more bugs!
                                      Disclaimer: I do not trust any statistics, I did not invent myself.
                                           Graphs are representative to express a general fact.
I (the developer)
need to be in control of everything.
Control the important stuff ...
                    Important                                       Basic




Without a framework                                             With a framework



  ... to create a useful application!
            Disclaimer: I do not trust any statistics, I did not invent myself.
                 Graphs are representative to express a general fact.
Good Frameworks ...
suspects
      you from the usual
  and a shield, which protects
Good Frameworks ...
     ... while leaving room
      for your creativity....

    ... provide a solid ...
        ... unit tested ...
             ... base ...
Let us have a look at some frameworks.
Framework or Library?
Component Libraries   weaker MVC   MVC Frameworks   stronger




                                         ...           ...
Framework or Library?

               Which one doMVC Frameworks
Component Libraries         I choose?
                      weaker MVC            stronger




                                   ...         ...
Framework or Library?
Component Libraries   weaker MVC   MVC Frameworks   stronger



                      +
                                         ...           ...
Choose a solid
MVC Framework




... and reuse components from libraries.
I am not going to tell you ...
... to choose a specific framework.
     (This is not an advertisement for a specific framework)
It’s up to your needs and likes.
It’s up to your needs and likes.

  .. only one thing ... if you hate configuration...
             don’t choose Symfony!
What does
agile software development
  have to do with frameworks?
Manifesto for Agile Software Development
                 (http://www.agilemanifesto.org)




Individuals and interactions over processes and tools
  Working software over comprehensive documentation
  Customer collaboration over contract negotiation
    Responding to change over following a plan
Ready to be agile?
Be agile: Responding to change




Stop fearing change. Accept it. Welcome it.
Does your current development process
         allow change easily?
Be agile
Customer Collaboration




Be transparent. About work. About timing.
Can you collaborate transparently?
Or do you need strong contracts
         to cover you ?
Be agile
Working Software




Unit tests are the best developer documentation.
Is your current software testable?
Or do you need to test manually,
       with a browser ?
Be agile
Individuals and Interaction




      The right team will do the best job.
Do you have a good team work?
     Or are you still building
hierachies and departments ?
If you answered
        one+ question(s) with

              “No ... “
you are probably not ready to be agile.
How can a framework help me here?
Design first.

Enduser centric design - Only data that is needed for
           interaction is of importance.
Test your MODELS and
   CONTROLLERS.

Tests first. Frameworks make it easy to test.
Honesty and Trust
Welcome change
  If a change breaks something,
 the unit tests will alarm you.
... still doubts?
But Rasmus said that* ...
 ... frameworks are performing poorly
       * http://tinyurl.com/frameworks-think-again
Ok, let me tell
you something about
Rasmus Lerdorf
Rasmus’ view on PHP


a simple tool for non-developers
“to solve the web problem”

.. if you cannot solve it easily with
PHP - push it to another layer* ...
* (Not everyone wants/can code php extensions)




Did I get you right Rasmus?
I got a message for you
Rasmus


Graduated Computer Scientists
are developing in PHP ...


... not just script kiddies.
Let us have a look at
Rasmus way of testing
   PHP frameworks.
Who is running the following
 Application for Business?
I am going to show you the
          source code for this
           money machine.




You need to sign a NDA before though!
Disclosed
Hello World Business Core


              <html>
              <head>                        </title>
                         hp ech o “Test” ?>
              <title><?p
               </head>
               <body>                  rld” ?>
                          o “Hello Wo
               <?php ech
                </body>
                </html>
puuuuuuh ... give me a second.
Warning: Ugly Slides ahead



Rasmus does his statistics about performance.




       Remember? I don’t trust statistics, I did not invent myself.
no comment.
Ok... maybe ONE.
Rasmus simplifies things ...
for the sake of understanding?
Rasmus simplifies things ...
for the sake of understanding?
         A bit too simple.
Rasmus is right.
        Frameworks suck
       for Hello World
         Applications. ;-)

           We evolved a bit since 1995...
Could someone please start a “hello business” example?
We want to make money
   become rich and famous.

 So a hello world app would maybe be
my second best choice for that purpose.
Ok, now seriously.
Frameworks
are slower than static <HTML/>
Is your primary concern Performance?
So either ...
your Application   is already that   BIG
 OR your creativity is too small
You reach the
limit of your Creativity
way before ...
... you reach the limit of




  Computing
  Power
Scaling is a problem all
 of us wish to have.
But let’s first
build that great application.
But let’s first
build that great application.

    ... which millions use!
Choose a
MVC Framework




     ... today
.. and concentrate on the creative part ...
.. let’s see a
   magic example
        of how easy
web application development
        can be!
A common problem: Search Engine




 Setting up a search engine in




    based on Hyperestraier
A common problem: Search Engine


The task       add a search feature
A common problem: Search Engine


Preparation
   Install hyperestraier:
   debian: #      apt-get install hyperestraier

   Setup / Start hyperestraier:
   debian: #      estmaster init /var/myindices
   debian: #      estmaster start /var/myindices
   Create API user and index at:
   http://admin:admin@localhost:1978
   Install search plugin:
   debian: akelos# ./script/plugin install acts_as_searchable
A common problem: Search Engine


Overview
  Step 1 - Model
  Enabling the search plugin on the model Video.
  Indexing existing videos.

  Step 2 - View
  Add a search form to the archives view.

  Step 3 - Controller
  Add a search action to the video’s archive.
  /archive/search
A common problem: Search Engine


Step 1    The MODEL and the Index
A common problem: Search Engine


Step 1    The MODEL and the Index
A common problem: Search Engine


Step 1    The MODEL and the Index
A common problem: Search Engine


Step 2        The Search VIEW
A common problem: Search Engine


Step 3      The CONTROLLER
A common problem: Search Engine


The result      searchable video blog
A common problem: Search Engine


Adding fulltext search ...


     on top of an existing application ...
A common problem: Search Engine


Adding fulltext search ...


       on top of an existing application ...
   ... will take you less than 20 min.
Easy, Pragmatic Solutions for your problems




              If you use a
         Framework!
If you are not already using a framework ...

     ... choose one and try it!
If you don’t want to choose a framework.
     Be ready for people joking
             about you .....
http://www.youtube.com/watch?v=p5EIrSM8dCA
Now that              know.
Tell your ...


  Boss                 Colleagues   Friends   The World


                YOU
If you feel like it
tweet me gently | twitter.com/arnoschn
  drop me a line | arno at bermilabs.com
  read about me | bermilabs.com/arno

More Related Content

Similar to Agile PHP Frameworks Help Developers Be Productive

Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature CreatureChristian Heilmann
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Ivo Jansch
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic RevisitedAdam Keys
 
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Matthias Noback
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3Boris Mann
 
Chaos Engineering Talk at DevOps Days Austin
Chaos Engineering Talk at DevOps Days AustinChaos Engineering Talk at DevOps Days Austin
Chaos Engineering Talk at DevOps Days Austinmatthewbrahms
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...Marco Cedaro
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming languageMarco Cedaro
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Nick Galbreath
 
Back to basics simple, elegant, beautiful code
Back to basics   simple, elegant, beautiful codeBack to basics   simple, elegant, beautiful code
Back to basics simple, elegant, beautiful codeAndrew Harcourt
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)Jorge López-Lago
 
Docker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsDocker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsLenses.io
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)Zoe Landon
 
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
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014michaelag1971
 
Adventures in Asymmetric Warfare
Adventures in Asymmetric WarfareAdventures in Asymmetric Warfare
Adventures in Asymmetric WarfareWill Schroeder
 
Trusting files (and their formats)
Trusting files (and their formats)Trusting files (and their formats)
Trusting files (and their formats)Ange Albertini
 

Similar to Agile PHP Frameworks Help Developers Be Productive (20)

Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
 
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3
 
Chaos Engineering Talk at DevOps Days Austin
Chaos Engineering Talk at DevOps Days AustinChaos Engineering Talk at DevOps Days Austin
Chaos Engineering Talk at DevOps Days Austin
 
Spaghetti gate
Spaghetti gateSpaghetti gate
Spaghetti gate
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
Back to basics simple, elegant, beautiful code
Back to basics   simple, elegant, beautiful codeBack to basics   simple, elegant, beautiful code
Back to basics simple, elegant, beautiful code
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Docker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsDocker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatterns
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)
 
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)
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
 
Adventures in Asymmetric Warfare
Adventures in Asymmetric WarfareAdventures in Asymmetric Warfare
Adventures in Asymmetric Warfare
 
Trusting files (and their formats)
Trusting files (and their formats)Trusting files (and their formats)
Trusting files (and their formats)
 
Aug 2012 HUG: Hug BigTop
Aug 2012 HUG: Hug BigTopAug 2012 HUG: Hug BigTop
Aug 2012 HUG: Hug BigTop
 

Recently uploaded

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Recently uploaded (20)

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

Agile PHP Frameworks Help Developers Be Productive