PHPNews

2018 Lookbehind, Lookahead 2019

Every year I make goals. Most of my goals are focused on work, but I do squeeze a few personal goals in as well. Last year I publicized my 2018 Dev Goals . So, before talking about my 2019 goals, let’s lookbehind at 2018. 2018 Goals ✅ Write a book I published the early release of BaseCode on July 13, and …

Continue reading »

Written by Jason McCreary - - Aggregated on Monday December 31, 2018


Building Products - Starting from Square 0

Lately I’ve been preparing build a new SaaS product called Optionality . I want to journal this process to not just talk about the code, but also the product decisions and marketing involved in building a product. So in this first post, I want to start at the very beginning. It’s important because I rarely start …

Continue reading »

Written by Jason McCreary - - Aggregated on Thursday December 13, 2018


10 practices for readable code

I’ve been writing code for 20 years. During that time I’ve worked with 17 teams coding different languages to build hundreds of projects. These include everything from a simple blog site, to APIs supporting 3,000 requests/second, to top selling apps . From these experiences, combined with the books I’ve read , …

Continue reading »

Written by Jason McCreary - - Aggregated on Tuesday September 18, 2018


Laravel by the Numbers

I had the privilege to speak at Laracon again this year. The last Laracon talk I gave, Practicing YAGNI , is one I am most proud of. Initially, I wanted to do a continuation on this topic. But there were some other talks on related topics. So I thought, “what can I talk about that’s unique to me”. The answer was …

Continue reading »

Written by Jason McCreary - - Aggregated on Wednesday July 25, 2018


2018 Dev Goals

At the beginning of each new year set goals. While I split them between personal and professional goals, I find the lines can blur. I like what I do. So, even though these are my goals as a professional developer, they are personal goals too. Here are my goals for 2018: Write a book Learn Python …

Continue reading »

Written by Jason McCreary - - Aggregated on Thursday January 4, 2018


Fake it by stubbing the mock, dummy

I recently lead a workshop at ZendCon titled Start testing your PHP Code . I have given this workshop a few times. What I continually receive questions about are the different types of mocks (testing objects). There are indeed differences. I often borrow the definitions from Martin Fowlers TestDouble post (who …

Continue reading »

Written by Jason McCreary - - Aggregated on Tuesday November 14, 2017


Writing Clean Code (Part 2)

In Part 1 of Writing Clean Code I outlined three simple practices of formatting, naming, and avoiding nested code. All in an effort to improve code readability. In Part 2, I want to go a little deeper and cover grouping . When I say grouping, I’m really talking about the Object Oriented Programming paradigm of …

Continue reading »

Written by Jason McCreary - - Aggregated on Tuesday October 17, 2017


SMS admin in 8 lines of code

I’m passionate about the products I build. But I try to balance my time between them. This can be difficult with a SaaS product. Especially a paid SaaS product like Laravel Shift . You don’t want to miss out on revenue. While Shift is a fully automated service, there are times where human intervention is required. …

Continue reading »

Written by Jason McCreary - - Aggregated on Wednesday September 20, 2017


Committing to the wrong branch

Lately CodeRabbi has been tweeting some Git aliases. We all know where I stand on aliases . Be that as it may, his recent tweet received a lot of replies proposing different solutions. This contributes to the steep learning curve with Git - what’s the proper way to do something? I try to address in Getting …

Continue reading »

Written by Jason McCreary - - Aggregated on Tuesday September 5, 2017


References from "Writing Clean Code"

I held my first of a series of Workshops by JMac yesterday on Writing Clean Code . I plan to edit and release a recording of the workshop over the weekend. In the meantime, I wanted to share some of the references I made during the workshop. Implementation Patterns by Kent Beck Filled with principles …

Continue reading »

Written by Jason McCreary - - Aggregated on Thursday August 24, 2017


Writing Clean Code

I recently started a new job. With every new job comes a new codebase. This is probably my twentieth job. So I’ve seen a lot of codebases. Unfortunately they all suffer from the same fundamental issue - inconsistency . Likely the result of years of code patching, large teams, changing hands, or all of the above. …

Continue reading »

Written by Jason McCreary - - Aggregated on Monday August 14, 2017


Starting an online workshop for Git

A few years ago I helped a development team switch from SVN to Git. I was responsible for converting over 100 repositories to Git, establishing a workflow, and training the team. The first two were actually the easiest. The Shrek blog post and svn2git helped convert the repositories and for 99% of projects GitHub …

Continue reading »

Written by Jason McCreary - - Aggregated on Wednesday July 5, 2017


15 years of unprofessional trading

When I was a kid I mowed neighborhood lawns. I made almost $100 a week. I put all my money in a school box under the bed. One day, my grandpa noticed my method of savings. He immediately took me to the bank to open a savings account. He suggested I keep the money from one lawn and save the rest. After jobs during …

Continue reading »

Written by Jason McCreary - - Aggregated on Friday June 2, 2017


An edge case for cache busting

Let’s say we’re architecting a high-performance website. We know from Steve Sounders’ books we see the most performance gains by focusing on frontend optimizations. To start improving performance, we may do the following: Concatenate and minify assets. By condensing all of our JavaScript and CSS into …

Continue reading »

Written by Jason McCreary - - Aggregated on Sunday May 14, 2017


An edge case for cache busting

Let’s say we’re architecting a high-performance website. We know from Steve Sounders’ books we see the most performance gains by focusing on the frontend optimizations. So we may do the following: Concatenate and minify assets. By condensing all of our JavaScript and CSS into a single file (respectively…

Continue reading »

Written by Jason McCreary - - Aggregated on Friday April 21, 2017


Compensation tips

In the past week a few people have asked my advice regarding compensation. Coincidentally, I personally have had to think about compensation as I recently changed jobs. During my career I’ve changed jobs 14 times across 12 companies. These were strictly full-time positions. I’m not counting the various contract …

Continue reading »

Written by Jason McCreary - - Aggregated on Friday April 21, 2017


Using git bisect

A few weeks back I gave a talk at Laracon Online entitled You don’t know Git . During the talk I demoed several unfamiliar Git commands. While I did cover git bisect , I didn’t provide a demo. Demoing git bisect is challenging. The command has several subcommands and requires context about the code. As such, …

Continue reading »

Written by Jason McCreary - - Aggregated on Wednesday April 12, 2017