Crooked Number is the home of David Moore, a web developer who specializes in Drupal.
Contact

Projects

I helped the International Education Systems division of EDC merge its website with that of the Global Learning Group to become the International Development Division (IDD). I then worked on moving their site from my homemade CMS to drupal. I advised on all elements of the site: architecture, navigation, SEO, drupal module choices, personnel and vendor choices, etc. Design was done by DeCarolis Design and Marketing; drupal theming by 19th Street Design.

Education Development Center was my last employer. I was in charge of their main site, which was re-launched on Drupal in the fall of 2008. I also worked on several other (mostly Drupal) EDC sites in a variety capacities: project manager; developer; themer; consultant; etc.

From 2002-2005, I headed up Oxfam America's fledgling online outreach program, helped build their e-list from 5,000 to over 100,000, and helped raise nearly $20 million online. In the process, I became very familiar with the Get Active (now Convio) application service provider - a 3rd-party web app which does a lot of the 'heavy lifting' (list management, bulk email, credit card processing, etc.).

I acted as technical advisor on the HHD site as the static HTML version was moved to drupal. I provided help with architecture, theming, and custom code.

In late 2010, I helped RESIST with a soup-to-nuts overhaul. We started with a fresh, modern design. Static HTML pages were moved to Drupal 6. I re-worked the information architecture and turned some of their content (e.g., newsletters) into drupal content types -- providing the advantages of "databased" data and setting the stage for RESIST to move their entire grants catalog into an online, searchable database.

I occasionally volunteer with the US Campaign for Burma. It's a wordpress site with some serious modifications. I've helped out with template tweaks, security concerns, general maintenance, as well as various hosting issues.

This ongoing project provided me with a real Drupal trial-by-fire. The dev site was in version 4.7. I ported over several hundred nodes from a blogger site and created almost two dozen node types. The Grassroots International site gave me the opportunity to learn Drupal theming, module-building, image handling -- and a number of other skills.

It's -- take a breath -- The US Department of Education's Higher Education Center for Alcohol and Other Drug Abuse and Violence Prevention, a drupal site created and run by EDC. I acted as technical adviser and themer on this site. I helped with content-types decisions, php snippets in blocks, and views. I also took the designers comps and combined them with Zen to create the site's final theme.

I worked with the Unitarian Universalist Service Committee for several years, consulting with them on a number of tech issues. I convinced them to move their static site to drupal. I also aided them in choosing an application service provider (Convio). And I helped UUSC find the developer who built the site.

I can't take credit for the UUSC site. But hats off to Lightbulb First and JM Designs for putting together a great site. [More info]

The HOPWA Best Practices site is a straightforward drupal site created by the AIDS Housing Corporation, which has since merged with Victory Programs. I provided initial drupal training, some theming help, and feedback on best practices. Design and site creation was done by Andy Keys, who can be found at Oakleaf Green Landscape Design and Garden Smackdown.

Baseball meets Drupal ... again. During Christmas 2007, Jon Springer contacted after moving his site -- a catalog of every uniform number worn by every player -- from Wordpress to Drupal. I helped him out with a number of administrative and theming issues. But the best part was the challenge of Drupalizing his very primitive database of uniform numbers. Using Views, CCK, a number of helper modules, and some good ol' trial-and-error, however, we were able to create some slick rosters (by player name and uniform number).

In 2010, I moved mbtn to drupal 6 and gave it a smart new theme.

History and sexual politics, 1492 to the present. That about says it all. A simple Wordpress install, with some significant tweaks to an off-the shelf theme. The (not uncontroversial) content of Historiann is much more interesting than the story of its creation. Enjoy!

Ahhh. The first site that I created 100% on my own. Genuine Love is a Red Sox blog born in 2004 that has gone through countless iterations (and raised a decent amount of cash for me). In 2007, the site was ported to drupal. In 2008, I returned it to its roots; the ads were removed and I gave it a look -- black and white, vertical rhythm -- which was inspired in no small part by, among others, the great Koi Vinh. After taking 2009 off (much like the Sox), genuinelove has taken yet another incarnation, this time as a tumblr page.

A rainy-day project that has been years in the making. Open source is all about scratching itches, and SoxFeeds.com is no different. Desperate for a way to view all my Red Sox/MLB news at once, I created this site, using Drupal, CCK, Views, a touch of jQuery and the incomparable FeedAPI module. This season, I stripped down the resulting markup to a less than 3KB (!), then started building it up with jQuery Mobile. It's now primarily designed for mobile; the desktop takes a backseat. Short on style, but tall on info.

This Joomla site for the International Committee of the Red Cross (ICRC) provided me with a number of interesting challenges, not the least of which was understanding and then mastering Joomla. I created a custom theme for the site, integrated it with PHPBB, and installed/tweaked countless modules. Take a look; the subject matter is certainly intriguing.

Creating the IES site was a great experience. It tested my PHP, SQL, and CSS skills. But I learned much more about client relations, information architecture, data migration, Python (to help with the migration), SEO, and teaching people to write for the web (if not always succeeding). The subject matter is pretty intriguing as well.

Updates

  • 3 weeks 1 day ago

    Had a great time the past few days at NPR -- trying to replace the Google Search Appliance with drupal native search plus a mongo + python service that consolidates all search data from ~50 stations (a/k/a - federated search). Fascinating stuff! (And I'm amazed at how much python I've forgotten.)

  • 10 weeks 3 days ago

    Stable drupal7 versions of Path Blacklist and Wordcount are out!

  • 16 weeks 5 days ago

    I'll be speaking at BADCAMP 2011. See you there! http://2011.badcamp.net/program/sessions/web-face-radio-npr-builds-platf...

  • 26 weeks 3 days ago

    The dev version of freeCommerce for D7 is out!

  • 34 weeks 3 days ago

    Just finished the first pass at massive re-write of path blacklist for D7. Now on to word count!

  • 34 weeks 4 days ago

    Branching out and looking at alternatives to Coda. First, Komodo. Then, Textmate (in earnest, this time).

  • 39 weeks 5 days ago

    Just built a NLTK drupal module. It's all very proof-of-concept right now. But I did manage to send data -- drupal to PHP to Python to NLTK -- and get the correct response back. Very cool!

  • 40 weeks 1 day ago

    Very cool! Just got my first patch to drupal 8 committed (and back-ported to 7.x). http://drupal.org/node/1132364

  • 41 weeks 3 days ago

    Check it out! Video from my talk at the Boston Drupal Meetup: A (Web)Face for Radio: NPR + Drupal7

  • 41 weeks 3 days ago

    Nieman Journalism Lab has a nice piece on NPR Digital Services (my place of work).


Crooked Twitter

  • One day, MacPorts will stop amazing me. Today is not that day. http://t.co/9KkXazMs 4 days 4 hours ago
  • EVERY function is a helper function. No? 1 week 3 days ago
  • Even 200 is a magic number. For reals! 1 week 3 days ago
  • A rainy Thursday of refactoring. Luckily, Refused and Mastodon have signed on to provide the soundtrack. 2 weeks 1 day ago
  • @Dries @sotak Excellent! And if anyone wants to help out with the kiva module for #drupal, it's at http://t.co/ngZuhDSl 4 weeks 2 days ago
  • Resig on JavaScript-as-a-first-language http://t.co/GAhlD54F 5 weeks 1 day ago
  • It's Zen Arcade all day in the Coder Cave. #nocomplaints 6 weeks 4 days ago
  • Arbitrary deadlines produce code of arbitrary quality. 10 weeks 3 days ago
  • How to show the protocol in address bar of FF. http://t.co/oTCSX8AX #usingtwitterasdelicious 13 weeks 3 days ago
  • Slides for my #BADCamp talk (#NPR + #Drupal) are up! Thanks for everyone who came out. Good times! http://t.co/b6auSsFU 13 weeks 6 days ago
  • Attending an EFF presentation at an open-source #drupal non-profit summit. In Berkeley. 'Nuf said. 14 weeks 14 hours ago
  • 2 is a (code) smell. Indeed! http://t.co/3Jsz32iT 15 weeks 1 day ago
  • Bad thing: when a company starts to believe its own marketing materials. 17 weeks 5 hours ago
  • Getting back to #drupal #simpletest for the first time in a while. A curious mix of fun + annoyingly hard to debug. 17 weeks 4 days ago
  • Current status: Going Underground http://t.co/FIOhWSFW 17 weeks 4 days ago
  • Oddly reassuring when #drupal core uses the same hacks as me: dblog_init() { if(arg(0) == 'admin' && arg(1) == 'reports') { // Add the css 18 weeks 3 days ago
  • Lotta moving parts ... 18 weeks 4 days ago
  • Muddling through a bash script. My bash is like my Spanish. I know just enough to get myself in a little too deep. 19 weeks 10 hours ago
  • Vote for my #badcamp session (#npr + #drupal), or I'll start hacking core ;) http://t.co/hYdNe3c 19 weeks 3 days ago
  • Just submitted my proposal for a #badcamp talk. #npr meets #drupal. Fingers crossed! http://t.co/hYdNe3c 20 weeks 1 day ago