My thoughts on software development

Profile Picture

Andrew Davis

I am a web developer who has experience with PHP, JavaScript, Go and Swift. I like to dabble with new technologies and write opinions.

Creating a Magento Theme with Next.js and GraphQL
At the end of 2018, Magento released the 2.3.0 version of their e-commerce framework with a new GraphQL API. Traditionally, Magento themes are created with PHP templates, similar to WordPress. However, with the new GraphQL API and PWA Studio, new themes can be created in JavaScript frontend frameworks like React and Vue. To experiment with the API, I have created an open source theme called Basil using React, Next.js and Apollo.
Feb. 12, 2019 • 7m 12s
Announcing PHP Apprentice!
I am excited to finally announce PHP Apprentice! It is an online, free and open-source book for learning the PHP programming language. The book is a side project I have been building for six months. My goal is to provide a contemporary resource for learning the basics of PHP with a focus on high quality code.
Jan. 11, 2019 • 3m 18s
Building My Personal Site with Go and TailwindCSS
Recently, I found the domain andrewdavis.me available for purchase. I tried to buy it in the past, but it was already taken. I quickly purchased the domain, but then I had to decide what to put on it. I made up my mind to build a personal website that would showcase my work and writing.
Dec. 16, 2018 • 5m 18s
Showing Kindness while Programming
Software development and programming is a difficult profession. It is very new and requires a lot of practice, learning and mental focus. It can get frustrating when you are working with others and mistakes are made. Programmers are also very demanding of those who provide our programming languages and frameworks, especially with bugs or problems that hinder our daily work. When we encounter these problems, it is very tempting to get angry and make a snide comment on social media or give a dirty look in the office.
Nov. 20, 2018 • 6m 36s
Writing Beautiful Code
Because programming is a technical profession, we often approach it without thought to design. Code is for getting a computer to do what we need, why should design matter? The majority of the programming languages we use were built for the programmer and are transformed into something that is optimized for the computer. As a result, we need to write our code, not just for the compiler or interpreter, but for humans to read.
Sep. 24, 2018 • 7m 6s
Security Tips for a PHP Application
I know what many of you are thinking! PHP and security? Why bother? Just use another programming language! Contrary to popular belief, PHP is still a viable language for building web applications. PHP is just another tool that you need to learn to use properly. Let's discuss a few items specific to PHP that will make your site safer.
Aug. 7, 2018 • 5m 28s
Introduction to Go for PHP Developers
Recently, I started working on an internal CLI app for my team at work. My main programming language of choice is PHP, but I wanted to create this program in a language that could run on any platform without having to have an interpreter already installed. I also wanted the app to be self contained in a single binary for easy distribution and installation.
Jul. 6, 2018 • 9m
My Sublime Text Setup for PHP
I have been using Sublime Text for coding in PHP for several months now and over that time have accumulated several useful plugins and editor settings. I have not seen many recent articles about setting up Sublime Text, especially for PHP, so I want to share how my setup works and what has been most helpful for me to write code productively.
Jun. 3, 2018 • 6m
Choosing PHP in 2018
I bet you do not see those words very often. We live in a time where there are a plethora of programming languages and frameworks. As web developers, we have so many options, it can be very difficult to know what to learn and use to build a modern website. If you check StackOverflow, Hacker News or Twitter, you will see thousands of different opinions about what language you should be using.
Apr. 29, 2018 • 3m 6s
Avoid Burnout and Get Back to the Basics
Ever feel overwhelmed by how much there is to learn? Is the pressure to learn Redux, CSS Grid, TypeScript, Go, Rust, Elixir, Kotlin or Elm getting you down? The software industry changes so quickly, it is very hard to keep up with all of the newest trends.
Apr. 2, 2018 • 5m 42s
Tips For Learning Linux Servers
As a web developer, I do backend programming as part of my daily work. Even though I do all of my development on a Mac, my code runs in production in a Linux environment. Even though I don’t plan to be a systems/devops engineer, I’ve always wanted to know more about Linux and how to manage it.
Mar. 11, 2018 • 4m 6s
Why You Should Be Unit Testing
Unit testing feels like running for exercise. It is something you know you should be doing, but it is really hard to get motivated to start. When I first began programming, I thought unit testing was redundant. I manually test everything, so why should I take the time to write more code? It took time for me to learn unit testing, but now I see the benefits.
Feb. 19, 2018 • 5m 12s
Why I Switched from Visual Studio Code to Sublime Text
Recently, I switched to using Sublime Text as my main code editor. For over a year, I had been using Visual Studio Code for writing code. The two editors are very similar, but have enough differences that I wanted to share what lead me to using Sublime full time.
Jan. 25, 2018 • 5m 6s
Four Tips For A More Secure Website
Security is a hot topic in web development with great reason. Every few months a major website is cracked and millions of user records are leaked. Many times the cause of a breach is from a simple vulnerability that has been overlooked. Here are a few tips to give you a quick overview of standard techniques for making your websites more secure.
Jan. 8, 2018 • 13m 54s
Swift For Web Developers
Swift has become a standard language for iOS development and is becoming a popular language for server side programming as well. My previous programming experience is mostly with PHP and JavaScript, so Swift was a whole new world when I started. I’m writing this post to give web developers coming from PHP, Python or Ruby a head start on how to use Swift.
Dec. 16, 2017 • 10m 48s
Cherry Picking in Version Control
Lately, I have been trying to improve my knowledge of git. I think it’s a tool that is often overlooked in our day-to-day as developers because we focus so much on writing code.
Dec. 8, 2017 • 3m 54s
Imposter Syndrome: PHP Edition
Programming is an amazingly cliquish community. Every developer has a preferred language with philosophical reasoning or performance rankings to back up the choice. I love the variety we have when picking a technology, it keeps the industry exciting and nimble. However, I hate all of the constant derision that many programmers throw at languages they don’t use.
Nov. 28, 2017 • 3m 30s