This past week I needed to be able to read some data from a Google Sheet and then update a column for each row after processing it. This sort of thing should be simple, Google is built on APIs and has client SDKs for just about every language. I’ve also integrated with several Google Admin APIs previously so I expected this to be a breeze. I was wrong. I started out by reading the Quickstart for Sheets API with the PHP Client, but almost immediately I could tell it was not written for my use case.
Managing web servers can be a lot of work. Especially when it comes to configuring and maintaining SSL certs, server and software updates, etc. Let’s Encrypt has made the SSL part a lot easier, but it is still work and to me feels like overkill for something as simple as a static single-page-application. Especially when there are dead simple solutions like Amazon S3 that can be used to host and scale a static website without any server configuration or maintenance.
Last year at php[tek] 2015 during the hack time I messed around and created a Docker image to run and test PHP7. It was surprisingly easy and I quickly learned that the app I was working on at the time ran fine in PHP7, good deal. So since then I’ve been awaiting the general availability release of PHP7 to move forward with upgrading my apps. The main thing holding me back was I just didn’t want to maintain an image based on compiling from source.
This year I decided to try to participate in the Global Hack day for Docker. Most of the Docker ecosystem of tools are based on the Go language and I’ve never worked with Go before. At work we run a private Docker registry to store some of our Docker images, but unfortunately it does not come with an easy to use interface for browsing the images stored in it or deleting them.
At work we’ve recently started using Amazon’s EC2 Container Service (ECS) for running Docker images in staging and production. In order to simplify our CI/CD process we wrote a script for triggering blue-green deployments. I wrote an article explaining the how and why over on the Codeship Blog, check it out: https://blog.codeship.com/easy-blue-green-deployments-on-amazon-ec2-container-service/
Over the past several months my team at work has been integrating Docker into our software development life-cycle. We’ve run into several road bumps and come up with solutions to work through them in order that we could have a consistent development experience on Docker. The good folks at Codeship published an article I wrote on the topic. If you’re considering using Docker I recommend you check it out to kick-start your process.
This was my second php[tek] and I was not disappointed. I’ve attended other tech conferences but this one seems to have the greatest sense of community. It only makes since that the overall theme of this years conference was Open Source and community in general. There were also a lot of PHP “celebrities” attending and speaking at the conference which was neat to see that while to many of us they are above this sort of thing they were just as engaged and present as us normal folk.
Based on my experience and previous series about the their APIs Nexmo asked me to write an article for publishing on ProgrammableWeb. Of course I said sure, that sounds like fun. So I wrote about Nexmo’s Verify API that makes end user verification quite simple and user friendly. Head over to ProgrammableWeb.com to read my article: http://www.programmableweb.com/news/end-user-verification-even-your-grandma-can-use/sponsored-content/2015/05/12
In picture - @tjlytle, @prabhuv, @phillipshipley, @Michael_Ludden Just over a week ago I had the privilege of attending the TechCrunch Disrupt Hackathon in New York. I was there as an extension of the Nexmo team to support participants who were integrating with the Nexmo APIs. It was an absolute blast and we had a great time meeting so many talented developers and getting a glimpse into their creativity. I wrote a more detailed post about the experience over on Nexmo’s blog, check it out: Nexmo Disrupting NYC.
This is Part 4 in a series, you can read Part 1 here or Part 2 here or Part 3 here or Part 3.5 here. At this point in this series we have a complete PHP client for the Nexmo APIs. Hopefully I’ve been able to teach some good practices and designs in the process of developing it, but I know many of you test-driven-development advocates are probably screaming that I’ve left out the most important part: testing, and testing early.