Automator will not save service in General in Yosemite OSX for keyboard shortcuts

You might have had the same problem I just did: I tried to create a global hotkey shortcut command situation for popping up a new mail message. I’m trying hard to only look at my inbox Xx/day, but I often have emails I need to send. So, I tried to create a global shortcut using Automator on my OSX Mac. The tutorials all said to open Automator, create a new Service with no input from any application, drag the New Mail Message or whatever over to the workflow, save it, and then go find it under the “General” tab in System Preferences -> Keyboard -> Shortcuts -> Services -> General. Unfortunately, that General section on the right of Services didn’t appear.

Here’s why: you need to save your Automator Workflow Service in ~/Library/Services. I went and looked in that folder, and found that my workflow wasn’t being saved there. Turns out when I was saving the workflow automatically in iCloud instead.

Screenshot 2015-07-10 16.55.39

See the save location? Go to wherever you’re saving that workflow and drop it into your user/Library/Services folder.

How to set up a TP-LINK router on Apple/Mac

TP-LINK routers are best sellers on Amazon, and I like my new one a LOT. I had a 5-year old Vizio router that did yeoman’s service, but had started to drop connections and in general behave like an amnesiac hash addict.

I liked the reviews, which said that TP-LINK routers were dead easy to set up.

It was not.

I have a Mac Mini that operates as a home server, and I had some nonstandard configuration issues to deal with. Turns out that there were 3 issues. First, I couldn’t get to the router configuration page on a browser. I had to clone the previous MAC address, and finally, I had static internal IPs set on most of my devices in the house including the machine I was installing the router on. So, here are the easy steps to fix it if you have plugged in a TP-LINK router on a Mac home network and you can’t get it set up.

  1. Go into Network Preferences. Open your ethernet connection and go to TCP/IP. Clear the manual setting from your DHCP, and permit the machine to be assigned an internal IP from the DHCP server in the router.
  2. Hit in your browser. This should theoretically get you to the router config page. It worked for me. That’s the default IP for TP-LINK.
  3. admin/admin are the un/pw for TP-LINK.
  4. Keep a browser window open so you can see whether you’ve got a connection.
  5. If you do, good. You’re fine to set static IPs/MAC bindings.
  6. If not, try cloning the MAC. Go to the MAC settings in the router config, hit the “clone” button, save, and reboot the router.
  7. Does it work yet? If not, add a static IP for the box you’re working on while configuring the router.
  8. Hard cycle the router and modem.
  9. Set static IPs and MAC bindings.
  10. Profit!

I’ll keep updating these instructions. I’m assuming you know to set a different un/pw for your router if you’re actually able to follow these instructions. Per the usual, 18 months from now, I’ll reset the router and totally forget how I got it working, so this post is more for me than all y’all.

How to get a short link from a Google Maps location

The Google Maps interface has changed, and it’s hard to tell how to share a location from a dropped pin or a business you want to find.Perhaps you’d like to make an easy short link to your house that you can share with people again and again. It just took me five minutes of Googling to figure it out, and even then it was too complex. I’m putting this post out there so that I can remember it myself!

Here’s how to do it:

  1. Search for the location you want to find.
  2. Now, look in the bottom right hand corner where you see this: Screenshot 2015-06-04 15.29.58
  3. Click on the little gear so that this window pops:Screenshot 2015-06-04 15.28.04
  4. Click “Share or embed map” at the top.
  5. You’ll see this little popup in the middle of the screen:Screenshot 2015-06-04 15.31.33
  6. Click the “Short URL” box to get a short URL that is reusable and shareable!

Completely remove CrashPlan from your Mac

Have you tried to delete CrashPlan from your Applications folder and gotten the message that the “CrashPlan app is locked” in a popup?

Here’s the solution:

  1. Shut down the CrashPlan app in the system tray.
  2. You may need to elevate permissions or use ‘sudo’ to perform some of these commands.
  3. Open a Terminal window. You can find Terminal under Utilities in the Applications folder.
  4. Enter this: cd ~/Library/Application\ Support/
  5. Enter this: rm -R CrashPlan
  6. Enter this: cd /Applications/
  7. Enter this: cd ..
  8. Enter this: ls -lhdO /Applications/
  9. Enter these two commands: chflags noschg and chflags nouchg
  10. You should now be able to go to the Applications folder and delete

Some of this solution taken from the Mac Rumors Forum.

Manage your time like a boss

I saw an executive coach this last year for a few sessions on time management…or so I thought. I asked him for help managing my stress and time, and he said “Is that really what you’re here for? To manage your stress? That sounds like a depressing personal goal to me.” He was right. I didn’t want to manage my stress, I wanted to be happier and feel like I had all the time in the world. I have a lot of commitments and I get a lot done, and I’m happy with myself and the world, and it’s because I follow three rules that you can use and tailor to yourself.

Revisit your real priorities.

There’s at least one or two things you wish you were doing. In my case, I wasn’t making time for the creative pursuits that let me feel like I’m contributing to culture. I needed to add back in my audiobook recordings, writing, acting, and textile arts. I needed to make time to cook and eat actual meals. I was cramming food into my face while tweeting, and it was unhealthy and counterproductive. Find even one hour a month to sit down quietly and ask yourself this: If I die in 90 days, will I leave something of worth behind me?

Time block and journal.

You should be using tools to run your life that drive positive behavior, not ex post facto documentation of your screwups. In my case, I use calendaring, OmniFocus, and a daily log of how I actually spent my time. You’ll find that when your emails drop to the lowest priority, that you spend only a few minutes on them per day. It’s been quite eye-opening for me to see how I actually spend my day. Most importantly, block out time for yourself to eat, sleep, and exercise. Don’t lie to yourself about having enough time to take care of your body and mind. When you’ve actually blocked out the time for yoga or spinning or rock climbing or whatever you do (and that includes transit and cleanup time!), a half hour each for three meals and a break, and then look at your day, it will become ice clear that you’ve been ignoring yourself and your health. If you have a job that regulates how you work and at what times, I recommend Tim Ferriss’s 4 Hour Workweek for a good lesson on how to manage up to make time for yourself. If you have commitments like PTA or volunteering, do you have those blocked out on your calendar? What about realistic transportation on the bus or in a car back and forth from every single meeting? That’s what I thought. Even if you can’t control your schedule, you can be honest with yourself about what you’ve actually committed to.

Say yes to favors and no to meetings.

I’m often asked if I have an hour for a meeting or 30 minutes for a cup of coffee. The answer is no. When someone says to me “I’d like an hour of your time to [go over this document/meet a friend/talk about my project],” what they’re saying is “I know better than you how your time should be used.” They don’t. What they actually want from me is [a signature/their friend to be introduced to someone I know/me to back them on Kickstarter]. I can give them a yes/no on that favor in seconds or in a 2-minute email, and I’m happy to do so. If they want more face-to-face time, it’s because they want to convince me of something concerning which a 2 paragraph email will be ineffectual–likely because it’s a bad idea or I’m not going to get anything out of the situation. I’ve even had people be subtle enough to think that I’d need extra time to let them down gently if I wasn’t able to do them the favor. I really don’t require the extra time; I wasn’t going to be tactful anyway. I’ll be honest with you, which is my version of respect.

Cowhand up, people; you have one life and so do I. Use it wisely.

Redirect timewaster sites with 3 Chrome extensions

I have a lot of sites that by themselves, aren’t terrible for me. I won’t spend hours on Facebook or Buzzfeed or Twitter or Gawker or Huffington Post…but I have found myself spending hours on Facebook AND Buzzfeed AND Twitter AND Gawker AND Huffpo.

I looked at some helpful productivity extensions, and I like this combination:

1. New Tab Redirect automatically redirects all new tabs to my fitness website instead of showing me my most visited sites in Chrome, which was distracting and sometimes led to Facebooking where none was intended.

2. StayFocusd gives me a time limit for how much time in a day I can spend on a collection of timewaster sites. Here’s my list of sites on which I can only spend 10 COLLECTIVE minutes per day. Yes, this means I have to compose my tweets before I go sit on Hootsuite for an hour mindlessly clicking.


3. After StayFocusd ticks over for the day, trying to go to those sites lands me on a StayFocusd ad page. So, I use Switcheroo Redirector to selectively redirect any URL to another URL. I fed in the StayFocusd ad page and now when I try to mindlessly hit Facebook after the time limit is up for the day, I land on the NOAA astronomy page looking at a current picture of the sky.


Defaults changed for OpenSSH config in Kubuntu 14.04 Trusty Tahr

I rebuilt a box this morning, and when I installed openssh-server, I found a different option set as default in the config file–one that I believe is less secure.

Where previously, the default Authentications section looked like this:

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

The default now looks like this:

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

And I have, of course, set the switch to “no”.

I don’t personally allow root logins of any kind on any of my personal servers, and I do like that the default has been made more secure. It’s different, however, and my eyes might have scanned right over this switch if I didn’t have a list of things I change for security reasons each time I build a box. Caveat emptor.

How to play Amazon Instant Videos on Ubuntu/Kubuntu Raring Ringtail 13.04 with Firefox

We’re all aware that there are issues with Flash and playing streaming videos on Linux. You can’t play AIV on Chrome; you’ll get that annoying “If you’re using the Chrome browser with Linux, you must disable PPAPI to continue using Amazon Instant Video. You can also use a different Web browser, like Firefox. Learn more” message. Just use FF for now to play AIV. At least you’re not using Wine. So, let’s solve your real problem.

Having trouble playing Amazon Instant Videos on Firefox? Have you seen this message?

“Sorry we were unable to stream this video. This is likely because your Flash Player needs to be updated.”

Here’s how to handle this.

sudo add-apt-repository "deb $(lsb_release -sc) partner"

sudo apt-get update && sudo apt-get install flashplugin-installer

sudo apt-get install hal -y

sudo mkdir /etc/hal/fdi/preprobe

sudo mkdir /etc/hal/fdi/

/usr/sbin/hald --daemon=yes --verbose=yes

rm -rf ~/.adobe

Now, go restart Firefox, and you should be good.

With thanks to:


Set up Kubuntu 12.10 and an HP printer for batch scanning in Xsane

This process needs to be much easier, but until then, here’s a script to get you set up. This is an update of an older post here: to make this more intuitive. Instead of having you follow a long list of instructions, I’ve been testing out scripts to get my common tasks done upon my numerous Kubuntu rebuilds. I have to redo a lot of the things that I’ve posted instructions on, so I’m going to start building and posting helper scripts instead. It’s a good habit to be in anyway. I rebuild my Kubuntu box about once every two months because I am constantly breaking things.

As previously mentioned, I have an HP OfficeJet 6500 Wireless All-In-One. I am using the HP OfficeJet 6500 e709n, hpcups 3.12.6 driver; you should choose whatever driver is recommended for you. Cups printing seems to work
better and be less buggy, especially over the network. Please understand that the following script is imperfect and totally tailored to my hardware; you may need to break it apart and run it piecemeal depending on your setup. However, this should help. As usual, the links that helped me are at the bottom. Nota bene: you may need to rerun ‘hp-check –fix’ two or three times to have it complete all the repairs it needs.

sudo apt-get install xsane libsane-extras hplip-gui -y
echo "$name"
sudo usermod -G saned -a $name
sudo usermod -G scanner -a $name
sudo usermod -G lp -a $name
echo hpaio >> /etc/sane.d/dll.conf
hp-check -r
hp-check --fix
sudo reboot

Google Chrome Will Not Start In KDE (Kubuntu 12.10)

Have you had this problem in KDE? I’ve clicked a few times on a Google Chrome shortcut, and after 20-30 seconds of a bouncing Chrome icon, it disappears. The Chrome process never shows up in the System Monitor or in running processes, either.

/ Greetings, Madam. $google-chrome --enable-logging --log-level=0
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
No bp log location saved, using default.
Browser XEmbed support present: 1
[000:000] Browser toolkit is Gtk2.
[000:000] Using Gtk2 toolkit
[000:069] Starting client channel.
[000:069] Warning( Unreadable or no port file. Could not initiate GoogleTalkPlugin connection
[000:069] Warning( Could not initiate GoogleTalkPlugin connection
[000:069] GoogleTalkPlugin not running. Starting new process...
[000:070] Warning( Failed to get GoogleTalkPlugin path. Trying default.
[000:071] Started GoogleTalkPlugin, path=/opt/google/talkplugin/GoogleTalkPlugin
[000:072] Waiting for GoogleTalkPlugin to start...
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.
c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
[001:104] Attempting to connect to GoogleTalkPlugin...
[001:104] Read port file, port=51719
[001:105] Initiated connection to GoogleTalkPlugin
[001:216] Socket connection established
[001:216] ScheduleOnlineCheck: Online check in 5000ms
[001:305] Got cookie response, socket is authorized
[001:305] AUTHORIZED; socket handshake complete
[006:300] HandleOnlineCheck: Starting check
[006:301] HandleOnlineCheck: OK; current state: 3

This isn’t going to be as much help as you’d hope; this post is more to show you that others have had the same problem and you’re not nuts. I don’t usually do this, but I just rebuilt my Kubuntu box two days ago after mucking about with perms (I also took remote controls apart as a kid) and lost the problem I was having here. I wanted folk to know that there was a problem with this build of Kubuntu and Chrome together. Below, someone notes that they got the
problem solved by using a different rendering system. I’m happy to answer questions about my experience with the issue and help out if I can.