I had to debug an issue with a site I built when client/friend discovered that the menu toggle icon disappeared only when visiting her site from within Instagram, specifically, on her bio page where she has a link to her site. Being an in-app browser within an application I have no control of, I struggled to debug this problem. The “userAgent” string, as shown in the image above helped me out. I used the… + read on
Note to self: Don’t erase your
knownhosts file. (headslap!) I provision servers with Laravel Forge and messed up my deployment from Github recently. I was messing around in the
.ssh folder on my server and deleted the
known_hosts file. The next time I tried to deploy my code base from Github though, I got the following error.
Host key verification failed. fatal: Could not read from remote repository. I needed to get… + read on
I inherited a Craft CMS site that I now maintain for a new client. When you inherit other people’s code, you need to see the project from their POV to get an understanding of they see things working. Luckily Craft seems to encourage logical structures being built so I’ve not had too much trouble getting up to speed on this site. One of the problems I did run into was with a simple Plain… + read on
You like videos, right? Then you’re probably familiar with HandBrake, the open source video conversion tool. Encoding a single file is pretty straightforward, but the program has the ability to set up a cue and go through a bunch of shows while you are away from your computer. Here’s a quick video walkthrough on how to use this feature I put together for a friend.
I’ve been teaching myself Gulp recently. I found the basics easy to pick up. Although I didn’t consider myself a Grunt expert, I’d taught myself Grunt previously and that helped with me with Gulp. Before we go further, check out the GitHub repository that contains the finished example project we’ll go over here: https://github.com/johnfmorton/using-gulp-htmlprocess-example One thing I have seen in both Grunt and Gulp workflows I’ve used from their repositories was a script… + read on
I recently worked on a site which saved data in it’s local database which needed to be collected and sent each day to a remote server via SFTP for analysis. Needless to say, I didn’t want to manually do this process every day, but I had never fully explored cron jobs, so I had to teach myself about cron jobs while I figured out the problem at hand. Here’s how I ended up automating… + read on
At the time I write this post, Google Analytics has a new version in beta called “Universal Analytics”. It’s basically Google Analytics version 3. This means that code you may have relied on during the version 2 of Google analytics may no longer work. Google suggests that all new projects moved to version 3 now. It does offer “real time” analytics, so you can see who is on your site at that very moment… + read on
Here’s a small code snippet that I use to increment a value between visits using a PHP cookie. I use it, for example, when I have 3 different images that could go on a page, and I want to serve up the next one in the sequence on subsequent visits to the page. I just use the “$num” where appropriate. You can edit the ‘2’ in line 14 to change the wrap around value… + read on
I’ve used Navicat for years. I’ve used MAMP Pro for years. Both tools are must-haves as far as I’m concerned, but I had been having problems with special characters being corrupted for nearly 6 months. Every curly quote, m‑dash or umlaut was torturous. Briefly, the problem was that those special characters (like curly quotes) would be changed to question marks in my database after I had migrated it to or from my local development… + read on
I recently worked on a project for a client who wanted to allow a user to view and print a number of recipes directly from a Flash banner. There were all the other ways of interacting with the recipes as well, like emailing, sharing on Facebook, and sharing on Twitter. (I don’t go into those other thing in this post, but you can find me talking about how to do things like that elsewhere… + read on