About PHP South Africa 2018
An annual PHP conference in South Africa. We try to get the best of the best to share knowledge. So far we have succeeded.
This year is our 5th birthday!
To celebrate the occasion, we are going all out! Check back often to see any new announcements about the biggest conference we have planned yet!
Speakers
Amanda Folson
James Titcumb
Bernhard Breytenbach
Michelle Sanver
Brad Mostert
Liam Norman
Deon Heunis
Michael Cullum
Gareth McCumskey
Dave Nel
Schedule
Registration
Building Microservices Using the Serverless Framework
What do you get when you combine Microservices and Serverless technology? A big mess you need help sorting out. That’s where the Serverless Framework comes in to help save the day. Gareth will walk through creating your first serverless microservice on AWS Lambda.
In less than 2 hours you can have a ready to roll API endpoint with throttling capabilities, caching and load balancing and never have to spin up a single server.
Come see the two biggest buzz words in our industry in action for yourself.
Gareth McCumskeyLunch
Best practices for crafting high quality PHP apps
This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it’s imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this tutorial, we’ll take a deep dive into each of these areas, looking at how we can make positive, actionable change in our workflow.
This workshop intends to improve your skills in planning, documenting, some aspects of development, testing and delivery of software for both legacy and greenfield projects. The workshop is made up of multiple exercises, allowing dynamic exploration into the various aspects of the software development life cycle. In each practical exercise, we’ll brainstorm and investigate solutions, ensuring they are future-proofed, well tested and lead to the ultimate goal of confidence in delivering stable software.
Attendees will need laptops, and a PHP 7.1+ environment with a webserver they are comfortable with using.
James TitcumbRegistration
Trend analysis and machine learning in PHP
The world we live in is one where data is one of the most valuable assets. There are many different pieces of data we can analyse on all kind of data from analytics of user behaviour of your platform, user generated content, monitoring of exception rates, or when your core business model is to provide some kind of analytics platform. In this talk we’ll dive into how you can, in your PHP applications, perform some simple trend analysis techniques to build models, analyse data to get useful information and spot anomalies using machine learning techniques; and how those machine learning techniques can be applied to other day-to-day scenarios too.
Michael CullumTea Break
Getting Started with TDD and Travis CI
A lot of developers are developing applications without using tests and this is a problem that many software companies face. Tests can improve the reliability of your codebase and also safeguard it against bugs before your code reaches production. We will introduce TDD and how to implement TDD into your project workflow using Travis CI. We will look at a sample Laravel application and how to implement TDD. The topics that will be covered on the TDD front are feature tests vs unit tests, testing events, working with testing databases, implementing PHPUnit and Mockery and using Laravel Dusk to implement browser testing. The Travis CI portion of the talk will focus on how to specifically implement it into your project workflow, we will cover what is CI and what is Travis CI, benefits of using Travis CI, how the build system works, setting up Travis and running builds, announcing build status via notifications and an overview of the Travis CLI. By the end, you will be ready to leverage TDD and Travis CI in your own applications!
Liam NormanA State of PHP Backed by Data
How is our beloved language doing? Analyzing all of GitHub, StackOverflow and Hacker News via the publicly available Google BigQuery datasets (some 40TB+ of data) this presentation aims to give humorous and ingenious insights into our TIOBE Index Top 10 language. If you’ve ever wondered which PHP versions are still in use, which packages are most widely used or if you’re the only ‘Full StackOverflow Developer’ this is the presentation for you. Similarly we’ll look into things like PSR adoption (who’s still using tabs), framework popularity and community participation with a view to how we are doing and where we should be going. Trolls are welcome – I have the data…
Brad MostertLunch
Hadoop and PHP
Hadoop is a big data technology suite from the Apache Foundation that provides a range of tools for storing, interacting with and manipulating large data sets, or to help solve big data problems which might relate to the structure of the data just as much as the size of it. With many companies approaching points where they need to be able to handle large amounts of data, either right now or looking forward in order to scale, Hadoop is one of the core technologies that can help aid you there. In this talk I’ll provide an outline of HDFS, Hive and Spark, three of the core Hadoop tools, and how you can use them; the differences between Hadoop and other technologies such as Elasticsearch; about Presto, a distributed SQL query engine that will allow you to query your big data clusters (HDFS, MySQL, PostgreSQL or Cassandra alike) with simple SQL queries. And finally, I’ll talk about how you can utilise these resources from within your PHP application, allowing your platform to interact with your huge volumes of data without having to copy your business logic into another language.
Michael CullumWhat the FLOAT!?
We have all seen some pretty interesting things happen when using floats. You might even know how to get around most of these problems. But why do these problems occur? Why do floats become so inaccurate when working with really small, or really large numbers? In this talk, we will take a look at fractions through the eyes of a computer to get a better understanding of what’s going on behind the scenes. We will also take a look at some best practices that will help in your career forward.
Bernhard BreytenbachTea Break
Advanced Serializing in PHP... With GoLang
As an API with a lot of complex data, our bottleneck is and always has been serializing. It has been a long journey for us to get the most performance out of this. We are proud of what we’ve accomplished. Let me share our journey trying a lot of alternatives in PHP; Including JMS Serializer, pure json decode, better serializer, Symfony serializer. And in the end: A colleague wrote php-to-go so that we could GO beyond PHP, using PHP and GoLang together, for an amazing performance boost.
Michelle SanverSpeaker Panel
All the speakers of the day up in front and ready for questions.
Registration
Community, PHP and us: Growing up
In year 2000 when PHP 4 just came out, we had functions.php and when it started being big we made functions2.php. When object orientation came out we renamed our databasefunctions.php and put a class around it and called it OOP. PHP by then, was not very mature. I by then, was not very mature. The community by then, was not very mature.
We have come a long way since then! We now believe 12 year old girls on the internet are not FBI agents. We now have type hints, and namespaces, and composer! We have all matured.
Let me share my story of amazing technology that changed my life. I’d also like to share some horrible community experiences, and the awesome ones that kept me going.
Let’s keep growing, because we never really stop.
Michelle SanverTea Break
Augment your DevOps
A mature DevOps process is essential to the successful delivery and continued operation of a software project. However quite often development consulting houses like my own, Tangent Solutions, are running many projects concurrently, all in different stages of delivery or maturity. This creates a challenge in terms of providing visibility on project metrics and progress which are necessary for operational oversight. This results in the need for activities such as weekly project meetings, manCos, steerCos and all sorts of other ‘Cos’. Another spinoff of this need for visibility is to have monitors with dashboards displayed throughout the office, but with infrastructure/cloud monitoring also jostling for space, one quickly begins to run out of walls.
This approach to surfacing visibility isn’t acknowledging the massive gains technology has made over the last years, specifically technological advancements that allow us to Augment our Reality. Presented with these problems we questioned ourselves and looked for innovative solutions to an incredibly important problem. Our first step to augment our reality was to implement a Natural Language Processing Bot using LUIS and the Azure Bot Framework connected to MS Teams allowing us to interrogate DevOps tooling (VSTS, GitHub, Jira) and provide easy access to high level project and sprint status and projectreporting. The next step was to implement Cortana, allowing many of the same bot interactions to be performed via voice. The coup de gras in our AR revolution was to build a mobile App using AR that allows a user to be shown project metrics when identifying a team marker through a live camera view.
While this functionality is undeniably cool, it provides a fantastic window into the modern workplace of tomorrow. This presentation will provide a demo of our AR DevOps solution as well as dive into the implications of these technologies and how we can leverage different aspects of AR to enhance our productivity in our everyday lives.
Dave Nel10 Things I Hate About Your API
You’ve built an API, launched it, and people aren’t excited about it. Why might that be? Many people release APIs for public consumption without any regard for developer experience. This creates a developer ecosystem that invites failure or worse — it can encourage people to seek alternatives. This talk will cover common API pitfalls (spoiler, not all of them are code-related!) and how to create an environment around your API that will make developers happy.
Amanda FolsonLunch
Scaling Laravel @ Swipe iX
We are delving into scaling Laravel – preparing for live television events with the folks at Swipe. Achieving 10,000 API requests a second on your PHP web application. A practical guide to building scalable, high concurrent & fault tolerant PHP web applications.
Scaling is hard but can be done if you follow certain processes, implement the necessary developer operations and architectural design. In this talk we’ll cover our development methodology, AWS infrastructure, system visibility and monitoring, load & stress testing, deployment processes and setting up a war room.
Deon HeunisKicking off with Zend Expressive and Doctrine ORM
You’ve heard of Zend’s new framework, Expressive, and you’ve heard it’s the new hotness. In this talk, I will introduce the concepts of Expressive, how to bootstrap a simple application with the framework using best practices, and finally how to integrate a third party tool like Doctrine ORM.
James TitcumbTea Break
CQRS and Event Sourcing for fun and profit
Microservices are a thing, and with them come some interesting new ways of building distributed applications. While CQS (and its successor CQRS) and Event Sourcing are not brand new concepts, they have found a new home as relevant design patterns in the world of Microservices.
Gareth will aim to provide a primer for all to understand what exactly these two patterns are, how they work well together and the benefits (and down sides) of adapting your development to make use of them.
Gareth McCumskeySpeaker Panel
All the speakers of the conference up in front and ready for questions.
Venue
Sponsors
None of this would be possible without the great people below. Show them some love.