Talks

panel

PHP at Scale

PHP at Scale. The speakers will be discussing using PHP in high volume environments, the choices people made and why the made them, with Ian chairing the session.

Ian Barber
24/02/2012 - 16:50 - 17:40

A panel session

keynote

A look at PHP in 2012

PHP in 2012

Rasmus Lerdorf, best known for having gotten the PHP project off the ground in 1995, will give an update on PHP as he sees it in 2012. From PHP humble beginnings as the Personal Homepage project up to what is new in PHP 5.4 and beyond.

Rasmus Lerdorf
24/02/2012 - 09:30 - 10:30

A keynote talk

keynote

Challenges at scale: extreme data and platforms at eBay

Challenges at scale: extreme data and platforms at eBay

Hugh Williams, the vice president of experience, search and platforms at eBay, will take us on a tour of key platforms used at eBay. From their Hadoop platform and data stores, to how PHP is used at eBay. Finally, giving us some exciting insight to what's coming up that is cool at eBay in 2012.

Hugh Williams
25/02/2012 - 09:30 - 10:30

A keynote talk

keynote

Experience

Marco Tabini
25/02/2011 - 09:30 - 10:30

A keynote talk

keynote

SQL vs NoSQL

An exciting debate on "SQL vs NoSQL".

Helgi Þorbjörnsson
25/02/2012 - 16:50 - 17:30

A keynote talk

'In search of...' - integrating site search systems

'In search of...' - integrating site search systems

Despite being a key method of navigation on many sites, search functionality often gets the short end of the stick in development, either by handing the job over to Google or just enabling full text search on the appropriate column in the database. In this talk we will look at how full text search actually works, how to integrate local text search engines into your PHP application, and how it's possible to actually provide better and more relevant results than Google itself, at least for your own site.

Ian Barber
26/02/2010 - 15:15 - 16:15

99 Problems, But The Search Ain't One

99 Problems, But The Search Ain't One

ElasticSearch is the new kid on the search block. Built on top of Lucene and adhering to the best concepts of so-called NoSQL movement, ElasticSearch is a distributed, highly available, fast RESTful search engine, ready to be plugged into Web applications. Come to this session and learn how to set up, index, search, and tune ElasticSearch in less time than it takes to order a latte (disclaimer: at sufficiently busy central Starbucks locations. Side effects may include euphoria, stuff getting done, and extra time to spend with girlfriend).

Andrei Zmievski
25/02/2011 - 16:30 - 17:30

Advanced OO Patterns

Advanced OO Patterns

You already know Singleton, Signal/Observer, Factory and friends. But, which object oriented patterns are en vogue in the PHP world and how can you seize their power? This talk gives you an overview on Dependency Injection, Data Mapper and more OO patterns the PHP world talks about right know, using practical code examples.

Tobias Schlitt
25/02/2011 - 16:30 - 17:30

Agility and Quality

Agility and Quality

Agile methodologies and processes have changed how PHP-based software projects are realized. This session gives an overview on how agility and quality can go hand-in-hand helping to deliver software on time and in budget. Agility does not stop at software development, though, but extends into other realms such as web operations. The audience will learn about some of the core ideas of DevOps, such as 'Dark Launches', 'Feature Flags' or 'Gradual Ramps' that help with implementing continuous deployment strategies.

Sebastian Bergmann
25/02/2011 - 12:00 - 13:00

Beyond Frameworks

Beyond Frameworks

Following 'Living With Frameworks' at PHP UK Conference 2009, this session will show the the audience how we've broken free of the dependency on any one framework by using a component-based architecture and supporting tools allowing us to achieve much better code re-use across the business and associated technical teams.

This talk will show you the problems that happen when you throw your lot in with any one framework to build and maintain a product over a period of time. You'll be introduced to a more mature PHP application stack where the MVC framework is part of a layered architecture and the tools we have built in-house (and released as open-source) to speed up working with this approach.

Stuart Herbert
25/02/2011 - 15:15 - 16:15

Big Data web - Big Data science - Big Data mining

Big Data web

The role of data science is becoming more prominent as the big data web emerges. This talk introduces the role of the data scientist and how data mining techniques are being applied, some using PHP. We are not talking application data but about creating new “... value from the data itself, … it’s a data product.” to quote the, O'Reilly Radar Report: What is Data Science?

Data touches everything. Understanding it all is the biggest problem out there to solve. Data crosses all industries, all parts of a business and all that makes up life. The future web is about finding answers, discoveries, stitching together sources, busting data silos to release the next level of collective wisdom for society.

This talk will set the scene of the big data web, share Data Scientist case studies and take a hands on look at text data mining code.

James Littlejohn
24/02/2012 - 10:50 - 11:50

Building and deploying applications with Phing

Building and deploying applications with Phing

Building and deploying an application can be tedious and error-prone. Using Phing's rich set of tasks, easy extension points and simple XML build files to handle the building, packaging, deploying and testing of your application can help you save time and increase quality.

During this talk you will be introduced to the workings of Phing, and how to tailor the tool to your specific situation. A number of demonstrations will help illustrate file transformation, database migration, packaging, application deployment and other real-world use cases.

Michiel Rook
24/02/2012 - 16:00 - 16:45

Cheat your way with UX

cheat-your-way-with-ux-PHPConf.png

When we have an idea, it's tempting to dive headfirst into coding it and making it real. This is a great skill set that we have, but it can potentially harm our dream of building a great web site or a cool app; it is very easy to solve the wrong problem. Worse still, you might not find out that you've built an impractical solution until after you have invested a lot of time and passion into an idea doomed to fail.

In this session, we will explore how we can get closer to the problem we ought to solve, and get a better idea who our potential customers or users might be. We will look at some user experience design (UX) tools and activities that help us refine objectives, pave the way for making decisions, and determine the shape of a minimum viable product—before we need to write a single line of code.

Stephanie Troeth
25/02/2012 - 14:00 - 14:45

Continuous Improvement in PHP Projects

Continuous Improvement in PHP Projects

We all know Continuous Integration and Continuous Inspection with PHPUnit, Hudson/phpUnderControl and other PHP QA Tools. But nowadays software gets more complex and we need a third CI process: Continuous Improvement. This process includes anti pattern detection, technical debt analysis and static code analysis. The talk will present tools like the PHP_CodeBrowser, Cinder and PHPMD.

Thorsten Rinne
25/02/2011 - 14:00 - 15:00

Creative Coding - why “doing nothing” doesn’t mean you’re not working

Creative Coding

As programmers we create the most fantastic systems and constructions out of nothing, and there are endless possibilities in achieving this. Yet we are still confided by the structure and rules of the language we use, which makes programming an exciting profession to be in: in the cross fire of creativeness and boundaries. Our most important tool, no, not Vim, but the brain, can handle this perfectly well. Unfortunately, and much like the rest of the world, there is a clear focus on logic, rationality, and knowledge of the parts. An expert coder is also intuitive, creative, and remembers to include the whole picture.

This talk covers the creative process, our dual CPU-brain and the cognitive skills needed for successful programming. As an added bonus we will also investigate why doing nothing does not mean you are not working.

June Henriksen
24/02/2012 - 14:00 - 14:45

Data abstraction in large web applications

Data abstraction in large web applications

The principles of abstraction are drilled into us repeatedly, and we work hard to abstract the layers of our applications. Abstraction between layers is excellent, but what about abstraction within layers, especially the data layer? Many developers still build database-centric applications, and then struggle the day they need an additional or new data source. Learn the reasons why this is a poor design choice, and the best ways to avoid it.

Brandon Savage
24/02/2012 - 12:00 - 13:00

Develop & deploy using hybrid cloud strategies

Develop & deploy using hybrid cloud strategies

Most developers choose a single cloud solution when choosing a production platform. Nowadays The Hybrid Cloud is the best way to go: combining a stable hosting solution with distributed and burstable unmanaged Cloud platforms.

This talk will combine standard server hosting with cloud platforms such as Azure and AWS for computing, storage & CDN. Besides the technical aspect, there will be a strong focus on best practices from an infrastructure point of view.

Thijs Feryn
24/02/2012 - 12:00 - 13:00

Distribute the workload

Distribute the workload

Many services/applications nowadays are ill-equipped with handling a sudden rush of popularity, as is often the case on the Internet these days, to the point where the services either become unavailable or unbearably slow.

By taking a chapter from the ant colonies in the wild, where their strength lies in their numbers and the fact that everyone works together towards the same goal, we can apply the same principle to our service by using systems such as:

  • load balancers
  • message queues
  • gearman
  • memcache
  • daemons

and a few others, and you can achieve greater performance, more redundancy, higher availability and have the ability to scale your services up and down as required easily.

During this talk attendees will be lead through the world of distributed systems and scalability, and shown the how, where and what, of how to take the average application and splitting it into smaller more manageable pieces.

Helgi Þorbjörnsson
24/02/2012 - 14:50 - 15:35

Growing up with PHP

Growing up with PHP

PHP is at the same time one of the easiest web programming languages to learn and also one of the most powerful and trusted technologies for running some of the world's largest sites. This talk discusses many of the tools and techniques that make PHP suitable for large scale enterprise sites, and many of the lessons we learned over a decade of building them.

Andrew Betts
24/02/2011 - 19:00 - 23:30

HTML5 and CSS3 Today

For years web developers have used hacks, sweat and black magic to bend HTML and CSS into submission and achieve visual effects across browsers that really shouldn't be so difficult.

With HTML5 and CSS3 comes the promise that one day we will be able to play video, create animations and round corners without the need for plugins and with the guarantee that the same code will work in all browsers.

Back in the real world, developers have to navigate the complex issues around HTML5 and CSS3 caused by browser differences, backwards compatibility and an ever evolving standard. This talk introduces HTML5 and CSS3 using demos that will illustrate how to use these new technologies today, but ensure they don't break tomorrow.

Martin Beeby
25/02/2011 - 10:45 - 11:45

HTML5 for PHP developers

HTML5 for PHP developers

In a world of single page applications, touchable and swipable interfaces, canvas, browser-based storage and geolocation APIs, the humble PHP developer might be forgiven for thinking that their JavaScript colleagues are stealing all the glory. And, er, you'd be right. But getting the most from the browser means being smarter about what you do server-side, too.

This talk explores a number of different approaches to designing your web application's back end to make it easier to build awesome browser based applications.

Andrew Betts
25/02/2012 - 14:50 - 15:35

Introduction: MongoDB with PHP

Introduction: MongoDB with PHP

An introduction to using MongoDB with PHP. Introducing MongoDB and why it’s a good match for PHP and instructing on basic schema design in MongoDB. Demonstrating how to connect to the database, perform CRUD operations and perform queries. Finally, summarize the community tools and libraries available in PHP and why one would use them.

Derick Rethans
25/02/2012 - 14:50 - 15:35

Large-scale Data Processing with Hadoop and PHP

Large-Scale Data Processing with Hadoop and PHP

The MapReduce framework promises to make computing of large sets of data very easy. The approach offers excellent scalability across many computing nodes, and can easily be integrated with existing systems. This session will give an introduction to the basic techniques and ideas behind MapReduce, followed by hands-on examples using Apache Hadoop, a major implementation of MapReduce, and Hadoop's streaming functionality that allows users to write processing jobs not just in Java, but in any programming language, including PHP.

David Zülke
25/02/2011 - 14:00 - 15:00

Masterizing PHP Data Structure 102

Masterizing PHP Data Structure 102

We all have certainly learned data structures at school: arrays, lists, sets, stacks, queues (LIFO/FIFO), heaps, associative arrays, trees, ... and what do we mostly use in PHP? The "array"! In most cases, we do everything and anything with it but we stumble upon it when profiling code.

During this session, we'll learn again to use the structures appropriately, leaning closer on the way to employ arrays, the SPL and other structures from PHP extensions as well.

Patrick Allaert
25/02/2012 - 10:50 - 11:50

Monitoring your back-end for speed and profit

Monitoring your back-end for speed and profit

At the BBC we are preparing for the some big events in the coming year (the Olympics amongst them), as we don't have to cash to splash on new hardware in the current economic climate and our frozen license fee.

The BBC runs approximate 300 websites all contained with bbc.co.uk and running on the same hardware. This means that a spike in traffic on /weather affects /iplayer and all other sites hosted on our platform.

This talk will show some of the things we've been doing to benchmark our platform (the PHP, ZF portion anyway) and highlight poor performing sections of our site and address them.

I will explain some of the tools we've written and technologies we've used to achieve this on a relatively short timescale with limited budget.

This will cover our experience of using XHProf for the first time and augmenting Zend Framework to generate HAR (Http Archive) format files to expose the service calls our platform makes and how we’ve approached optimising them.

Andy 'Bob' Brockhurst
25/02/2012 - 12:00 - 13:00

MySQL update

MySQL update

Oracle has been putting a great deal of manpower and money into MySQL product line. This session covers the new features such as NoSQL access to MySQL Cluster or InnoDB data, plug-in authentication, thread pooling, the PHP mysqlnd native driver, and other items that will make your life easier.

Dave Stokes
25/02/2012 - 14:00 - 14:45

NoSQL Databases: What, When and Why

NoSQL Databases: Why, what and when

NoSQL databases get a lot of press coverage, but there seems to be a lot of confusion surrounding them, as in which situations they work better than a Relational Database, and how to choose one over another. This talk will give an overview of the NoSQL landscape and a classification for the different architectural categories, clarifying the base concepts and the terminology, and will provide a comparison of the features, the strengths and the drawbacks of the most popular projects (CouchDB, MongoDB, Riak, Redis, Membase, Neo4j, Cassandra, HBase, Hypertable).

Lorenzo Alberton
25/02/2011 - 15:15 - 16:15

Open source search: an analysis

justin_finkelstein_search_icon.jpg

Search is fast becoming the foundation for most modern web sites; users need to be able to find the product or information they want fast, accurately and have the capability to refine their search in variety of ways. This talk looks at a number of different Open Source search engines and provides an analysis on their ease of implementation, response times and capability to handle a variety of different data together with an overall feature comparison through a series of worked examples.

Justin Finkelstein
25/02/2012 - 12:00 - 13:00

Optimising a Zend Framework application

Optimising a Zend Framework application

This talk will look at strategies to improve the performance of a Zend Framework 1 application. We'll start with measuring the performance and then provide some ideas on how to improve the performance.

Starting with, class loading, we'll then walk through Zend_Db's performance and then cast our eyes over the view to improve performance there. We'll then take a look at other potential bottlenecks in typical Zend Framework code and consider how what you need to do to improve your application's performance.

Rob Allen
25/02/2011 - 15:15 - 16:15

PHP 5.4: the new bits

PHP 5.4: the new bits

PHP 5.4 is about to be unleashed into the world; bringing some of the most exciting changes to the PHP language to date. Learn about traits, array dereferencing, indirect method calls using array callback syntax and improvements to closures and streams.

Additionally, we'll go back over the new bits in PHP 5.3, in case you missed them! Namespaces, closures and PHAR, oh my!

Davey Shafik
24/02/2012 - 12:00 - 13:00