Drupal: theme override for Upload.module’s attachments list

Update: this functionality can now be achieved with the iTweak_upload module . Thanks to Damon for the tip!

I made a custom override for Drupal 6.x’s Upload.module’s attachments table that is displayed at the bottom of a node when you create file attachments. That table is, in my opinion, one of the ugliest common and default presentations in Drupal core. Below is an example of the before and after:

Example of override

To use it, unzip and drop the included folder into your active theme’s directory (e.g. /sites/default/all/garland), it should take effect without any other modifications—though you may have to reset the theme cache (goto admin/build/themes and click save without making any other changes).

Click Here to Download (shiny_upload.zip)

Also, I don’t know what the name is for these types of theme overrides: it’s not a module, and it’s not a whole theme. I posted this to a Drupal Group that, I think, calls them “ Themer Packs”.

The icon code is based on the CCK filefield module—but the current 6.0 version is kind’ve clunky and I wanted to port it to the core Upload module. The namespace is “shiny_upload”.

Also, as an aside, the reason island94.org doesn’t currently have this enabled is because it’s still running on Drupal 5.x branch


Digital Media Forensics

2nd rate band’s new single appears on bittorrent sites, band releases press release decrying leak, sleuthing ensues…turns out the band’s manager leaked the track himself. Damning on its own, but the interesting part is the forensic sleuthing that led to outing the guilty party:

With some help of a user in the community, we tracked down some of the initial seeders of the torrent. A BitTorrent site insider was kind enough to help us out, because BitTorrent is not supposed to be “abused” like this, and confirmed that the IP of one of the early seeders did indeed belong to the person who uploaded the torrent file.

It turns out that the uploader, a New York resident, had only uploaded one torrent, the BuckCherry track. When we entered the IP-address into the Wiki-scanner, we found out that the person in question had edited the BuckCherry wikipedia entry, and added the name of the band manager to another page.

This confirmed our suspicions, but it was not quite enough, since it could be an overly obsessed fan (if they have fans). So, we decided to send the band manager, Josh Klemme - who happens to live in New York - an email to ask for his opinion on our findings. Klemme, replied to our email within a few hours, and surprisingly enough his IP-address was the same as the uploader.


Individual Challenges for Nonprofit Leaders

Last month I was lucky enough to attend the NAMAC Leadership Institute in gorgeous Silver Falls, Oregon. The Leadership Institute was a weeklong exploration and advisement of leadership issues in the arts. Tucked away in the backwoods of the Silver Falls State Park, it was a great opportunity to network and dialogue with peers without internet or cellphone service—we all complained for the first 2 days; when we left it was hailed as a welcome relief.

I greatly enjoyed the Institute for a lot of reasons, personal and professional, but of the key highlights was being able to have substantive dialogue with other nonprofit peers. I was the youngest person there—the majority of the 20-or-so attendees seemed to be in their 30s—but a lot of what was talked about resonated strongly with what I’ve heard through my conversations with people working in nonprofits.

One of the most interesting observations came during an activity in which we were popcorning out what we like about our jobs and what we don’t. A pattern emerged from the answers:

  • The things that were liked by respondents had to do with broader organizational values, vision or impact. People really liked knowing that they the organization was helping people and doing so in a way that they believed in (these were all media and arts organizations).
  • The things that people disliked were all personal or positional issues: poor communication, poor management or supervision, workload, and unreliable committments to their projects.

After the activity I voiced this observation and it was greeted very warmly (several people told afterwards that they really thought this was an aha moment for them). In my work and observing others, there are often few opportunities to reflect upon personal positive impacts. This is particularly tough because there aren’t objective benchmarks from which someone can individually guage their effectiveness; there is no hard ROI.

For a much broader look at this, I reccommend reading through all 75 pages of the Building Movement Project’s “ Generational Changes and Leadership: Implications for Social Change Organizations”, which has excerpts of a wide set of interviews with nonprofit leaders young and old.


Poverty as the singular moral challenge

We just had our AmeriCorps*VISTA orientation last week—which to our delight and hard work turned out great—and one of the things I’ve been ruminating on since then was one of the powerful dialogue we had around poverty. AmeriCorps*VISTA’s mission is to help individuals and communities out of poverty rather than focus on making poverty more tolerable; so it should come as no surprise that we talked a lot about poverty. But the substance of the discussion made me think a lot about how I view poverty. Making it doubly interesting, of course, is that I was running the orientation and manage our VISTA program.

I realized I take a very broad view of poverty; perhaps as broad as they come. One of the activities involved each of us (about 40 people in all) writing on a tacky note their definition of poverty. My definition I gave was:

Poverty is the inability to fully participate in or benefit from society.

The other responses were along the standard lines of material poverty (not having basic survival needs met), and what I would breezily (and in the current economy) define as the “making under $30k a year” type of poverty (and the personal/social issues that come along with that). And to be perfectly clear, I fully acknowledge that these are the standard and usual definitions of poverty—the attendees were a wicked smart bunch.

Now moving beyond that dialogue, what do I find interesting about my definition:

  1. It’s a continuum: I don’t believe there is a hard cut-off for, “ok, you’re good to go.” Obviously two people who are making $100k a year, one of whom went to a state college and the other went to Harvard, have perhaps a trivial separation, but there exists one.
  2. It’s relative to society: from the dialogue, it was pretty clear that the attributes we choose to evaluate poverty on are relative (thanks Abby for mentioning Ishmael)
  3. It’s about the interplay between individual and society: beyond strict material poverty—at which point personal survival make social needs effectively moot; i.e. dead people don’t have agency)—poverty is about an individual’s ability to effectively function as a contributory member of society. What form those contributions take are defined by the society (see above).

So where am I going with this?

Poverty is a moral challenge. The Moral Challenge. Moral as in God. God as (and this is the tricky part) being a superset of the human condition. For you non-set-theory people, that means that the the experience of being human is an essence of God. But I don’t want to get caught up on the metaphysics of it, since they aren’t the point, may be heretical depending on your beliefs, and I probably don’t know what I’m talking about away. But for legitimacy’s sake—and being breezy again—this is a belief of many religions like Buddhism, Eastern Orthodox Christianity, Kabalism and Sufism to name a few, each of which have also influenced their respective trunks (e.g. Sufism to Islam, Kabalism to Judaism)—pretty much anything with a touch of mysticalism. At least, that was my impression from reading books by Karen Armstrong.

But I want to move beyond the specific religion aspect and back to poverty for the next statement:

The conception of poverty is a secular humanistic version of what Buddhism calls dukha, a fundemental element of life. I’m the first to be suspicious of people quoting eastern philosophies, but the idea of dukha is illuminating: usually it’s defined as “suffering”, that something is wrong, that life is “awry”. I woul advance a more rigorous (and humanistic) definition along the lines of:

Human beings, as innately and uniquely compassionate, imaginative and intelligent creatures, have fundemental anxiety over existing within a universe/reality of scarcity. Not just a scarcity of energy/food/shelter, but of, among other things, time (our linear lifespan), physical space (our necessary physical existence displaces other beings) and understanding (we cannot perfectly communicate ourselves to one another). This anxiety is dukha, which is innate to being human.

As Karen Armstrong would argue, the purpose of a practical religion is to help people overcome, transcend or accept this suffering (or help people move towards such unattainable perfects). Such practical religions attempt to reach towards this goal through both material, psychological and social means (the latter two being what we might call spiritual means).

Of course, as secular humanists, we cannot define poverty to such a broad holistic and potentially spiritual scope: it touches upon elements that are outside rational discourse (how can we conceive of a goal beyond the realm of human experience?) and, within more practical terms, is of a breadth our current bureacractic institutions would be unable to handle.

In my next blog post, I’d like to explore how poverty stems from our collective inability to accept diversity. Also, I’d like to write about how the concept of poverty at its core cannot exist without reasonable antithesis, why we’re incredibly bad at conceiving of that alternative, and how we might reasonably search for it.

Lastly, just to make it clear, I don’t believe that by expanding the definition of poverty it negates or in anyhow diminishes the incredible contributions and advances having been made or being made by people across the globe to improve the conditions of people who need that assistance most. In other words, this is in no way, shape, or form a statement that current anti-poverty work is pointless, “a drop in the bucket”, or we should just stop trying because we’ll never fix everything. Also, this isn’t leading up to a nanny-state rant (pro or con) either.


Political News Coverage

Looks like the FCC has “demonstrate[d], once again, that at present it is difficult, if not impossible to apply public interest pressure to TV stations via the Commission’s license renewal process.”

A Chicago/Milwaukee appeal was made to the FCC over a lack of local and regional political coverage from area broadcasters: less than 1% went to non-federal election coverage in the month prior to the election.

Also interesting how they cut up the types of coverage:

As for the style of the stories, or “frame,” as the CMPA study put it, most went to “horse race” stories (guesstimating a candidates’ electoral chances at the moment) and “strategic” stories (“how the candidate was using an event to reach particular groups of voters”). Strategy and horse race items dominated coverage. Issues-oriented features counted for less than a fifth of air time.


Job qualification: Not a jerk

Having gone through an institutional hiring process—both as the hirer and the hiree—I am well aware of the intricacies of non-discriminatory practices. Essentially: you can’t base your decision on anything outside of the approved job description and qualifications. Regardless, I got a hoot out of the following qualification on a job my friend sent me:

Employee must be able to relate to other people beyond giving and receiving instructions: works well with co-workers or peers without exhibiting behavioral extremes; perform work activities requiring negotiating, instructing, supervising, persuading or speaking with others; and respond appropriately to criticism from a supervisor.


How to use a fridge crisper

After a bunch of googling around, I haven’t found an authoritative answer to my question: how are you supposed to set up and use your refrigerator’s food crisper—fruits and vegatables need different levels of humidity (which ones need what I wasn’t sure), and the little baffles are supposed to change that (which setting does what I wasn’t sure).

So it seems that they are more about humidity than they are about keeping your foods fresh.

That being said, this Cooks Illustrated PDF seemed to give a half-way decent explanation of the proper settings and use:

  • Opening the baffles for air to pass through lowers the humidity, which is fine for basically anything that needs to be kept cold (like some fruit: apples and grapes)

  • Closing the baffles to stop air from circulating allows the humidity to rise for leafy vegetables.

But according to Cooks Illustrated, it’s all much more complicated than that—some produce like it warmer than the crisper may provide, like green beans, subtropical fruits, melons and herbs. So good luck if you have roommates.


Vegan Baking Tips: Egg Replacement and Oil

During an AmeriCorps icebreaker, I matched my desire to learn vegan baking with someone who knew how. Who say’s icebreakers are worthless (well, I sometimes do). I got the following two tips:

Egg Substitute: Use an amount of water equal to an egg (maybe ~1/4 cup) and mix in tablespoon of ground flax-seed

Best Oil: Coconut Oil is the best oil to use for moistness and tastiness. Of course, it’s really bad for you, but who cares.


Tragic Food

If salmonella outbreaks weren’t actually killing people the following statement might be a humorous farce of a murder investigation:

Investigators are seeing more signs that the salmonella outbreak blamed on tomatoes might have been caused by tainted jalapeno peppers…. Echoing federal officials, who said this week that tomatoes remain the prime suspect, the health officials said that tomatoes cannot be ruled out as the cause of the outbreak. Investigators have been collecting samples of another possible suspect, cilantro, though the herb is less likely to be the source, said the officials, who spoke on condition of anonymity because the investigation is continuing.

Other possible scenarios: salsa tryst, the tomato has an evil twin, the butler did it.


Facebook to Phone Trees: Nonprofit Technology for Everyone

I was really excited about this year’s Grassroot’s Use of Technology Conference because I had submitted and had accepted a great proposal entitled “Facebook to Phone Trees: Multi-Generational Outreach Strategies” that was to be co-presented with Angela Kelly of Mass Peace Action and Daniel Karp of International Physicians for the Prevention of Nuclear War (IPPNW). Unfortunately I was forced to call-off the session because I’ve been worked to the bone at my daytime job and ended up running out of preparation time.

So, despite the session’s ultimate non-existance, I thought it might be valuable to post my notes for it here.

The impetus for the sessions came from some of my frustration with many technology initiatives that seek to tap into social networks like MySpace and Facebook. I often hear these initiatives couched in terms of “keeping up with the joneses” (or just tech-fetishism) rather than a measured communications strategy. Sometimes tried-and-true tools are overlooked or even forgotten. The goal of the session was to move people from thinking of the newness of a tool, to thinking of their audience (i.e. constitutents, donors or members) and what tools would most effectively reach them. We were really hoping to get an age diverse audience who would remember what things were like before the internet.

One of the strengths of the session a dialogue format in which, once the frame was set by a personal case study from Daniel, a group discussion facilitated by Angela would take place about different tools that were successfully (or not) used for specific audiences and situations, and then move into some small-groups to map out some personal strategies.

Of course, the dialogue didn’t happen, but Daniel’s case study was a quite interesting story of how (and how not) to go about integrating new social networking tools into a communications plan. To set the stage, the IPPNW is a large, distinguished (they received the Nobel Prize) and successful international organizing and advocacy organizing organization. The leadership had become concerned that a gap was developing between older members of the organization and younger medical students and new doctors who they wished to recruit and involve. Basically, the organization worried that they seemed too old and stuffy with their dead-tree newsletters and symposiums. To reach-out to these younger potential members, they instituted a large online social network campaign: MySpace, FaceBook, the whole-nine yards. And it was incredibly successful—they were recruiting hundreds of young people into the organization and creating a thriving online space. But then they had a problem….

The youthful online community was huge, but it wasn’t happy: they felt like they were being relegated to the sidelines. The online community felt that they had joined this legitimate and eminent organization, but they didn’t feel like they were really participating in it since they were only interacting with themselves in the walled-off online community. The older generation was still going about its activities offline—and it’s completely unrealistic to think you can get everyone online (says someone who works with people who print off their email). The online community hadn’t been integrated into the full scope of activities like submitting articles for the dead-tree newsletters or being invited to the symposiums. The wisdom, eminence and legitimacy of the organization still lay offline, and the online crowd hadn’t been invited.

From that experience and many others, we came up with the following advice:

  • Audience is Audiences: One size doesn’t usually fit all, and sometimes size isn’t the problem (for a shirt, maybe it’s color, fabric or style). Think of different ways to split up your audience—age, culture, values, tech-savvyness—and how it might affect your message or medium.

  • Avoid Interaction Silos: Don’t wall off different segments of your audience from one-another by virtue of the technology. If you have both a FaceBook Group, a MySpace page and a dead-paper newsletter, ask yourself: “Are we creating real opportunities for these different audiences to interact?”

  • Balance Aggregate Reach with Personal Impact: An email written in 5 minutes can reach 10,000 people. A 5 minute phone call can only reach 1, but it can have 10,000 times the impact of an email. When designing a communications strategy, make sure you’re looking at both.

  • Offer Genuine Participation: A thriving online community usually isn’t an outcome. Organize real-world actions and events and use the technology tools to communicate information about them. Have a dialogue online, but make sure to create opportunities for it to come to life.

  • Keep Humanity in Mind: Every audience has the same basic desires for success, recognition and advancement. Be innovative with technology, but never lose sight of the bottom line.

The original session submission (for posterity’s sake; I love the last line)—though in discussion the scope was narrowed:

Participants will bring their own knowledge and experiences to this open discussion of targeted communications strategies. How do generational differences affect the effectiveness of your messages, opportunities and appeals? We’ll discuss everything from Facebook to Phone Trees and PayPal to to Planned Giving.