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

From humble beginnings as a PHP4 web developer in grade school, Amanda now works as a Developer Relations Manager at Nexmo where she gets to share her passion for technology and education with others. In addition to consuming APIs and IPAs, she currently serves as a co-host for the PHPTownHall podcast and is involved in Open Sourcing Mental Illness. In her spare time you’ll find her in a hammock with a guitar.

James Titcumb

James is a consultant, trainer and developer at Roave. He is a prolific contributor to various open source projects and is a Zend Certified Engineer. He also founded the UK based PHP Hampshire user group and PHP South Coast conference.

Bernhard Breytenbach

Having started with web development back in 2005, Bernhard Breytenbach is a self-taught PHP developer/Linux DevOp. He currently works a lot with Cryptocurrencies, trying to simplify the process of receiving payments for merchants at GloBee.com. As someone who is very involved in the South African Dev community, attending and speaking at different conferences and meetups, he also runs the local Pretoria PHP usergroup and is one of the organisers of PHP South Africa. He has a heart for young students and enjoys sharing his knowledge with the community. As a strong believer in mentorship, he currently mentors a number of students from different backgrounds, through which he tries to inspire the new generation.

Michelle Sanver

Michelle Sanver works as a software developer at Liip. A self organised web agency based in Zürich. Michelle loves anything community related and is a big advocate of Open Source. She is a code-passionate colourful geek and with more than 15 years of PHP experience, she is eager to share her extensive knowledge.

Brad Mostert

Brad is a senior developer at Afrihost and a Design Patterns acolyte. He feeds exclusively on bandwidth and coffee, likes to herd servers (you know.. like cattle), does some Open Source and helps organise the Johannesburg PHP Meetup. All user input submitted to him will be ‘> /dev/mull’ for consideration. Brad also likes long walks on the beach and craft beer.

Liam Norman

Liam Norman is a software engineer at superbalist.com and organiser of the PHP Cape Town user group. With experience working on monolithic systems, smaller SPA systems as well as API's. He has a passion for TDD, Laravel, CI/CD, and API Development. When not coding late into the night, he can be seen hiking table mountain or dabbling with anything PHP related.

Deon Heunis

Having spent more than 16 years in the digital and technology industries, Deon has held a variety of positions from Head of Architecture at Prezence, Development Manager at Engine Digital based in Vancouver Canada, to more recently being the Solutions Architect at Touchlab, the digital R&D; division of Media24. In 2014, together with Leo Redelinghuys, they founded Swipe iX, a specialist software development agency focused on strategic digital solutions. Swipe iX services some of Africa’s biggest businesses. He worked on a variety of high profile clients such as PriMedia, Computicket, Standard Bank, SoccerLaduma, DStv and TenCent.

Michael Cullum

Michael Cullum is a backend software engineer, working particularly with PHP, and has been for about a decade. He currently works at SamKnows as a senior software engineer & architect doing data intelligence, storage and processing of internet measurement data at huge scale. He is also a manager & core developer at phpBB where he has been a contributor for over half a decade and he recently joined the Symfony Core Team as Security Lead.

Gareth McCumskey

Gareth is a bit of a serverless evangelist. After having worked on numerous serverless projects and helping a multi-million Pound travel business get down the road to re-architecting from a monolithic backend to a microservices based, serverless backend with good results, he is here now to help others realise the potential of this new way of building applications that is going to revolutionise our industry ... again. Gareth has been a web developer for almost 20 years and started out with PHP back in 2000. He is now a native of the Cape with his wife and daughter (and soon son) where he is a Senior Web Developer at RunwaySale, one of South Africa's leading fashion retailers.

Dave Nel

Dave is a Managing Partner and co-founder of Tangent Solutions, a digital transformation development consulting house that focuses on Open Source technologies, mobile development, DevOps and Azure. He also sits on the boards of a couple of late stage startups assisting with technological operational and strategic planning. Besides for his professional roles, he works with a number of developer communities and is involved with a few User Groups.

Schedule

08:00-09:00
Registration

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 McCumskey
11:30-12:30
Lunch

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 Titcumb
08:00-09:00
Registration

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 Cullum
10:00-10:15
Tea Break

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 Norman

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 Mostert
11:45-12:30
Lunch

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 Cullum

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 Breytenbach
14:00-14:15
Tea Break

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 Sanver

All the speakers of the day up in front and ready for questions.

08:00-09:00
Registration

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 Sanver
10:00-10:15
Tea Break

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 Nel

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 Folson
11:45-12:30
Lunch

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 Heunis

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 Titcumb
14:00-14:15
Tea Break

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 McCumskey

All the speakers of the conference up in front and ready for questions.

Venue

Your Name (required)
Your Email (required)

Sponsors

None of this would be possible without the great people below. Show them some love.

Gold Sponsor

Silver Sponsor

T-Shirt Sponsor

Lanyard Sponsor