Goodbye, Apple Music

I’m switching back to Spotify, at least for streaming music. Ever since Apple Music launched, iTunes stability has taken a dramatic turn for the worse. Considering the first three months were free, I was more willing to ignore these problems, but now that i’m paying for it, it’s pretty annoying.

Especially today when I started receiving this error every few minutes:


This error makes the iTunes dock icon bounce every time it happens, so it’s very intrusive. So, Apple thought it was important enough to interrupt your work, but not important enough that it can be dismissed automatically. And it appears to be happening even when I play offline tracks. Restarting iTunes does nothing. It doesn’t affect playback of my music, it’s just an annoying error.

This is on top of all of the other random errors and nonsense in the new version of iTunes and Apple Music (I have an almost daily iTunes crash, usually more per day). The iTunes app needs a dramatic overhaul; it seems to be getting more bloated each year and more confusing to use.

I originally switched away from Spotify because I liked the idea of having everything, both my offline music and streaming, in a single app. But the iTunes and Apple Music experience is so poor it’s not even worth that added convenience when the entire thing is a fluster cluck.

I guess i’ll have to get my Taylor Swift tracks somewhere else.

Stopping Spam Phone Calls

For some reason, I get a lot of spam calls on my mobile. They rarely ever leave voicemails and the phone number is always different and always in a different area code. It’s mostly student loan refinancing, cruise trips, and a bunch of other similar bullshit. Googling the numbers yield a lot of people receiving the same calls. I sometimes get one call per hour, several times per day, but always from a different number so the “block number” feature in iOS is useless. Until now, I would just ignore any call that was from a number I didn’t recognize, but this still means an almost daily interruption and it has come to the point where I’d like to do something about it. My options are:

  1. change my phone number
    • get a fresh number and discard the old one
    • get a fresh number and port the old number to google voice
  2. adjust ios settings to curtail interruptions
  3. try to get removed from these lists

The first thing I did was turn off all the “handoff” stuff in iOS/OS X. I’ve realized how annoying it is to have my phone ringing on my Mac, my iPad, and my phone at the same time. This feature is significantly more annoying when any spam call can interrupt you in such a fantastic way. I was excited about this feature when it was announced, but it’s more trouble than it’s worth.

I am seriously considering either porting my number to Google Voice so I can better control inbound calls, but I am hesitant to do this because it feels like Google is getting ready to kill Voice. They haven’t updated the iOS app in forever and I get the vibe that Google has abandoned it. If I did port the number, going forward, I would only give my mobile number to people I actually know. Businesses wouldn’t get it. The other reason I don’t really want to change numbers is that notifying people about number changes is a PITA and a lot of two-factor things are tied into that number.

iOS has a feature called “Do Not Disturb” which I thought would fix this problem. Unfortunately, it doesn’t offer the right level of customization and it’s pretty much all or nothing. I had intended on only allowing people in my contact list to ring through, but when DnD is enabled, it also silences ALL notifications for any other app. Which means PagerDuty alerts, important alerts, would never alert audibly. So that option is out.

Which brings me to my final act of desperation. Here is what I’m doing for now, which is a pain in the ass to setup, but it works great…

  1. First, either make or buy a “silent ring tone” in the itunes store and set it as your default ring tone
  2. Then, go into your contacts and customize what the actual ringtone should be for each contact (this is the most time consuming part, but you only need to do it once per contact)

Now, any time someone not in your contacts list calls you, it will come through on your phone but there will be no ring/noise or interruption. If someone is in your contact list, it will ring/alert you normally. This probably won’t work for everyone, but most of the people calling me are people in my contact list, so it’s just about perfect. Having to remember to adjust the ringtone anytime I add a new contact is slightly annoying, but worth the tradeoff.


Wireless Routers

I’ve used many wireless routers over the years; from the basic 802.11b Linksys models to running my own PFSense installation with a separate wireless AP. Sadly, it is difficult to find reliable consumer routers/APs that have a decent set of features and don’t require regular reboots to continue working. You often have to trade reliability for good speed/range.

Apple Airport
For several years I’ve been using an Apple Airport Extreme alongside an Airport Express that extended the range of my wireless; it was just enough to give me the range needed to be usable so I could get decent signal outside. It’s also the easiest router i’ve ever setup and one that I think the average person has a better chance of getting working than most competitors. It’s definitely the easiest system I’ve used to extend my wireless signal with repeaters — you just add more airport expresses to extend your range. Setup is extremely easy in the Airport Utility app. The biggest downside is the lack of features and visibility into what is going on; all you get is what you see in the Airport Utility app. I’ve also mentioned before how easy it is to get IPv6 working with this system and with Apple’s coming IPv6 priority changes in El Capitan, it’s nice to see that it’s easier than ever to get IPv6 working for wide adoption by all clients.

For the most part, these Airport devices are incredibly reliable. I can’t remember the last time I needed to reboot them. My last router was a D-Link draft-N router and it required constant reboots and QoS was a joke; a single user could make the network inoperable for all other users.

Speed is very good with Airport, especially if you use 5Ghz. In the same room as the AP, I can transfer files locally at around 20MB/sec (160Mbps) over rsync/SSH.

Mikrotik RB2011UiAS-2HnD-IN
A few people I work with told me about this 802.11b/g/n 2.4Ghz Mikrotik router; it runs on software called RouterOS. Granted, this router does not exactly compete with the Airport system on features. I’m not a networking expert, but you do need some networking knowledge to get this thing working. Your parents won’t be able to use this without your help. On the bright side, this router gives you enough features that you can manage their network remotely if they have trouble.

I was able to get up and running in under 30 minutes, including setting up my native IPv6 configuration (note: I had to do this from terminal, not the web interface). The signal strength is very good throughout my house, but unfortunately it is not enough to reach outside. Still, the speed inside is consistent — I received about 10MB/sec (80Mbps) persistently when transferring a file over wifi to two machines in the same room. I’m still impressed considering that this is only a 2Ghz router; I would love to see a 5Ghz version of this router.

The number of features in this router are simply too many to list. I don’t even know what some of these features do, but the amount of features is almost overwhelming. This is basically an enterprise level router at (below) consumer prices.

Considering the Airport still wins in range, I’ve setup the Mikrotik as my router and the Airport has been switched to AP mode only so I get the best of both worlds.

Comcast IPv6 Support

I’ve had very few positive experiences with Comcast, but I have to hand it to them — they did a great job on their IPv6 deployment. My modem died today due to a power surge so I figured now would be a good time to get an IPv6 capable modem so I could have native IPv6 support instead of using a tunnel.

IPv6 support worked on the router as soon as I powered it on. In order to get IPv6 working on all of the devices connected to my Airport Extreme, I simply had to check the “Enable IPv6 Connection Sharing” option:

Screen Shot 2015-03-02 at 6.53.56 PM


Restart router and done. No fuss. If anything, Comcast made IPv6 easier than Apple did. Which is something else I noticed — Chrome seems to prefer IPv6 over IPv4 and Safari is the opposite.


Updating Your Duo WordPress Integration

If you need to change your Duo integration on a live site and one where you have lost WP admin access but still have server/database access, you need to make some manual updates to the database to fix the integration.

The API host, integration and secret key are all stored in the MySQL database under the “wp_options” table in WordPress (the wp_ prefix might be different if you changed the default).

1. The first thing you need to do is get into your MySQL CLI and run a “use whateveryourdatabase_name_is;”

2. If you want to see the current integration data, run this SELECT query:

3. Now that you have this information, you can easily update update each value with the new integration information from Duo:

4. Done! Your next WP login should work immediately.

Double Spacing

Please stop double spacing between sentences, people. Unless you’re using a typewriter.

Working From Home

I thought I would start my inaugural post by writing about my experience working from home considering the recent Yahoo press. I’ve worked in physical offices and from home for a mix of my career, but more time has been spent in 100% remote positions. At Site5, where I currently work, I’ve seen our company grow from a handful of employees to over 90 today, all while still remaining 100% remote. I believe remote working is better for both the employee and the employer, for many reasons:

  • No commute.
  • No dress code.
  • Employees can setup their work space however they want to be more creative and comfortable.
  • Employees can live in a city they prefer, to stay near family and friends or simply in an area with a lower cost of living.
  • For the travelers, it’s easier to travel around the world and take extended working vacations.
  • If the company is 100% remote, employers don’t need to rent expensive office space.
  • Hiring is global so employers get access to the best talent and employees have more choices for employment, even in a small town. This is very important when you’re hiring in competitive industries like tech.
  • Covering 24/7 shifts is easier due to time zone differences.

Most of the negative comments or experiences I’ve read about remote working not being productive appear to be due to people not giving it a solid try. This appears to be most prevalent at companies that are not 100% remote. A big challenge can be communication. The more you use remote work, the more you need to focus on tweaking how your company communicates internally. A few things you can try:

  • If constant contact is important, use a chat system (Jabber/IRC/HipChat/Gtalk). Email is not helpful when you need an answer right now. Phone calls seems excessive when it’s a quick question. Also, require employees to be logged in and available to chat and require that away messages be used — a simple “brb” if they’re stepping away from their desk or “lunch” if they’re at lunch. It’s the polite thing to do.
  • Setup group chat rooms on the internal chat server for teams or project groups. A “water cooler” channel is also recommended so there is a place for non-work chat.
  • Use a voice communication system like TeamSpeak or Skype. Voice quality is significantly better than a phone call, even when the person is half way across the world. TeamSpeak is better because it performs more like Jabber with voice instead of Skype which feels more like a replacement for a regular phone. I can easily ping someone on Jabber and ask them if we can have a quick voice chat on TeamSpeak in a private conference channel.
  • Use some kind of internal forum for discussion and maybe an internal blog for big company announcements. Ask probing questions and encourage discussion from everyone.
  • Use Google Docs to collaborate in real-time on conference calls to make sure everyone is on the same page. Encourage contributions from everyone.

Working from home is still work and it should be treated as such. Employees shouldn’t be disappearing randomly throughout the day or watching their children as that wouldn’t be acceptable in a physical office, either. I don’t deny that there are people who work from home who slack, but that is not innate to working from home — it’s innate to bad employees. But to think that employees who show up in an office will immediately be in “work mode” is naive.

Having worked for other companies in physical offices, I tried to think of some ways those experiences were better or different than working from home. This is what I came up with:

  • Some people miss the physical contact with co-workers. I can sympathize with this, but I still don’t think you need to see your co-workers in-person every day or even every month. However, a lot of people meet their friends or start relationships at the office, so you do need to be more proactive about socializing in other circles to meet people.
  • It can be hard to “separate” from work. This isn’t necessarily a problem unique to remote working, but when you work in the same place that you live, your home can sometimes feel like the office. Having a separate space you work is key, plus doing all of your work under a separate computer login so you can “log off” at the end of the day. Or working at a coffee shop or co-working space every now and then for a change of scenery.

On Yahoo

I don’t know all of the internal details surrounding the Yahoo policy change on remote workers, but it has started a discussion about remote working, which is good. Yahoo has the freedom to end their remote working program, but it strikes me as either a knee-jerk reaction or a quick cost-cutting attempt. Considering Marissa Mayer is a data-driven person, I was a bit surprised to see no specific data on why they were eliminating remote working entirely (especially when there is data indicating the opposite). If some Yahoo employees were abusing the work-from-home privileges, why not fire those employees instead of ending the program entirely? There is no reason you cannot have accountability in a remote working environment.