Setting up a local Drupal development environment on Ubuntu 12.10

I’ve recently started developing with the Drupal content management framework.  I did a lot of work with Drupal in the past, but haven’t done much work with the platform since Drupal 6.  While it still feels a bit strange coming from MVC frameworks and more expressive languages, it seems like Drupal and PHP have come a long way in offering a fluid development experience in the last few years.  This is how I set up my development environment in Ubuntu 12.10, though it probably works for newer releases of Ubuntu or other Debian-based Linuxes.

# Add the PHP5 PPA
sudo add-apt-repository ppa:ondrej/php5 
sudo apt-get update

# Install PHP5.  This will also install a recent version of Apache
sudo apt-get install php5

# Install PEAR, this will make it easier to install drush
sudo apt-get install php-pear

# Install drush via PEAR
pear channel-discover pear.drush.org
sudo pear channel-discover pear.drush.org
sudo pear install drush/drush

# HACK: The first time I ran drush it needed to install some dependencies via PEAR, 
# but I ran drush as my user so I didn't have permissions to write to the global PEAR
# directory.  Work around this by running drush with sudo and then chmoding your
# ~/.drush directory back to your own user.  You can probably just install the
# dependencies using PEAR.
sudo drush
sudo chown yourusername:yourgroupname -R ~/.drush

# For local development, I like using SQLite
sudo apt-get install php5-sqlite

# drush dl/en needs crul
sudo apt-get install php5-curl

# Drupal needs GD
sudo apt-get install php5-gd

Onetimers and Ol Scratch

Last night Hinged, the band I play in, played a show with two cool bands from Chattanooga as well as a violinist who was the grandson of a notable Chicago magician and drummer/guitarist who immigrated to Chicago from Tanzania.  The show was in a small, homemade theater behind a magic shop, presumably constructed for magicians’ performances.

You should check out music by the Onetimers and Ol Scratch:

Tithing tied to consumption

A Facebook friend shared this critique of TOMS shoes today and it reminded me that ethical consumerism is kind of a fail in terms of substantial economic or environmental justice.  However, as much as my consumption has serious consequences, often not felt by me, I still buy stuff.  Rather than having my “lesser of two evils” consumption prescribed by producers, I’d like to have my consumption offset by pushing resources to strategies that offer the most leverage toward economic justice.

I image a system that integrates with a service like Mint, or other banking API that calculates a tithe as a percentage of my consumption in certain categories.  This would be weighted based on the harmful externalities associated with a particular type of purchase.  I think it’s really difficult and perhaps dangerous to try to model the actual consequences of consumption, but its still important to have a reminder that consumption isn’t neutral.  After a certain threshold is reached, I’d be notified by the system and could then push the calculated tithe to recommended projects, or some other project of my choice.  As an added feature, I could get recommendations of non-monetary ways (volunteering, taking part in an action, attending a government hearing)  as a way of fulfilling the “tithe”.

One technical constraint is how to get access to my spending data.  I found this Stack Exchange thread about Mint APIs and this mention of an Open Bank API.

On food and cultural appropriation

Craving the Other is an interesting article by Soleil Ho about food and cultural appropriation.  The most powerful criticism of fetishizing foods from other cultures is in the last paragraph of the article:

Over time, you grow to associate nationalities with the quaint little restaurants that you used to frequent, before they were demolished and replaced with soulless, Americanized joints. You look at a map of the world and point a finger to Mongolia. “Really good barbecue.” El Salvador. “Mmm, pupusas.” Vietnam. “I love pho!” When you divorce a food from its place and time, you can ignore global civil unrest and natural disasters (see: Zagat declaring Pinoy cuisine the “next great Asian food trend” this past fall as deadly floods swept through the Philippines), knowing as you do that the world’s cultural products will always find safe harbor in your precious, precious mouth.

Ho worries that  accumulating insider knowledge of the food of other cultures, while continuing to frame it as exotic is a strategy for non-immigrant Americans to “make you look like a more exciting, more interesting person”.  I think this is a valid concern, and certainly a dynamic that non-migrants should be aware of and accountable to, but I think the dynamic of interest in food and culture has another important dimension to consider.

My father, a fourth generation Chinese American, came from a family whose parents pushed hard for their children to assimilate into what they perceived as American culture in Flint, Michigan.  While his parents could speak Cantonese, they never passed this language to the children.  My dad’s uncles owned and operated a Chinese restaurant, but I remember my grandmother meticulously cooking dishes like meatloaf when she came to visit rather than any Cantonese dishes.  I remember my dad cooking dace, using fermented bean pastes and stinking up the house. In retrospect, I think that this was a way that he tried to define and connect with his Chineseness.

Ho describes observing how families of childhood friends would prepare pulled pork sandwiches with coleslaw and how she tried to meticulously mimic the rituals around eating this American food in the same way that peers would later watch her to learn how to eat Vietnamese food authentically.  I wonder if most kids who grew up in America, distant from immigrant experiences, even have food traditions like pulled pork sandwiches with coleslaw on them.  My parents’ generation was one that felt the full pressure of the big food industry on American culture.  Many of the meals of their childhoods were ones prescribed by cookbooks from Betty Crocker, Jello or advertisements for canned green beans in Good Housekeeping.  I feel like many of my generation take interest in non-American foods, or regional American foods, outside of their own families’ experience, to try to try have some deeper relationship with food and culture, any food and culture, other than the one afforded them by large corporations pushing a mass-produced, homogenized version of American food.

This leaves us in an uncomfortable space.  Americans whose experience with food has been mediated by a few generations of corporate food production are hungry for having food, and really a culture at large, that feels based on lived experience and not one that’s so heavily prescribed for them.  At the same time, this doesn’t make the food, traditions and culture of migrants to the United States a buffet for us to pick from, out of context, to try to fill the gap left by a lost generation of American eaters.  I think it’s important to recognize the sadness of loss of culture experienced by many non-migrant Americans that exists beneath or alongside a more dubious desire to be in-the-know about the most recently “discovered” or most exotic foods.  At the same time, those of us foraging for meaningful cultural experiences around food need to be act in a way that acknowledges that appropriation of food can be destructive in magnitudes equal to the damage done to American food traditions by corporate food.

Ultimately thinking about food and cultural appropriation makes me feel the same way that I feel about economic and racial residential segregation: angry and sad to be left with a situation where it’s so hard for our best-intended motions to not perpetuate the very systems that left us in this mess.

Related

These are a couple of cultural artifacts that I’ve come across recently that fit in a similar brain space as Ho’s essay.

  • Roy Choi’s Tacos Channel LA And The Immigrant Experience – Really interesting Fresh Air interview.  Choi touches on his experience as an immigrant of trying to find cultural touchstones that felt more American but weren’t necessarily those of White, suburban American culture.
  • The Mind of a Chef: Season 1 – Really entertaining PBS show (I’ve been watching it on Netflix) that follows chef David Chang.  Personal experience with food and cultural appropriation collide.

Applying for coverage under the Affordable Care Act

I’ve started the process of seeking coverage under the Affordable Care Act on the healthcare.gov website.

I ran into a few snags with the registration process last week, and the eligibility application process kept hanging, but this week, I was able to successfully submit the eligibility application.

I was less frustrated with the technical glitches than with just being confused about some of the questions.  The process felt similar, in terms of flow through a web process, confusion and frustration to filing my income taxes.  Here are the things that I found most confusing:

  • I work as a freelance developer, so my income can vary by a few hundred to a thousand dollars each month depending on which projects I’m working on and the number of hours I put in.  The eligibility web form asks me for my monthly income.  What should I put?  The system then calculates a yearly income from the monthly value that I entered (minus any deductions). Why doesn’t it just ask for a yearly amount.  I could more easily input my adjusted gross income from last year’s tax return than estimating a monthly value.
  • You can get exemptions for student loan interest. How do I figure out how much I pay in interest every month or year? I ended up looking at my monthly loan payment statement and using the amount of my payment applied to the loan interest.
  • My eligibility report said that I wasn’t eligible for any tax rebate or subsidy.  I’m a little surprised by this. Are there any lists of estimated costs/subsidies to make sure my options match what others with similar incomes are seeing?

Private publics

I’ve been looking for ad-hoc basketball hoops in my neighborhood for the past couple of weeks, taking alleys on my bike instead of the streets as I move from place to place as part of my routine.  I’ve run into these homemade hoops pretty much every day.  I shouldn’t be surprised, because, where I grew up, in a subdivisions bordering farmland, every block had a few basketball hoops lining driveways.  These hoops were more visible than the DIY hoops I’ve been looking for in the alleys of Chicago, but also more private.  It was clear who they belonged to and that they were meant for use by residents of that particular house.  While I’ve come across similar arrangements in Chicago: store-bought hoops, often locked behind a fence; most of the homemade hoops have more ambiguous ownership.  They’re often tacked to utility poles and it’s unclear which residence they’re associated with.  It seems entirely possible that the hoops persist long after their makers have moved to a different block or neighborhood.

Alleys are strange public spaces, they don’t feel owned, but they don’t feel welcoming, or even public, either.  Roaming around the alleys, it feels like you’re walking through a gauntlet of closed garage doors. This could be a function of the turning season, though, as I’ve stumbled upon bumping garage parties in warmer months.  As an adult, I find exploring alleys to be fun, but I wonder how kids feel about alleys as play spaces, their games relegated to a space, shared with dumpsters, broken down cardboard boxes and old couches, seemingly reserved for things meant to be kept out of sight.

Published
Categorized as Hoops

About Hoops

A homemade basketball hoop in a Humboldt Park alley.
A homemade basketball hoop in a Humboldt Park alley.

Hoops is a project that I’m undertaking to find and document, homemade basketball hoops in Chicago. I became interested in these structures when I saw a couple of guys playing in an alley near my house in Humboldt Park. Around the same time, a schoolyard basketball court in the neighborhood had been inexplicably removed and I was feeling frustrated about its loss.  Space for childhood never feels easy in this city and the ad-hoc hoops felt like an interesting facet of the way youth in the city navigate changing resources and geographies.

You can help me with the project by finding and submitting DIY hoops in your neighborhood. I’ve created a mobile web app at http://apps.terrorware.com/hoops/ that you can use from your mobile phone, or you can share photos using the #diyhoop tag on Instagram.

Installing CyanogenMod 10.1 on an HTC One V (CDMA) phone

My weekend project was installing CyanogenMod 10.1 on an HTC One V phone that I got from my housemate. The phone is made for Virgin Mobile, which uses a CDMA network. The codename I’ve seen for the phone is primoc, though I don’t quite understand how the naming convention works.  The process took me about a day and a half, though it would have only been a couple of hours if I would have realized I needed to activate the phone before I installed the custom ROM and if my backup would have worked correctly.

I’m not quite sure how to write up my experience, but I wanted to share a few warnings or things that would have saved me time and weren’t included in many of the guides.

The ROM zipfiles are hundreds of MBs

Take this into account when planning the time that you need.

Think of the process as multiple steps

A lot of guides combine these into one guide, or gloss over components. I found it helpful to research and understand each task, and also for time-boxing the process.

  1. Unlock bootloader
  2. Install custom recovery image. In this case, this was ClockworkMod Recovery (CWM)
  3. Copy the CyanogenMod and Google Apps distributions (zip files) to the SD card
  4. Install CyanogenMod and Google Apps from the zip files using CWM
  5. Flash the CyanogenMod boot image using fastboot

You don’t have to install any special drivers when using Ubuntu

To run the platform tools on Ubuntu, you need to run then using sudo, e.g.:

sudo ./fastboot flash boot boot.img

Activate the phone first!

The biggest time suck of the process is that I forgot to activate the phone before flashing CyanogenMod. The backup I made didn’t work.  In order to activate the phone (or switch it to your number), you need to use Virgin’s Activate app and this is only available on the stock ROM.  Save some pain and activate the phone using the default ROM before messing around with flashing custom ROMs. Luckily, I found this ROM based on the stock ROM which included the activate app.

There isn’t a RUU for newer versions of this phone

RUU stands for ROM Update Utility. It’s a windows executable used to restore the phone to a default install.

Useful resources

I used these as references during my install: