Tweetbot Bookmarklet for Chrome

Despite a few quibbles, I’ve pretty much fallen in love with the desktop Twitter client Tweetbot. But the one thing I really missed from the official Twitter for Mac client was a good browser bookmarklet for Chrome, so I could start a new tweet from the current web page’s URL and document title.

I did find one referenced in this review, but it was DoA in Chrome – does nothing when clicked. With a bit of monkeying around, I’ve modified it to get along with Chrome:

javascript:window.location='tweetbot:///post?text='+encodeURIComponent(document.title)+encodeURIComponent(' ')+encodeURIComponent(window.location.href)

To install: Copy the code above to your clipboard. Create a new bookmark (of any page) and edit its properties. Paste over the URL with the contents of your clipboard. Save, and Bob’s your uncle!

Full-Screen Album Art in iTunes

If there’s one thing that bums me out, it’s an MP3 without big beautiful cover art. Like all y’all old-school LP guys, having high-quality album cover art on full display is part of the listening experience.  I’ve just spent the past couple years digitizing my entire LP and CD collections, then tracking down the best-possible cover art for every single one of the 5,000+ albums I ended up with — even if it meant photographing or scanning covers by hand.

With all that work done, I wanted to find a good way to display cover art on the Mac as cleanly as possible, without the clutter of other app windows in the way, and ideally without turning to 3rd-party software.

At first, I thought CoverFlow would be the One True Way, but  in practice, CoverFlow can’t be trusted. I find it constantly gets stuck on a cover, and no amount of toggling the “Now Playing / Selected” widget or switching between List View and CoverFlow view will coax it out of its rut.

Here’s the recipe I came up with – let me know if you have a better one:

0) Make sure all of your music has the highest-quality album art possible :) CoverScout is an awesome tool if you want to automate/simplify the process somewhat.

1) Make sure the Now Playing / Selected preview window is showing by clicking the disclosure triangle at the bottom left.

2) Double-click on the album cover to open it in a new, detached window (never knew you could do that, amiright?)

3) Use Mission Control to move that window to a new desktop. If you’re not already using multiple desktops, just drag the detached cover art window to a blank space near the top of Mission Control.

4) Switch to the new desktop and maximize the Now Playing window.

Now, to see your full-screen album art quickly, just switch to the other desktop. There are several ways to do this quickly in OS X, but I prefer either the three-finger sideswipe (if you have a laptop or trackpad) or Ctrl+Arrow[Left/Right].

Yes, there’s a small bit of setup, but since Mountain Lion restores all windows to their previous state after a reboot, you never have to do it again.

BTW, the cover art display isn’t just pretty – it’s functional too. Hover over the art and a controller will appear, giving you full scrub / skip / pause control, and letting you see the name of the current track and album.

Bonus: Remote Control
The really bad-ass thing is that you don’t have to do this from the Mac where the iTunes library lives – if you have a media server Mac that’s separate from the one you do your work on, you can run it all on a  by remote control, via iTunes Home Sharing.  I do my work on a MacBook Pro from the living room, which talks to iTunes on a Mac Mini server in the office which houses the music collection. The MacBook’s instance of iTunes in turn sends its output via AirPlay to an AirPort Express connected to the stereo across the living room from me. It’s a big crazy triangle, but the experience is completely smooth and user friendly (much nicer than the old VNC solution I used to use). If you would prefer to use a VNC client, I can’t recommend Jolly’s highly enough – the elastic screen feature is trippy, but does an amazing job of compensating for the fact that you might be controlling a huge monitor from a small one.

Little Farm –> Alvarado

A while ago, Miles and I discovered that the fire road leading from Little Farm in the Berkeley Hills led all the way to Alvarado Park (a wonderful old WPA park) in Richmond, near his school – around seven miles through winding, rolling hills. After working out a detour for the section that doesn’t allow bikes, invited a bunch of parents and their kids to gather for a multi-family ride, which happened yesterday in absolutely gorgeous post-Thanskgiving weather.

Generally downhill on the way there, generally uphill on the way back, kids only had to get off and push a couple of times – was so proud of them for having the gumption to go for it and complete the 14-mile RT. Wildcat Canyon Trail still a bit muddy from recent rains, but getting mud stripes up our backs just added to the fun. Such a fantastic way to start the day, and way more fun than fighting crowds in the Black Friday scene.

None of my photos came out that great, but did manage to capture a usable GPS track. Here’s the live version.

Group photo by Rachel Hollowgrass:

The History of Misheard Lyrics

A lifetime ago, I created The Archive of Misheard Lyrics, where people could go to log all of the lyrics they *thought* they had always known, only to to discover in some embarrassing circumstance how wrong they had been all along. I later sold the site, and the purchaser destroyed most of the functionality and gave it the current hideous design. I’m pretty much embarrassed to attach my name to it these days.

Anyway, just stumbled on this video of a group playing/acting out a few dozen of the most popular misheard lyrics from the site – pretty funny.

Via Laughing Squid:

“Experimental video musical group cdza has created History of Misheard Lyrics | Opus No. 13, a live-performed music video montage that covers 70 years of misheard song lyrics. It features the vocals of Ryan Melia and Lora Lee Gayer and Michael on bass.”

Only a Hobo

Miles went “Hobo Classic” this Halloween – every kid has to do it at least once (rite of passage?) Here’s the mean-face version.

Only a hobo... 
Only a hobo…

Thoughts on Our Political 50/50

Election night, and Obama has just won his second term. While he trounced it in the electoral vote, the popular vote was nearly dead even. Which, when you think about it, is a really strange thing.

How is it that our nation has become so *perfectly* divided across tens of millions of votes, statistically speaking? Why not 48/52 (in either direction)? Or 40/60?. The perfect numbers split feels like the mathematical settling of a great pendulum, like Forces in Motion no longer in motion, like two bodies of water connected by a channel, finding their natural level. As if the system of checks and balances has counter-checked itself into submission. Like a left brain and a right brain connected by a corpus collosum. Both sides watch the red/blue map and wonder “Who are all these people who don’t see it my way? What drives them, what makes them tick?,” while really we’re just synapses in a global brain that’s finding its natural level. Not that that’s how I want it to be – of course I wish we didn’t have to fight for the environment, wish we didn’t have to fight for gay marriage, wish we didn’t have to fight to have a modicum of civilized health care, wish we didn’t have to fight to keep the middle class from vanishing. But regardless how I wish things were, just think it’s astonishing – almost magical – that we have settled into this perfect mathematical split. Feels like something deep and weird in the statistical nature of the world.

Einstein on the Beach

Notes and thoughts on last night’s performance of Phillip Glass’ “Einstein on the Beach.” Includes a “Listening experience flow-chart” by my lovely wife.

“Her head shook rapidly from side to side, vibrating  like a bobble-head doll, as if stuck in a permanent speed-reading trance.”

Embedded Link

Einstein on the Beach | Stuck Between Stations
Listening to a Phillip Glass piece is more like studying a stained glass window than listening to music in the conventional sense – a passing glance would only tell part of the story, while the full p…

Comparing Javascript frameworks

It’s almost bewildering to see how many different (contrasting) opinions there are out there. After reading the post, check out the comments.

There are disagreements on which approach is the most performant, on whether using a custom collection of libraries (more flexible but more work) or a more complete framework (less flexible but less work) makes mores sense. There is disagreement over whether a whole site should be a Single Page Application, or just a section of a site. In fact, there’s disagreement over what constitutes the difference between a “site” and an “application” to begin with. There’s disagreement on whether client-side or server-side DOM-building is faster.

But the thing that struck me the most was this: The article starts with the premise:

“It’s no longer good enough to build web apps around full page loads and then “progressively enhance” them to behave more dynamically.”

but as one commenter astutely points out:

“… unless you happen to be github or 37signals, in which case you can easily build apps and progressively enhance to be fast and responsive ….”

I’m personally in the latter camp – it may just be a matter of habit, but I see the most logic in building traditional server-side DOM and then using “sprinkle on top” JS to enhance functionality where needed. I know I’m part of a slowly shrinking group of developers who haven’t bought into the 100% Javascript thing, but the “server first” approach does seem (to me) to give the best combination of  ease of development, graceful degradation, SEO, and performance.

But I’m ready and willing to have my philosophy tweaked on this – all I need is an example of how JS-based DOM creation can be as fast, easy, and performant as it is in Django, while still giving easy access to deep data traversals, model methods, and permissions (without jumping through time-costing hoops).

Today I begin my exploration of Rails in ernest. It’s becoming apparent that Rails has evolved in this direction more quickly than Django by building REST directly into the framework (Django is more about extremely DRY data modeling and it’s awesome auto-generated internal API).

So much to think about, so much cool stuff to explore.

http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/

Google+: View post on Google+