Talks

Note: Talks are subject to change.

PHP is the king, nodejs is the prince and Lua is the fool

By: Alessandro Cinelli
Track: Code all the Things
Discussion: PHP is the king, nodejs is the prince and Lua is the fool
Keywords: PHP, SOA, API, Nodejs, Architecture

"PHP is the king, nodejs is the prince and Lua is the fool" How funny and rewarding is to integrate different technologies in your stack

In Namshi, an emirati e-commerce retailer, we are using different technologies to boost our architecture. Last year the architecture changed a lot, using an SOA paradigm to meet expectations and the huge increase of traffic from several millions users.

In this talk I will show how funny and rewarding is to integrate different technologies in your stack, with PHP always being the king of the whole system.

Timeless Leadership Lessons from Shackleton's Epic Antarctic Expedition

By: Jillian Murphy
Track: User Experience
Discussion: Timeless Leadership Lessons from Shackleton's Epic Antarctic Expedition
Keywords: Leadership, Teamwork, Adventure, Survival, Strategies For Success

The presentation recounts the saga of legendary Antarctic explorer, Ernest Shackleton. On December 5, 1914, Shackleton and 27 men sailed from South Georgia Island in the Southern Ocean aboard a wooden vessel named the Endurance. Their burning goal was to

Picture this -- Your ship is crushed and you are left stranded on solid pack ice in Antarctica. Could your team make it to safety? Would your leaders rise to the challenge?



We will recount the dramatic saga of legendary Antarctic explorer, Ernest Shackleton. Based on Jillian's bestselling book, the talk outlines Ten Critical Strategies for Success used by leaders and teams at the limits of physical survival that can be applied in any challenging business environment.



Featuring photos and videos, the program will show the extraordinary difference that strong leadership and teamwork can make under conditions of adversity, uncertainty and change.

A complete php form example

By: Robert Erickson
Track: Code all the Things
Discussion: A complete php form example
Keywords: PHP, Forms, Usability, Sanitize Data

Beginners like to create something that gives them a sense of accomplishment and this form does just that.

Stepping through a complete form process starting with html but implementing PHP to provide a sticky form, with error messages and validation using this example :

https://github.com/Robert-Erickson/web-form/commits/master

The end result will save, email and display the information provided.

Emergency Content Strategy Survival Guide

By: Heather O'Neill
Track: User Experience
Discussion: Emergency Content Strategy Survival Guide
Keywords: Content Strategy, UX, Ad-hoc

For those home-grown, cash-strapped, gotta-launch-in-3-days efforts where the content needs to be done, and needs to be done right - and it needs to be done by you - break out your Content Strategy Survival Kit, tucked in your desk under emergency glass. Attendees will learn simple, practical content strategy tips and techniques so that they can put on their content strategist hats whenever the need arises.

Enforcing Coding Standards with PHPCodeSniffer

By: Bradley Jacobs
Track: Tools for your Arsenal
Discussion: Enforcing Coding Standards with PHPCodeSniffer
Keywords: PHP, Tools, Coding Standards

Coding standards make code consistent, readable and maintainable, but can be difficult to enforce across teams. Enter, PHPCodeSniffer.

Coding standards help make code consistent, readable and maintainable. It can be difficult to enforce those standards across teams, though. Enter, PHPCodeSniffer. We'll take a look at this command line tool, how to create 'sniffs', using a sublime-text extension and then use the sniffs on existing code.

PHP for Toasters and Everything Else

By: Robert Cohn
Track: Code all the Things
Discussion: PHP for Toasters and Everything Else
Keywords: PHP, Nodejs, Javascript, Internet Of Things, IOT

Overview of how to program IOT devices with web technologies.

Internet of Things (IOT) devices are now powerful enough to run PHP and nodejs and can be used to control everything from toasters to lawn sprinklers. I will give an overview of IOT, talk about how to write applications with web technologies, and then demonstrate an internet connected toaster programmed with PHP.

Inside the Tech Challenges of Wikimedia Engineering

By: Terry Chay
Track: User Experience
Discussion: Inside the Tech Challenges of Wikimedia Engineering
Keywords: Wikipedia, PHP, Architecture, UX

What are Wikipedia's engineering challenges and how do they solve them? Terry Chay will pull back the curtain on this top 5 web site.

Wikipedia is the 5th largest website on the Internet, and there a number of factors that make it a veritable challenge for the engineering team.

Wikimedia Director of Features Engineering Terry Chay will discuss how Wikipedia tackles its technical hurdles and approaches sticky situations.

Keynote : Revolutionising Capabilities in Civic Technology

By: Frances Berriman
Track: Code all the Things
Discussion: Keynote : Revolutionising Capabilities in Civic Technology
Keywords: Civic Hacking, PHP, UX, America, Keynote

Technology in governments has become a hot topic over the last couple of years, with some landmark projects moving the needle on what it looks like to create successful, useful, digital services for real people. Frances will talk about some of these projects, what it took to make them happen, and how civic-minded technologists and designers like you can use your skills for good.




Frances Berriman is a British developer who relocated from London to San Francisco in the summer of 2013, joining Code for America in January 2014. She previously worked as the front-end lead for GOV.UK, the UK Government Digital Service's award-winning flagship project that formed a key part of the digital strategy overhaul of services for citizens in the UK. She brings her expertise in this field to the tech team and as an advisor to the various CfA program participants.


Listen to an audio Podcast with Jen Kramer and France Berriman

How to Win Friends and Influence Developers

By: Ben Edmunds
Track: User Experience
Discussion: How to Win Friends and Influence Developers
Keywords: Softskills, Management

Learn how to get along well with your co-workers and work your way up the corporate ladder. Or better yet, burn it down. Politely of course.

In this session we will lay out several soft skills for developers

Working well with your co-workers.
How to look good in the eyes of management without giving up your opinion or dignity.
Basic pointers for leading other developers.
How to get involved and excel at open source projects.

Profiling Your PHP with XDebug and Cachegrind

By: Lincoln Maskey
Track: Tools for your Arsenal
Discussion: Profiling Your PHP with XDebug and Cachegrind
Keywords: Xdebug, Profiling, Cachegrind

In this basic primer, Lincoln will introduce you to the profiling features of XDebug. Following that, he will run through a small example program and begin to profile that code using a Cachegrind GUI as an example for finding optimizations. The goal is simply to understand the workflow of profiling your code and learn how to quickly find, understand and resolve possible bottlenecks.

Networking isn't scary!

By: Jonathan Barronville
Track: Code all the Things
Discussion: Networking isn't scary!
Keywords: Networking, TCP, IP, UDP, Http, OSI

This is a fun talk introducing networking (TCP/IP, UDP, and more) to developers who usually use most of the networking stack as black box.

Networking is one of those interesting topics a lot of folks avoid. It turns out that even web developers, who build web apps on the networking stack, avoid having to understand the underlying and concepts and just use them as black boxes. The goal of this talk is to change that!

Modern Development With PHP

By: Andrew Curioso
Track: Code all the Things
Discussion: Modern Development With PHP
Keywords: PHP, Composer, Jenkins, Continuous Integration, PHPUnit, Unit Testing, Functional Testing, HHVM

Throw your expectations aside. This is PHP in 2014.

PHP projects are spaghetti code, poorly designed, and slow. At least that is what people have been saying for years. This fast-paced talk covers the modern PHP project from start to finish. That is to say: object oriented, dependency managed, unit tested, continuously integrated, and horizontally scalable PHP.

Code Quality, By The Numbers

By: Anthony Ferrara
Track: Tools for your Arsenal
Discussion: Code Quality, By The Numbers
Keywords: PHP, Code Quality

Quite often we hear people talking about how to write better code, how to build systems better or how to leverage new technologies to produce better software. But how can we objectively quantify whether code is good or if it needs improving? How can we analyze an existing codebase to see what parts need improvement without spending weeks reading through the source code? The answer is provided by static analysis tools like pDepend and PHPLOC. But the results that they produce can be extremely cryptic and hard to understand. From acronyms like NPATH and CRAP to metrics like Cyclomatic Complexity and Fanout, there's a whole treasure trove of information just waiting to be descifered. In this talk, we'll explore some of the tools available for measuring software quality. We'll dive into some of the theory behind the metrics that they analyze while looking at some real world applications of those metrics. We'll also explore how to use these tools to gain valuable insight into legacy codebases. Finally, we'll look into methods to integrate those metrics into your development workflow to help improve the quality of the applications that you build.

Out of the Silos and Into the Farm

By: Marli Mesibov
Track: User Experience
Discussion: Out of the Silos and Into the Farm
Keywords: Collaboration, Agile, UX, Content Strategy, Design

In this talk, we'll take a look at how agile methodology, communication, and UX can work together to create better end products.

Whether you're a UX team of one, or a developer or designer on a large team, collaboration can be difficult. We all know silos aren't the answer, so how do you work together without stepping on toes or forcing the whole team to wait at each step of the process? In this talk, we'll take a look at how agile methodology, communication, and UX can work together to ease the design products, and create better end products.

Building HTML5 Games

By: Scott Mattocks
Track: User Experience
Discussion: Building HTML5 Games
Keywords: JavaScript, Mobile, HTML5

Learn how to make HTML5 games for mobile and desktop.

GSN has built a library of HTML5 based games that can be played on mobile and desktop devices. In this talk we will show how the games were made and talk about the troubles we ran into along the way. The audience should leave with a better understanding of how to make multi-platform games.

Easing into PHP Object Oriented Programming (OOP)

By: Bill Sanders
Track: Code all the Things
Discussion: Easing into PHP Object Oriented Programming (OOP)
Keywords: OOP, PHP, Object Oriented

Shows how learning and using OOP programming in PHP will make you a more effective and efficient programmer and increase your job prospects.

Many PHP programmers would like to learn object oriented programming (OOP) do not. This presentation shows that PHP is an OOP language and no more difficult to learn than sequential programming, it can be learned without stopping current programming practices, and is designed for practical tasks.

Cinematic UX Design

By: David Kelleher
Track: User Experience
Discussion: Cinematic UX Design
Keywords: UX, Cinema, HTML5, CSS, PHP

Discover how filmmaking concepts can be applied to cinematic UX design for interactive music videos and other innovative content experiences.

HTML5 and PHP have expanded design beyond the traditional page model. "The movies" are a source of inspiration for a new generation of websites such as interactive music videos. Discover the "cinematic language" used by filmmakers to deliver emotional experiences, and see code that makes it work.

Web Security and You

By: Oscar Merida
Track: Tools for your Arsenal
Discussion: Web Security and You
Keywords: Security, Web Security, PHP, XSS, CSRF

XSS, CSRF, Hijacking, Injection, ClickJacking... Come learn all the basics that you NEED to know to protect your software on the web.

This talk will focus on XSS, CSRF, Session Hijacking, SQL Injection, and other security vulnerabilities that need addressed in Website Development. This talk will cover a gambit of these issues, giving specific code examples showing what the vulnerabilities look like and how to identify them. It will then present solutions to close them down and protect yourself.

Tonight We're Gonna Code Like It's 1999: Creating Responsive Emails

By: Jennifer Wong
Track: User Experience
Discussion: Tonight We're Gonna Code Like It's 1999: Creating Responsive Emails
Keywords: Emails, Responsive, CSS,

Responsive emails aren’t just about coding like it’s 1999. They’ve grown up: learn their hints, tricks, and strategies in 2014.

It's the moment you've been dreading: the project of redesigning all consumer facing emails AND making them responsive becomes yours. And you've heard the rumors: designing emails means coding like it's 1999, creating tables and adding styles inline (heaven forbid!), and throwing best practices and hopes of compatibility out the window. BREATHE. In this session, I'll help you get your emails in shape for 2014 and ready for the responsive spotlight by showing you:

* Why you need a reusable, maintainable template (or three) and how to do that.
* When and how to use media queries and the ever controversial !important.
* How to make desktop, mobile, and web-based clients play nicely, and which ones to watch out for (sneaky devils).
* Third-party tools and knowledgeable blogs that weed through the ugliness and what parts you still need to code by hand.

Under the hood of the HHVM JIT Compiler

By: Ed Smith
Track: Tools for your Arsenal
Discussion: Under the hood of the HHVM JIT Compiler
Keywords: Hhvm, Hack, Hacklang, Llvm, Facebook

There are about as many compilation strategies as there are PHP engines. The just-in-time (JIT) compiler inside Hip Hop Virtual Machine (HHVM), an open-source virtual machine designed for executing programs written in PHP and Hack, has been evolving quickly in the last year or two. Come hear the latest on how it compiles your standard PHP to optimized X86-64 machine code. HHVM uses a three-stage approach including an interpreter, profiling mode, an optimized mode, and we're busy at work experimenting with LLVM.

Refactoring Legacy Code

By: Adam Culp
Track: Code all the Things
Discussion: Refactoring Legacy Code
Keywords: PHP, Legacy Code, Refactoring

Faced with legacy code we rewrote, feeling it will be easier. There are many reasons this can be wrong. Adam Culp will talks about the journey of refactoring a legacy code base. He'll begin with assessment, move on to planning, cover execution and testing, with step-by-step examples.

Demystifying the REST API

By: Samantha Quinones
Track: Code all the Things
Discussion: Demystifying the REST API
Keywords: REST, APIs, Theory

REST APIs are not always well understood. Let's get back to basics and talk about what REST is any why it makes the web a better place.

RESTful APIs are all the rage in the web development community, but there's a surprising lack of consensus about how to build them the right way. If you've ever been confused about whether to use PUT or POST, or found yourself wondering what the heck an unsafe non-idempotent operation is, this talk will set you straight.

Lightning Critiques

By: Jason Mark
Track: User Experience
Discussion: Lightning Critiques
Keywords: Usability, Design, Layout, All Levels, Results, Data, Brand, Visual Identity

Real world critique of real projects by professional w/20+ years industry experience. Make your design more successful in 5m. #ChallengeMe

Watch as creative guru Jason Mark, co-founder of Gravity Switch, critiques over a dozen screenshots submitted by conference attendees. This isn't just a list of design rules, but instead a chance to see design rules articulated and applied in real-time with real-world examples. Accessible to seasoned designers as well as design newcomers, the talk will highlight elements of great design and point out rookie mistakes you may make. Does your app stack up? Bring your work and an open mind as well as your personal branding challenges.

Whatever your level is, I can make your design more successful in 5 minutes. Try me.

Automated Web Testing with Jenkins and Selenium RC

By: Raymond Plante
Track: Tools for your Arsenal
Discussion: Automated Web Testing with Jenkins and Selenium RC
Keywords: Jenkins, Selenium, Testing, Continuous Integration

Automated running of Selenium tests inside of Jenkins CI

Automate your web testing! This talk will review Selenium / Selenium RC and then review how to set up, run, and report the Selenium tests via the Continuous Integration platform Jenkins using Selinum RC in headless mode on Linux. It will cover in detail all necessary Jenkins plugins and components.

API First: Design First, Prototype First with RAML

By: Mike Stowe
Track: Tools for your Arsenal
Discussion: API First: Design First, Prototype First with RAML
Keywords: Raml, API, REST, RESTful, Documentation, Design

API dev today is code first and design later. In this session we'll take a look at how to test your API before writing one line of code!

The greatest challenge in software development is designing for longevity, especially when your application is being used by thousands of other developers and needs to remain backwards compatible. In this session we'll take a look at building a solid REST API with a quick overview of what it means to be REST, best practices, and how to use RAML to build a prototype of your API that can be critically reviewed by your developers before ever writing one line of code. We'll wrap up showing how the same RAML you wrote for designing your API works to keep your documentation up to date and provides even more powerful tools to get developers using your API right away.

Intro to Laravel 4

By: Ben Edmunds
Track: Tools for your Arsenal
Discussion: Intro to Laravel 4
Keywords: PHP, Frameworks, Laravel

Introduction to the Laravel 4 framework. Learn why this new framework has been taking the PHP world by storm.

Are you ashamed to admit you're a PHP developer? Have you been using the same old, boring PHP framework for years? Tired of your PHP applications turning into enormous beasts? Maybe you've heard about Laravel but haven't made the effort to dive into it? In this presentation, we'll walk through what makes Laravel an elegant, fun, and exciting framework to make PHP applications that you'll be proud of.

Real Unit Testing

By: Christopher Davis
Track: Code all the Things
Discussion: Real Unit Testing
Keywords: Testing, Unit Testing, PHP

Unit testing is not about checking every branch of every method. It’s about verifying the small parts of your application behave as expected.

Testing, contrary to popular belief, is not about code coverage. 100% coverage is a lofty goal, but developers should be more concerned with how objects behave. Tests simply answer the question: given a state, do my objects, functions, or routines behave as expected. Real Unit Testing covers strategies for exposing those behaviors and writing more meaningful tests that have the longevity to grow with you application.

On Selling Design

By: Steven Trevathan
Track: User Experience
Discussion: On Selling Design
Keywords: UX, Strategy, Design Thinking, Process

Realizing I no longer "sell" UX design, I just do it. In this talk I describe selling by doing and maintaining free and open communication.

I've realized in the last few years that I'm not really "selling" user experience design, I'm just doing it. In this talk I describe how I believe we can all "sell" design by just doing our jobs and maintaining free and open communication with clients/teams on product problems, solutions, goals, and strategies.

Composer: From Beginner to Expert

By: Jonathan Klein
Track: Tools for your Arsenal
Discussion: Composer: From Beginner to Expert
Keywords: Composer, Autoloading, Dependency Management

Learn how to use Composer to manage your PHP dependencies

Composer might be the biggest step forward in PHP dependency management that we have ever seen. It is easy to use, powerful, and versatile. In this talk you will learn how to set up a new project, find packages, create your own package, and how to use composer to autoload your own custom code.

Keynote : You're NOT doing usability testing? Are you… nuts?

By: Steve Krug
Discussion: Keynote : You're NOT doing usability testing? Are you… nuts?
Keywords: UX, Keynote, Usability, Design, DIY, Surgery

Advanced Common Sense

Anyone who’s tried doing it can tell you that usability testing is the best way--by far--to ensure that what you build (whether it's a web site, a mobile app, desktop software, a CMS, or anything else) is as good as it can be. But most people still think that usability testing is complicated, costly, and time consuming.


That can be true if you hire someone to do it for you. But Steve Krug will show you that you can--and should--be doing it yourself, and that DIY testing is simple, inexpensive, fast, and most of all, effective.


Based on the method he described in his second book, Rocket Surgery Made Easy, Steve's presentation will include a live usability test so you can see just how simple it can be.

PHP 5.NEW: The Best Bits

By: Davey Shafik
Track: Tools for your Arsenal
Discussion: PHP 5.NEW: The Best Bits
Keywords: PHP, Namespaces, Closures, Traits, Generators, Variadics, Splat, Composer, PSR-0, PSR-4, Autoloading

Get yourself up to speed with all the major new features in PHP since 5.3!

Are you still stuck on PHP 5.2? Looking to migrate from 5.3 to the latest and greatest?

This talk will cover all the best new features and tooling since PHP 5.3, all the way up to PHP 5.6 and beyond.

Namespaces, Closures, Traits, Generators, Variadics/Argument unpacking, Composer, PSR-0 & PSR-4 autoloading and more!

Not Your Grandmas PHP

By: Ben Edmunds
Track: Code all the Things
Discussion: Not Your Grandmas PHP
Keywords: PHP, FIG, Composer, PHP The Right Way

This ain't your grandma's PHP. Learn what's changed in the PHP world over the last few years. Covers language changes & community efforts.

This ain't your grandma's PHP anymore.

Classes, objects, statics, reflection, unit testing, github, composer; it's a whole new ballgame.

Learn what has changed in the PHP world over the last several years. We'll cover the newest PHP language features plus community efforts such as the PHP Framework Interoperability Group, Composer and PHP the Right Way.