Posted by Edd Mann on Jul 22, 2015

Insertion, Removal and Inversion Operations on Binary (Search) Trees in PHP

Recently Max Howell (creator of Homebrew) posted an interesting tweet in regard to Google’s interview process. In this tweet he mentioned how one of the proposed questions was to white-board a solution to invert a binary tree. Over the past couple of years I have been interested in exploring fundamental Computer Science data-structures and algorithms. As a result, I thought it would be interesting to explore this structure and associated operations in more depth - using immutable and mutable PHP implementations to clearly highlight the benefits garnered from each approach.

Posted by Edd Mann on Jul 08, 2015

Managing Jenkins Project Builds and Configuration using PHP

Throughout project development we use Jenkins to provide meaningful test feedback on each Git push event. These builds are required for a sufficient amount of confidence to be gained for merging into master and subsequently deployment. Each member of the team has their own project which they manage with the current project/branch they are working on. However, typically we find ourselves working on multiple branches throughout the day, and it can become cumbersome to update the projects configuration.

Posted by Will Thomas on Jun 24, 2015

Revealing your hand

It can be hard to know when to put down the mouse and get some fresh eyeballs on your design work. Act too soon and your ideas might not quite be fully formed and be misunderstood. Wait too long and you may have travelled too far down the wrong road. Like most things you need to find a compromise. Here are a few tips on how I try and strike a balance when delivering comps.

Posted by Will Thomas on Jun 19, 2015

Weekly roundup - June 19

Welcome to the weekly round up, where we talk about our favourite articles we’ve seen this week. We also also have plenty of tools we’ve started using such as Babel and php-timecop that we would love to tell you more about.

Posted by Edd Mann on Jun 10, 2015

Optional Value Control-flows in PHP using Traits and Magic-methods

Recently I have been interested in experimenting with different ways to handle optional values. Their are many examples that exist demonstrating the use of the Maybe/Optional structure within the PHP landscape. I would instead like to focus my attention on only looking into the concept of ‘orElse’, which I have found to be a prominent control-flow whilst using these types of value.

Posted by Will Thomas on Jun 05, 2015

Weekly roundup - June 5

It’s weekly roundup time again. It’s our opportunity to share with you the best articles and podcasts doing the rounds in the office this week.

Posted by Thiago Marini on Jun 03, 2015

Conductor: A return to monolith

Conductor is a tool that allows you to gain the advantages of separate components without the downsides of having multiple repositories. Since the long needed arrival of Composer in the PHP world, having one repository per package has been propelled into mainstream and often used without any questioning.

Posted by Will Thomas on May 15, 2015

Weekly roundup - May 15

Welcome to the weekly roundup. It’s our opportunity to share with you the best articles and podcasts doing the rounds in the office this week.