Adios to the SledDog K9s

For the first time since the Clinton administration, I strapped on a pair of SledDog K9s. This was a failed model of snow skates with soft boots and removable trays on the bottom. Poorly designed, poorly executed, prone to failure, and dangerous even when working. They were kinda fun when I was young and stupid.

Now that I’m older (but still stupid), they weren’t any fun at all. Nearly zero control, almost constantly pitching me forward onto my face. I did one run and then left them against the wall in the lodge for somebody to steal.

24 hours later, they were still there! Evidently, eople are too honest, or too smart, to steal my SledDog K9s.

So I left them there again and headed for home. If you are in a ski lodge anywhere in North America and see a pair of SledDog K9s leaning against a wall, please take them and give them to somebody you don’t like.

Amazon.com pay-for reviews

It’s no secret that a lot of the reviews on Amazon.com are fake. It’s a particular giveaway when some obscure, generic item has thousands of nearly identical five-star reviews. In a slightly more sophisticated version of the scheme, some companies will pay reviewers to say nice things about their products. In that spirit, I’ve started getting a couple of entreaties a week to review items on eBay for cash.

See for example:

It’s clearly a scam, but what scam is it precisely? Are these lousy headphones for which they figure they’ll get better reviews if they pay people? They don’t seem to be giving the headphones for free, so maybe they’re $10 headphones that they sell for $40 by offering a $15 review payment. And maybe they double down on the fraud by not even paying the $15.

So basically, if you are considering buying some bluetooth earbuds, don’t get these.

Installing WordPress on Pair.com, the 2018 edition

Pair.com provides a software installation kit that will do this automatically, but they charge $3/month for access, which seems silly for free software. You can install WordPress yourself in a few minutes. These guidelines update a set I originally posted in 2010.

  1. Download wordpress software from https://wordpress.org/download/
  2. Inside the resulting folder, locate the wp-config-sample.php file and rename it to wp-config.php. Open this file in TextEdit (Mac), Notepad (PC), or another text editor.
  3. Log in to your Pair Networks account to create a new database for your WordPress installation. Go to the Account Control Center, then to “Databases,” “Create a New Database”.
  4. Assign a name to your new database. It is best to choose a name that will be easily identifiable if you plan to have multiple databases. Access level “local” and “monthly” optimization should be fine. Then click on the “Add Database” button. You will be brought to the New Database Details screen. Copy the server name, user name for full access, and the password.
  5. In the wp-config.php file that you have opened in your text editor, set the DB_NAME, DB_USER, DB_PASSWORD to the values for the account with “Full Access,” as WordPress will need to read data, write data, and create tables. Also set the DB_HOST variables (the last of those is the server name over at pair, probably something like db23923.pair.com). All of these must be exact matches to your database setup at Pair.com. You should also take this opportunity to assign unique phrases to the various authentication unique keys and salts in the wp-config file.
  6. Connect to your web server via FTP and upload all of the WordPress files, including the wp-config.php to the desired location on your Pair.com account. If you upload them to www.yourdomain.com/site/ then people will later be able to reach your wordpress content by going to that exact address.
  7. Start the WordPress installation PHP script by pointing your web browser to your domain/installation directory (www.yourdomain.com/site/installation in the example above), followed by /wp-admin/install.php. Modern versions of WordPress will also work from http://www.yourdomain.com/site/wp-admin/. Follow the on-screen prompts and the WordPress installation on your Pair.com account will be complete. If it can’t log in, try going back to the Pair.com database management screen, “Change A Password,” and give a new password to your main database user account. Enter this new password into your wp-config file, upload the fixed wp-config file back to the server, and try again.

Historical global Big Mac prices

Somewhere in the world a hedge fund manager has bought a Ferrarri with trading profits made possible by the following data:

indices = {"BIGMUS", "BIGMBZ", "BIGMMX"};
data = Map[
msBBGhistory[# <> " Index", "Px_Last", {1997, 1, 1}, "",
"Monthly"] &, indices];
DateListPlot[data, PlotStyle -> {Red, Blue, Purple},
PlotRange -> {1.1, 6.4}, Frame -> {True, True, False, False},
PlotLabel -> "Global Big Mac Prices (USD)",
Epilog -> {(Text[Style["U.S.", FontFamily -> "Calibri", FontSize -> 10, Red], {{2012, 1, 10}, 3.8(*vertical position*)}]), (Text[Style["Brazil", FontFamily -> "Calibri", FontSize -> 10, Blue], {{2011, 11, 1}, 4.9(*vertical position*)}]), (Text[Style["Mexico", FontFamily -> "Calibri", FontSize -> 10, Purple], {{2012, 1, 10}, 2.4(*vertical position*)}])}, ImageSize -> Large]

Historical big mac prices, U.S., Mexico and Brazil

Visualizing relationships between dynamic variables, part iii

Principal component analysis can be a powerful tool for detecting similarity between time series, and whether a series ceases to resemble one group of signals and begins to resemble another. I extract three principal components and create a three-dimensional dot plot. My function msPCABoxNF3[] used to label each dot with an Epilog, but with Mathematica 11.3 it became possible to use Callout[]s instead.

msPCABoxNF3[allChNF3sA, "names" -> "names", ImageSize -> Large]

We can show the evolution of these relationships over time using Manipulate[] (a snapshot of the tool is shown below)

msEvolvingPCABoxNF3[allChNF3sA, 20, "spacing" -> 200, "names" -> "tickers", ImageSize -> Large]

Mathematica can also export videos of these things, as shown below. The following runs a bit quicker than I would like but I’m not going to solve the problem for the sake of this post.