Disneyland/SoCal Road Trip, 2011

Just returned from a week traipsing up and down the California coast – combo family/friend road trip + first Disneyland pilgrimage for Miles and Amy. Beyond the awesomeness of spending quality time with my brother and an old friend, a few Cliff notes:

Atascadero Lake

As a boy in the early-mid 1970s, spent many summers swimming in Atascadero Lake, so was bummed to learn that it’s actually been closed to swimming since May ’85, mainly due to high levels of bird feces in the water (lots of ducks/geese for a small body of water, and very little fresh in/outflow). But with the loss of swimming as a central activity, a wonderful summertime lakeside community has vanished. Saw very few people hanging out, despite beautiful weather – something great’s been lost. Kind of hard to see why the city doesn’t mount a cleanup effort rather than lose this centerpiece of the central coast. On the other hand, I have to wonder exactly what I was exposed to as a boy…

Getty Museum

On the way to L.A., we spent a half day at the amazing Getty Museum, a slab of architectural miracle perched high on the hills above Los Angeles, packed with classics. Honestly, their collection wasn’t exactly up our alley, but we dug the exhibition of Cuban photography covering the pre- and post-revolution periods. Mostly just an incredible place to spend a day.

Polar bear head Also whiled away an afternoon on State St. in Santa Barbara – a great example of a community thriving around a highly walkable downtown area full of funky shops, artists, great restaurants, vintage shops, and music stores. Caught it during a farmer’s market in full swing, which made it even better. Had a two-martini seafood feast on the pier with an old friend, making up for lost time. Bummed to see the old Hotel California shuttered – in the 1970s, Dad was a railroad engineer and would put my brother and I on the Amtrak with him to Santa Barbara, where we’d stay overnight at the California, then eat at Sambo’s and return home the next day. The Hotel California may or may not have been the subject of the Eagles song of the same name, depending on who you ask. Seeing it closed just didn’t seem right.

That leaves Disney, equal parts magical/amazing and disappointing. Last time I visited was as a young boy, probably around six or seven years old. So much has changed in the meantime, but so much remains. Can’t fault the park for evolving, but it’s hard to stomach the parts that have changed for the worse. One of my favorite attractions was always the submarine voyage, where you learned a ton about undersea life (Dad was a professional scuba diver, so for us, it was like a glimpse into his amazing/secret world). The apex of the ride was always the part where the submarine was attacked by a giant animatronic squid. Sadly, what you get now are a bunch of underwater digital projections of clips from the Disney/Pixar movie Finding Nemo, which left us disembarking from the sub scratching our heads. What’s the point? Fun fact: Once upon a time, Disney employed young maidens as live mermaids, to just sit on rocks in the sub lagoon flopping their tails. They stopped doing that after a few years because real live young gentlemen kept swimming out to hang with them.

Submarines

Also gone is the Bear Country Jamboree (are you kidding me?), and the Adventure Through Inner Space, which simulated the experience of having your body shrunk down to the size of an atom. The good news is, Inner Space has been replaced with Star Tours, a most excellent 3-D seat shaker with witty dialog and excellent presentation. Pirates of the Caribbean is mercifully untouched, except for the introduction of not one but three animatronic Jack Sparrows. Freaky thing is, the Sparrow robots are 30 years more modern than all the rest in that ride, and the first one leaves you pretty well convinced they’ve parked real actors in there… until you realize he’s more than a bit repetitive. Important thing is, the spirit of the ride is untouched.

Small World

As always, one of the most amazing things about Disneyland is how sparkling everything is. Despite thousands of people milling around at all times, the streets and the rides are all spotless, cleaned relentlessly. All of the employees (sorry, “the cast”) are super friendly, and the introduction of the Fast Pass system means you don’t have to stand in lines for 45 minutes anymore if you do a bit of planning. And they still put on a fab fireworks show every single night (on top of the over-the-top Fantasmic show on the river, as well as the new World of Color spectacle at California Adventure, where we spent a second day).

Pretty much a glorious road trip, start to finish. Now if they could just do something about traffic on Southern California highways, which was miserable in both directions between LA and Ventura.

Two Flickr sets (see slideshows for full-screen), or non-slideshow for captions):

Disneyland 2011

Santa Barbara, etc.

Building mod_wsgi with EasyApache for WHM/cPanel

Note: These instructions are for root owners of WHM/cPanel systems, not end users.

If you want to run Django sites on a cPanel server, you’ll probably want to use the mod_wsgi Apache module. There are plenty of instructions out there on compiling mod_wsgi, but if you create it outside of the cPanel system, mod_wsgi.so will vanish each time you run easy_apache to upgrade your apache and php.

The key is to install this mod_wsgi for cPanel module. But before you go there, you’re going to want a more recent version of Python installed, since RedHat and CentOS still ship with Python 2.4, which will be deprecated by Django soon. However, you can’t overwrite the system-provided Python because yum and Mailman depend on it.

Download Python 2.7 (or whatever the latest is) into /usr/local/src. It’s critical that you build Python with shared libraries enabled, since mod_wsgi will be wanting to use them. So unpack the Python archive and cd into it, then:

./configure --enable-shared
make install

You’ll get a new build of python in /usr/local/bin, without disrupting the native version in /usr/bin. Any user wanting python2.7 to be their default can add this to their .bash_profile:

PATH=/usr/local/bin:$PATH:$HOME/bin

You’ll also get new libpython shared objects in /usr/local/lib. When you go to build mod_wsgi, easy_apache will need to look for python libs in that location. I found that copying the libs into standard library locations such as /lib and /usr/lib as suggested here didn’t do the trick. What did work was to add a system configuration file pointing to the new libs. Do this:

cd /etc/ld.so.conf.d
echo "/usr/local/lib/" > python27.conf
ldconfig

Now you’re ready to build mod_wsgi through easy_apache. Download custom_opt_mod-mod_wsgi.tar.gz from this ticket at google code and run:

tar -C /var/cpanel/easy/apache/custom_opt_mods -xzf custom_opt_mod-mod_wsgi.tar.gz

That unpacks the module into the right location so that easy_apache will find it and present it as a build option. Run easy_apache as usual (either via script or through WHM) and select the mod_wsgi option. When complete, you’ll find mod_wsgi.so along with all your other modules in /usr/local/apache/modules. The best part is, this will now become part of the default easy_apache build process, so Django sites won’t break when you rebuild apache+php in the future.

Many thanks to challgren for creating the module and to Graham Dumpleton for all of his mod_wsgi evangelism and support.

Ten Reasons I Prefer Google+ Over Facebook

As if managing Facebook and Twitter wasn’t nuts enough, I’m now totally hooked on Google+. The sooner all my friends migrate from Facebook to G+, the better. Not that I expect that actually to happen, but I wouldn’t mind :) I’ve always preferred Twitter over Facebook because of its public nature (a well-curated Twitter firehose has a much higher information quotient than a Facebook stream), but Google+ cranks that equation up a notch by giving you the perfect combination of public and private, without Twitter’s character limitations. In a nutshell:

  1. Posts don’t get cut off after 420 characters like they do on FB, forcing you to add the rest of your post as comments.
  2. You can actually edit posts and comments after they’ve been made, so you don’t have to delete and repost.
  3. You can actually use bold and italics (imagine that!)
  4. Cleaner design.
  5. The Circles concept gives you way more control over who sees your content. You can be as public or as private as you want to be. Share with the world or just one person or any subset thereof.
  6. You actually own your own data – you can export your entire history of content, and all of your contacts – to back it up take it elsewhere if you ever want to (FB shuts down all attempts to do that).
  7. Perfect combination of the privateness of FB with the publicness of Twitter, so you get exposed to a much broader range of content than you do on FB.
  8. No Farmville!
  9. No ads (yet)
  10. Great collaboration tools (Huddles, Hangouts), great suggested reading (Sparks).
  11. Animated GIF support (no really, it’s cooler than you think – click through)

Oops, that was eleven. Want an invite? I’ve got 150 to pass around. Have a mint, they’re free!