Code all the Things

Note: Talks are subject to change.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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!