Blog
How Magento's JavaScript Block Loader Works
Published: December 11, 2022
I’ve been looking at a Magento site where multiple loaders show up in different areas on the cart page. The loaders look something like this:
I did a bit of a deep dive into what actually causes these loader to show up. In this post I’ll share my findings.
Getting the Current Fastly VCL via API
Published: September 28, 2022
This is just a quick little tip, but something I always have to look up how to do. The Fastly API has an endpoint for fetching the generated VCL for a service. The issue is that the version_id
for the serivce must be provided in the request (there’s no way to say “just give me the currently active VCL”).
Preventing Flag Conflicts in Go
Published: July 18, 2022
After import
-ing a new package into one of my go projects and attempting to run the build, I was presented the following error:
panic: flag redefined: version
In my project, the version
flag allows the user to see what version of the tool they have installed (main.version
is passed as the current git tag via -ldflags
in the build script).
package main
import (
"flag"
"fmt"
)
var version string
func main() {
ver := flag.Bool("version", false, "Get current version")
flag.Parse()
if *ver {
fmt.Println(ver)
}
}
Presumably, the problem was that the newly imported package also used a flag with the same name.
Troubleshooting mismatched anonymous define
Published: July 9, 2021
If you’re reading this post you’re probably troubleshooting an error like this:
(index):10 Uncaught Error: Mismatched anonymous define() module: function(){return wr}
http://requirejs.org/docs/errors.html#mismatch
at makeError (require.min.js:formatted:86)
at intakeDefines (require.min.js:formatted:713)
at require.min.js:formatted:835
at nrWrapper ((index):10)
While the RequireJS documentation provides some direction on this error, in practice it can be a nightmare to understand what’s actually happening as the error trace provides no indication as to the underlying code causing the issue.
Fortunately, my colleague found an approach for getting to the actual source of the problem. In this post I’ll share that approach.
Finding Largest Tables in MySQL 8 / MariaDB 10.2
Published: January 8, 2021
If you’re like me the Percona blog’s “Finding the largest tables on MySQL Server” from 2008 is a resource you frequently visit.
However, when running the query recently I experienced the following error:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'rows,
Fastly Timeouts Caused By Request Collapsing
Published: January 7, 2021
Recently I was involved in diagnosing an odd issue. For a specific page on a website, customers were experiencing extremely slow responses, frequently timing out with the following message.
Timed out while waiting on cache-dca17735-DCA
NOTE: cache-dca17735-DCA
in this case refers to Fastly's DCA data center in Ashburn, VA. (See: https://www.fastly.com/release-notes/q2-17-q3-17). This aspect of the response would change from user to user, however the "Timed out while waiting on" part was consistent.
However, when we looked at the application backend we saw no sign that it was unhealthy in any way. While we did see that throughput was slightly elevated for the route in question, average server response times were quick, and there were no signs that any of the infrastructure was overloaded.