Tuesday, December 22, 2020

Flash is dead to me

Whoever thought I would need a working copy of Flash in order to look at my tax return? You see, being the idiot I am, I assembled all of my previous tax returns — including this year's — using Adobe Acrobat. And I stupidly saved them as a "PDF portfolio," so I could collect all the documents in one place with a single password.

Well, guess what? Acrobat was apparently completely, entirely dependent on Flash to display these files, and now that Flash is DEAD, all I get is a black screen when I open my document — along with a completely unhelpful note that I need to reinstall Flash, which no longer exists.


So, is there anyway to retrieve all of my tax information? NO. Of course not. It's no longer available. Because of Flash. I can only hope now I have my physical copy still accessible before I have to call my accountant.

You'd think Adobe would have some kind of knowledge or experience in digital document creation or something, but that pales in comparison to their history as an enemy of backward compatibility.

So if you were dumb enough to save anything as a "PDF Portfolio" assuming you'd be able to access it indefinitely, you'd better download the Flash Player now before Adobe takes it away (and your documents) forever.

Download here.

Saturday, May 16, 2020

Making the Rii Wireless Keyboard function keys work on a Raspberry Pi

A while back I bought a Raspberry Pi. I wanted to use it to play videos on our downstairs TV, but I also use it to play Minecraft with the kids and do math lessons with my son using Khan Academy. It's a fun, versatile little device.

Then last Christmas, my wife gave me a Rii wireless keyboard/trackpad to use with the Raspberry Pi. It worked nicely for the most part, but for some reason the function keys wouldn't work. The function keys on this keyboard double as media keys (for volume, etc,), but even when pressing the "fn" button they refuse to act as function keys like they should. This made switching to "full screen" mode in Chrome a little difficult.

Fortunately, there's a way to make them work perfectly, and like most things in the Linux world, it's not at all straightforward or simple. Fortunately, I managed to figure out the steps to accomplish this fix not only once, but twice. I got most of the steps from this article here, but I decided to write them down here for anyone else as well (in my own clumsy way) who might need them.
  1. First, go and download this hid-apple-patch. Put it somewhere easy to find on your Raspberry Pi and unzip it (right clicking and choosing "extract here" works nicely). This is a "patched hid-apple kernel module."
  2. Next, you need to install something called "dkms" (Dynamic Kernel Module Support). Open the terminal app and enter "sudo apt-get update" then "sudo apt-get upgrade" to update everything first. Then do "sudo apt-get install dkms."
  3. Now with dkms installed, navigate your way in the terminal to the folder you unzipped in step 1. Then do the following commands to build and install the patch.
    1. sudo dkms .
    2. sudo dkms add .
    3. sudo dkms build hid-apple/1.0
    4. sudo dkms install hid-apple/1.0
  4. Next, use the nano text editor to open the config file:
    sudo nano /etc/modprobe.d/hid_apple.conf
  5. Add this single line to the empty text file: options hid_apple fnmode=2
  6. Save the text file and reboot
Ta-da! Your Rii wireless keyboard now has function keys that work when you press the "fn" button.


Thursday, April 16, 2020

Under-depreciated

Oh, how I hate programming — and in particular programmers who decide that easy bits of code that anybody can use need to be depreciated (because "security") and replaced with nothing, requiring you to go hacking away in PHP at the core bits of your WordPress installation to achieve something you used to get with one line of code and should be built into a plug-in to begin with.

Take the simple act of having a "success page" after filling out a form. Any decent contact form program written since the dawn of the web would have this as an option — a page you go to after filling out a form that says, "Thank you." Easy enough, right?

Not in Contact Form 7. Oh sure, you used to be able to do this with one line of code:

on_sent_ok: "location = 'http://www.example.com/thank-you-page'";
But then someone decided, "Oh that's too easy, let's mess with people a bit." So now the process is considerably more complicated, namely editing the functions.php file in your WordPress installation to do exactly the same JavaScript thing, just in a way more likely to break things.



  1. add_action( 'wp_footer', 'redirect_cf7' );
  2.  
  3. function redirect_cf7() {
  4. ?>
  5. <script type="text/javascript">
  6. document.addEventListener( 'wpcf7mailsent', function( event ) {
  7.        location = 'https://www.example.com/thank-you/';
  8. }, false );
  9. </script>
  10. }

And again, it does exactly what the "old" method did, so aren't there still security concerns? No, I guess not. Because reasons.

And shouldn't this be built into the plug-in anyway? You know, one field called "success page" that you just fill out with a URL and be done with it? But no, things have to be difficult. And stupid.

https://www.rocketclicks.com/client-education/contact-form-7-thank-page-redirects/

Thursday, June 6, 2019

Fake PC Repair Sites

Whenever I have a problem with my PC, which is often, I find it's awfully easy to stumble upon a fake PC repair site. That's a site that looks innocently like an real site with real repair advice but is actually just a front to sell you some specific PC "cleaning" or "repair" tool. Like this useless waste of space below.

http://windowsreport.com/fix-explorer-exe-error-system-call-failed/

My recommendation? Whenever checking out a site, scroll down a couple pages to whatever solution they're pushing near the bottom. If the name of the commercial program just happens to have the same name as the website, move right along. Whatever problem you're experiencing likely has a free solution that actually works.

Versa won't sync

My previously-mentioned Pebble finally bit the dust, first getting a crack and then getting exposed to water, which I believe shorted it out. Pebble was swallowed up and spit back out by FitBit anyway, so I figured it was time to move on to something new.

That turned out to be a Versa, which is a lovely smart watch that can't sync worth a crap. Go and Google "Versa won't sync" and you'll find a hundred thousands posts from people all experiencing the same problem: your smart watch ignores your phone, turning it into a fancy, overpriced pedometer. It's genuinely embarrassing that the FitBit app has two or three settings to be "always connected" when connecting even once seems to be absolutely impossible.

Now, if you've found your way to this pathetic site, you've probably already tried all the recommended solutions, all which are a variation of "turn it on and off again," and none of which work. Well, here's my advice: return your Versa to the place you bought it from and request a refund. Seriously, that's the only way FitBit will get the message that this problem needs to be solved.

If that isn't an option, however, you're welcome to screw with your watch any number of ways. I find it tends to connect every now and then, completely on a whim, which is almost often enough to be tolerable. Sometimes it's when I walk away from my phone and walk back again. Other times I screw with "optimization" for the FitBit app in my battery settings, and then it starts working (for a minute, anyway). It's no guarantee, but it's at least easier than a factory reset (which is always a joy and won't help anyway).

Let me know your thoughts in the comments below.

Tuesday, December 26, 2017

Bluetooth Bane

So my new Pebble 2 and Android smartphone (a G4 Moto Play) refused to talk to each other this morning. I wasted about an hour trying to pair, un-pair, and re-pair their Bluetooth relationship, but absolutely nothing worked. To add to the aggravation, every website that claims to have an answer to this seems to be blocked for some reason.

So the solution eventually came when I reset the Pebble to factory settings and completely uninstalled and reinstalled the Pebble app. Then it worked again, thank goodness, but seriously — how long has Bluetooth had this ridiculous issue? I remember a decade ago struggling to get a wireless mouse to work and then afterward simply using a corded one instead.

P.S. This happened a few more times, and each time the solution was something along the lines of un-pairing the phone and Pebble and repairing again, usually by "forgetting" the Pebble in my Android Bluetooth settings. A pain? Yes, but it usually worked (and isn't nearly as horrible as the FitBit Versa).

Monday, March 27, 2017

Unfortunately, process.my.sanity has stopped

So, I just bought a new (refurbished) Nexus 10 for the wife off of Groupon. And of course, it's completely unusable. After logging into Google and starting it up, it starts getting an endless stream of errors, always "unfortunately, google play services has stopped" or something. I went to Google to find an answer, and of course there are thousands of posts all over the place all with the exact same problem.

So what's the solution? There isn't one. Oh, there are lots of alleged solutions, but not a single one that works. If you hate yourself and want to feel the white hot pain or trying to make the piece of garbage you bought online work, you can try any one of the following:
  1. Delete the cache
  2. Reset app preferences
  3. Uninstall the Google Play Store
  4. Wipe the System Cache Partition
  5. Reset to factory settings
When none of those ideas work, you can muck around with the firmware, installing a custom ROM or any number of things that will void your warranty. Don't worry, it's EASY!

Or your could just send it back and hope the next one will work. Which it won't.