The Caveena Solutions Blog

This is a story of how our standard testing practice came to byte us in the backend (enjoy the puns, folks. I’m here all week!)

There were some important technical updates we needed to make to a simple PHP application so we cloned it and set it up on a development server using phpapp.test as the domain. For this particular app to work, we had to update the database to change all occurrences of therealdomain.com to phpapp.test. Not a problem, any text editor with a search-and-replace functions will do.

The test app launched fine. The errors didn’t start appearing until we initiated the update process. We kind of expected errors but always hold out hope that things go smoothly.

Read more »

“The search results are not displaying correctly on my phone.” They extended their phone to me so I could take a look and confirm the results looked awkward. Instinctively I ran the search on my laptop and the results displayed perfectly as intended. “Well that’s not right,” I commented. Time to troubleshoot.

Read more »

A new client request came in for annual maintenance on a WordPress website. No problem, we’ve been providing WordPress maintenance for years. Oh, did I mention that the website had been virtually untouched for about 10 years? This is going to be interesting…

Read more »

A long-term client asked us one day if we could create an online form with multiple parts for a section on their website. There are a lot of solutions already available so it was trivial to select one that met their needs. But it did get me thinking about how difficult if I were to create my own solution.

Read more »

My default browser (Vivaldi, by the way) is configured to search my bookmarks when I type into the address bar. Today I mis-typed youtube.com and it suggested a blog post from 2008 about image optimization originally published on the now defunct YUI Blog. Curious to see just how much of the advice would still apply today, I loaded the bookmark⁠⁠⁠⁠…

Read more »

I count myself among the crowd that resisted and rallied against the inclusion of The Block Editor (aka The Gutenberg Editor) as WordPress’ default editing experience. But after digging deeper into the weeds I have to admit I think I’m coming around. Sort of.

Read more »

WordPress’ automatic updates were failing to update a plugin so we had to go in an investigate.

Read more »

I once shared with a friend how mistakes as small as 3 letters can take down an entire application.

Whether it’s a website, mobile app or bespoke system, the running and delivery of web application requires a lot of moving parts operating in conjunction with each other. A server receives requests which it forwards to some server-side language to perform some action which often includes querying a database. Then you have third-party services such as APIs, intrusion prevention system and social networks. All these parts need to be properly configured so they can communicate with each other and in a world of typos that’s where the danger lies; mistype a command and you can be left staring at a wall of text hunting for the culprit perfectly hidden in plain sight.

My smallest configuration mistake used to be 3 characters long — I mistyped 3 letters and the connection died. Today I beat my record with a typo that took down an application because of a single character.

Read more »

Well this was a very interesting problem to run into. We’d migrated a website to a new host and WP-CLI was throwing errors complaining about an issue with the FTP Connection. What, for real? What would WP-CLI want with an FTP Connection? It wasn’t all commands though; wp core version ran without issue but others like wp plugin list kept complaining. What’s more, running WP-CLI on another website on the exact same host proceeded without issue. What was going on?

Read more »

If it happens once it’s a novelty. Twice, it’s a coincidence. Three, times it’s a habit. So if it happens four times would that make it an addiction? 🤔 From Parallax to scrolling colour changes to zooming in on image I had another idea to play around with sticky positioning and slides. As has been the case with all my experiments so far, it was surprisingly easier than expected with modern CSS.

Read more »