September 3, 2015
Going viral hasn’t always been considered good. Whether you’re fighting the common cold, or trying to remove the ILOVEYOU computer worm from your corporate file server, two things are certain: your immune system is based on your gut health, and computers have really poor gut health.
Stopping viruses is hard. The main reason for this is that viruses are really clever. They’ve evolved over time to escape detection. Each previously detected virus allows the next iteration of the virus to become more resillient. The second reason is that your computer’s gut health has to fight every virus, whereas each virus just has to find one immunocompromised system to survive.
Let’s work out how viruses hide. How to they sneak past the checkpoints. How they attach themselves to your system. How they fight detection, and removal. We’ll look at aspects such as self-replication, cryptographic obfuscation, and touch on methods of delivery and…
PHP has built-in support for serializing and deserializing data structures such as arrays or objects. However, serializing complex data structures to strings with PHP doesn’t really work well. Nowadays, modern web applications need to provide REST APIs to expose their data as XML or JSON. Thanks to the Symfony Serializer standalone component, serializing and deserializing complex graphs of objects to XML or JSON is much easier. This talk will demonstrate how to leverage the Symfony Serializer component to (de)serialize data. You will also learn how to extend the Serializer to customize how objects graphs are (de)serialized. Finally, we will look at the JMS Serializer standalone library that provides a much wider features set such as serialization metadata configuration thanks to annotations, YAML or XML formats.
The first commercial transaction on the Internet occurred between students at MIT and Stanford… for a bit of marijuana! eCommerce has come a long way since then, facilitated in no small part by open source PHP projects. osCommerce, Magento, WooCommerce, Drupal Commerce, PHP SaaS carts power much of eCommerce today. This session provides a brief retrospective of a decade of PHP eCommerce projects, where we are now, and a look to the future of eCommerce with PHP.
Open sourcing your code doesn’t have to mean a life of poverty. In fact it makes sound commercial sense to give some or even all of your code away, and you can still grow revenue streams while doing so.
Hamish Friedlander is the CTO of SilverStripe, a company that for 9 years has given away their core product under the ultra-permissive BSD license. Instead of ruin, it’s had year on year growth and revenue that has had seen it once rank in New Zealand’s Fast 50 and grow into a multi-national with more than 50 employees.
Hamish shares the various methods of partially or fully open sourcing work while still developing revenue streams, including what’s worked well for SilverStripe, what hasn’t worked so well (including one spectacular failure for added drama), and future experiments.
In this session we will look at the IoT world and how it can be integrated with PHP to create new and awesome ways for users to interface the digital world like never before and ways that developers can monitise new IoT Commerce opportunities.
We look at how you can take an Arduino Yun and a Thermal printer to create a new way for customers to order via a drupal ecom website and for a reciept to automatically print out in a resturant.
In this talk, you’ll learn some parts of the Facebook infrastructure that make possible for the site to run in such huge scale.
Users love fast websites. Google loves fast websites. We love fast websites.
In this talk Julian will go into tools and techniques for optimising everything, resulting in some of the fastest websites you’ve ever seen.
Have you ever used the yield keyword? It’s the hidden-wardrobe-entrance into a magical world of generators. This magical world is inhabited by beings called iterators and coroutines. Roll some epic battle-music…
In this talk we’ll explore the origins of PHP generators, using them for iteration and ultimately how they can help turn synchronous code into asynchronous code.
As PHP developers, we often find ourselves managing our own web servers and performing the same commands over and over again for each new server and website that we wish to deploy. We’ve heard about the benefits of tools like Puppet and Chef, but the time and effort involved in learning, setting up, and using those tools is prohibitive and we usually decide that using SSH, relying on bash history and even some helper scripts is easier than learning something new.
However, there is an alternative: Ansible.
Ansible is a fantastic tool that removes a lot of the pain and tedium from setting up and managing servers of all shapes and sizes. It is incredibly easy to use, a fast to set up, and it will definitely save you a significant amount of time and energy, even if you only spend a few minutes learning the basics. It gives you the…
In almost all of the applications we create in our day to day lives we work with filesystems. These days it’s not just our local filesystem anymore. It’s AWS S3, Dropbox, (S)FTP, or any other cloud filesystem provider. They all have their pros and cons. In this talk we’ll go into several aspects of choosing and working with filesystems and how Flysystem helps you out in this process.
Through my experiences at Common Ledger, we have been venturing into an interesting place.
We’re building a platform that’s a custodian for customers data, but that data is not theirs, nor is it ours, but if our customer modifies it, how do we ensure the correct authoritative measures are met when data under and not under their ownership melds together into something else.
Through this talk I will start with some interesting stories around scenarios where I have learned about working with data ownership (Paymark, and 3Taps)
I will explain what I believe is the correct approach to data aggregation, how to ensure the stability of storing data integrity around ownership, and how we (the wider community) can handle situations when data ownership is questioned such as where one party requests their data to be removed when it’s helped modify the overall data.
It’s a technical talk around methods and approaches to aggregating…
We can build cross platform desktop apps with web technologies. This sentence sounds like crazy talk – but it’s not. 100% serious.
GitHub’s Text Editor -Atom. Slack’s chat clients. Microsoft’s new cross platform IDE . These are all examples of native apps built with web technologies. They are all built on Electron.
Electron is an open source,
In this talk, we will walk through how Electron works. Then how we can get started building native applications in web technologies.
September 4, 2015
You’ve been programming for a while now. You’re beginning to feel that you’ve got a handle on things but at the same time can’t escape the feeling that you’ve somehow plateaued in your growth as a software developer. In this talk Yitzchok, a rabbinic scholar and software developer, shares the “wisdom of the sages” as practical, actionable advice strategies and tactics that you can use to reinvigorate your growth as a software developer.
Obviously, ‘Talmudic Maxims’ plays a role in the presentation only as a metaphor and will be limited and simple – no prior knowledge needed. 🙂
One example of a Talmudic maxim which offers practical advice for young software developers:
I learned much from my teachers, but I learned even more from my colleagues, and from my students I learned most of all. (Rabbi Chanina, Babylonian Talmud, Tractate Ta’anis 7A)
This maxim would be used to discuss sharing one’s knowledge…
How to write configuration which is easy to maintain for years.
Right and wrong ways to configure, common pitfalls.
Where regular expressions should be used in configuration.
Why copy-paste is good and DRY (Don’t Repeat Yourself) is a myth.
PHP 7 is coming, and with it will come new features, backwards compatibility breaks, and huge performance gains.
This talk will get you prepared for all the changes in this upcoming release and offer practical advice you can implement now to ensure you code still works come upgrade time.
Back in the day, we had PEAR packages. These were often very well written, but due to PEARs lack of popularity we ended up just using mega-frameworks and writing bundles, modules, cells and sparks for that framework. Since then Composer has been a bit of a savior, but the way in which we make these packages is still new and scary.
There are a lot of talks about building good code, and writing OOP well, but how do you make a Composer package that is as high in quality as you can? Things like SemVer, avoiding NIH syndrome verses knowing WHEN to fork or make a new package, responsible deprecation and loads more.
The League of Extraordinary Packages is a group of developers who have banded together to build solid, well tested PHP packages using modern coding standards. The name might be a little silly, but the group dedicates itself to…
Yet intuitively, it seems that a well-optimized, traditional PHP driven website still accomplishes business goals just fine, and its performance and responsiveness can be just as as good as a “single page app”.
Where is the line drawn? What are the main differences between those models? Where are we headed?
These are some of the questions I’ll be attempting to answer in this talk, having started my career as a PHP developer transitioning to founding the first fully Node.JS powered company and creating the most popular realtime framework for it.
Many people teach design patterns as a fundamental step to Object Oriented Programming. They are so universally seen as important that almost every single programming conference that I have been to has had at least one talk about them. They are quite often used as interview questions to test a candidate’s OOP knowledge. However, just like inheritance, they are not needed for OOP. And just like inheritance, they are a distraction rather than a foundation. Instead of focusing on patterns, I suggest focusing on learning about abstraction and communication. Why? Come and find out!