Silly Games With Movie Titles

There’s a game going around Facebook where you remove a letter from a movie title to make a new movie and then you have to come up with the plot. I love these games.

Here are my entries (so far). Feel free to add your own:

  • Star Was: the story of a dying star and the planets that mourn its passing
  • I, Root: The first self-aware potato seeks its place in the world
  • Finding Emo: Emo Phillips has gone missing and it’s up to Bobcat Goldthwait and his ragtag gang of 80’s comics to find him and bring him home.
  • An Inconvenient Ruth: You know what you did, Ruth.
  • What About OB?: A hospital planned by men forgets one VERY important department. Shenanigans ensue.
  • The Rave Little Toaster: EDM, ecstasy, and a small kitchen appliance out way past his bedtime.
  • Rainspotting: And you thought looking at trains was boring!
  • Monsters NC: The story of North Carolina’s horrible, no good, very bad governor and all his friends in the state legislature.

Switching Your Primary Google Apps Domain In Not Too Many Steps

My face when we decided we needed to change our primary Google Apps domain.

It happens. You rebrand (like we did at Planted last year) and need to change your email addresses. You use Google Apps because you need video conferencing that kind of works, document sharing and email and… whatever else they do. You figure, hey, it’s Google, how hard can this be? And then you google for how to do it and it turns out it’s a poorly documented nightmare, which you’d think it wouldn’t be because it’s Google and they’re supposed to make hard things easy.

You probably took the easy way out last time and just created an alias domain. Eventually, though, you get tired of people asking about the old domain on calendar invites and dealing with aliases in all your email clients, and you just decide it’s time. Actually, having an alias already set up makes the whole process a lot easier. If you haven’t done that, that’s alright, it just means you can skip the “remove the existing domain alias” step!

It turns out that it’s not actually that bad as long as you do things in the right order. I’m going to share that order with you so I don’t have to remember it later.

Before you make the switch, I’d make sure all of your users who use 2 factor auth have added their phones as a backup because they’ll need to delete and re-add their accounts to the authenticator app, which took me by surprise and don’t remember from Google’s documentation!

I went through several iterations of this list and this is the one I came up with that resulted in the least amount of time where email addresses didn’t exist and the fewest number of steps! Without anymore prevaricating from me, here are the steps:

  1. Remove your existing domain alias. This is when email will stop going to you@newdomain.com
  2. Add your new domain as a “real” domain in Google Apps. Go through and DNS setup or verification needed, but if you already had it as an alias, you should already have all of that setup.
  3. Rename all of your users on the old domain to the new domain. This is where you@newdomain.com starts working again. The benefit of doing it this way instead of just switching primary domains is that it automatically creates aliases for all your users on the old domain, which saves you as many steps as you have users. You should rename yourself last as it will kick you out and make you log back in, which was scary when it happened to me, but not the end of the world.
  4. Rename all of your groups (aliases, y’all) on the old domain to the new domain.
  5. This is the stupid part. In order to change your primary domain, you have to use the API. I went through a bunch of the official clients and had no luck, but then I found the API Test Page and that worked fine.
  6. On the API Test Page:
    • Toggle the “Authorize requests using OAuth 2.0” thing, which will then pop up a window. Make sure you log in with your work domain.
    • For “customerKey”, put in my_customer
    • In “Request Body”, the field name is customerDomain and the value is your new domain!
    • Now click outside the request body box, and then click Execute.
    • You should get a 200 response.

And now you’re done!

Everything seems to be fine. The only thing that’s still a little weird is gChat, but all of our old Hangout URLs still work and we haven’t noticed any issues with Docs or anything else.

Good luck in your domain switching!

Further Reading:

Letters to My Congressman

My local congressman, Buddy Carter, sends out a weekly newsletter and this week’s was a doozy. I don’t normally write to him, because I’m not sure it does any good, but I had to in this case.

Here’s what I wrote. Feel free to use it and write to your representatives.


In your latest newsletter you say the following: “I believe committing this horrific act removes all civil liberties and they should be investigated in whatever way is necessary. This is now an issue of national security and it is ridiculous that Apple is not participating in the investigation of known murderers and terrorists.”

This paragraph shows an amazing lack of understanding of the Constitution and our fundamental civil rights, and a failure to grasp the most basic facts of not just what the FBI is asking Apple to do, but the FBI’s own actions that led to where we are right now.

I’ll leave the constitutional questions to someone else, but the technical ones are simple:

  1. Creating a backdoor, ANY backdoor, for the FBI means that Apple will have to give that backdoor to any government in any country they do business in. Submitting to this request of our government means that they have to give that back door to repressive regimes in China, the middle east, etc.
  2. Creating a back door, ANY back door, in encryption or security means that back door can be exploited by any one – good guys, bad guys, terrorists, etc.
  3. The FBI wouldn’t be in this situation if they hadn’t asked local law enforcement to change the suspects’ Apple ID password. If they’d left it as is, Apple could have gotten into their account and given the FBI whatever they wanted – as they have done in many many cases.

This isn’t a simple case, but just demanding that Apple do what the FBI asks denies the complexity of the issues and weakens security for everyone.

We need strong encryption, unfettered by ill-informed and ill-advised government demands, for ALL of us to be safer. Any weakness at all can be exploited by the bad guys just as easily as the good – and like people are so fond of using the 2nd amendment as a “check against unchecked tyranny” – strong encryption is an even better check against that tyranny, and not just in the US.

I ask that the government get smarter, that our representatives gets smarter, about thinking about how to perform their duties and catching criminals than asking the innovative companies that drive our economy to get dumber.

Thank you for your time,

Kevin Lawver

On Manly Men

I’m tired of what scared man-children are doing to my industry, to social media, to my country and to women. It’s self-defeating. It’s wrong. It’s violent and it’s cowardly.

SO… Men. Stop being cowards. Stop treating people like crap. Stop threatening them. Stop lashing out like toddlers having tantrums because you’re afraid for no reason. Stop making up reasons to be scared and start living.

Look at your behavior. If you really think that threatening women, doxing them, swatting them, demeaning them, pushing them out of your communities because you’re threatened by them… if you REALLY think that makes you a manly man – you’re an idiot.

Being a manly man means being comfortable with yourself and not being threatened when someone else wants the same.

Being a manly man means being courteous, debating on the merits and not throwing tantrums when someone else wants a turn to speak. It also means admitting when you’re wrong.

Being a manly man means not being afraid of people who are different just because they’re different. It means being curious and adventurous – and not afraid to treat people like you want to be treated – or better, how they wish to be treated.

Bullies aren’t manly men. Bullies, at their core, are afraid and have to use intimidation and violence to project power. But, they have no power. Once a bully is outnumbered, he’s just a coward again.

Be a manly man and welcome everyone into your communities. You’ll find you’ll have more fun, learn more, and your community will be stronger for it.

Let’s make stories like this one a thing of the past.

And in case you’re confused, there’s nothing wrong with being a man. There is something wrong with thinking that your gender means you’re somehow entitled to affection, attention, recognition or leadership. If you really believe in a meritocracy, you’ll judge people by their results and not by what they look like, how they worship or where they’re from – and that means untangling centuries of bullshit about ability, the meaningless signifiers of “success” (for example, all our presidents have been men, therefore to be a good president, you have to be a man – or the funny bit of trivia that almost all Fortune 500 CEOs are white men over 6 feet tall). Just because historically, someone hasn’t been allowed to do something doesn’t mean they can’t. And just because this is how we’ve done it in the past doesn’t mean that’s the best way going forward – especially if it’s a cultural affectation that doesn’t actually have anything to do with the outcome.

So, being a man – it’s not bad. But, it’s not the only thing. Being kind is more important than your gender.

Kevin’s Year in Music: 2015

It’s been a great year for actual music, but a sad one for me personally. Why? Rdio died. I loved Rdio for years – even when I was working at a music startup building a competing service, I still loved Rdio. And now it’s gone. I tried Google Music, and had to give up on it because it lacks any idea of social, and does some very strange things with explicit lyrics. Now I’m on Spotify and it’s all right. It’s not perfect. It’s definitely not Rdio – but it’ll do.

Enough sadness, let’s get on to the music! Last year, I just threw together a list of the albums I liked and put them in three categories. That was a cop out and saved me from having to pick a single album. This year, I’m picking a single album that is my favorite of the year! And then a couple more than I really liked.

My album of the year is…

Sometimes I Sit and Think and Sometimes I Just Sit by Courtney Barnett! It’s funny. It’s fun to sing along with, and the songs are actually about things. This album came out early on this year and I kept going back to it all year.

It was really hard to pick just one album but I did it. Courtney’s biggest competition was from an artist that my friend Bryan told me about – Ghostpoet. His album, Shedding Skin, is fantastic. It reminds me a lot of Massive Attack, which is always a good thing. You should listen to it, a lot.

There were a lot of really good albums that came out this year. So many that my Kevin’s 2015 Favorites playlist has 340 songs in it and if you listened to it all at once, it would take 23 hours and 29 minutes. So, get started!

Importing Rdio Playlists (and Your Collection) Into Google Music

My beloved Rdio is dying, and soon. They ran out of money, sold all their assets in a fire sale and have given their users about a week to find a new music home. I tried Apple Music, but quickly ran into limitations (song limit, my patience with their awful UI, horrible apps for importing songs, etc). Asking around, it looked like Google Music was the next best option.

And then the problem was, how to I get almost 5 years of musical history from Rdio into Google Music? All those favorites playlists from 2011-2015, the road trip playlists, the special occasion playlists… all of those will just disappear.

It took a lot of experimentation, but I found a way to export my playlists (and entire collection) from Rdio to Google Music. Here’s what you need (sorry, this is going to require some Terminal time):

  • First, you need to install the Rdio Enhancer Chrome Add-on.
  • Sign up for the Google Music free trial.
  • Install gmusic-playlist – it’s a python library for interacting with Google Music. It has some dependencies, so you’ll need to follow the README instructions carefully.

After you’ve gotten those installed, you need to do the following to save your playlists and collection in a format that’ll work with the importer:

  • Go to Rdio in Chrome.
  • Click Favorites.
  • You should see an Export CSV button. Click it. Depending on the size of your library, this could take a while. It’s going to generate CSV files for your entire collection. My 35,000 song collection took 3 CSV files, and about 5 minutes to generate and download them. Chrome will probably ask you if this site can download multiple files. Say yes and wait for all of them to download (15,000 songs per file).
  • Once you have all those files, it’s time to do playlists!

For each playlist you want to save:

  • Click its link in the left nav bar.
  • Click the 3 dots in a circle button (next to the share button), then “Extras”, then “Export to CSV“.
  • That’ll download another CSV file.
  • You should open up each CSV and delete the first line (the header) or you’ll end up with “Did She Mention My Name” by Gordon Lightfoot in all of your playlists. If that doesn’t bother you, go ahead skip this step.

Now that you have your collection and all the files you want to save, it’s time to set up the gmusic-playlist importer. After you unzip it, open the folder and then open preferences.py in your favorite text editor and make the following changes:

  • username should be your google login email address.
  • Change the track_info_order line to look like this: track_info_order = ['title','artist','album','trackNumber'] (the only change is to change “songid” to “trackNumber”).
  • Change allow_duplicates to True.
  • Change search_personal_library to False.
  • Save the file.

Now you can follow the gmusic-playlist directions to import all those CSVs. Google Music has a limit of 1,000 songs per playlist, so your collection will be broken up, but at least you’ll have all your songs!

Update: I tried to like Google Music. I really did. But, it has some fatal flaws:

  • Their new releases page is bad and not updated with actual new releases.
  • There’s no social at all. It’s awful.
  • The Web UI is just broken enough to be really frustrating, and all the web apps for it are hamstrung by the web’s brokenness.
  • They do very strange things with explicit lyrics.

So, I was going to update this post with instructions on how to import your official Rdio export into Google Music, but… don’t do that.

I’m trying out Spotify Premium again for the first time since I started using Rdio, and they’ve paid attention. Social is better. Sharing is better. The queue is persistent between sessions. They have more music than Rdio did, or that Google Music has. Their new releases page is actually mostly up to date.

Instead of using this process to import things to Google Music, use the official Spotify Rdio Import tool. It takes about five minutes and works really well.

Dealing With Your Kid’s Email: A Nerd’s Approach

My kids both have Google Ed accounts for their school work, which comes with an email address. Some of the parents in the school’s Facebook group were asking how to set up the school email account on their phones, which feels like overkill to me. I don’t log in to my kid’s email – I just have all of their incoming email forwarded to me (which I then filter to get it out of the way so I can read it later).

And here’s how to set that up if you’d like to do the same thing!

  • Go to Gmail and log in as your kid.
  • Click the Gear icon on the top right side of the page and click Settings
  • Click on the “Forwarding and POP/IMAP” tab.
  • Now click the Add a forwarding address button.
  • Put in your email address that you want emails forwarded to and click Proceed.
  • It’ll send a confirmation code to your email. Grab that and put it in the verify field.
  • Now click the radio button next to Forward a copy of incoming email to…, select your email from the dropdown and then choose keep Gmail’s copy in the inbox from the second dropdown.

And there you go. Now you’ll get all your kid’s emails in your inbox. Lucky you!

Now, for bonus points, filtering. I have a ton of filters to keep my inbox nice and clean, and my kids’ emails have their own filters. Here’s how to set one up:

  • After you set up email forwarding, you’ll start getting emails to your kid in your inbox. You need one of those to start with. It doesn’t matter what it is as long as your kid is one of the recipients.
  • In the search box at the top of GMail, search for to:yourkid@whatever.com (replacing “yourkid@whatever.com” with their actual email address).
  • Once the results come up, click the More button and choose Create Filter.
  • The To field should be filled out with your kid’s email address, so go ahead and click “Create filter with this search”.
  • This is where things get fun. Here are the settings I use for my kid’s email:
    • Label it with the kid’s name.
    • Skip the Inbox
    • Mark it as read.
  • With those settings, they never hit the inbox, but, I have to remember to check it periodically, so it’s probably a good idea to leave them in the Inbox to start and not mark them as read – just apply the label.

That should help you keep up with your kid’s school emails without going crazy! Good luck!

Accidental Greatness: Sriracha Chicken Quesadillas

I have accidentally created the greatest food ever: the Sriracha Chicken Quesadilla:

You need to:

  • Preheat the oven to 350
  • Slice two onions into quarter inch slices
  • Slice two bell peppers (or mini bells) into quarter inch slices
  • Four boneless chicken breasts

Assemble:

  • lay the onions out on a roasting pan or cookie sheet so there’s no overlap
  • put the peppers on top of the onions, again, no overlap.
  • drizzle olive oil over the onions and peppers, then salt and pepper.
  • put the chicken breasts on top of the peppers and onions.
  • salt and pepper the chicken then drizzle with olive oil.
  • squirt sriracha over the whole thing.
  • bake for an hour at 350.

Once it’s done, cut up the chicken, throw some into a tortilla with some of the onions and peppers and sharp cheddar cheese and then griddle that thing until the tortilla is crispy and the cheese is melted.
And now eat it all up.

I should have taken a picture, but I didn’t because I couldn’t wait.

We’ll Never Understand

So far, I’ve seen statements from at least 3 politicians, who have no problem expressing strong opinions about people outside their religion and race; who never let their own ignorance keep them from pronouncing judgement on others, say today that we’ll “never understand the motivations” of the monster who killed 9 people last night in Charleston.

Why reserve your whip-smart judgement now? Why be so “sensitive” and offer your “prayers”? Could it be because your ignorant ramblings maybe inspired this guy?

Media figures and politicians demonize entire races and religions all the time, saying, like Glenn Beck did, that people are “willing to lay down their lives” for whatever batshit crazy cause they’re spouting off about. And then, when some crazed lunatic actually DOES WHAT THEY SO SLYLY SUGGEST, they clasp their hands and say they’re praying for the victims and say we’ll never understand what drove them to do such a horrible thing.

We know. They were inspired by parents, by the talk radio hosts they listen to, by the politicians that pander to any loony zealot who will vote for them (or give them money), by the mentally unhinged bastards who say we’re at war with everybody.

So, maybe instead of just praying for the victims, we should stop being such assholes and preach the religion we say we follow? Preach peace. Preach understanding. Preach forgiveness and humility. Teach your kids not to be racist. Teach your kids to love their neighbors (no matter who they are).

These tragedies are avoidable, and praying for the victims is the least you can do. Condemn violence. Condemn racism. Condemn those who make targets out of innocent people. And if you are one of those people, stop it already. You’re the problem. Be a part of the solution.

What You Won’t See on CNN…

“Here’s what you won’t see on CNN” is my new least favorite phrase. I definitely won’t see it on CNN because I don’t watch any of the 24 hour news networks. Their primary job isn’t to inform me, provide clarity of nuanced issues or situations, or to enlighten mankind about the problems we collectively face.

Their entire purpose is to make money. To do that, they need eyeballs. To get eyeballs, they have to turn every situation into an event. And every “event” has to have good guys and bad guys and has to have an “angle”. And that angle has to be clear enough so even the most mouth-breathing of viewers can understand it in less than 30 seconds between commercials and know who to root for.
The problem is that nothing that happens is black and white and there are rarely easily identifiable bad guys, just people acting in their own best interest (or what they think is their best interest).

All of the coverage, all of the commentary, all of the fancy graphics, all of the “breaking news”, it’s all there to get your adrenaline pumping and to keep your eye glued to the screen and so you’ll stick around through the commercials.
So, don’t fall for it. Don’t watch the news. Read the news. Read commentary on the news. Read real journalists who do real research and provide perspective and expose nuance.

Stop helping them treat tragedy as entertainment. Stop participating the outrage cycle. Understand that every source of information has a point of view. It doesn’t make them wrong or right, but it affects how they view and report on things. Don’t trust all first person accounts. Be cautious about joining a movement until you understand the motivations of those involved.

There are better things we can be doing with our time than speaking like pundits on the TV or radio. We could be helping.
I’m not sure how to help with a lot of the things going on in the world (and in my city) right now, but I can at least not add fuel to an already out of control fire.