November Camp 2014

By Symfony Sweden

A Swedish PHP conference with its focus on Symfony

Stockholm, November 14th

Follow @symfonyse for updates.

November Camp 2013 website is found here.

Labs

Announcing a new conference feature!

We're really excited to announce that November Camp 2014 will have be the first Symfony conference to feature labs sessions. You'll be able to take the inspiration you'll get from the conference day and cultivate into ideas on how to apply what you've learned in your own application.

Saturday is labs day, and we'll have labs featuring experts on Symfony, PHP, User Experience, Server and network architecture and many other subjects. Bring your code, your prototype, or your ideas and show our experts, to get feedback, guidance and new ideas.

Speakers

Mathias Verraes

Decoupling the Model from the Framework

by Mathias Verraes @mathiasverraes

Domain-Driven Design tackles the fundamental difficulty of working with complexity in software. It puts the domain model in the center of the system, blissfully ignorant of the infrastructure around it. But as soon as you try to build even a simple application, using some of the patterns and ideas from DDD, you tend to get stuck. The framework begins to fight back. It seems it has a will of its own, and it dictates how you should structure your code. Is a strong, independent domain model just a theoretical ideal?

You can have both the benefits of framework, and the freedom to model to your needs. We’ll explore patterns, flow, coupling, and reasoning about code.

Mathias Verraes is a recovering music composer turned programmer, blogger, and speaker. He’s the owner of Value Object Comm.V, a small consultancy company. As a technical and strategic advisor, Mathias helps teams to build enterprise applications for complex business domains. For some weird reason, he enjoys improving legacy projects. He’s teaches Domain-Driven Design courses, and founded the Belgian DDD community. Mathias lives in Kortrijk, Belgium, where in his spare time he reads books, and invents crazy Lego structures with his two boys.

Matthias Noback

A Series of Fortunate Events

with Matthias Noback @matthiasnoback

What is an event really? How can you best describe an event in your code? What types of events are there, and how do you decide whether or not to implement something as an event?

In this talk we start with a straightforward command-only piece of code. We extract events from it and start moving the event handling code out, trying different design patterns on the way. First we try Observer. Then we introduce event data, event handlers and a Mediator between our code and the event handlers. Finally we pick a well-known event dispatcher implementation (the Symfony EventDispatcher) and see how it uses the Chain of Responsibility design pattern to control the entire flow of a web application request.

In the end I will answer some burning questions like: is it safe to use events all over the place and rely on event handlers to do some really important stuff? How do I overcome the indirection in my event-driven code? And how can I quickly find out what happens where?

Matthias Noback started his professional career 12 years ago as a freelance web developer. After working as a PHP developer for various companies, he decided to try something else; though programming will always be his passion, he has now taken this further and is also teaching, writing and consulting. He is the author of "A Year With Symfony" and "Principles of PHP Package Design" and regularly posts on his blog PHP & Symfony.

Raul Fraile

Malicious cryptography in Symfony apps

with Raul Fraile @raulfraile

Cryptovirology studies how to use cryptography to design malicious software, given that public-key cryptography can be used to break the symmetry between what an antivirus analyst sees regarding a virus and what the virus writer sees. In this talk we will create a simple cryptovirus in PHP - for educational purposes - able to infect a Symfony2 app and encrypt data such as database records or user uploaded files using public key cryptography with OpenSSL.

To create the virus we will study how Symfony works internally, especially what kernel events are dispatched and how to use them to attach our virus. Several strategies to hide the virus will be discussed. Simple ones like using different encodings and more advanced strategies such as polymorphic code. Finally, we will see how we can defend ourselves from this kind of attacks.

Software engineer at Acilia, specialised in PHP and Symfony2. SensioLabs Symfony Certified Developer and PHP Zend Certified Engineer. I hold a BS degree in Computer Science and I am currently a MSc(Res) student in Computing Technologies, focused on data compression, cryptography and steganography. Created LadybugPHP, an extensible PHP dumper. Love reading and learning new stuff every day. Proud dad.

Carl Vuorinen

Tackling technical debt

- breathe new life into a legacy project with Symfony2
with Carl Vuorinen @cvuorinen

Dealing with an old legacy project can be frustrating. Most of the time a massive rewrite is not feasible and you are left to deal with a codebase that is far from ideal, has lots of technical debt and bad practices.

In this talk you'll learn how you can use Symfony2 framework side by side with a legacy codebase. The talk will cover how to introduce new features to the software using high quality code and best practices while at the same time maintaining the legacy codebase. We'll also explore some strategies for refactoring the old code a little bit at a time using Symfony components.

Carl Vuorinen is a web developer and team lead at W3 Group Finland. He has over ten years of experience in web development and has been working with commercial PHP projects since 2005. He has experience with various open source frameworks, lately focusing on Symfony2 and AngularJS frameworks.

Niklas Modess

Deploying PHP applications

with Niklas Modess @niklasmodess

The world of PHP is very interesting right now and it has been catching up on best coding practices. It's time we bring our deploy processes up to par with this and start using best practices for it as well. So what are the goals for it and which steps can be taken to reach them? How can we make the process fit better into the more and more Agile world we live in?

Niklas Modess is a freelance web architect. Works mostly with Laravel, but it wouldn't exist without the awesome Symfony components. He has always been interested in the deploy process and is currently writing a book on the subject. Trying to spread the word on how a great deploy process makes life as a developer so much easier!

Paweł Jędrzejewski

Introduction to Sylius

- Symfony2 e-commerce
with Paweł Jędrzejewski @pjedrzejewski

Developers and shop owners are looking for alternatives to complex and monolithic solutions. Sylius is built on top of the latest technologies in PHP world and is one of the most promising e-commerce platforms.

In this talk I will introduce the ideas & philosophy behind the project and show how easy it is to customize Sylius.

Paweł is an entrepreneur and software developer living in Poland. In 2011 he created Sylius - an open source e-commerce solution for Symfony2. Project is still in development with more than 150 contributors and nearly 500,000 downloads, but has already been used by people worldwide. Lakion, his company, is providing commercial services for Sylius and supports the community.

Magnus Nordlander

Honey, I blew up the application performance

with Magnus Nordlander @drrotmos

So, your code is slow. Tough break. What should you do? Panic? Gather your fellow developers into a post-apocalyptic band of thugs, go into the woods and call yourselves "the wolverines"? No. You attend my presentation on how to profile your code, and I'll give you a primer on how to take care of your slow code.

I'll start by going over how to use the Symfony Web Profiler to gather some high-level data, and how to write your own data collectors, and then we'll move on to using tools like Xdebug or XHProf to gather PHP profiling data, and how to analyze it.

Magnus Nordlander is a Symfony Consultant at Fervo AB. He has been working with the web for over ten years, and has worked with Symfony for more than seven of them. He was the first Swedish developer to become SensioLabs certified Symfony developer at the expert level, and when he’s not coding, he is also a co-host of the Sound of Symfony podcast.

Tobias Nyholm

Hack in 60 seconds

with Tobias Nyholm @tobiasnyholm

You have probably heard of Facebook's new HHVM that will make you code run way faster then before. You might also have heard about Hack, a new programming language that run on HHVM. I will give you a crash course in Hack and tell you why using Hack will make you a better programmer.

The talk will start with diving right into technical details and reasoning why HHVM and Hack is needed. Later we will see some code and I'll explain key features of Hack. Before we and you will have enough knowledge to start coding with Hack yourselves. I'll even show how to get started.

Tobias Nyholm is CTO at Happyr.com, a recruiting platform that make recruitment more efficient and more fair. He is also a co-host of the Sound of Symfony podcast.

Schedule

Time Title Speaker Joind.in link
8:00 - 8:45 Registration    
8:45 - 9:00 Welcome    
9:00 - 9:45 Decoupling the Model from the Framework Mathias Verraes joind.in/12537
9:50 - 10:35 Tackling technical debt - breathe new life into a legacy project with Symfony2 Carl Vuorinen joind.in/12538
10:35 - 10:55 Coffee    
10:55 - 11:40 Malicious cryptography in Symfony apps Raul Fraile joind.in/12539
11:45 - 12:30 Deploying PHP applications Niklas Modess joind.in/12540
12:30 - 13:30 Lunch at the Hotel    
13:30 - 14:15 A Series of Fortunate Events Matthias Noback joind.in/12541
14:20 - 15:05 Hack in 60 seconds Tobias Nyholm joind.in/12596
15:05 - 15:25 Coffee    
15:25 - 16:10 Introduction to Sylius - Symfony2 e-commerce Paweł Jędrzejewski joind.in/12542
16:15 - 17:00 Honey, I blew up the application performance Magnus Nordlander joind.in/12543
17:00 - 17:20 Some last words    
17:20 - Late After party! Location will be announced at the conference    

Workshops

An opportunity to learn!

If you have a yearning for learning, our workshops is the way to go. The day before the camp, November 13th, we'll be hosting two all-day workshops. At the workshops you'll get hands-on training by our hand-picked experts. Both of our workshops are small groups, to ensure that you'll have plenty of access to the trainer. The workshops are €439 (excl. VAT) per person and workshop, and since the're both scheduled for the same day, you cannot attend both.

Secure your workshop ticket today!

Get started with Symfony

For the newcomers to the Symfony world, Magnus Nordlander is providing a "Get started with Symfony" workshop. In the workshop you'll learn how to use Symfony to build an actual, usable, application. We'll cover all the basics, getting your project set up, the controller layer, how to use Twig to render your views. We'll also touch on how to use Doctrine to store your data in the database, and how to use the form component to create and render forms.

This workshop gives you a flying start into the Symfony world. You'll have an understanding of many of the important concepts in Symfony, and will be well positioned to use Symfony in your own projects. The target audience for this workshop is developers who are just getting started with Symfony, perhaps new developers coming into a Symfony project, developers who have experience with other frameworks, or e.g. Drupal developers wanting to learn more about how to use Symfony for their projects.

Requirements
  • Some knowledge of object oriented programming
  • Good knowledge of PHP
  • Bring your own laptop (we'll supply further instructions for configuration)

Advanced Symfony Application Architecture

For the advanced learner, Mathias Noback will be hosting a workshop on Advanced Symfony Application Architecture. You have created one or more Symfony applications. You've learned how to use the framework to rapidly develop some features: you wrote some controllers, entities and templates. But as the application (and your team) got bigger, you started looking for a way to prepare your application for a long and prosper life. Still, after reading about DDD, BDD, events, command buses, layered and hexagonal architecture, you are still wondering:

How can I apply these cool ideas to my Symfony applications?

Well, this is exactly what this workshop is all about: learning to apply some of these very nice design principles, patterns and practices to your own code, making your applications more advanced, step by step. This will have numerous advantages: your code will become simpler, with clearly separated concerns, and it will be better testable. It will be much easier to add a public API to your application, to switch some of the tools you use, or to start using message queues and asynchronous processing.

This is a hands-on workshop so make sure to bring your laptop. You will take away lots of practical advice and suggestions from this workshop, which you can immediately apply to your own projects.

Requirements
  • Good knowledge of PHP
  • At least some real life experience with Symfony
  • Preferably some testing experience (PHPUnit)

Labs

Announcing a new conference feature!

We're really excited to announce that November Camp 2014 will have be the first Symfony conference to feature labs sessions. You'll be able to take the inspiration you'll get from the conference day and cultivate into ideas on how to apply what you've learned in your own application.

Saturday is labs day, and we'll have labs featuring experts on Symfony, PHP, User Experience, Server and network architecture and many other subjects. Bring your code, your prototype, or your ideas and show our experts, to get feedback, guidance and new ideas.

Gold sponsors

Fervo

Fervo

Fervo is a consulting business specializing in usable Symfony2 applications. Fueled by nerdy passion, we care as much about your class diagram as we care how your users will find their way on your site.

www.fervo.se

Prisjakt

Prisjakt

Prisjakt is price comparison site that provide our users with the best possible source of information when deciding on what to buy and where to buy it. Prisjakt is a product of high moral standards, a huge database and the combined passion of almost 100 nerds. The site is powered by a classic LAMP stack.

www.prisjakt.nu

Mailjet

Mailjet

Mailjet is a powerful email service provider that ensures maximum insight and deliverability results for marketing and transactional emails. Our analyticstools and intelligent APIs offer the flexibility to create, send and optimize email for all.

www.mailjet.com

Silver sponsors

Montania System AB

Montania System

Montania System consists of ten people dedicated to developing user friendly and smart systems. We help our customers with everything from their web site to a complete solution with ERP system and e-commerce. We work both with open source and our own product platforms - using symfony2 - to find solutions to our customers needs.

www.montania.se

Linas Matkasse

Linas Matkasse

Linas Matkasse offers a dinner bag solution delivered to the customer's doorstep. The dinner bag contains an inspiring, healthy and varied menu for 3 or 5 days including the groceries needed. Linas Matkasse is a modern and highly effective company in all aspects. From menu planning and marketing, to IT and logistics.

www.linasmatkasse.se

Other sponsors

Github

Github

GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over six million people use GitHub to build amazing things together.

www.github.com

Do you want to become a sponsor of November Camp 2014?

Read our sponsor guide to find out about our sponsor packages.

Tickets

Sounds like a fun day, right? Standard tickets are €109 (+ VAT), student tickets are €59 (+ VAT)

We'll see you 14th of November!

Buy tickets

Venue

Meet us at Scandic Grand Central

Two minutes from Stockholm Central Station, with easy access by plane, train or subway, the Scandic Grand Central is ideally located for our conference.

If you're travelling from outside Stockholm, you'll enjoy the Scandic Grand Central's excellent rooms, its relaxing spa and the excellent location.

Address:
Kungsgatan 70
111 20 Stockholm

Nearest subway station: T-centralen