Removing embedded Flickr images from WordPress

Yesterday, I received an email from Flickr with the subject line “Important updates to your Flickr account.” They wanted to inform me that they would soon be enforcing limitations on free accounts, including a limitation on the number of images. As of February 5th, 2019, they intend to delete older images from free accounts, excepting only the most recent 1000 images.

Since about 5 years ago, a friend has been uploading images to Flickr, and embedding them in their WordPress site with the WP Flickr Embed plugin. Now we’re faced with the choice of going back and manually removing those images and replacing them with locally-hosted images, which would be incredibly time-consuming and tedious task, or paying Flickr a hostage fee to continue hosting under their “Pro” service. Neither of the options suited my frugal, yet lazy personality. Thankfully, I stumbled across an excellent WordPress plugin that does a wonderful job of scraping embedded images from posts, adding them to the WordPress media library, and finally replaces the embedded image with a locally-hosted version. Continue reading Removing embedded Flickr images from WordPress

Stabilizer motor info

Per this page:

Since that thread is long since closed, I wanted to post an update here in this more recent one for anyone else now or in the future that needs sourcing help like I did. Hope no one minds.

For anyone looking to replace the motor on Lippert Stabilizer Kit 113407, the Klauber Machine and Gear P/N K01285-C800 is a DIRECT replacement.

While Klauber does not show this motor on their webpage, I assure you the part number is valid and available. Company contact information is here

My 5’er had the “Made in India” motor mentioned earlier (Mfg stamp of “Prabha”), but no part number stamped or printed on it anywhere. I poked around their corporate website and while I found a rear stabilizer jack system that looks suspiciously like the Lippert system (complete with similarly worded marketing material), I didn’t find a motor. Besides, I wasn’t interested in ordering from outside the U.S.

In my case, it looks like the road spray during wet weather penetrated the assembly in a manner similar to what DRSmart described. However, since I literally poured water out of the casing (!!!), I decided replacement was a better option than rebuild.

Lippert was kind enough to direct me to this page on their website for a replacement motor. While Lippert’s $315 price tag has certainly come down from the originally reported price of $530, it was still too high for my taste.

The price from Klauber you ask?

$140

That’s not a typo.

Klauber was *VERY* prompt in their communication with me and shipped the motor the very next business day after I ordered it. One caveat with doing business with them is that they will ONLY ship COD. I don’t know why, but frankly I don’t care. I got a replacement motor delivered to my house in less than 7 days for $171.50.

It installed very quickly with all the original mounting hardware. I sealed a couple of areas with silicone, specifically the hole in the boot where the wire bundle exits, the area where the boot mates up with the back of the housing, and over the top of the paper sealing gasket along the circumference of the housing. Unless water penetrates through the drive shaft (unlikely), I don’t see a similar problem in the future.

Retina MBP audio gone

Occasionally, for reasons unknown, the early 2013 Retina MacBook Pro audio stops working. If you try to adjust the volume, you only see a speaker with slash through it, indicating no audio device is present.

After entering the following command in Terminal, audio is restored:
sudo kextload /System/Library/Extensions/AppleHDA.kext/

Step by step instructions to remove integrated Intel HD graphics GPU kernel extension kexts with FileVault and SIP enabled

I’ve been working on a 2011 15″ MacBook Pro for a friend, and encountered a unique situation: the Intel integrated graphics are faulty, while the discrete AMD GPU still works fine. (in all my searching, everybody else has encountered the opposite problem, a failure of the discrete GPU, while the integrated Intel HD GPU still works fine)

Safe boot and the macOS install/recovery work fine, since the accelerated Intel drivers aren’t loaded. However, an attempt to perform a normal boot hangs, with a kernel debug message in the system log about a “possible hang in main graphics engine”.

As a workaround, I moved all of the AppleIntelHDxxxxxx.kext drivers out of /System/Library/Extensions and rebuilt the kernel cache, and I’m using GFXCardStatus to force the machine onto the discrete GPU upon login. The MBP is now running flawlessly, but I’m concerned about a future system update reinstalling the kexts that I removed.

Ideally, I’d like to prevent any system updates from installing the drivers that I removed, or alternatively, a way to automate or script the recovery process.

Meanwhile I’ll document the steps to repeat the process, in case a future update reinserts the drivers. The process was complicated by FileVault and SIP, making it necessary to boot from a USB installation disk or the recovery partition, mount the FileVault volume with Disk Utility, and then move the kexts out of /S/L/E.

  • note: “↵” symbol means press enter/return key, and all commands go on one line until the ↵ symbol is encountered, despite any line wrapping shown in this blog.
  • While powering on, press and hold Command-R.
  • At the language selection screen, click the arrow to continue.
  • From the menu bar, from the “Utilities” drop-down, select “Terminal”
  • diskutil coreStorage list ↵ (press enter/return)
  • From the output of the command, find the alphanumeric code representing the logical Volume UUID.
    Highlight, right-click, and copy it, then paste it in the following command (instead of the 111-222-333-44-555555)
  • diskutil coreStorage unlockVolume 11111111-2222-3333-4444-555555555555 -stdinpassphrase
  • Enter your password at the prompt, then press ↵.
    The output of this command should show “Logical Volume successfully mounted as…” followed by the mount point, which contains the name of the volume, such as “Macintosh HD”. Note the name of the volume, and if different from “Macintosh HD”, then substitute in the following command.
  • (On this step, remember to use the BASH tab completion feature to be sure you don’t make a type!)
    cd /Volumes/Macintosh\ HD/System/Library/Extensions
    ls -al AppleIntelHD*
    (should see list of many files)
  • mkdir backup-06Oct16 ↵
    mv AppleIntelHD* ./backup-06Oct16/ ↵
    (use backup-XXXXX from previous command)
    cd .. ↵
    ls -al AppleIntel* ↵

    The last command should output “no such file or directory”, confirming that the files have been moved into the backup-xxxxxx folder created earlier.
  • Apple menu, restart, while holding Command-S
  • enter password at prompt
  • Once text stops scrolling:
    fsck -fy ↵ and wait about 2 minutes for “xxx appears to be OK”.
    mount -uw / ↵
  • Press Control-D (not command-D). It should now boot successfully!

Raspberry Pi 3 Overclocking and Stability Testing

I recently ordered and took delivery of the new Raspberry Pi 3, with the intention of letting my son use it as a desktop computer replacement.

Web browsing with Chromium works pretty well, but was still a little bit laggy on Javascript-heavy sites, and I had hoped to eek a bit more performance out of it.

Inspired by this guy, I tried upping the clock speed, but needed a way to stress test it, and at the same time, check for stability. On x86 equipment, I would use Prime95 to fill that role: it has the CPU perform calculations, and compares the results with a known reference. If they don’t match, then the CPU has made an error (due to heat, voltage, a flipped bit somewhere in RAM or cache, etc).

Existing stress test software that I’ve encountered for the Raspberry Pi doesn’t seem to care about the integrity of the calculations performed. And since Prime95 doesn’t run on ARM processors, I came up with my own solution: a quick and dirty BASH script that will run four simultaneous iterations of a command that calculates a million digits of pi. It then makes sure the results match, outputs the time it took to execute the commands, and the temperature of the CPU core, and loops until it’s aborted with CTL-C, or it encounters an error.

Here’s that script:

My results were pretty disappointing, by the way. The stock clocking of the CPU, 1.2GHz, appears to be the highest speed this chip is able to handle stably.

Raspberry Pi with USB DAC running XBMC on OpenELEC

This is just a note to self, to make things easier when updating to a new build in the future. What I needed to do to get my Pi running correctly with Milhouse build 503:

First mount flash partition read/write:
mount -o rw,remount /flash

In /flash/config.txt:
gpu_mem=192
arm_freq=900
core_freq=333
sdram_freq=450
over_voltage=2
force_turbo=1

In /flash/cmdline.txt, add noram.

In Settings, System, enable advanced, then select ALSA USB DAC audio, enable passthrough, and DTS capable receiver.

In ~/.xbmc/userdata/advancedsettings.xml:

<advancedsettings>
<video>
<defaultdvdplayer>dvdplayer</defaultdvdplayer>
<defaultplayer>dvdplayer</defaultplayer>
</video>
<network>
<buffermode>1</buffermode>
</network>
</advancedsettings>

Ubuntu ZFS DKMS

In case I ever have issues again with ZFS DKMS:

https://github.com/zfsonlinux/zfs/issues/1155#issuecomment-11499841

Honda parts shipped to an APO address

I didn’t expect it to be so difficult to find an online Honda dealer that was willing to ship to an APO address. After wasting time on site after site after site, I finally found one that ships to APO, but wanted to charge over 4x their normal shipping rate! After further searching, I finally found a place that will ship Honda parts to military members overseas at APO address without price gouging them! Visit http://www.bkhondaparts.com if you need to order Honda parts for an APO address without getting ripped off. (or perhaps lingshondaparts.com ?)
(this is mainly a note to myself)