Register Now

Wellington - August 27th-29th - 2014

Victoria University


Talks 2014 – New Zealand PHP Conference

Rasmus Lerdorf

Coding and Dreaming – PHP in 2014 – Keynote

Presented by Rasmus Lerdorf
Nate Abele

Designing Hypermedia APIs with PHP

If you keep up with the news in the world of API design, you’ve probably heard that the term ‘REST’ is no longer en vogue, and ‘hypermedia’ is the new hotness, but what does it mean, and what’s the difference? This talk aims to provide you with a solid understanding of hypermedia principles, why they’re a good idea, and how to apply them to your APIs. We’ll also walk through code examples for a real-world APIs, and show how hypermedia principles were used to maintain a flexible client/server architecture.

Presented by Nate Abele
Joshua Thijssen

The first few milliseconds of HTTPS

What happens when your browser connects to a HTTPS secure site?
We all know it has to do something with certificates, blue and green address bars and sometimes your browser will give warnings which we normally click away.

But what actually happens under the hood? In this talk I will give a step-by-step explanation on the first few hundred milliseconds during a connection to HTTPS. We will talk about master secrets, shared secrets, cipher suites, x509 certificates and why secure does not (always) mean secure.

Presented by Joshua Thijssen
Katie Miller

Cloud Craft for Spatial Cadets

All over the web people are doing amazing things with spatial; this session will give you the necessary know-how to get started with your own cloud mapping app project. The talk will cover the basics of Platform as a Service and introduce Red Hat’s open source OpenShift PaaS. There will be a demonstration of how to fire up an auto-scaling spatial app with PHP and MongoDB on OpenShift. We will then hit the app with some load to experiment with the scaling spatial goodness.

Presented by Katie Miller
Dustin Whittle

Scaling PHP in the real world!

PHP is used by the likes of Facebook, Yahoo, Zynga, Tumblr, Etsy, and Wikipedia. How do the largest internet companies scale PHP to meet their demand? Join this session and find out how to use the latest tools in PHP for developing high performance applications. We’ll take a look at common techniques for scaling PHP applications and best practices for profiling and optimizing performance.

After this session, you’ll leave prepared to tackle your next enterprise PHP project.

Presented by Dustin Whittle
Hamish Friedlander

Grown Up PHP

PHP has an unfortunate reputation for being an adolescent language, the language of the impatient, of the quick hack, of arrogant use of power and poor risk analysis. A reputation that in the past it has at least partly deserved. But no more – with it’s ecosystem of tools and libraries, PHP projects are increasingly ignoring PHP’s reputation, and using it to write proper, grown up code.

This is a review of some of these tools and libraries, covering the gamut of frameworks, code and dependancy management tools, testing systems and deployment control, both what we use at SilverStripe and other things we’d like to.

Presented by Hamish Friedlander
Ben Marks

Finding Your Way: Understanding Magento Code

With millions of lines of code, an unconventional approach to MVC framework architecture, and unique concepts such as layout XML, Magento can be intimidating for the new developer and even difficult for experienced Magento developers.

This talk aims to help developers find answers in the codebase by breaking down the technologies, design patterns, and module structure into intuitive chunks. Starting with a high level view of Magento’s MVC implementation, a pre-developed module is dissected in order to demonstrate various areas of the framework as well as the application-level settings and features which can thwart (or aide!) developers.

Topics covered include the following:
* MVC theory as implemented by Magento, especially the thin-controller, fat-view concept
* Overall module architecture * Finding method definitions when grep won’t work, aka “when __call() strikes”
* Identifying poor-performing code using native code profiling tools
* An infallible (well, nearly-infallible) flowchart for finding problematic code
* Essential developer preparations

Presented by Ben Marks
Brandon Savage

The Seven Deadly Sins of Object Orientation

From tight coupling to inheritance errors, even the most experienced developers can commit one of the seven deadly sins of object oriented development. What are the sins? How can you avoid falling victim to them?

What should you do if they’re already in your code? Come and find out!

Presented by Brandon Savage
Aaron Morton

Your first Apache Cassandra Application

Apache Cassandra is a fast, distributed, highly available database that powers sites such as Netflix, Ebay and Instragram. It scales linearly and provides for constant uptime through it’s Amazon Dynamo inspired cluster management. All that means you can take an application from your laptop to a geographically redundancy high performance cluster with a few configuration changes.

In this talk Aaron Morton, co-founder at and Apache Cassandra Committer, will explain how the Cassandra cluster works before stepping through a sample application using CQL3 language.

Presented by Aaron Morton
Yann Larrivée

10 warning signs to watch for to prevent project failure.

It is know that in the IT industry project have a high percentage of failure. But what if we could see the warning signs before it is too late?

In this presentation, Yann Larrivée will explain through story telling the 10 warning signs you should look for throughout the implementation of your project in order to prevent many sleepless nights and project failure. For each warning signs one or more solutions will be given.

This eye opening presentation is aimed to help developments, project managers, executive identify problems before they become fatal.

Presented by Yann Larrivée
Yusuke Ando

Testing your php application with Selenium on Travis CI.

This talk will provide information of testing your php application with Selenium and TravisCI. Basics of Selenium WebDriver and Travis CI will be covered as well.

Presented by Yusuke Ando
Christopher Pitt

Asynchronous PHP

PHP has emerged from it’s dark past; just in time to learn from the advances in event-based programming languages/platforms. As a result; there is vast, untapped potential in developing event-based, real-time applications. Utilising emerging open-source projects, like ReactPHP and Ratchet, PHP developers can join the party.

Presented by Christopher Pitt
Dave Clark

Rapid API development with Apigility

When the development of Apigility was first announced at Zendcon in 2013 it was clear there would be benefits for rapid API development. Now that version 1.0 has been released including support for multiple authentication strategies, it’s a perfect time to start incorporating it into your workflow today. I’ll walk you through the ‘must know’ features with examples of how to build a API centric system to save time and gain a commercial advantage.

Presented by Dave Clark
Ben Dechrai

Web Application Security: Winning When The Odds Are Against You

Even the simplest web application has so many vectors of attack, it’s no wonder most people forget at least one. Web applications aren’t stand-alone; they are built upon frameworks, upon platforms, upon core libraries, each of which could suffer from vulnerabilities you’re not only unaware of, you’re statistically unlikely to discover them all. Consider, for example, the recent OpenSSL “Heartbleed” Bug.

We hear about security vulnerabilities every week, now it’s time to experience them. Find out what the leading concerns are, and the not so common ones too, and experience live demonstrations of how these attacks play out.

This presentation aims to arm you with the mindset, tools and resources to minimise the opportunities for attack, and the reduce the fallout when they succeed. From cross-site scripting and session hijacking to brute force and man-in-the-middle attacks, you’re expected to cover all your bases so the bad guys can’t use a single one.

Presented by Ben Dechrai
Kyle Clarke

Code is my mistress: Part 1 – For the love of dumb.

The speed of new technology seems to be an ever increasing race. Can you keep up? Are you expected to? And is that even realistic?

Code can be a wicked mistress at times. Join me in my journey, my undying love of code. Sometimes painful, often absurd, but ultimately a journey to a plateau of resolve.

Although a motivational talk for any audience, this talk is aimed at one who has done the hard yards. Currently sitting atop a peak, looking to the next climb and perhaps a little unsure of their footing…

Leave your regrets at the door, bring a box of tissues. It’s time to embrace your inner dumb!

Presented by Kyle Clarke
Thiago Almeida

Running PHP on Microsoft Azure

In this session we will introduce Microsoft Azure and cover different options for running your PHP solutions on it – from Linux virtual machines to Azure Websites. This is a technical session and of course will include demos throughout! Some topics we will also cover:

• PHP Manager
• myPHPAdmin (Available in administrative console with your site)
• Monaco Editor (For quick and easy online edits to a virtualized developer machine, it’s that cool)
• Cron support (for all your background task needs)

Presented by Thiago Almeida
Mal Curtis

A tale of three languages

“We rewrote our app without the dreaded ‘rewrite’, and you can too. Whether you’re looking to change languages, re-architect or change framework – you’ll learn how. We’ll follow the seamless evolution of from a PHP app, to a Ruby; Python and PHP app, to a pure Ruby app. We’ll look at the design requirements, implementation details, ongoing process and (especially) the mistakes we made.”

Presented by Mal Curtis
Shaunak Kashyap

Working remotely: the good, the bad and the ugly

Remote collaboration is on the rise, particularly in the software industry. A majority of employees at companies like Automattic (makers of WordPress) and GitHub work remotely. I firmly believe remote working and collaboration is the future for
our industry.

Early on in my career, I was sent to Mumbai, India to setup a remote office for my US-based employer. Many years later, I was a manager at a startup in Silicon Valley and had the opportunity to manage a full-time remote employee. Today, I myself work remotely as a part of a distributed team of 20+ people at Rackspace.

These experiences have given me a diverse set of perspectives on remote work, from different angles and I’d like to share my perspectives with you. My presentation will explore some of the benefits and downsides of remote work, drawing on my as well as others’ experiences.

If you are looking to become a remote employee or are an employer with remote employees on your team, this talk is for you!

Presented by Shaunak Kashyap
Max Milaney

Beyond obfuscation: The law, compilation, and protecting your brainpower

PHP obfuscators have been commercially available for quite some time but do not completely your code, or more importantly, your ideas. Interest in compilation of PHP to intermediate and machine code has taken off in the last 7 years and presents many new options to developers. In this age of very rapid open-source development, many programmers are not aware of the legal and commercial consequences of developing applications for the enterprise sphere.

In this talk, Max will discuss approaches to protecting and licensing your software in a highly competitive industry using both technical and general legal principles. Existing commercial and open-source projects will be introduced from a technical perspective and then examined in how they might impact both the security of your intellectual property and the security of your client’s data from a business perspective. Advantages of various compilation techniques will be discussed, with a primary focus on Windows, which, despite often being an afterthought by the OSS community, still dominates much of the SMB sphere.

At the end of this talk, you will walk away with an idea of how at least one concrete technology might integrate into your existing build toolchain, and a number of tips to consider when writing your next contract to help you protect your brainpower and avoid common mistakes.

Presented by Max Milaney
Dominic Scheirlinck

Dismantling the Monolith

PHP has a rich tradition of full-stack MVC frameworks, while more modern PHP frameworks are decoupled and modular. But how can you get from one to the other, without selling the farm by rewriting everything? Examining service objects, containerisation, domain driven design and dependency injection, all as a means of improving scalability (especially as your team size grows).

Presented by Dominic Scheirlinck
John-Daniel Trask

Building a scalable backend with Elastic Search

John-Daniel Trask talks about building and scaling The key focus will be how the team leveraged ElasticSearch, some of the tricks for new users, and how you can use it in your own applications quickly and easily.

Presented by John-Daniel Trask