- Coding Horrors - A Horror Film Fan's Guide to PHP Coding Nightmares
For June's meetup, we have Mark Baker (https://twitter.com/Mark_Baker) with his talk "Coding Horrors - A Horror Film Fan's Guide to PHP Coding Nightmares". Abstract: Most of us are probably aware of code smells, code that doesn't apply SOLID principles, code that should be refactored to make the system easier to maintain. But there are other coding horrors that should trigger alarm bells whenever we see them. Like a good horror movie, coding horrors should scare us when we find them, because they're often symptomatic of deeper problems. So let's take a short tour of some of the greatest horror movies ever made; and some of the most worrying code horrors that I've seen.
- Dr Sheldon Cooper Presents: Fun with Flags
For April's meetup, we have Michael Heap (https://twitter.com/mheap) back with us with his talk "Dr Sheldon Cooper Presents: Fun with Flags". Abstract: No no, not country flags, feature flags! Feature flags are a powerful technique that allows teams to modify a system’s behaviour without changing code. They can be used several reasons – canary releases and A/B testing to name a few. This talk will show you how you’re already using feature flags in your application without realising it. Next, we’ll take a look at some of the best tooling out there to help you take feature flags to the next level. Finally, we’ll cover strategies for removing feature flags before they become technical debt that you have to manage.
- Crafting Quality PHP Applications
For March's meetup, we have James Titcumb (https://twitter.com/asgrim) with us with his talk "Crafting Quality PHP Applications". Abstract: 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 talk, we’ll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
- Christmas Social
Every year we always end up organising this too late at which point people already have plans but there can be no excuses this year with us getting it out there early! The Christmas social is a nice opportunity for us all to sit down and have some good food and drinks and get into the festive spirit! We'll update this with more details in the coming weeks.
- Get GOing with a new language
For October's meetup, we have Kat Zien (https://twitter.com/kasiazien) with us with her talk "Get GOing with a new language". Abstract: Learning more than one programming language is key to becoming a better developer. It is like adding a new tool to your toolbox. The more tools you have, the easier and quicker you’ll be able to tackle whatever job you need to do. You’ll also be able to use the right tool for the job, and who doesn’t like that?! I picked up Go (golang) over a year ago as it was becoming more popular among developers. Coming from a PHP background, I had no idea what channels or goroutines were or how is concurrency different from parallelism. I’ve got to say, it was a whole new world. Very different, but very cool. I was hooked! By happy coincidence, my company was looking to rewrite a legacy PHP app in Go. It was over 2000 lines of procedural and messy PHP4 with more downtime than I’m willing to admit to. I took on this project, and soon enough we had a much faster, more maintainable and much more reliable app for our customers. Go gave us options we would not have in PHP. The goal of this talk is to give you a good idea of what Go is and how it compares with PHP. We’ll look at the language itself as well as the tooling and communities around it. Even if you’re not sold on Go by the end of it, I hope you’ll leave inspired to go out there and learn whatever language you wanted to look into next.
- Teaching the next generation...
For September's meetup, we have Michael Woodward with us speaking about teaching the next generation. Abstract: The next generation of developers are looking for learning resources, Universities are not able to provide the platform required to everyone, it comes at a high cost... Current free resources are lacking behind with new improvements in the language. Here's how we're filling that requirement. PHP School, a completely Open Source learning platform for "students" to push themselves, at their own pace, not driven by deadlines but topics of interest. Teach the skills that are required, show off your project with a tutorial workshop! The possibilities are endless, let's help shape the next generation.
- PHP School Workshop
With a difference to our usual schedule, rather than holding a July meetup on the last Thursday of the month, we'll be welcoming the PHP School team, Michael Woodward and Aydin Hassan, to PHP Warwickshire on Thursday 10th August to run a workshop! What is PHP School? A dedicated community based learning platform that will teach you the core skills in PHP. The concept behind PHP School is small standalone workshops, workshops are run from the command line, somewhere every developer should be familiar with. Each workshop covers a different topic, some beginner, some advanced. You're not restricted to a schedule, you go at your own pace with no pressure. Who is the Workshop for? Everyone! It doesn't matter if you have never touched PHP or if you are an expert. You may want to take part in the workshop or come along to learn more about how to contribute to PHP School itself! How to Prepare for the Workshop... In order to take part in the workshop and work along with us you'll have to bring a laptop or group up with others who bring a laptop. We are happy for you to form your own group although if you want to take part but do not have a laptop or group don't worry, we will address this at the start of the meetup. If you are planning to bring a laptop, it would be ideal to install PHP School beforehand by following the steps here: https://phpschool.io/#installation If you do not have PHP installed natively or just prefer this option, Docker can also be used: https://github.com/php-school/docker-phpschool Again, installation beforehand is ideal but do not worry if you can't do this. We'll help you at the start of the meetup.
- Is what you've coded what you mean?
For June's talk, we have Dave Liddament (https://twitter.com/daveliddament) with us talking about Is what you've coded what you mean? Abstract Imagine a venn diagram of your last software project. Consider three parts: what the code should do, what the code actually does and what the developers think the code does. The greater the overlap between all 3 of these the more successful and bug free your software is likely to be. This talk examines how to increase this overlap. Specifically how to reduce the gap between what the code actually does and what the developer thinks the code does.We'll look at the importance of type hinting, assertions and things called value objects.We'll then look at how these techniques can be combined with modern IDEs to: reduce the chance of introducing bugs minimising the cost associated with any bugs that do slip through the net safely refactor code so we can rename classes, methods and variables to be more explicitBy the end of the talk you'll have picked up tips on how to write cleaner software with fewer bugs that does what it's supposed to do. Bio:Dave is a Director and developer at Lamp Bristol, a software consultancy. Today he codes in PHP and uses the Symfony framework. In the past he's written software commercially in many languages including C, Python, Java as well as PHP. Dave is keen to pass on his knowledge. He helps organise PHP-SW (https://phpsw.uk/) where he occasionally talks at. He also runs a monthly workshop (https://www.meetup.com/Bristol-PHP-Training/) that offer introductions to topics like testing, setting up a CI environment and git. When not busy coding Dave enjoys scuba diving and running.
- Round Table Discussion
This month we do not have a talk but will instead be holding round table discussions. These type of events are often very productive and also give everyone more of a chance to get involved and get to know each other. If you have any topics you'd like to discuss or hear other opinions about, feel free to let us know online or on the night!
- Kickass Development Environments with Docker
For April's meetup, we have David McKay (https://twitter.com/rawkode) with us doing his talk "Kickass Development Environments with Docker" Abstract Docker, the hottest technology around at the moment. It swept the Ops world by storm in 2014, became mainstream in 2015, and dominated the developer world in 2016. Docker is a tool that allows you to package your application up into a single-runnable distributable binary - akin to the phar, but in Hulk mode. Docker allows you, a developer, to specify the exact environment your application needs to run, across development; test; staging; and production. In this talk I will cover the creation of this utopian distributable and show you how to can compose your entire production infrastructure locally with only a small YAML file and without installing a single thing. Lets say hello, to Docker.