Category Archives: etc

Do something about SOPA

Hey you! Do something about SOPA and PROTECT IP..

The Stop Online Privacy Act (and its cousin in the Senate, the PROTECT IP Act) are inching closer to passage. Time is running short for you to do what you can to stymie this legislation, which could very well destroy the open internet as we know it. (Don’t know about SOPA? Get a nice overview in this short video, or check out Jeff Sayre’s helpful bibliography of resources about the bill.)

Why you should care about this

If you are reading my blog, you likely fall into one of a few camps, each of which has a vested interest in preventing the passage of SOPA and PROTECTIP:

  • If you are a developer, user, or advocate of free and open source software, you have several reasons to be concerned about the proposed legislation.

    For one thing, the small-to-medium sized web organizations that are most likely to be targets of SOPA’s blacklisting protocols make up the bulk of the clientele for many web developers I know. These organizations generally do not have the visibility or high profile to put up a stink when and if they fall prey to overzealous “copyright” claims, nor do they have the deep pockets to fund the necessary legal defenses. The danger is especially great for websites that accept – or are built on – user-generated content, like many WordPress and BuddyPress sites; SOPA provides for the blacklisting of entire domains, based merely on the a few pieces of “offending” content, even if the content was not created or posted by the domain owners. Over time, these threats and constraints are bound to make the development of these kinds of sites far less feasible and attractive, resulting in less work for developers – and less development on the open source projects that are largely subsidized by this kind of work.

    On a deeper level, those who are interested in the philosophical underpinnings of free software – the rights of the user – should be terrified by the prospect of media corporations gaining what amounts to veto power over our most fecund channels for the exercise of free expression. Free software lives and dies alongside a free internet. When one level of our internet infrastructure (DNS) is under the control of a self-interested few, it makes “freedom” at higher levels of abstraction – like the level of the user-facing software – into an illusion.

  • If you are an educator or an instructional technologist, especially one who endorses the spirit of open educational movements like (the OG) edupunk and ds106, you should be flipping out about SOPA.

    At an institutional level, thoughtful folks in higher ed and edtech have been fighting for years against a FERPA-fueled obsession with privacy and closedness. They’ve made strides. Platforms that foster learning in open spaces – stuff like institutional blog and wiki installations – have become increasingly commonplace, demonstrating to the powers that be that, for one thing, the legal dangers are not so great, and for another, whatever legal concerns there may be are far outweighed by the pedagogical benefits to be reaped from the open nature of the systems. The threats put into place by SOPA are likely to undo much of this work, by tipping the scales back in the direction of fear-driven policy written by CYA-focused university lawyers. Advocates of open education, and the platforms that support it, should be keen not to let their efforts go to waste.

    At the level of the individual student, the case is more profound. The most promising thread in the story of higher ed and the internet – the thread running through Gardner Campbell’s Bags of Gold and Jim Groom’s a domain of one’s own – is, in my understanding, founded on notions about student power and agency. Users of the internet are not, and should not be, passive actors and consumers of content. Instead, they should take control of their (digital) selves, becoming active participants in the construction of the web, the web’s content, and their own avatars. SOPA and its ilk are an endorsement of the opposite idea: the “ownership” of creative content on the internet is heavily weighted toward media companies, which is to say that you are allowed to be in control of your digital self until it causes a problem for a suit at MPAA or RIAA. The entire remix/mashup culture of ds106 is impossible in such a scenario. If you think that this culture, and the ideology of student personhood that underscores the culture, is worth saving, you should be fighting SOPA tooth and nail.

What can you do? Write a blog post. Join or support the Electronic Frontier Foundation. Most importantly, if you are an American, contact your representatives in Congress. The Stop American Censorship site makes this easy, and gives you all the talking points you’ll need. (“This bill is a job killer!”)

Do it now!

If high tuition is “normal”, then “normal” sucks

In the wake last night’s flap at Baruch College, I saw a number of tweets in my “CUNY” search column that expressed a sentiment like the following: “CUNY students are complaining about a $300 tuition increase? They’re spoiled – $300 is nothing, and CUNY tuition is already a bargain.” (Several were less politely phrased than this.)

It’s true that, compared to the cost of private schools – and maybe even other public institutions, I’m not sure – CUNY is pretty cheap. But it’s unwarranted to leap from the observation that CUNY tuition is relatively less expensive to the judgment that CUNY students have nothing to complain about.

The first reason is that, for many students in CUNY’s target demographic, $300/year is a significant amount of money. When you consider that the $300 hike is slated to happen once per year for the next five years, it becomes less controvertible that the increase is significant. A student in her first year at a four-year CUNY school will pay an additional $1,800 over her next three years, an increase of about 11% over what her tuition would be at current rates. (The percentage is higher at community colleges.) Even if you know nothing about CUNY students, there’s no question that an 11% (or higher) increase is something worth getting upset about.

And there’s something more insidious lurking behind the “they’re spoiled” sentiments: the idea that the insane costs of higher education are somehow “normal”, or even “the way things ought to be”. Charts like this one (assembled here from Consumer Price Index data) suggest that tuition increases have outpaced inflation by about two to one in the past decade or so. Unless wages have also outpaced inflation in this way (which, ahem, I doubt they have), it means that college tuition is, in some objective sense, a greater proportion of income than it used to be. Why should this seem right? Is higher education is a privilege that should be available only to people with financial means? In what way is income a meaningful indicator of who should be able to go to college?

Look at it another way. If the “CUNY students are spoiled” comments comes from people who are pissed off about the fact that they pay far more for their private schools – if it’s sour grapes – then it’s downright idiotic. People paying outrageous tuition to private schools, scraping by only by recourse to enormous student loans, should be right alongside of CUNY students, fighting the cultural sentiment that allows their $40K tuition to seem somehow acceptable. I fall into this category myself. My student loan debt is staggering. My wife and I make good money, and pay off large amounts of principle on our loans every month – but still we’ll be 40 before they’re paid off. If this is normal, then “normal” is something that we should all be resisting.

Project Reclaim and the email dilemma

One of the main 2011 goals for Project Reclaim is to get my email out of Gmail. Heavy reliance on Gmail raises a number of red flags. For one thing, email is central to my business and personal life online, and provides the best archive of my online past (get the important stuff first). For another, Gmail is ad-supported, in a way that has rankled since Gmail went public: it “reads” your email and serves ads based on what it finds. No one really talks about it anymore, but it still kind of bugs me – so I want to move to a non-free system (paying is better than getting something for free).

It’s taken me a while to make the move, though, for two main reasons.

  1. Email is tricky. Good, free mail server software is easy to find. But it’s not necessarily easy to set up and maintain. If the outgoing server isn’t configured correctly, your messages will get marked as spam. If you haven’t got constantly monitored spam filters on your incoming mail, you’ll be inundated with garbage. And the issues of backups and reliability, while certainly important in the case of (say) self-hosted websites, are many times more important with email: if the server goes down, emails may get altogether lost in the ether.

    I’ve set up and configured email servers before, and it hasn’t been very fun. When deciding how to solve the Gmail conundrum, I needed to take this fact into consideration. I started to do a bit of research on paid email hosting, and found good reviews of Rackspace’s hosted email service. The service is pretty affordable, and I knew from years of Slicehost use (now owned by Rackspace) that customer service and support would be good.

  2. I needed a good address. I own a lot of domain names, but most of them are lame, and none lent themselves very neatly to an email address. For instance, when your domain name is boonebgorges.com, what’s the email account name? ‘boone’? The cool factor there is pretty low. And I am a cool guy, so that’s important.

    Some of the obvious domains are taken. boone.com is wasted on dry-erase boards. gorges.com could never be wrested from the clutches of “one of the oldest family owned Volvo franchises in the United States”. But there was hope – or should I say habĂ­a esperanza – that I might get the fairly unused gorg.es. In fact, my brother and I had been working on that project for a couple of years, but it was only a few months ago that the owner finally relented, and the domain name was transferred to the Gorges boys.

So, about two months ago, I made the switch. For now, I just set it up as another account in Thunderbird (more on my Thunderbird setup). I created a generic “Archive” directory on my gorg.es account (to mimic Gmail’s All Mail) and pointed my ‘Y’ shortcut to that directory. I’m using K-9 Mail on my Android phone, which I set up to save the entire Archive directory, so I’d have good local email search on my phone. Little by little, I’m moving over my email correspondence to the new, awesome address. Bye bye, Gmail!

Done with Apple

In my 2010 year-in-review post I made a passing mention to my decision not to buy any more Apple products. Most people who know me can probably guess the reasons behind the decision, but recently I’ve had some discussions that made me think that it’s worth a blog post to spell them out.

First is my ongoing project to move away from proprietary software in general. All things being equal, it’s better to use software whose source code I can view and modify; even if, in fact, I never do these things, the fact that I could is a kind of safeguard against a number of frequent aspects of closed-source software: data lock-in, data rot, restrictions on hardware compatibility, secret surveillance, etc. As the operating system is in many ways the foundation of all other tasks I do on a computer, so it is of fundamental importance to use an open OS.

Second. I believe in the Web as an open platform for communication and expression, and Apple is increasingly anti-web.

You often hear hoopla about how digital technologies can radically democratize and transform x (fill in your favorite x: scholarship, education, publication, politics, etc). The success or failure of these transformations is tied up with the Web’s openness as a platform: open standards like TCP/IP, enablers of decentralization like distributed DNS, free software like Linux and Apache to run servers. Putting any of these technical details under the control of a single agent, especially a corporate agent that answers only to shareholders, threatens to limit free expression and disenfranchise vulnerable groups of potential users. If a robust, widely-used, open Web is important to the future of equality and democracy, and if such a Web can only be defended by keeping out proprietary interests, then it’s important to fight against interference from those interests.

I take it as fairly obvious that Apple (and not only Apple, though they seem to be the trendsetters) is anti-Web. Consider their distribution models. iTunes makes it so that you have to buy apps, music, and movies through an application, rather than through web pages. Know that annoying “feature” where, when you click on an iPhone app link on the web, you get a page informing you that you’ve clicked on an iTunes link, whereupon iTunes proceeds to open? That’s anti-web. The increasing focus on “apps” is a more troubling anti-web move. As was nicely illustrated by an article I read a while back (can’t find the link), you can spend a whole day doing stuff on an iPad – using Twitter, Facebook, WordPress, Yelp, email, Google Maps, etc – without ever viewing a web page (though they all use web services that use HTTP as a transport). In this way, Apple is doing an end run around the web.

The nature of the end run is particularly troubling. Apple is the arbiter of the software that runs on its devices (completely, in the case of iThings; increasingly, in the case of the AppStorified Mac). This creates unnecessary bottlenecks when it comes to bugfix or security releases. It creates a single point of failure for apps and therefore for devices; if Apple goes under tomorrow (or, more likely, changes their mind completely about whatever they please), how will you continue to update your apps? Worst, it puts Apple in the position of policing for content, which, whether driven by a well-intentioned desire to avoid offensive content or by a malevolent puritanism, is a Bad Thing.

Anyway, all of these points have been made over and over again, by many different people. My own bottom line: I believe in the value of the open web to such an extent that I’ve devoted my career to it. Thus, it feels wrong to keep using, and indirectly encouraging the use of, technologies like Apple’s. That goes especially for iOS and its devices, the area where I think the threat to the web is worst. But it extends to the Mac as well. Even if you maintain that the Mac will never merge into iOS (a position I find disingenuous), there’s no question that spending money on Mac hardware is a way of indirectly feeding the beast. Next time I buy a laptop, I’ll be sad not to be getting a pretty MacBook, but, on balance, I feel more comfortable giving my money to a hardware manufacturer that’s less pernicious.

For what it’s worth, I don’t think that mine is a decision that everyone must, or even should, make. Using Apple products brings pleasure to a lot of people, even people who largely share my ideologies about the free web. It’s perfectly legitimate to decide that the benefits you get from using those products outweigh the downsides. But, for me, it’s past the tipping point, which is why I’m done buying Apple products.

They’ve got Wally covered

We came back from a mini-vacation in Wisconsin yesterday to find a package on our table addressed to Wally. Inside was this beautiful quilt:

The very cute card was inscribed, in part: “Commissioned by Paul Gibbs. Made by Andrea Rennick”. Paul and the Rennicks are a few of my friends from the WordPress and BuddyPress world, each of whom I’ve met in person exactly once. Lately there has been no shortage of reminders that online friends are the real deal; having some of that kindness directed toward me and my family brings it all home. It’s a nice reminder that our geographical distribution – Paul is in Old Blighty, and the Rennicks are in the frozen north – doesn’t change the fact that we’re real coworkers, and real friends.

As a bonus, you can check out a set of making-of photos.

Thanks, Paul, Andrea, and Ron!

Building a baby photo site with WordPress

My wife and I just had our first baby, which is the occassion for much nachas and, by extension, picture sharing. Facebook is, for better or for worse (emphasis on the latter), the de facto place for such sharing to happen. For a number of reasons – a desire to be somewhat selective about who sees my family pictures, my Project Reclaim sensibilities, the fact that I don’t have a Facebook account and generally think that Facebook is an evil company – I don’t want to use FB for this purpose. As in the case of my Twitpic-like photoblog, I figured I could use WordPress to set something up that was nearly as seamless as Facebook, or Google+, or Flickr, or whatever.

The criteria

There were a few things I wanted out of the baby site.

  1. Easy (or zero) login for users
  2. Control over who has access
  3. Optional email notification for new content
  4. Easy, javascripty gallery browsing

When I started, I was pretty sure that I’d be able to get all of these things pretty easily, using existing WordPress plugins. I was both right and wrong about this: plugins exist for all of these purposes, but none of them were very easy to implement. As a result, I ended up building several pieces from scratch. I’ll go through each of the criteria, talk a bit more about what I was looking for, and then say something about how it was achieved. By doing this, and sharing the code (spoiler alert: https://github.com/boonebgorges/Hard-G/tree/master/wp-content), I’m hoping that I can help others with similar sensibilities to get started on their own sites.

Non-sucky registration and login

I love WordPress, and I understand the important reasoning behind the decisions that led to the design, but WP’s user registration system sucks. I didn’t want just anyone to be able to create and activate an account. I didn’t want users to have to click an activation link. I didn’t want users to have randomly generated passwords that would need changing later on. And I wanted users to have the option of logging in a non-WP way.

Several of these problems could be solved by using Facebook logins. I’m not willing to give my photos over to the horrific FB leviathan, but I’m happy to piggyback on their login APIs if it will save my family and friends a few headaches. I wanted my users to have the option of clicking a single button that would give my site the ability to provision them based on their persistent Facebook login.

I started by looking at some popular Facebook Connect plugins from the wordpress.org plugin repository. I didn’t really like them. Most were linked to the Comments section of blog posts, while I wanted to use the logins for overall site access. Most were dependent on Javascript for logins, while I wanted to handle logins on the server side. Most used an outdated version of FB’s API (or at least of the PHP API classes that FB offers). And, to be blunt, most were too much of a mess, having been retrofitted many times over, and as a result next to impossible to extend. I tried modifying one or two of the more popular FB-WP plugins to do what I wanted, but I ended up writing so much garbage spaghetti code that I decided to cut my losses and start from scratch.

So I boned up a bit on the FB API, and wrote a small plugin that I call Wally Login. Together with the registration page template from my custom theme (a child of TwentyEleven), it does a couple of key things.

Your choice

Your choice

  • Rudimentary access control · If a non-logged-in user tries to visit any page on the site (other than the registration page), he is redirected to the Register page.
  • FB login integration · If a user clicks the “Log me in using Facebook” link, they’re directed to the FB authorization page for my website (which is registered as a Facebook app). There, they’re asked to approve the app – a one-time process – and are then returned to my site. Based on the display name, email address, etc that I get from FB, I create a WP user corresponding to the FB account. On future visits, approved users who are logged into Facebook will be automatically logged into my WP site whenever they visit it (an important point, because FB cookies are persistent over browser sessions, while WP logins, by default, are not). As a result, in the best-case scenario, a user will authorize their FB account with my site one time, and will never again have to think about authorization on Wally’s page.
  • A customized WP registration process · If users opt not to go the FB route, they can create a WP account directly on the site. I wanted to avoid sending users to an unthemed wp-login.php or wp-signup.php page, so I cribbed a few lines of code from BuddyPress and made my own registration and login dialogs. Wally’s site is part of a larger WP network, but I wanted to bypass WPMS’s built-in registration stuff (which requires users to activate their accounts, and is thus generally too hard for newbies to grok). My custom registration therefore creates the user directly (with wp_insert_user()), using a password that he provides, and skips the activation email. (By bypassing account activation, I’m removing an important spam prevention tool. More on that in the next section.)
  • Customized email notifications · Because I’m not using the built-in registration process, I needed to write my own email notifications for account applications and approvals.

If you decide to use my code, keep in mind that it’s not particulary beautiful. I wrote it for my own use, which means that it will take a bit of elbow grease to get it to work on your own site. In particular, if I were writing something for more general distribution, I would not be so reliant on a theme template as I am here. But if you’re looking to create a site like mine, this code is a great place to start – especially the FB integration stuff, which has made the registration and login process about as smooth as it can get.

Access control

The final important thing that the Wally Login plugin does is to provide me (the site admin) with control over who has access to the site. There are a couple ways I could have approached this issue. One is to whitelist users ahead of time. The problem with this is that I’m bound to forget some names, get email addresses wrong, and run into other problems that stem from my unfortunate lack of omniscience. Another strategy is the invitation code. When unique to the individual, this method suffers from the same drawbacks of the whitelist; when non-unique (ie when everyone uses the same invitation code) it takes away much of the security, as the code can be passed around quite easily; either way, invitation codes are clunky, easily misplaced, and all too often mistyped.

Thanks for applying

Thanks for applying

As a result, I ended up going with a third option: an application and approval process. Here’s the idea, conceptually. Anyone who wants can create an account on my site (either through Facebook or natively; see the previous section). However, the account does not actually allow access to the site unless the account is also approved by the administrators. Thus, after the initial application, two emails are sent: one to the applicant saying “thanks for applying, please be patient”, and one to me saying “there’s a new applicant, please approve them”. Then I go to my approval interface and click the Approve button (if I want), which marks the user as approved in my database and sends them an email saying “You’re in!”

Here’s a brief description of how it works technically. All applicants have a WP account created for them. Every new account is marked, at the time of creation, with user_status = ‘2’, and I make sure that no page other than Register can be viewed by an account with user_status = ‘2’. In this way, I am turning the idea of activation around a bit – natively, WP makes the user do the activation, but in my case I do it. The admin tool I use to activate users is my Unconfirmed plugin, designed for a slightly different purpose but quite at home here. (For technical reasons, Unconfirmed needs users to have activation keys; thus Wally Login also generates some dummy keys during the user creation process so that Unconfirmed will work right.) Unconfirmed, in turn, does the work of flipping user_status to 0 upon approval.

Taken together, Wally Login and Unconfirmed (with custom WP registration, FB integration, user approval by admin, etc) has given me a comfortable level of access control, without making the process unduly difficult for my users.

Email notification for new content

One of the biggest drawbacks of creating a standalone picture site instead of using an all-purpose social network (in practice, this means Facebook) is that the standalone site is likely to be forgotten. FB collects all of your network’s activity into a single stream; it’s highly unlikely, on the other hand, that Wally’s site will become part of anyone’s daily routine, so that they stop by to check for new content. For that reason, good email notification of new content is essential to making the site work.

Dead simple email subscription

Dead simple email subscription

I first tried using the popular Subscribe2 to handle these notifications. But I ran into a bunch of problems. For one thing, I didn’t like that S2’s subscription management happened in the Dashboard – I want to keep my users on the front end. S2’s category-based subscription is too complicated for my site, where people are either going to want to subscribe to all posts or to none at all. And the widget that comes with S2, for display on the front-end of the site, is pretty much atrocious. (Sorry. The rest of the plugin is nice. But that widget sucks.) At first I tried solving these problems just by building my own widget for S2, one that would tell the user whether he was currently subscribed, and show an Unsubscribe/Subscribe button, as appropriate. But, given the structure of S2’s data (which is somewhat arcane, and in any case far too complicated for my purposes), it ended up being a lot harder than it should have been.

So – wait for it – I wrote something from scratch. It is dead simple. Two parts: (1) a widget, which does exactly what I describe in the foregoing paragraph; and (2) hooks into publish_post to send an email to all subscribed users (along with some gentle checks to make sure dupes are not sent). This plugin has no admin UI and no options, because I don’t need any of those things.

Pretty galleries

Since the main point of the site would be to look at lots of pictures, it was quite important to have an easy, pretty way to do so. By “easy” I mean, primarily, navigable by keyboard; by “pretty”, I mean, primarily, bigger than the content area of a typical blog post. Less important, but still desirable, was the admin interface: I wanted it to be easy to upload lots of pictures at once, to add captions and other metadata if necessary, and to turn it all into a gallery that would look good on the front end.

Pretty, easy

Pretty, easy

You know the drill: I tried a couple of the more popular free plugins, but all of them were annoying in one way or another, and each one was way overengineered for my meager needs. I was especially disappointed by the back-end admin for the popular gallery plugins, which I found lugubrious, unintuitive, and impossible to extend. After some consideration, I decided that I actually preferred WP’s native Add Media interface for uploading photos and adding metadata, and that I was perfectly happy with the way that WP’s gallery shortcode displayed content on the front end, at least when viewing thumbnails.

So the only thing I really needed was to implement the javascript that would allow for keyboard navigation and lightboxing of gallery photos. Thanks in part to his extremely uncreative and literal plugin naming schema, I found Viper007Bond’s jQuery Lightbox For Native Galleries plugin. It does almost exactly what I want, right out of the box.

I did make a few minor mods, though. First, the plugin is a bit greedy in the way that it filters the output of get_attachment_link(), which was either breaking things (as in the case of comment_post_redirect on attachment posts) or making it hard to display links to the attachment page instead of the raw attachment file. The former problem I solved with a filter; for the latter problem, I was a bit lazy, so I modded the plugin itself in addition to adding an explicit ‘lightbox’ class to attachment links. This combination of hacks makes it work perfectly for my purposes.

Odds and ends

A little bonus

A little bonus

With my absolute requirements met, I was able to add a few other goodies to the site. My theme is a child of Twenty Eleven, which I’m pretty much using as-is. But I’ve added a few fun bits. First, on each attachment page, I added Download links, so that users could download images of various resolutions for printing or editing. I messed with the WP Admin Bar so that users coming from Facebook wouldn’t see Log Out and some other inappropriate links. And under each thumbnail in Gallery view, I’ve added Download/Comments links, so that users could bypass the jQuery lightbox and go straight to the attachment permalink if they wanted.

It took some work, but I think I’ve ended up with a site that is nice to use and easy to maintain, without resorting to the extreme discomfort associated with Facebook. Hooray!

Eating barbecue is a good way to spend a vacation

I enjoy eating barbecue. And, through a cosmic blessing of fate that I daren’t question, my wife enjoys eating barbecue as much as I do. Our favorite barbecue is of the North Carolina variety. So when a family friend was getting married in Chapel Hill a few weeks ago, we decided to make a vacation of it. That vacation would be focused on barbecue. REALLY focused. Over the course of seven days (really eight, but that includes a Sunday, when all pits were closed), we ate at twenty-one barbecue joints.

Bum's, Ayden, NC

Bum's, Ayden, NC

I’m going to give a recap of some of this barbecue in just a moment. First, I should address the inevitable question: Why? (Side note: I never would have thought that anyone would need a justification for eating a bunch of barbecue; but people ask all the same.) I’ve circled in on a few explanations for our seemingly-insane vacation plans.

Here are some reasons I went on a barbecue vacation

  1. Barbecue tastes good · Very, very good. It is difficult to overemphasize the importance of this factor.
  2. Midwestern earnestness and work ethic · Maybe it’s just the way I was raised, but I figure that if I’m going to do something, I ought to do it right. Which means doing it [ahem] whole hog [hold for laughter]. To spend a week in a part of the world with great food, yet wasting some of my meals by not eating that food, is to display a sort of transcendental ingratitude toward my good fortune.
  3. Obsessiveness · When I decide that I like something, I generally get really into it. To spend a vacation indulging this tendency is actually pretty fun. Some people go on tours through the Civil War South because they’re history buffs. I go on tours through the Barbecue South because I’m a barbecue buff. I don’t see much of a difference. (I have a theory, which I’ll blog about one day now that I’m free, about optimizing the number of things one is “good at”, with respect to the number of hours one has in a lifetime to devote to such things. This theory dovetails with the “obsessiveness” point to some extent, as North Carolina barbecue has emerged as one of the things I’ve chosen to be good at.)
  4. Flavor · See #1.
  5. Cultural carpetbagging · I grew up in Wisconsin, which has its fair share of indiginous culture. But there’s pleasure to be found in trying on a culture that is not your own, if only for a while. (What do you think powers academic history and the tourism industry?) Barbecue in North Carolina has a history, a dictionary of codewords, a set of conventional practices all its own. By immersing myself in this for a while, I’m certainly not going to pass myself off as a native – but it does enable a kind of empathy and connection with natives that might not otherwise be possible.

Is that reason enough for us to devote our vacation to barbecue?

Talk about the barbecue already

Fine, sheesh. ‘Barbecue’ generally refers to the slow cooking of meat via low, indirect heat, typically using smoke. In North Carolina, ‘barbecue’ almost always means pork, which is almost always chopped/pulled and served with a thin, vinegar-based sauce. In NC, you typically order either a sandwich (a scoop of meat on a cheap supermarket hamburger bun) or a platter, which is a larger helping of meat. Both usually come with cole slaw. Hushpuppies, or some other fried-corn delicacy, are often available.

Kepley's, High Point, NC

Kepley's, High Point, NC

In the eastern part of North Carolina, whole hogs are smoked overnight. The meat is chopped and dressed with a very simple sauce (cider vinegar, Texas Pete hot sauce or red pepper, a bit of sugar and salt). In the better places, the skin is thrown back onto the smoker and dried out, after which it’s chopped into small pieces called cracklings and mixed into the meat itself. The cole slaw in ENC is generally cabbage and carrots, and dressed with mostly vinegar and just a bit of mayo to bring it together.

In western NC, the style of barbecue is called “Lexington”, after the small town containing what must be the highest per-capita number of barbecue joints on God’s green earth. Lexington barbecue is pork shoulder rather than whole hog. This means no cracklins. But the tradeoff is the caramalized “brown” or “bark” that forms as the shoulders smoke. Lexington-style sauce is similar to ENC sauce, though generally with ketchup added and less hot sauce, making for a much sweeter sauce. Most Lexington places serve two different kinds of slaw: one made with mayonnaise, and the other made with the same barbecue sauce that goes on the meat (called “red slaw” or “barbecue slaw”). Hushpuppies are a fixture on this side of the state.

The styles aren’t radically different, though each has its die-hard proponents. Rebecca and I are fairly solidly in the Eastern camp, though there are great places in Lexington too.

I won’t bore you with a blow-by-blow of every place we went. If you’re curious, you can check out my pictures collected throughout the week. But I will give a few recommendations (links go to my pictures):

For better or for worse, the best places in Eastern NC are way off of the beaten track. But they are really, really worth the trip.

If you want learn more about NC barbecue, here are a few resources that we used on this trip, as well as previous NC barbecue trips (yeah, this wasn’t our first, you wanna fight about it?):

As a Social Web Professional, I have some thoughts about starting a more authoritative site for the collection of barbecue knowledge. But I am also a humble Northerner, so I probably won’t do it.

Dropout

I’m a grad school dropout.

A little over a year ago, I left my full-time instructional technolgy gig at Queens College. At the time, I cited my languishing thesis as one of my reasons for leaving. Through the summer and fall of 2010, I put in an honest effort toward my dissertation. It was certainly my most sustained and serious effort since finishing coursework a couple years earier. But I couldn’t figure out a way to enjoy it. I found myself far more productive in other areas of my life, which had the dual effect of taking the joy out of my academic work, and also demonstrating that I no longer had any career-related reasons to finish the PhD.

So, a few months ago, I counted my losses and withdrew from the program. I use the word ‘losses’ with some trepidation, as I don’t feel like I lost much, if anything. In the philosophy program, I learned a lot about philosophy, got some nice teaching experience, and met some good friends. And being in graduate school had a huge number of indirect professional and personal benefits for me. Except for the academic work, I enjoyed being a grad student. If, in quitting, I’m losing anything, I’m losing face. But, to be perfectly honest, if there’s anyone who thinks less of me because I didn’t finish my PhD, that person is more than welcome to kiss my ass.

What excites me most about formally giving up on the PhD is leaving behind the guilt associated with the unfinished dissertation. Many times in the past couple of years (and increasingly so, as time has gone on) I’ve been approached with an offer or an idea about some new project – writing, coding, eating, etc. Time and time again, I have turned down these kinds of projects, because I’d end up feeling overwhelmed by the guilt of working on something other than my dissertation. To tell the truth, I had even stopped reading books for pleasure, because I felt so bad about it. I’m looking forward to feeling more freedom in this respect. (Also, the baby’s coming soon!)

I’m not writing this post because I’m looking for any validation of the decision; I feel good about it already. I’m also not really interested in starting a large discussion about the value of graduate school or a graduate degree; my decisions are specific to my situation. I mainly just want to get it off my chest, so that I don’t have to have the inevitably awkward conversations about it. To wit: I was chatting with some academic friends at THATCamp and I told the group that I’d dropped out, which they took as a cue to rationalize and support my decision. It was, of course, very well-intentioned. But from a certain point of view it suggested pity, which I neither need nor want. I may be a grad school dropout, but I’m a happy one!

Stand for something

Lately it’s been fashionable to talk about the evils of sitting. This particular reporting trend hits especially close to home for me, as I’ve made the transition from peripatetic teacher/grad student to get-me-another-mountain-dew coder over the last year or two. So, on the inspiration of a few blog posts (notably, Gina Trapani’s and Derek Brooks’s), I decided to give the standing desk a shot. I made the switch around five weeks ago. Here’s how I did it, and how it’s going.

Standing Desk Setup

Standing Desk Setup

The setup

You can buy desks that are specifically made for standing. You can even buy desks that convert from a sitting to a standing position. The problem with these is that they cost a lot of money. As evidenced by the fact that my current desk is a piece of crap I found for free on the internet, I don’t want to spend a bunch of money on a desk if I don’t have to. Also, it seems unwise to invest big bucks in a standing desk before knowing whether it’ll be a workable setup. So I set it up on the cheap, using crap that I found around the house. (I may never work up the gumption to spring for the super-expensive standing desk, as my makeshift setup is working just fine.)

People who see my setup are often amazed by how high everything is, especially my screens. (Usually, these people are shorter than I am.) I am a big believer in being able to look at my computer screens without craning my neck downward, so I prop them all the way up to standing eye-level. In fact, this is something I’ve always done, even at a regular sitting desk. For those using a laptop, this means getting a separate keyboard and mouse. But this one change – moving screens to a natural eye-level – has had more positive ergonomic effect than any other adjustment I’ve ever made in the way I work. I definitely recommend it.

I did quite a bit of experimentation with keyboard/mouse heights. At first, I had put them too low – around waist level – which meant bending my wrists backward a lot. Then I overcompensated and moved them too high, but my hands kept getting cold and falling asleep due to decreased circulation. I settled on a height that allows me to keep my forearms roughly parallel to the floor at all times (which means that my elbows are at roughly a right angle, and my wrists are straight). To alleviate arm fatigue, I have a couple little gel-thingies where I rest the heels of my hands when I’m not typing quickly.

The biggest complaint I’d seen about the switch to the standing desk had to do with foot fatigue, which many seem to experience during the switch. For some reason, I have never felt it. The only place I ever get sore is in my upper back, between my shoulder blades. This probably has something to do with the way that I tense up when I type or when I think too hard. (This happens a lot, because, duh, I’m such a deep thinker.) However, I did end up buying a standing mat, as I have hardwood floors that would get somewhat uncomfortable after an entire workday. I went with the Imprint Nantucket Series, which got nice reviews on Amazon. So far, I like it.

How it’s going

To date, the experiment has had mostly positive results. Aside from the shoulder pain mentioned above, I don’t have any physical complaints. Standing seems to keep me more alert, and makes me feel less lethargic. It forces me to take breaks through the day (something I had a tendency not to do before, which probably had a net negative effect on my productivity). Generally I’ll take a half-hour sit around lunchtime, and if I’m lazy in the mid-afternoon, I’ll unplug my laptop and move to the couch for a while. Standing also means that I don’t work into the wee hours – I tend to start work around 8:30am and never work past 6 or 6:30pm. This is a good thing for my mental health. Finally, standing leads to much more dancing, which is, of course, something we all need more of in our lives.