At some point, it’s going to be necessary for you perform some scheduled tasks in your application. Here are three options for how to do this in PHP.
Read MoreThe other day one of my old clients contacted me because an application I had developed for them (5+ years ago) was slow. My first step was to download New Relic to their server but I found their configuration wasn’t supported anymore. I had to start building a footer that displayed page rendering information (makes me even happier to use New Relic in my other projects) and what I found shocked me.
They have a list of vendors which are then picked in various select elements through the site. When we originally created the system they had ~100 vendors. In the past five years they’ve entered 1,500+ vendors. Some pages had multiple (in one case 10+) vendor selects which caused the page to be 35 MB of just option elements and because everything was written using classes it caused 15,000+ classes to be instantiated and then used. I do love PHPs speed though, on my local machine this still didn’t take more than a second to generate and it was really only a problem when using the page through the Internet.
As programmers it’s impossible to tell how our systems will be used. When we originally created this system we used the information they had given us to create the best system we could for their budget. Even now I wouldn’t have tested their system with as many vendors as they’ve managed to enter but it’s important for us to build systems that scale.
The last time I rearranged my desk and decided I would try using one of my monitors vertically instead of horizontally. I’ve spent a year using it this way I thought I would talk about what I’ve liked and what I’ve disliked.
]
Read MoreI’m working on updating an Ansible configuration that was originally developed using Ansible 1 and I’m now running under Ansible 2. When I did this I kept receiving the following error message:
Instead of sudo/sudo_user, use become/become_user and make sure become_method is ‘sudo’ (default). This feature will be removed in version 2.6. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
The trick to fix this is to change “sudo: yes” in the following:
to:
As I discussed in Let’s Invest in Ourselves For 2018, I think that reading is an important part of professional development. I’ve been having my directs read a book each quarter for the last several years and for the last year or so we’ve been reading the same book as a group. I wanted to share my lessons learned while we went through this process.
Read MoreThe other day when I was performing a vagrant up I received the following error:
The only trick to this was to update Vagrant to the current version. I’m hoping this will help someone else who runs into this problem.
This is some bittersweet news for me but as of Friday I’m no longer an employee of Zimco. I’m super proud of what we were able to create with STAGES and I’m glad to have been able to work with the amazing team there to create a really amazing product. It’s too bad its time is drawing to a close.
The good news is that I’ve been hired by Wellspring Lutheran Services to work on their WeCare Connect product that I built while I was at Zimco. I’m looking forward to working with the team there to improve the product. It’s been a great learned experience over these last few years and I’m sure it will continue to be.
As part of my Let’s Invest in Ourselves For 2017 post I said I wanted to read Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin. I had a hard time writing a post about what I learned in that book because it’s mostly just a laundry list of things you should (or shouldn’t) do in order to create easier to read code. I’m rereading it with the other programmers at work (at my suggestion) and I realized that there were a lot of things that I’m still not doing that could improve the quality of my code.
To that end I’ve started a new process. Every Friday, I’m going to pick 5 items from the book and place them on my monitor. Before I make a commit, I’m going to review all my changes and make sure any new code fits those items. The idea is that instead of trying to focus on 100 items all at once I’ll focus on 5 and then
I’m also posting these to Twitter with the hashtag #ImplementingCleanCode.
subscribe via RSS