Adam Culp, organizer of the SunshinePHP Developer Conference and South Florida PHP Users Group (SoFloPHP) where he speaks regularly, is a Zend Certified PHP 5.3 Engineer. Adam is passionate about developing with PHP and enjoys helping others write good code, implement standards, refactor efficiently, and incorporate unit and functional tests into their projects. When he is not coding or contributing to various developer communities, and he can be found hiking around the United States National Parks, teaching judo, or participating in long distance running.
You have been wanting to use the "new shiny", but there are too many "Git how-tos" out there and you don't know where to start. This is not another one of those. Instead Adam Culp will give a practical walk through the development cycle and how to use Git as the source control. From initialization of a repository, adding, staging, cloning, and checkout, we will walk through a sample project and how most developers actually use Git to manage the workflow. Adam will also touch on how to use Git repository hosting providers, and how to use them with PAAS (Platform as a service) providers.
I'm a long time Web developer who has grappled with challenges both on the front and backend at various times over the years. In my spare time, I contribute to the PHP project, a smattering of repositories on GitHub, and play cricket very badly.
The release date may have slipped a bit, but 2012 saw the introduction of PHP 5.4. This added new features, but perhaps more importantly, removed a number of legacy “features” that had long since proved to be more problematic than useful.
2013 brings PHP 5.5 to the table, and where 5.4 looked backward to make PHP a more consistent language, 2013 sees PHP looking forward. In keeping with the trend over the last couple of years towards more frequent, smaller releases, this release is evolutionary rather than revolutionary, but a number of oft-requested language features such as generators and finally have been added, and a new password hashing API has been added which promises to finally sweep away the need for simplified wrapper libraries around crypt() and the hash functions.
In this talk, I’ll discuss how 5.4 has matured, what 5.5 will bring, and how the formal release process adopted between 5.3 and 5.4 affects developers and sysadmins maintaining PHP installs and the best ways to keep an up-to-date, secure PHP install.
Software architect with 10 years experience designing and creating software systems. Experience in everything from building start-ups, managing/coaching teams, to getting in the trenches with TDD.
After developing over 100 applications in the past 10 years, I've realized how dependent project success is on good design. Having worked from all angles (stakeholder, team lead, PM, consultant, solo), I've felt the pains and victories that I'd like to reflect and share. I'm going to discuss the following topics:
- Why design matters & How it affects development
- Design analysis using popular frameworks
- Solutions for businesses
- Writing quality software (testing, shelf life, etc.)
- Evolution of tools
Beth Tucker Long is the Editor-In-Chief of php|architect magazine (http://www.phparch.com) as well as teaching PHP courses and freelancing. You can find her on Twitter (@e3betht) or on her blog (http://www.alittleofboth.com). She runs Treeline Design - http://www.treelinedesign.com, a web development company, and Playlist Event Music - http://www.playlisteventmusic.com, a DJ company, along with her husband, Chris.
Continuous integration is a big picture idea for big projects, but what if your projects and pictures aren't big? Is continuous integration worthwhile for every day projects? Learn more about what continuous integration actually is, what tools are available to help you implement it, and how you can make it work for you, even in the small stuff.
A building works better with a solid foundation beneath it. The same is true for PHP. Whether you are new to programming or are just looking for a refresher, this session will take you through the basics. Beth Tucker Long will cover strings and arrays, conditions and loops, sessions and cookies, form validation and security, and writing your own functions. Best of all, Beth won't just talk about these concepts, she'll go through actual code, so you can see them in action. Bring your laptop, follow along, and you'll have a working application when you leave. Questions are welcomed!
For the last 10+ years, Chris has been involved in the PHP community in one way or another. These days he's the Senior Editor of PHPDeveloper.org and lead author for Websec.io, a site dedicated to teaching developers about security. He's written for several PHP publications and has spoken at conferences in both the U.S. and Europe. He's also an organizer of the DallasPHP User Group and the Lone Star PHP Conference.
There's a lot of bad practices and myths floating around about authentication and authorization these days. Using passwords just isn't good enough anymore. Come with me as I explore and dispel some of these common misconceptions and myths about these two important and often misunderstood topics. I'll talk about some of the most common techniques and look forward to tools and options that can help make your applications even more secure.
With APIs becoming the de-facto standard for getting things done on the web, it's more important than ever to provide the right kind of security for your application. The options can be overwhelming with things like OAuth, signed queries, shared certificates and token authentication just to name a few. I'll go through these and some of the questions you'll need to ask as you think about protecting your API and the data that lies within.
Chris Hartjes has been building web applications of all shapes and sizes since 1998, ranging from catalogs for CD compilations for professional DJ’s to large-scale dating web sites.
A huge consumer of open-source software, Chris tries to give back to the community via his blog, by speaking at conferences, and by co-organizing TrueNorthPHP. He is also a big believer in the power of testing and automation as secret weapons for organizations to deliver high quality applications quickly.
He lives in Milton, Ontario, Canada with his long-suffering wife, two daughters, a furry pig masquerading as a cat, and the reincarnation of the Roman god of the underworld in feline form.
Reinventing yourself is becoming a necessary skill for a programmer who wants to not only remain employable but also stay interested in programmer as a career instead of a steady paycheque. Join the Grumpy Programmer for an entertaining closing talk where Chris talks about how he keeps changing who and what he is to stay grumpy.
Talk, heavy on code-samples, covering 2 major areas:
1) how Laravel works out of the box (feels full-stack like Cake/Rails)
- how to get a basic site up and running
- built-in support for multiple environment configurations
- creating routes
- resource controllers & restful controllers
- eloquent ORM
- making use of db migrations & seeding
- how Laravel tries to encourage testing
2) how to make Laravel work for you (it's component based, using composer)
- subbing in your own components for Laravel's (example: authenticating against an api instead of direct to the database)
With over 15 years of passionate web development experience and open source advocacy, Ed Finkler loves empowering people through technology. He’s excited about creating things and sharing them with the world.
He served as web lead and security researcher at The Center for Education and Research in Information Assurance and Security (CERIAS) at Purdue University for 9 years. More recently, he has been helping startup teams build exciting e-commerce, social sharing, and mapping systems. He’s a proud member of the Fictive Kin team, working on Done Not Done, Gimme Bar, and lots of other cool stuff. Along with Chris Hartjes, Ed is co-host of the Development Hell podcast.
Ed spends much of his free time creating and working on open source projects such as Spaz, a long-running, award winning microblogging client. Ed also created the PHP libraries like FUnit, Resty.php, PHPSecInfo, and Inspekt.
In the spirit of open source, I'd like to shine a spotlight on mental illness. Not because it's easy, but because it's important. Mental illness affects many of us, but the stigma attached to it dissuades most people from talking about it openly. That's not how we make progress. With this talk, I want to do my part.
I was diagnosed with depression and anxiety when I was thirteen, and I've been struggling with it my whole life. In this talk, I'll discuss how it has impacted my work as a developer, husband, and father.
By speaking openly about my own challenges and successes, I hope those struggling with mental illness will learn how to be happier and more productive, and others can better understand how to be helpful and supportive.
I'm the manager of Rackspace's Developer Relations Group and the lead developer on http://php-opencloud.com. My blog is at http://glen-campbell.com and my Twitter is @glenc. I've been developing in PHP since 2000; my first major project was http://siteframe.org (now deprecated because of security concerns).
I didn't understand "the cloud" for several years until I started to have to use it. Many of my misconceptions, I'm sure, are common to other new users of the Cloud and cloud services. This talk is a high-level overview of the various types of services available in "the Cloud," targeted specifically at PHP developers.
This talk will explore the evolution of HTTP abstractions. We will take a look at inetd at the TCP level, CGI and FCGI at the HTTP level, language level abstractions like Rack for Ruby and WSGI for Python. Finally we will arrive at the Symfony2 HttpKernelInterface. The PHP community can take many ideas from Rack. We should be building composable stacks of re-usable middlewares.
Learn about unix philosophy, understand where PHP's CGI-like I/O mechanism ($_SERVER, header, echo) comes from, how it can be improved, and how the HTTP boundary allows for truly framework-agnostic code sharing!
Your framework is holding you hostage, and you are suffering from Stockholm syndrome. Are you a PHP developer, a Symfony developer or a Drupal developer? You should be a web developer. Frameworks are just details, your business does not care about them.
Silex is a library with a narrow and well defined scope, that allows you to adapt it to work on top of your existing application and business logic, not within it. Most "full stack" frameworks make a lot of decisions for you, and changing them is usually quite hard. You should be telling your framework what to do, not the other way round.
I will show you some approaches to designing your application in a framework-agnostic way, followed by how you can ease the delivery of your application over the web with Silex using some custom event listeners and middlewares.
A Senior Manager with 15+ years of experience building and leading product development teams in the creation, launch and promotion of industry leading, software products and services.
As VP Technology at Juice Mobile, Jack heads up the product development team focused on building industry leading mobile advertising solutions connecting advertisers and publishers for effective management of mobile advertising campaigns. As an early adopter of Agile, Jack brings many years of experience transitioning teams to Scrum, optimizing product delivery and quality. Jack is one of only a few leaders with experience implementing Scrum at scale.
Jack's experience spans Mobile, Web, Desktop and Enterprise Application development, in a wide range of companies from early stage startups to mature public companies and many industries including Health, Finance and Insurance
In this talk I will introduce you to Agile, and more specifically Scrum. I will cover topics such as
Twitter Bootstrap and Zurb Foundation are the most popular responsive design frameworks today. As with most technology, although they look very similar on the surface, they're designed with different applications and target audiences in mind. Get a quick overview of Bootstrap and Foundation, learn how to customize these for your applications, and figure out which is right for your next project.
John Mertic serves as Solutions Architect and Community Manager for SugarCRM, having several years of experience with PHP web applications and open source communities. A frequent conference speaker and an avid writer, he has been published in php|architect, IBM Developerworks, and in the Apple Developer Connection, and is the author of the book 'The Definitive Guide to SugarCRM: Better Business Applications' and the book 'Building on SugarCRM: Creating Applications the Easy Way'. He has also contributed to many open source projects, most notably the PHP project where is the creator and maintainer of the PHP Windows Installer. He also sits on the board of the OW2 Consortium, and serves as secretary of the OpenSocial foundation.
Many of us complain about how "pointy hair bosses", ridiculous IT policies, and a culture of complacency make it difficult if not impossible to function successfully as a developer. But how can the person on the low end of the organizational hierarchy make a difference for the better ( without being fired ) ?
In this talk, I'll give you some ideas of what I've done in the past to help be a positive agent of change in organizations I've been a part of, and what lessons I've learned from it. We'll look at implementing development tools incognito, engaging with higher-ups, and dealing with the failures that go along the way.
In this talk, we'll look at four technologies we are seeing as key to driving a whole new class of web applications; OpenGraph, Shadow DOM, Web Sockets, and Webhooks.
Justin Carmony has been programming professionally in PHP since 2005. He lives in Ogden, Utah where he currently is the Director of Development for Deseret Digital Media, a local media company that runs some of Utah's largest websites. In the past he has worked for CEVO, a video game company that runs hosted online tournaments for companies like Dell, nVidia, DirectTV, and others. He currently is the President of the Utah PHP Usergroup and helps the Utah Open Source Foundation.
There are many fast data stores, and then there is Redis. Learn about this excellent NoSQL solution that is a powerful in-memory key-value store. Learn how to solve traditionally difficult problems with Redis, and how you can benefit from 100,000 reads/writes a second on commodity hardware. We'll discuss how and when to use the different datatypes and commands to fit your needs. We'll discuss the different PHP libraries with their pros and cons. We'll then show some live examples on how to use it for a chatroom, and how Redis manages a billion data points for our dating matching system. Finally, we'll discuss some of the upcoming features in the near future, such as clustering and scripting.
While there are several popular configuration management tools such as puppet and chef, there is a new kid on the block: Salt. In this presentation we'll learn about how salt uniquely approaches remote execution and configuration management and just how fast it is. We'll show you how to get started up in minutes and easily manage multiple servers. Using Vagrant, in our tutorial we'll spin up several virtual machines and step-by-step walk through installation and setup. We'll show how to manage users, packages, services, files, and more. Finally, time permitting, we'll write some custom modules to extend salt to work with the specific needs of your application.
So come see why Salt is one of the fastest growing projects on GitHub, and why small startups and even large corporations are making the switch to salt.
I am a mathematician, a software developer and a documentary photographer, living in Toronto and frequently traveling to Thailand and Japan.
Currently, I work as a senior PHP developer at Instaclick in Toronto during the daytime and a Python developer at night.
This talk briefly introduces the object-oriented mapping (ORM), how Doctrine ORM is designed. Then, this talk will move on to discuss about common misunderstanding about Doctrine, why we should care about Doctrine, how to use it properly and when to use its ORM part or DBAL (Database Abstract Layer).
Keith Casey serves as a Developer Evangelist for Twilio exploring the untapped potential of telephone networks. Previously, he built large-scale Java and PHP-based systems for organizations ranging from major news companies to small non-profits. In his spare time, he is a core contributor to web2project, works to build and support the Austin tech community, lives and breathes creative API hackery, blogs occasionally at CaseySoftware.com and is completely fascinated by monkeys.
As we move to the cloud, scaling, deployment, and operations in general become a fundamentally different kind of problem. Deploying an update via ftp or even resync simply doesn't work anymore. Continuous Integration and eventually Continuous Deployment are the only approaches that keeps the code and our projects moving in one direction. This presentation will cover the major considerations in putting together your own PHP-based Continuous Integration environment and porting your first application.
Wouldn't you like to know about the things that *aren't* being talked about? Professionally, how can you look at a "stealth startup" and figure out what they're doing and how they're doing it? How can you learn about their investors, products, and even potential customers? Who are the Connectors?
For years now, we've had sites like LinkedIn, Delicious, Facebook, and Twitter making a stunning amount of private information available for all to find, browse, explore, and combine. Previously getting at this data often required screenscraping, esoteric agreements, and sacrificing a goat. In the last year or two, things have changed. Thanks to the explosion of APIs and good API design, we can collect and analyze this information faster, easier, and better than ever before. This conversation will cover some tips in collecting the data along with some of the patterns discovered and suspected.
Larry Garfield has been building web sites since he was a sophomore in high school, which is longer ago than he'd like to admit. As a freelancer he worked mostly for Chicago-area politicians before graduating to full time consulting with Palantir.net.
At Palantir, Larry is a Senior Architect and Consultant, developing solutions for medium to large cultural institutions. He also helps manage Palantir's internal development infrastructure.
Larry is an active Drupal core contributor, including the principle architect of the Drupal 7 database system and the Drupal 8 Web Services Lead. He is also a member of the Advisory Board of the Drupal Association. Larry holds a Master’s degree in Computer Science from DePaul University.
Larry is a regular presenter at DrupalCons and DrupalCamps, frequently talking about software architecture. He is a co-author of "Drupal 7 Module Development" from Packt Publishing, and has also been published in Drupal Watchdog. He blogs at both http://www.palantir.net/ and http://www.garfieldtech.com/ and can be stalked on Twitter.
Functional programming. Some see that term and think "functions? You mean procedural programming. I've been doing that for years." Others see it and think "you mean that crazy academic nonsense that no one understands? Pfft!"
In truth, functional programming is fundamentally an approach to software development, not a particular language or syntax. With PHP 5.3, it is an approach that is now more readily available and powerful than ever before. Even if you're not writing in Erlang or ML, there is still much to learn from the principles of functional programming to help write better code.
This session will discuss the history of functional programming and how it compares to other programming paradigms (procedural and object-oriented). We will then discuss by example how functional concepts and techniques, plus new language capabilities in PHP 5.3 such as anonymous functions can make our code more robust, maintainable, and bug-free. Even without a truly functional language, there is much we can learn from functional programming as a technique.
Sharing is how Open Source works.
Sucking at sharing is how Open Source dies.
PHP has long sucked at sharing. Cross-project collaboration was almost unheard of. Good reusable libraries were uncommon and hard to find. Leveraging 3rd party code was a hassle. Strong communities were isolated on their own islands.
That has changed, however. Years of work have brought a new promised land to PHP, and enabled cross-project cooperation like never before. It's a new world, and one with new cultural expectations.
This session will explore how the PHP industry has transitioned from a series of gated communities to an integrated, collaborative environment and how the cultural expectations around developing for PHP have shifted, and what that means for your project.
MajiD Fatemian, has been an Online Specialist/Analyst for Ubisoft Montreal's “Your Shape Fitness Evolved” brand, since 2011. He has contributed to the design, implementation, performance-optimization and high traffic-handling of distributed sandboxes structure, and backward compatibility of services.
Majid Holds a M.Eng in software engineering from Concordia University, Montreal, Canada.
Before joining Ubisoft, he was working as CTO for “YEP! Interactive”, a leading CPA affiliate network for over 3 years.
With the emerge of new NoSQL databases, it's very important to understand their abilities and the use-cases for a scalable web application. Understanding what they provide and what sort of problems they can solve is vital to successful usage of NoSQL databases in the web architectures and infra structures.
The key is that Relational Databases are not dead and they won't be. They have specific abilities which would facilitate implementing a lot of ideas in the data modelling.
By experience, we realized that using a Hybrid system is the best solution. While you benefit from bests of the both worlds, you can improve the quality of product and availability of service to the customers.
In this presentation, an example from game-industry would be provided. A UbiSoft, Montreal game which was fully based on Relational databases, has been restructured to a Hybrid system to benefit from both Relational database (MySQL) and a NoSQL database (MongoDB).
The major design decisions, and the benefits of each would be discussed in details to give audience a perspective of what could be achieved within a Hybrid system.
The process of migrating the previous architecture to the new one in a live system, without having any downtime would be explained as well, to show how approachable and easy is this new Hybrid design.
The new architecture has been beneficial for the community of players and also for the development team, which they will be explained.
The Hybrid system has been on Production since October.2012 with no downtime since.
Developer at FreshBooks and contributor to a number of open source projects including CakePHP, Twig, Xhgui2 and more.
mfrost503 on Freenode
Writing good unit tests is nearly impossible with out being able to mock your dependencies. This talk will cover how, when and why to mock and touch on writing code that is 'mockable'. Learning to mock will add value to your tests as well as your application.
Matthew Turland has been working with PHP since 2002. He has been both an author and technical editor for php|architect Magazine, spoken at multiple conferences, served as an instructor for php|architect training courses, and is a past contributor to Zend Framework. He holds the PHP 5 and Zend Framework ZCE certifications and is the author of "php|architect's Guide to Web Scraping with PHP" and co-author of SitePoint's "PHP Master: Write Cutting-Edge Code." He currently works as a Senior Engineer for Synacor. In his spare time, he likes to bend PHP to his will to scrape web pages and run IRC bots. To contact him, check out http://matthewturland.com/contact.
You've built unit tests for your project complete with mock objects for dependencies like database connections. You know that your code is running the right database queries... or do you? Updating your unit tests in tandem with your database schema really isn't enough. To be certain that the queries executed by your code really work, you need to run them against a real database. Enter database testing. This presentation will introduce you to the Database extension for PHPUnit, the de facto unit testing framework for PHP applications. You'll learn about everything from generating various types of test data sets to writing tests that prove your code does what you think it does to the database.
Michelangelo is a professional PHP consultant, community leader and president of PHPBenelux. You can find his articles on http://dragonbe.com or follow him on twitter.
Windows Azure provides many services that are very appealing for PHP developers, especially if you need to get started quickly.
In this talk I give my motivation to try out Windows Azure cloud solutions, and discuss the main features like web sites, virtual machines and cloud services. Combining these features with blob storage, table storage, queues, WinCache, CDN and SSL you can build robust, scalable and very performant web applications and deploy them in just a few minutes.
Being part of the community is not just great to support the open-source movement, but it also is great for business.
Why is it that big companies invest in open-source projects and how can your business benefit from participation?
In this talk I explain the reasons why companies like to be associated with the PHP community and how your business can benefit from it. Even if you're working for a company, this talk will give enough arguments to talk to your bosses and convince them to contribute to open-source.
I launched WonderProxy in 2009 on my American Express. Since then we've grown to having hundreds of active _paying_ users, operating in 50+ countries, all without ever having a full time paid employee.
The world of startup buzz seems to reward companies that take huge investments, pull in thousands of users who never pay a dime, then fold a few years later. We're not that kind of business, and we don't want to be.
This mostly non-technical talk will tell the story of the business, the major challenges we've faced, and a fair amount of advice for the non-vc-seeking startup crowd.
Sara is a long-time contributor to PHP, originator of several PECL extensions, creator of libssh2, and author of "Extending and Embedding PHP". Currently, she is the OSS coordinator and a contributor to the HipHop for PHP project.
HipHop is the Open Source PHP language compiler and runtime designed and used by Facebook. HipHop offers a significant speed improvement over the official PHP runtime and supports most of its core features. This session will provide an introduction to how and why to use HipHop over PHP, and the benefits it offers.
PHP's release schedule is picking up speed and 5.5 has already been out for a few months. According to the stats though, your site's still running 5.3. This session will delve into all the new goodies along with some examples of how PHP 5.5 can make your codebase more maintainable, while executing faster. Fast, Clean, Cheap: Pick all three!
Bonus material: Since PHP 5.6 development is already well underway, we'll take a sneak peak at what's still to come.
Sean Coates has worked on the Web for over a decade. He has managed teams of developers, developed payment code that processed over $1M per day, and in many technologies, with a group of partners called Fictive Kin, on web startups, including Gimme Bar that allows users to Save the Web.
At Fictive Kin, our relatively small team is spread out over 4 countries, and at least 10 cities (depends on the week). This presents challenges, but after years of honing our process, we've found a sweet spot in how we work together, which tools we use, and how our applications get deployed and stay running. You'll discover some high-level tips about how we make this happen, from source code management, to avoiding late-night ops panic.
Stefan Koopmanschap is a PHP fanatic. He runs his company Ingewikkeld, does development, consulting and training. Stefan is a community person and has been active with several usergroups in The Netherlands since the 90s, currently involved in the event team of the PFZ.nl usergroup.
Symfony2 is awesome, but can be overkill for some applications. During this talk, you will hear about a use case for using the Silex microframework for web and the Cilex microframework for CLI, and how these frameworks combined became the glue to the components of the media transcoding application that powers the majority of on-demand adaptive streaming for the Dutch public broadcasting organization NPO.
During this tutorial, you will get started with the Symfony2 framework, and build your first web application using the framework. We'll cover installation, configuration, bundles, controllers, working with the database and forms during this tutorial, and if we have some time left, we can go beyond those basic topics as well.
Senior web developer at ExperiencePoint Inc. Toronto ON Canada
Lessons from a year of rearchitecting tightly coupled 4-year-old applications to a SOA while keeping developers happy (for the most part).
For a year, ExperiencePoint's development team has been rebuilding its aging applications to a modern and highly available architecture.
We have been able to spend more time on developing our new products while reducing our technological debt by building on top of standard technologies, separating concerns and automating our working environment.
This talk will show the benefits of splitting omniscient applications to smaller independent modules and explain why your web applications should use HTTP RESTful API to communicate with each other. We'll also explore a few strategies to deal with aging PHP applications or deprecated technologies.
Trendy keywords: SOA, OAuth2, Symfony2, HTTP RESTful API, HATEOAS (yeah baby)