101 Words: Criminal Hygiene’s “Rearrange Me”

It’s still early and I’m woefully uncool, but “Rearrange Me” by Criminal Hygiene (released 2012) is my favorite song of 2013. Criminal Hygiene sounds like everything I like about The Replacements. Their lead singer is a modern version of a kind of sprezzatura I perceive in young Bruce Springsteen. “Rearrange Me” reminds me of two of my other favorite songs: “Hurricane Eyes” by the Old Haunts and “This One’s Different” by Howler, and while the lyrics are stubborn, the melody is so wistful that I just can’t ignore how maudlin I get around this time of year.

Tagged with music

Introducing Ovrture

See what I did there? I’d like to announce Ovrture, a music utility I built with Andy McMillan. Ovrture aims to introduce you to music you might like by taking recommendations from your Last.fm profile and playing one popular song per artist. If you are an Rdio subscriber of any level, you have the option to add the songs you like to a private Rdio playlist.

Go to Ovrture →

If you agree with Last.fm’s recommendations and wish their radio stations functioned a little better (and with Rdio integration), you might enjoy Ovrture. Ovrture uses the EchoNest API to find the artist’s most popular song that is also available on Rdio, which is how the music is ultimately played.

If I alluded to a music project in conversation in the past six months, this is not it. Ovrture was built on a dreary Sunday afternoon when I got too drunk at brunch to work on the bigger music project I’m working on. It took a little over six weeks to be developed to this point, but I couldn’t have done it on my own. Andy, who is a very talented designer, director and lover, introduced the concept to me and provided some very essential design direction. All I did was write a bunch of things inside curly braces.

Ovrture has no back-end architecture, and uses the Last.fm, EchoNest and Rdio APIs to fetch and play music. I also make responsible use of HTML5 Storage to keep tabs on all y’alls. All icons are svg via The Noun Project and I used Filament Group’s grunticon to deliver them, which means I got to integrate Grunt into my workflow (and pass the performance savings on to you!). If you agonize over writing lean code because you care about performance and because you’re afraid someone is going to see your work and lose professional respect for you, Grunt is the best because it provides a way for you to optimize further without putting your brain in a blender and keep people in the dark about your shameful practices by obscuring anything you’ve written badly through concatenation and minification.

The part of Ovrture I’m most proud of is that the album artwork, which is only featured for devices that have the screen space to display it, is only loaded for those devices. That is to say, it is not simply hidden, but smaller-screen devices never actually request the images, saving http requests and bandwidth. This could have been done with the AJAX Include Pattern which wasn’t working in my production environment because reasons, so I kicked it old school with the Conditional Content pattern instead. Ovrture is the first thing I’ve written using object literal notation it’s made me ashamed of all the javascript I’ve written before this moment.

I also (forced myself to) use CSS3’s Flexible Box Model for layout, which I highly recommend if you want to feel like an idiot again. This is embarrassing but layout does not come naturally to me. It took me years to understand tables for layout because of all the damn nesting, and it took me the better part of last decade to understand CSS for layout because understanding a box model is actually a really weird skill when you think about it. Everyone is enthralled with flexbox because it was developed FOR layout and isn’t a hack like tables or even CSS as we know it, but, predictably, it’s not coming naturally to me because the elements behave in a way I’m not used to, and in part because the new properties are muddled by vendor prefixes and the syntax keeps evolving. I used Flexy Boxes as training wheels to help generate layout and I fear that I will never understand it and I’ll spend the rest of my career writing HTML emails.

The F Word

Recently, I deactivated my Facebook account. I wanted to brag about it, but without Facebook it seemed there was no appropriate place to do so. I didn’t expect to feel so sad about that.

I also made the decision to remove all my Facebook friends before deactivating my account so that if I were to return, I’d have a fresh start. This was unexpectedly gut-wrenching; Facebook makes you do it one friend at a time. It was hard for me to see people I love and people I find interesting and elect to sever ties with them one by one. I kept reminding myself that it’s not real life and it wasn’t personal, but ultimately I modified my user stylesheet to hide the names and faces of everyone and it was actually the only thing that made me able to complete the task.

Deleting Facebook Friends

I deactivated Facebook for a few arbitrary reasons, but they all seem to be relate to my anxiety over the nature of the term “friend”. When I was a Facebook user I was constantly culling my “friends” list, trying to get it as close as possible to Dunbar’s number, willing it to model my real life friendships. Apparently this is not the socially acceptable use of Facebook, and I ended up insulting some people, which is ridiculous. Facebook friendship only gives you the illusion of closeness, even if you haven’t communicated with your Facebook friend in years, whether in person or on Facebook. It is an empty distinction.

I assume people feel closer being connected on Facebook, but I suspect the illusion of closeness might be keeping me from forging true bonds with people. My dad is very prolific on Facebook, and it does make me feel closer to him seeing his posts so frequently. But without Facebook, I immediately felt disconnected from him, so I gave him a call and we had a meaningful conversation. I suspect a lot of interactions on Facebook were ultimately superficial. The “like” intent is the most superficial of all, and I considered hiding it in my user stylesheet in order to be forced to say something more substantial if I wanted to share that I appreciated a piece of content. But even those interactions are akin to small talk or chatter, as most conversations take place in semi-public, which doesn’t facilitate having a personal conversation. Ultimately, I would like to feel closer to people.

Tagged with web