The document summarizes plans for CakePHP 2.0, including:
- Refactoring the core code and removing unused code.
- Dropping support for PHP 4 and supporting PHP 5.2.6 and above.
- Replacing the SimpleTest unit testing framework with PHPUnit.
- Standardizing how objects inherit through components.
- Removing duplicated code and relying more on PHP's Standard PHP Library.
- Centralizing request and response handling.
- Allowing custom session handlers through an interface.
- Lazy loading nested objects to optimize performance.
My presentation from the PHP Matsuri 2011 conference. This presentation discusses the changes in CakePHP 2.0 and goes into more detail on some of the cooler features that PHP 5 allows us, and some of the internal restructuring.
My presentation from the PHP Matsuri 2011 conference. This presentation discusses the changes in CakePHP 2.0 and goes into more detail on some of the cooler features that PHP 5 allows us, and some of the internal restructuring.
Laravel is a great framework to use for web applications but what if you need to do more? What if you need to process data that would take longer than an HTTP request would allow?
Come learn how to harness the power of the console in your Laravel applications to do various tasks such as caching data from 3rd party APIs, expire old content from S3 or other data store, and batch process huge data sets without users having to wait for results. You can even automate tasks such as backing up your remote databases before you run migrations with artisan commands.
We'll cover creating basic artisan console commands, adding options and passing input, setting up cron jobs and scheduling our console commands to run at specific times, and how you can utilize 3rd party APIs to create fun automated message processing for social media networks.
My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany,
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
Let's look at the many "flavors" of PHP, why they are there, how they work and when to use them. We'll also dive a little into the PHP core design pattern of using SAPIs to access the true core application.
Devel::NYTProf v3 - 200908 (OUTDATED, see 201008)Tim Bunce
Slides of my talk on Devel::NYTProf and optimizing perl code at the Italian Perl Workshop (IPW09). It covers the new features in NYTProf v3 and a new section outlining a multi-phase approach to optimizing your perl code.
30 mins long plus 10 mins of questions. Best viewed fullscreen.
Love it or hate it (and a lot of people seem to hate it), Maven is a widely used tool. We can consider that Maven has been the de-facto standard build tool for Java over the last 10 years. Most experienced developers already got their share of Maven headaches. Unfortunately, new developers are going through the same hard learning process, because they don't know how to deal with Maven particularities. "Why is this jar in my build?", "I can’t see my changes!", "The jar is not included in the distribution!", "The artifact was not found!" are common problems. Learn to tame the Maven Beast and be in complete control of your build to save you countless hours of pain and frustration.
A look at mod_php and fastcgi and how apache handles internal HTTP requests. Aim is to provide web developers and architects with architectural information on how mod_php and fastcgi handle static and dynamic requests to provide background knowledge when deciding on which way to go for your server or application.
A talk given to the New York CakePHP usergroup, discussing the specifics of changes within the CakePHP 2.0 feature set, motivations for those changes, and upcoming changes as development continues.
Laravel is a great framework to use for web applications but what if you need to do more? What if you need to process data that would take longer than an HTTP request would allow?
Come learn how to harness the power of the console in your Laravel applications to do various tasks such as caching data from 3rd party APIs, expire old content from S3 or other data store, and batch process huge data sets without users having to wait for results. You can even automate tasks such as backing up your remote databases before you run migrations with artisan commands.
We'll cover creating basic artisan console commands, adding options and passing input, setting up cron jobs and scheduling our console commands to run at specific times, and how you can utilize 3rd party APIs to create fun automated message processing for social media networks.
My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany,
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
Let's look at the many "flavors" of PHP, why they are there, how they work and when to use them. We'll also dive a little into the PHP core design pattern of using SAPIs to access the true core application.
Devel::NYTProf v3 - 200908 (OUTDATED, see 201008)Tim Bunce
Slides of my talk on Devel::NYTProf and optimizing perl code at the Italian Perl Workshop (IPW09). It covers the new features in NYTProf v3 and a new section outlining a multi-phase approach to optimizing your perl code.
30 mins long plus 10 mins of questions. Best viewed fullscreen.
Love it or hate it (and a lot of people seem to hate it), Maven is a widely used tool. We can consider that Maven has been the de-facto standard build tool for Java over the last 10 years. Most experienced developers already got their share of Maven headaches. Unfortunately, new developers are going through the same hard learning process, because they don't know how to deal with Maven particularities. "Why is this jar in my build?", "I can’t see my changes!", "The jar is not included in the distribution!", "The artifact was not found!" are common problems. Learn to tame the Maven Beast and be in complete control of your build to save you countless hours of pain and frustration.
A look at mod_php and fastcgi and how apache handles internal HTTP requests. Aim is to provide web developers and architects with architectural information on how mod_php and fastcgi handle static and dynamic requests to provide background knowledge when deciding on which way to go for your server or application.
A talk given to the New York CakePHP usergroup, discussing the specifics of changes within the CakePHP 2.0 feature set, motivations for those changes, and upcoming changes as development continues.
The Ember.js Framework - Everything You Need To KnowAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Yehuda Katz
Founder of Tilde
Front Dev 1
The Ember.js Framework - Everything You Need To Know
What's new and changed in PHP 8.
- Major new changes in PHP 8
- New functions and classes
- OOP improvements
- Type system improvements
- Error handling improvements
- Resource to Object migration
- String related changes
- Removed functionality
https://php.watch/versions/8.0
Looking at historic, current and evolving approaches, I will take you through from how we used to 'live' edit on one server with HTML in the code; to implementing Template Toolkit and 'front end / back end' servers; to the addition of version control; all the way through to distributed caching, file systems and processing (aka Six Apart worship) with 15+ servers.
Free The Enterprise With Ruby & Master Your Own DomainKen Collins
On the heals of Luis Lavena's RailsConf talk "Infiltrating Ruby Onto The Enterprise Death Star Using Guerilla Tactics" comes a local and frank talk about the current state of Open Source Software (OSS) participation from Windows developers. Learn what OSS is, what motivates its contributors, and how OSS can make you a stronger developer. Be prepared to fall in love with writing software again!
We will start off with a 101 introduction to both the Ruby programming language and the Ruby on Rails web application framework. You will learn about ActiveRecord, a powerful ORM that maps rich objects to your databases, and the latest components to use it with SQL Server. As a Rails core contributor and author of the SQL Server stack, I will give you a modern insight into both that will allow you to leverage your legacy data with Ruby.
Lastly, I will review the bleeding edge tools being actively created for Windows developers to ease the transition to Ruby, Rails and OSS from a POSIX driven world. Many things have changed. It is time to learn and perform some occupational maintenance.
Intro to Muon - How to build Polyglot Message and Event MicroservicesDavid Dawson
The Muon project enables you to build reactive, polyglot, message based APIs. This gives you great tools for communicating about Microservices and other types of integration
The pillars of DevOps are Culture, Automation, Measurement and Sharing. Docker is a rare tool at enables DevOps through all 4 pillars. These slides take a look at how Docker can affect each pillar in your organization through a Lean lens.
Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...Boyd Hemphill
The pillars of DevOps are Culture, Automation, Measurement and Sharing. Docker is a rare tool at enables DevOps through all 4 pillars. These slides take a look at how Docker can affect each pillar in your organization through a Lean lens.
Workshop slides originally given at the WOPR Summit in Atlantic City. Use JavaScript parsers and generators like Shift combined with Puppeteer and Chrome to reverse engineer web applications
MySQL Performance - SydPHP October 2011Graham Weldon
A talk on optimisations around MySQL on the server side, and through the use of PHP extensions to reduce disk writes to provide for more IO access for MySQL. This was presented at SydPHP in October 2011
A discussion about various techniques and mechanisms for generating revenue in and around open source projects.
This presentation uses the Cake Software Foundation (http://cakefoundation.org) who own the rights to the CakePHP framework (http://cakephp.org) as an example, and how a separate company (Cake Development Corporation http://cakedc.com) works with the Cake Software Foundation, but as a separate entity to generate money, and pay employees to with with and on open source software.
My presentation at OSDC 2010 in Melbourne Australia, for the roadmap of CakePHP and the changes that have occurred as part of the CakePHP 2.0 development process.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
12. ... its been a year
We talked about CakePHP 2.0 at
CakeMatsuri in 2009
13. ... its been a year
We talked about CakePHP 2.0 at
CakeMatsuri in 2009
Instead of releasing CakePHP 2.0 that “just
works” with PHP5
14. ... its been a year
We talked about CakePHP 2.0 at
CakeMatsuri in 2009
Instead of releasing CakePHP 2.0 that “just
works” with PHP5
Refactoring the core
15. ... its been a year
We talked about CakePHP 2.0 at
CakeMatsuri in 2009
Instead of releasing CakePHP 2.0 that “just
works” with PHP5
Refactoring the core
Exciting changes instead of a quick fix
16. ... its been a year
We talked about CakePHP 2.0 at
CakeMatsuri in 2009
Instead of releasing CakePHP 2.0 that “just
works” with PHP5
Refactoring the core
Exciting changes instead of a quick fix
Look at code that has been around for 4+
years
17. ... its been a year
We talked about CakePHP 2.0 at
CakeMatsuri in 2009
Instead of releasing CakePHP 2.0 that “just
works” with PHP5
Refactoring the core
Exciting changes instead of a quick fix
Look at code that has been around for 4+
years
Remove a lot of code thats no longer
needed
21. Challenges
Retain older users and backwards
compatibility
Move forward and adopt new features
Stay true to the projects goals and ideals
22. Challenges
Retain older users and backwards
compatibility
Move forward and adopt new features
Stay true to the projects goals and ideals
Rattle some cages
23. Challenges
Retain older users and backwards
compatibility
Move forward and adopt new features
Stay true to the projects goals and ideals
Rattle some cages
... not too many.
52. Unit Testing
Arguably one of the bigger changes
PHPUnit
Provides better PHP 5 support over
SimpleTest
53. Unit Testing
Arguably one of the bigger changes
PHPUnit
Provides better PHP 5 support over
SimpleTest
More actively maintained
54. Unit Testing
Arguably one of the bigger changes
PHPUnit
Provides better PHP 5 support over
SimpleTest
More actively maintained
Easily integrated with CruiseControl
55. Unit Testing
Arguably one of the bigger changes
PHPUnit
Provides better PHP 5 support over
SimpleTest
More actively maintained
Easily integrated with CruiseControl
De-facto standard for Unit Testing in PHP
56. Unit Testing
Arguably one of the bigger changes
PHPUnit
Provides better PHP 5 support over
SimpleTest
More actively maintained
Easily integrated with CruiseControl
De-facto standard for Unit Testing in PHP
Install with PEAR
57. Unit Testing
Arguably one of the bigger changes
PHPUnit
Provides better PHP 5 support over
SimpleTest
More actively maintained
Easily integrated with CruiseControl
De-facto standard for Unit Testing in PHP
Install with PEAR
Faster
68. Unit Testing
PHPUnit, at what cost?
Rewritten test suite from the ground up
Mocks are different.. but awesome++
69. Unit Testing
PHPUnit, at what cost?
Rewritten test suite from the ground up
Mocks are different.. but awesome++
startTest() and endTest() deprecated
70. Unit Testing
PHPUnit, at what cost?
Rewritten test suite from the ground up
Mocks are different.. but awesome++
startTest() and endTest() deprecated
assertions slightly different
71. Unit Testing
PHPUnit, at what cost?
Rewritten test suite from the ground up
Mocks are different.. but awesome++
startTest() and endTest() deprecated
assertions slightly different
.. thats about it.
79. Components
What does this mean in the scheme of
things?
We’ve standardised the manner in which
objects inherit
80. Components
What does this mean in the scheme of
things?
We’ve standardised the manner in which
objects inherit
Makes more sense
81. Components
What does this mean in the scheme of
things?
We’ve standardised the manner in which
objects inherit
Makes more sense
Intuitive
82. Components
What does this mean in the scheme of
things?
We’ve standardised the manner in which
objects inherit
Makes more sense
Intuitive
Less need to search documentation
84. SPL
Standard PHP Library
Provides awesome File and Folder
operations
Classes handy for a whole range of things
No need to re-implement in the core
CakePHP 1.x was ahead of its time
PHP has caught up
Time to cut the fat
85. Non-SPL
Again, don’t reinvent the wheel
Removing duplicate code like JSON
encoding
Can now rely on this functionality shipping
with PHP
89. Request / Response
Request represents an incoming request
It replaces functionality through Controller,
Dispatcher, RequestHandler and $this-
>params everywhere
ArrayAccess implementation for backwards
compatibility
90. Request / Response
Protect users form themselves
Protect developers from users
Protect developers from stupidity
Encapsulate both the request and response
in order to provide a central location to
handle requests and responses, but retain
flexibility
92. Sessions
Remove duplicated code (DRY)
Shouldn’t be always included (1.3 fix)
Modelise data handling
Access anywhere
Allow simple customisation
Separate Caching, Database, etc.
108. XML
As much as one can make XML make sense..
.. we’re doing it
109. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
110. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
Wasn’t handy for integration
111. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
Wasn’t handy for integration
Didn’t handle namespaces well
112. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
Wasn’t handy for integration
Didn’t handle namespaces well
Didn’t allow for ordered nodes
113. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
Wasn’t handy for integration
Didn’t handle namespaces well
Didn’t allow for ordered nodes
114. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
Wasn’t handy for integration
Didn’t handle namespaces well
Didn’t allow for ordered nodes
Build on top of SimpleXML
115. XML
As much as one can make XML make sense..
.. we’re doing it
1.x was very CakePHP specific with XML
Wasn’t handy for integration
Didn’t handle namespaces well
Didn’t allow for ordered nodes
Build on top of SimpleXML
Faster
121. Console
Easier help generation
Better for users of plugins, as well as
plugin developers
Colourised console text
Easy identification of issues and errors
122. Console
Easier help generation
Better for users of plugins, as well as
plugin developers
Colourised console text
Easy identification of issues and errors
Support output verbosity
123. Console
Easier help generation
Better for users of plugins, as well as
plugin developers
Colourised console text
Easy identification of issues and errors
Support output verbosity
Shells are being used:
124. Console
Easier help generation
Better for users of plugins, as well as
plugin developers
Colourised console text
Easy identification of issues and errors
Support output verbosity
Shells are being used:
restructure: app/console/
125. Console
Easier help generation
Better for users of plugins, as well as
plugin developers
Colourised console text
Easy identification of issues and errors
Support output verbosity
Shells are being used:
restructure: app/console/
Moved from: app/vendors/
126. Console
Easier help generation
Better for users of plugins, as well as
plugin developers
Colourised console text
Easy identification of issues and errors
Support output verbosity
Shells are being used:
restructure: app/console/
Moved from: app/vendors/
Enable better console path configurability
134. Email
Used to be restricted to Controller use with
a Component
... or a terrible hack to enable it elsewhere
135. Email
Used to be restricted to Controller use with
a Component
... or a terrible hack to enable it elsewhere
Now its a core lib
136. Email
Used to be restricted to Controller use with
a Component
... or a terrible hack to enable it elsewhere
Now its a core lib
Use it anywhere
137. Email
Used to be restricted to Controller use with
a Component
... or a terrible hack to enable it elsewhere
Now its a core lib
Use it anywhere
Wrappers to provide model / controller use
138. Email
Used to be restricted to Controller use with
a Component
... or a terrible hack to enable it elsewhere
Now its a core lib
Use it anywhere
Wrappers to provide model / controller use
Simple, and effective