• Using PHP Resque with Redis Sentinel

    Redis Logo

    We’re using Redis Sentinel to provide high availability for our Redis deployment. One of the struggles we had as we made this transition was finding a way to get php-resque to connect to Redis Sentinel as well.

    Read More
  • Calculate Time Left Based on Percentage in PHP

    PHP Logo

    The other day I wrote a script that batched processed new records that took several seconds to process (each one could created hundreds of rows in a database and had to be compared against all other previous records). I really wanted to know how many records were left and how much more time it was going to take (so I can plan accordingly). Below is a modified version of the script so you can adapt it for your own uses.

    Read More
  • Link Post and Podcast Roundup: March 2017 Edition

    Link Post Logo

    March’s links.

    Read More
  • Finding Entities in Symfony 3 Using Doctrine


    The other day I ran into an interesting case trying to get data out of a Symfony project where the entities I was interested in were dependent on a second entity but I couldn’t find an easy way to find them without multiple queries. It took me a lot of reading through Stack Overflow questions to find the results but I wanted to document what I’ve found.

    Please note I wrote this using Symfony 3.2.3. Last time I posted something about Symfony someone asked me to mention this.

    Read More
  • How to Use the Composer Autoloader in Your Project


    I’m slowly working on a script to add some measureability to our code base and I wanted to use the composer autoloader. I wanted to document how it was I did this for the next time I need it.

    Read More
  • Lessons Learned From A Year With Jekyll

    Jekyll Logo

    A year ago today I moved this site over to Jekyll and I wanted to share some of the things I’ve learned and discuss how the process has gone.

    Read More
  • Link Post and Podcast Roundup: February 2017 Edition

    Link Post Logo

    February’s links.

    Read More
  • Lessons Learned From Ansible

    Ansible Logo

    I’m slowly converting all my servers to use Ansible for setup and deployment. I wanted to share some of the things I’ve learned over the past couple months as I’ve worked my way through this process.

    Read More
  • Let's Invest in Ourselves For 2017

    This week I started the evaluations for the programmers that I manage. As part of that process, we have them do Professional Development goals that they need to complete every quarter. I believe that everyone should be doing some type of learning about their craft. Not only does it improve your current work place but it opens up new opportunities for future employment. Our Professional Development comprises of three pieces:

    1. Book
    2. Online Video/Course
    3. “Teachable Moment”

    1. Book

    It seems a little crazy to have people reading books in the age of the Internet where tutorials for every possible technology are online. But books provide a valuable service. They form a collection of all the information the author thinks you need about a topic. They allow you to read them through at your leisure even in places where reading from a computer would be looked down on (take off/landing) and it’s easier on my eyes. The idea is to pick a book you’ve never read on a topic you’re interested in or might help our development process and/or business.

    Generally, everyone reads their own book on their own time line and then submits a few notes about what they learned (this keeps people honest). This quarter we’re having everyone read the same book and then we’re discussing it in a Google Group (that way when we add new employees they can go through the same book and see what other people said).

    2. Online Video/Course

    Again, the idea here is to pick a topic that is of interest to the person and give a little report about what they’ve learned. I’m looking for more of a broad overview of a technology so they can know it exists and what it’s good for (FLOSS Weekly, The Hanselminutes Podcast, and Three Devs and a Maybe are a good source of broad technology exposure).

    3. “Teachable Moment”

    In on the job training there’s this idea of “See One, Do One, Teach One”. The though is that you see someone do a task, then you do it, and finally you teach someone else how to do the task. The hope is that by the time you’ve reached “Teach One” you understand what’s going on enough to answer any questions.

    I wanted to take this concept into our group as “I ran into this problem”, “I fixed it”, and “here’s how I did it”. I feel like a lot of the time we fix problems on our own but don’t related that information back to our group so everyone learns. This puts an incentive to bring that knowledge back to the group.

    My Personal Goals

    To prove I’m “willing to do anything I ask of people”, I’m going to be making the same goals here. Every quarter I’ll discuss what I learned in a book, what I learned in an online course, and I would argue most of my blog posts are “teachable moments” so as long as I keep creating them I’ll count that. I’ll announce my book picks in advance (on Twitter and Facebook so you can read them too if you’re interested.

    The books I’ve picked are:

    1. Working Effectively With Legacy Code
    2. The Pragmatic Programmer: From Journeyman to Master
    3. Clean Code: A Handbook of Agile Software Craftsmanship
    4. Refactoring: Improving the Design of Existing Code

    I’m still on the lookout for videos/courses but I have a list of them saved in my bookmarks that I can start looking through. I’ll be posting the parts I found interesting on this site for everyone to enjoy but feel free to read them along with me.

  • Social Media

    One of my goals this year was to create a social footprint for This Programming Thing. I’ve started out with Twitter and Facebook. The plan is to slowly roll out changes and see how they affect my readership but please follow us for updates.

    Initially, any of the items that will get posted to my link posts will also be sent out via Twitter and Facebook as I find them. We’ll also create the monthly roundup of links with a couple other items included. We’ll also include links to all our posts as they’re published.

    I also created a Medium account to cross post there to see how that works.

subscribe via RSS