dpcradio

Speaker: Derick Rethans
This session explain a certain set of design issues for library code that either is often extended, or created with extending and inheritance in mind. There are many ways how a library can be designed to make it both easier to test, as well as for external developers to consume and use. This presentation provides techniques for doing so.

 

dpcradio

DPCRadio: Technical Debt

by dpcradio |  2 comments | August 17, 2010

Speaker: Elizabeth Naramore
Technical debt is something that most project teams or independent developers have to deal with – we take shortcuts to push out releases, we don’t focus on quality, deadlines need to be met, quick fixes slowly become the standard. Whatever the reason, if we don’t manage our technical debt (not unlike financial debt), before too long our applications are technically bankrupt, and we are forced to completely refactor and start anew.

In this talk, we will discuss what technical debt is, when it is acceptable and when it isn’t, and strategies for effectively managing it, both on an independent and team level. We’ll talk about how it affects the entire team and how to work through minimizing it, as well as working effectively as a team to address it.

(see also the slides from this talk: http://naramore.net/slides/DPC10-techdebt.pdf)

dpcradio

Speaker: Ilia Alshanetsky

APC and Memcache both provide effective mechanism for caching data within PHP applications to improve performance and latency. This talk will cover when to use both of these tools to get the most of your apps and which workflows better suit each tool.

 

Ivo Jansch

The first versions of most projects are self-contained applications. They work as-is, without any connection to other applications. It often isn’t until a later release that there is focus on interoperability. They build import/export functionality into their applications or add webservices that allow other applications to interact with it.

While this is an important steps toward application interoperability, there is often an important step missing. Most interoperable applications lack one final feature that allows full seamless integration: data sourcing, or the ability to get the data it needs from elsewhere.

(more…)

Ivo Jansch

In May and June we ran another one of our PHP coding contest. We love to play with PHP and offer people a chance to show off their coding skills in exchange for prizes!

This time the contest revolved around creating a class that satisfies a given unit test case.

The test case contained tests for 7 mathematical operations. The contestants did not only have to guess the actual operation, but also provide a class that implements the operation in as few lines as possible.

Two contests for the prize of one

Contest 1 – Smallest solution adhering to decent coding practices

The main contest was just that; because there was some discussion on twitter regarding the ‘fewest lines as possible’ we updated the contest with a rule about ‘good coding practice’ and we ignored coding standard issues; so a brace on the same line or on the next line was considered equally good, and we accepted both regular if constructs and the ternary operator. Some contestants removed all methods from their code and replaced it by a single __call construct, but our jury decided that that is not considered a decent coding practice.

(more…)

Lorna Mitchell

The Dutch PHP Conference is over for another year – we had a wonderful time hosting you all in Amsterdam and we were delighted so many people were able to join us for 3 days of serious technical learning (with some beer on the side of course!). While the event itself has finished, the content will live on in our DPC Radio podcast series, where we’ll be broadcasting audio from the main tracks at the conference through the year. Plenty of the speakers have already uploaded their slides, read on for a breakdown of ratings and links to slides for those talks that have them – and don’t forget to rate all the talks you saw on joind.in! (You can leave general event info too – click on the comments tab on the events page)

(more…)

Lorna Mitchell

In this world of sharing data, increasing numbers of sites and applications are making information available over web services. Whether we are building a service as a feature of our own development, or pulling in the information published by others, we will need to understand the different service types and how to work with them in PHP. This article aims to give you the tools to do just that.

(more…)

Cal Evans

Speaker: Eli White

Programmers seem to have a fairly good grasp on ‘how to write code’, but not always what to do with it once it’s been written. This talk with delve into details about how to manage your codebase, and how to manage releases (often intertwined). It will cover topics of coding standards and focus heavily on how you choose to use versioning tools to handle your development and release processes. It will have a distinct Subversion(SVN) flavor to the talk, but the concepts will not be specific to SVN.

Ivo Jansch

We recently wrapped up the Ibuildings Elephpant Challenge, a contest where a PHP Elephpant traveled around the world visiting a given set of landmarks. Contestants had to write a script that calculated the shortest route for the Elephpant. The contest has several side goals: entries were not not only validated against the given landmarks and a second secret set of landmarks, they also were scored based on their performance, code complexity and code size.

In this post, the winners will be announced and we will make some observations based on the contest.

(more…)

Cal Evans

Speaker: Paul Reinheimer
This talk will examine the two greatest problems in Ajax development (except for that pesky browser issue): Exactly what that “Asynchronous” word means, what problems it creates, and how they can be effectively managed, next the YUI Browser History object will be examined, finally handing control of Ajax applications back to the user via their familiar back button.

Lorna Mitchell

Recently we published a post about tips for dates and times in PHP, today I thought I’d follow on from Michael and add some more tips. In PHP 5.2 there is an object oriented approach to working with dates and times – the DateTime class! In the newer PHP 5.3 versions even more excellent functionality was added. This is a short post to introduce this functionality with a focus on the methods available in PHP 5.2 showing some simple examples of how we can more easily manipulate and display dates without needing to work with timestamps.

Cal Evans

Speaker: Juliette Reinders Folmer

With PHP6 in the works and said to be fully UTF-8 compliant, the interest in the community in using UTF-8 has grown. On top of that, with PHP entering the – often multilingual – enterprise web playing field, the benefits UTF-8 can bring are getting more attention.

Unfortunately most developers at one point or another run into problems implementing UTF-8.

In this talk I will cover UTF-8 from the basic linguistics, through client-side aspects to all the steps you need to take to tackle the most common (and some more obscure) issues when using UTF-8 in a database driven PHP application.