Karma Mobile WiFi

Karma Logo

My brother-in-law turned me onto a WiFi hotspot device called Karma that’s being released in December. I work on the road a few weeks a year and if Karma works as advertised, I’ll be able to work in my car and I won’t have to rely on abysmally slow hotel/airport/cafe WiFi networks.

Karma previously sold a WiFi hotspot, but it didn’t run on LTE networks. Their new device is set to be shipped in December and can be pre-ordered now. If you pre-order one today you can get it for $99 instead of $149. And if you use this link you’ll get an additional $10 off (and I’ll get $10 of data credits):

https://yourkarma.com/invite/kevin23643

Other Details
– No contract
– Pay as you go data – $14/GB
– Runs over the Sprint LTE and CDMA network (view coverage)
– Your Karma connection is shared with other Karma users
– If other Karma users use your connection you get data credits

Karma kind of downplays the security risk of sharing a network connection, which concerns me a bit. Here’s a related response from one of Karma’s employees:

In order to minimize the security risk, I’ll just use a proxy or VPN whenever I’m connected to a Karma device.

I’m really looking forward to using it and I’ll add a review once I get a chance to use it.

Removing Game Center from OS X Yosemite

Screen Shot 2014-10-16 at 8.53.49 PM

One of the first things I noticed when looking around OS X 10.10 (Yosemite) was the Game Center icon in the Applications folder.

Game Center has been in Mac OS X since 10.8 (Mountain Lion), but the icon recently changed to match the bubbly iOS icon:

Screen Shot 2014-10-20 at 10.30.59 PM

 

 

 

 

 

I never really use Game Center on iOS and am always annoyed with the spammy friend requests. I’ve turned off Game Center friend requests multiple times, but it always seems to get turned back on.

Once I saw Game Center in Yosemite, I immediately tried to drag the icon to the Trash. No luck:

Screen Shot 2014-10-16 at 9.08.37 PM

 

 

 

It took a couple minutes, but I figured out how to remove it. Here’s how your remove Game Center:

Warning! Don’t do this unless you’re comfortable with the command line and have a recent backup of your hard drive. If you don’t know what sudo means, then please don’t proceed. A simple mistake with sudo rm could cause major issues.

– Open Terminal
– Navigate to the Applications folder
– Enter the following:

sudo rm -rf "Game Center.app"

That’s it!

After removing Game Center, I restarted my computer. Game Center didn’t reappear and everything is seems fine. So far. There are probably some ramifications if you try to play Mac App Store games that support Game Center, but I’m not sure. And now I’m wondering if Game Center will reappear then next time I update OS X. Regardless, it’s nice to be rid of that extraneous icon :)

Otherwise, I really like Yosemite. It’s really snappy (on a wiped 2012 MacBook Air).

Tweedy

Tweedy Album Sukierae I own a lot of Jeff Tweedy’s albums, but the only ones I really listen to are Yankee Hotel Foxtrot and the first Mermaid Avenue album.

Today I downloaded his new album Sukierae and I’m really enjoying it. Notably, Tweedy made Sukierae with his 18 year old son Spencer and the album is named after his wife (who recently went through cancer treatment). The family influences are readily apparent as the songs are heartfelt and sincere. Summer Noon and Wait for Love are the first standout songs of the album.

If you’re not familiar with Jeff Tweedy, he was the lead singer of Uncle Tupelo and since 1995 he’s been the lead singer of Wilco. Along with the rest of Wilco, he worked with Billy Bragg to create the Mermaid Avenue series of albums that contain songs created from unused Woody Guthrie lyrics.

Also, video from the making of the album Yankee Foxtrot Hotel was turned into a really great documentary, I’m Trying to Break Your Heart.

Here’s the video for Summer Noon:

Learn Python the Hard Way – Lesson 15

Mac Terminal Python Commands

I’m going through Zed Shaw’s online course Learn Python the Hard Way and I ran into a study drill that gave me some trouble.

In lesson 15 the seventh study drill is a little tricky if you’re not familiar with the command line. Instead of opening a Python file, you’re instructed to enter the commands from the Python prompt.

Just running open(example.txt) may not work because the Python interpreter only looks in the current folder to find the file. If you don’t start Python in the same folder, you need to tell the interpreter exactly where the file is is located. Here’s one way to do this:

$ python
>>> txt = open("/Users/Kevin/Dev/example.txt")
>>> print txt.read()

If you’re not sure if you’re in the right directory, you can double check your directory. First start Python:

$ python

Then type these two commands:

>>> import os
>>> os.getcwd()

Remember to always import the os module before calling any os commands/functions.

Your result should look like this:

Mac terminal commands to get current directory

Coda 2 Tab Between Split Windows

Untitled

I just spent about an hour searching the internet trying to figure out the keyboard shortcut to tab (or move) between the split windows within a tab in Coda 2. After looking through the Apple shortcuts, I finally found one that works:

Control + Tab

It’s so simple. But there’s a catch. To get this to work you first must open another tab before opening the Terminal window.

Steps:

1. Create a new tab/document
2. Add a new split Document or Preview window
3. Add a new split Terminal window
4. Close the second Document or Preview

At this point you should be able to Control + Tab between the Document window and the Terminal window. It’s not ideal, but it works when needed.

On a related note, I’m interested to see what Panic has up their sleeve for Coda 2.5. It should be released soon.

Shared Hosting + WordPress Notifications + Google Apps

I help a family member run a website for a small business and we recently discovered that the contact form notification emails were not being delivered. The contact submissions were in the Feedback section of the dashboard, but the notification emails were not being delivered to the email address on the form.

Background Information

Domain Registrar: Namecheap
Web host: Namecheap
cPanel Version: 11.40.1 (build 13)
DNS: Namecheap hosting servers
Email: Google Apps
Contact Form: Jetpack
Contact email: Generic Gmail account

Initial Findings

  • If I changed the contact email address to one of the domain’s existing Google App email addresses, the contact form notifications were delivered
  • If I added a new 0 priority MX record of mail.domain.com, the notifications were delivered to any email address (but this breaks the Google Apps email)
  • I looked in the webmail account for the the standard WordPress notification email address (wordpress@domain.com) and found 60+ emails with the this subject:

    Mail failure – rejected by local scanning code

    The body of the emails contained the following:

    A message that you sent was rejected by the local scanning code that
    checks incoming messages on this system. The following error was given:
    “Relaying not permitted”

I spent a couple hours playing around with the WP-Mail-SMTP plugin, Google App settings, cPanel settings and nothing was helping.

My initial thought was that the MX record shouldn’t affect outgoing email, but I was wrong. Finally, I found a Namecheap support page which explained the problem:

..to send emails from our server, domain should be added to it and have MX records pointed to the server where this domain is hosted.

To summarize: Email generated by the server will not be sent unless the domain is added to the hosting account AND the MX records point to the same location.

The fix:

  • Create a subdomain (because the subdomain isn’t setup with Google Apps)
  • Install the WP-Mail-SMTP plugin
  • In order to force outgoing emails to use the subdomain, configure the plugin as is explained on the Namecheap support page

Once I completed the setup, the email notifications were fixed. I had a hosting account on Bluehost for years and I never ran into this issue, so I’m assuming that they don’t have the same limitation on emails. Has anyone else run into this issue with other shared hosts?

WordPress 3.9

I’m really excited about WordPress 3.9, which was released today.

There are so many great additions, especially to the post editor.

This video is shown on the update page and has a great overview of all the changes:

Both Post Status and WP Tavern have great recaps.

Check it out!

WordPress 3.8 Beta 1

WordPress 3.8 Beta 1 dropped today. It looks great. I really love the new Admin Color Schemes options. In order to charge your color scheme, go to Users → Your Profile and select one of the four options.

WordPress 3.8 Midnight Theme

I’m really digging the Midnight scheme.

See the full announcement here.

The final release date is December 12th, so start testing!

WordPress 3.6 – Native Support for Audio

While I was messing around with WordPress 3.6 and audio capabilities, I decided to the test the native support for audio.

Here are a couple things to watch out for:

1. Your host or settings may limit the size of on file uploads. To get around that limitation you can upload the file via FTP. But if you do that the file won’t show up in your Media Library. If this is the case, download the Add From Server plugin. This plugin adds a link in the Media Library which allows you to add file from your server to the Media Library. From there, it’s easy to embed in your post.

An alternative is to use FTP and then wrap the link to the file in audio shortcode. Here’s an example:

[audio mp3="http://www.kmarsden.com/wp-content/uploads/2013/08/Trojans.mp3"][/audio]

2. Get rid of the spaces in your file names. The media player won't work if the song/video has spaces in the name.

3. Not all browsers will support the mp3 embed. See the Codex for fallback methods.

4. The width of the audio player is set to 100%. You can change this by setting a smaller width in your child theme's style.css. This is what I did:
.mejs-container {
max-width: 400px;
}

Just don't go much lower than 200px;