Category Archives: Blogging

Informational and administrative posts about this blog

Pre-Post On What Is Nonprofit Technology

Early next week, I’m going to publish the “director’s cut” of my recent NTEN.ORG article, “What Is Nonprofit Technology“. But I wanted to talk about it a little first.

The story behind this article is that, late in 2014, I was approached by some online tech e-mag to write an article for them.  I thought, why not tell all of the for-profit techies what it’s really like working in our sector?  And I wrote a solid first draft.  Then I started researching the magazine, and couldn’t find much.  There was little in the way of a FAQ, so I couldn’t ascertain things like, “who owns the content submitted”? I decided against publishing there. I sent it on to Amy at NTEN, and she came back with the suggestion that they publish it in March, shortly after the NTEN conference, as the March theme is Nonprofit Management. And we did that.

The article has gone over really well with the nonprofit community, and is still being actively shared and liked across social media platforms nine days in.  I’m really flattered.  I think the strengths of the article are that it, first, distills a lot of my thinking over the last ten years or so about what we, as nonprofit technologists, do, and what our challenges are. I’ve been drafting this article in my head for a long, long time. But I think it also benefits from the fact that I wrote it for a different audience — one that doesn’t know our sector and our challenges well. And I both think and hope that this is a large part of why the article is resonating so well with the community. This is something that you can share with people outside of the sector that explains a lot about us.

That’s my goal, at least — I hope it’s true.  And I hope that it’s useful for you, particularly if you have friends that you’re trying to recruit into the side that promotes social good.

The “director’s cut” story is simple. Steph at NTEN admitted that her edits were primarily focused on shortening the article in order to fit NTEN’s max post length.  She did a great job — there is no point that I wanted to make missing from the NTEN version. But there are a few areas where the grammar got a little confused. My rendering is more spacious, with a few more examples.  So I decided to print it as originally written and let you decide which one you prefer.

Techcafeteria’s Week Of Added Content

pile-154710_640As promised, I added about 40 of my guest posts here from the NTEN, Idealware, Earthjustice and LSC blogs. I also completely redid my categories and retagged every item, which is something I’d never done properly, so that, if you visit the blog, you can use the new sidebar category and tag cloud displays to find content by topic.

Included is my “Recommended Posts” category, which includes the posts that I think are among the best and the most valuable of what I’ve written. These are mostly nptech-related, with a few of the personal posts thrown in, along with some humor.

The newly-added content that is also in recommended posts includes:

Everything has been published by it’s original date, though, so if you’re really curious, you can find all the new stuff at these links:

I’m not finished — NTEN and Idealware have both given me permission to publish the longer articles that I’ve  written to the site.  So I will do that on a new “Articles” page.  These will include write-ups on document management, major software purchasing, data integration standards, RSS and system architecture.  Look for them this week.

Incoming Content – Apologies In Advance!

wave-357926_1280 RSS subscribers to this blog should take note that I’m apt to flood your feeds this weekend. Over the past few weeks, I’ve gathered 35 to 40 posts that  I’ve written for other blogs  that I’m adding here.  These are primarily posts that I wrote for the NTEN, Idealware, Earthjustice and Legal Services  Corporation blogs, but neglected to cross-post here at the  time. The publish dates run from mid 2006 to a few months ago. I’m also seeking  permission to republish some of my larger articles that are out there, so you’ll be seeing, at  least, my guide on “Architecting Systems to Support  Outcomes Management”, which has only been available as part of NTEN’s ebook “Collected Voices: Data-Informed  Nonprofits“.

Another part of this project is to rewrite my tags from scratch and re-categorize everything on the blog in a more useful fashion. With about 260 blog  posts, this is a size-able  book now,  It just lacks a good table of contents and index.

I’ll follow the flood with a post outlining what’s most worthwhile in the batch.  Look, too, for upcoming posts on the Map for Nonprofits and  Community IT Innovators blogs on Outsourcing IT and RFPs, respectively, which I’ll also cross-post here. Plans for upcoming Techcafeteria posts include the promised one on gender bias in nptech.  I’m also considering doing a personal series on the writers and artists that have most influenced me. Thoughts?

The End Of NPTech (.INFO)

After eight years, I’ve decided to shutter the nptech.info website, which will also disable the @nptechinfo twitter feed that was derived from it.  Obviously, Twitter, Facebook and Google Plus have made RSS aggregation sites like nptech.info obsolete. Further, as Google ranks links from aggregators lower and lower on the optimization scale, it seems like I might be doing more harm than good by aggregating all of the nptech blogs there. It will be better for all if I spend my efforts promoting good posts on social media, rather than automatically populating a ghost town.

Long-time Techcafeterians will recall that NPTECH.INFO used to be a pretty cool thing. The history is as follows:

Around 2004, when RSS first started getting adopted on the web, a very cool site called Del.icio.us popped up.  Delicious was a social bookmarking site, where you could save links with keywords and descriptions, and your friends could see what you were sharing (as well as the rest of the delicious userbase). Smart people like Marnie Webb and Marshall Kirkpatrick agreed that they would tag articles of interest to their peers with the label “nptech”. Hence, the origin of the term. They let about 50 friends know and they all fired up their newsreaders (I believe that Bloglines was state of the art back then — Google Reader was just a glimmer in some 20%er’s eye).

Understand, referring information by keyword (#hashtag) is what we are all doing all of the time now.  But in 2005, it was a new idea, and Marnie’s group were among the first to see the potential.

I picked up on this trend in 2005.  At lunch one day, Marnie and I agreed that a web site was the next step for our experiment in information referral.  So I installed Drupal and registered the domain and have kept it running (which takes minimal effort) ever since.  It got pretty useless by about 2009, but around that time I started feeding the links to the @nptechinfo Twitter account, and it had a following as well.

Yesterday, I received an email asking me to take down an article that included a link to a web site.  It was an odd request — seemed like a very 2001, what is this world wide web thing? request: “You don’t have permission to link to our site”.  Further digging revealed that these were far from net neophytes; they were SEO experts who understood that a click on the link from my aggregator was being misinterpreted by Google as a potential type of link fraud, thus impairing their SEO.  I instantly realized that this could be negatively impacting all of my sources –and most of my sources are my friends in the nptech community.

There is probably some way that I could counter the Google assumption about the aggregator.  But there are less than three visitors a day, on average. So, nptech.info is gone, but the community referring nptech information is gigantic and global.  It’s no longer an experiment, it’s a movement.  And it will long outlive its origins.

Notes From All Over

Did you know that Techcafeteria isn’t the only place I blog?  You can find me posting on topics related to legal aid, technology, and my work at Legal Services Corporation at the LSC Technology Blog.  My latest there is about my favorite free task management tool, Trello.

I also do the occasional post on NTEN‘s blog, and they published my article on the history of Circuit Riders, the nonprofit-focused techies that got many an org automated in the 90’s, and my pitch for their new mission.  Related: I’ll be doing a webinar for NTEN this fall; an encore of the Project Management session that I did at the recent NTC. Look for that around September.

Next up here? I finally sorted out what bugs me about Dan Palotta, renowned fundraiser, rabble-rouser and keynoter at the NTEN conference last April. I should have that up in a day or two.

In non-blog related news, this is the month that my family finally joins me in DC.  We’ve rented an apartment in Arlington (within walking distance of LSC’s Georgetown offices) to hole up in while we look for a house to buy.  I’m flying to SF to load up the moving truck and say one last goodbye to the best beer on earth (Pliny the Elder, by Russian River Brewing Co.) (What? You thought I was speaking more generally?)

 

Techcafeteria Blog Facelift

If you visit the blog (as opposed to just subscribe), you’ll note that I did a little cleaning.  My old WordPress site had gotten a bit corrupted, so, instead of trying to fix it, I just installed a new copy of WordPress, found a simple theme, and selectively imported the important things from the database. It was about four hours work.

If you ever visited Techcafeteria.com, without the “/blog” appended, that was actually a site that I created in a little-known content management system called Frog CMS. I ditched that; now techcafeteria.com simply points to the blog.

So, nothing fancy – I’m not here to rack up page views and compete with Yahoo!  Do let me know if I broke anything.

Techcafeteria Turns Five!

Today is the fifth anniversary of this blog, which was started on May 20, 2005.  Back then, it was on another website and not very well-defined. I’d say my purpose in starting it was pretty much “because I should be blogging”. After a year or two, though, I started to find my voice by discussing what I do: nonprofit technology. And then I registered Techcafeteria, the personal arm what I call my “extra curricular activities” beyond family and the day job.

Things didn’t really take off until the fall of 2008, when I stated blogging elsewhere. Many of the posts here are republished from the Idealware Blog, which I now run. Accordingly, the Techcafeteria-only posts tend to be housekeeping ones (like this one); way off of NPO technology topics (such as my more political and personal entries) and overflow, because, while I write regularly for Idealware, I find myself with more things to write about than would be appropriate to flood that blog with, at times. I’ve definitely hit my stride, and expect this to continue to be a steady source of content for some time to come. But, if all you really want is the technology stuff, and could care less about whether we homeschool or how I feel about civil rights, you might be happier subscribing to Idealware, which has the benefits of a stricter focus and nine additional excellent bloggers contributing.

Over the years, a handful of my posts have either gained notoriety or stood out in terms of synthesizing some of my key messages, so I thought I’d re-recommend them. Here’s my best of the first five years list:

  • Message to The Krazy.com Spammer – I occasionally write missives to people who will never read them. I’m particularly fond of this one, based entirely on a true story.
  • Schlock and Oh! Facebook’s Social Dysfunction – This is timely: My initial reaction to Facebook, after reluctantly signing up.  I’ve been bashing them since 2007.  (Take note, Jon Looper!)
  • The Lean, Green, Virtualized Machine – I took a stab at explaining the geeky concept of virtualization in relatively plain english, and I think I nailed it.
  • Why We Tweet – In case you were wondering.
  • The ROI On Flexibility – I consider this to be the best thing I’ve written, a synthesis of my philosophy on technology management and my standard rant against IT control freakishness.
  • Why Sharepoint Scares Me – I think I hit the corporate zeitgeist with a post that doesn’t slam Microsoft’s collaborative platform, but catalogs the things about it that might be difficult for nonprofits to deal with.
  • Why We Homeschool – Homeschooling gets a really bad rap, and, as parents who have determined, for good reasons, that it’s the right path for our kid, we deal with a lot of flack and misconceptions.
  • The Offensive Bardwell Defense – Keith Bardwell was a Louisiana Justice of the Peace who refused to marry interracial couples on the grounds that it was unfair “to the children”.  As is gay marriage.  As is any hatred-based viewpoint that a bigot desperately wants to justify and defend.  On a side note, I’m pretty sure that this is the article that spawned a ton of traffic from Sean Hannity’s website.  I hope it was educational for those visitors!
  • Why Geeks (Like Me) Promote Transparency – In order to obtain funding and improve effectiveness, NPOs are going to have to start managing and sharing their outcome data. This is a big theme of mine, and this post said it well.

It’s been a productive five years.  Here’s to the next five at Techcafeteria!

Adventures In Web Site Migration

This post was first published on the Idealware Blog in April of 2010.

I recently took on the project of migrating the Idealware articles and blog from their old homes on Idealware’s prior web site and Google’s Blogger service to our shiny, new, Drupal-based home. This was an interesting data-migration challenge. The Idealware articles were static HTML web pages that needed to be put in Drupal’s content database. And there is no utility that imports Blogger blogs to Drupal. Both projects required research and creativity.

The first step in any data migration project is to determine if automating the task will be more work than just doing it by hand. Idealware has about 220 articles published; cutting and pasting the text into Drupal, and then cleaning up the formatting, would be a grueling project for someone. On the other hand, automating the process was not a slam dunk. Database data is easier to write conversion processes for than free form text. HTML is somewhere in the middle, with HTML codes that identify sections, but lots of free form data as well.

Converting HTML Articles with Regular Expressions

My toolkit (of choice) for this project was Sed, the Unix Stream Editor, and a generic installation of Drupal. Sed does regular expression searching and replacing. So I wrote a script that:

  1. Deleted lines with HTML tags that we didn’t need;
  2. stored data between title and body tags;
  3. and converted those items to SQL code that would insert the title and article text into my Drupal database.

This was the best I could do: other standardized information, such as author and publishing date, was not standardized in the text, so I left calling those out for a clean-up phase that the Idealware staff took on. The project was a success, in it that it took less than two days to complete the conversion. It was never going to be an easy one.

Without going too far, the sed command to delete, say, a “META” tag is:

/\<meta/d

That says to search for a literal “less than” bracket (the forward slash implies literal) and the text meta and delete any line that contains it. A tricky part of the cleanup was to make sure that my search phrases weren’t ones that might also match article text.

Once I’d stripped the file down to just the data between the “title” and “body” tags, I issued this command:

s/\<title\>(.*)\<\/title\>.*\<body\>(.*)\<\/body\>/insert into articles (title, body) values (‘\1’, ‘\2’);/

This searches for the text between HTML “title” tags, storing it in variable 1, then the text between “body” tags, storing it in variable 2, then substitutes the variable data into a simple SQL insert statement in the replacement string. Iterating a script with all of the clean-up commands, culminating in that last command, gave me a text file that could be imported into the Drupal database. The remaining cleanup was done in Drupal’s WYSIWYG interface.

Blog Conversion

As I said, there is no such thing as a program or module that converts a Blogger Blog into Drupal format. And our circumstance was further complicated by the fact that the Idealware Blog was in Blogger’s legacy “FTP” format, so the conversion options available were further limited.

There is an excellent module for converting WordPress blogs to Drupal, and there were options for converting a legacy Blogger blog to WordPress. So, then the question was, how well will the blog survive a double conversion? The answer was: very well! I challenge any of you to identify the one post that didn’t come through with every word and picture intact.

I had a good start for this, Matthew Saunders at the Nonprofits and Web 2.0 Blog posted this excellent guide. If you have a current Blogger blog to migrate, every step here will work. My problem was that the Idealware blog was in the old “FTP” format. Google has announced that blogs in their original publishing format must be converted by May 1st. While this fact had little or no relationship to the web site move to Drupal, it’s convenient that we made the move well in advance of that.

To prep, I installed current, vanilla copies of WordPress and Drupal at techcafeteria.com. I tracked down Google’s free blog converters. While there is no WP to Drupal converter, most other formats are covered, and I just used their web-based Blogger to WordPress tool to convert the exported Idealware blog to WP format. The conversion process prompted me to create accounts for each author.

To get from WordPress to Drupal, I installed above-mentioned WordPress-import module. As with the first import, this one also prompted me to create the authors’ Drupal accounts. It also had an option to store all images locally (which required rights to create a public-writeable folder on the Drupal server). Again, this worked very well.

With my test completed, I set about doing it all over again on the new Idealware blog. Here I had a little less flexibility. I had administrative rights in Drupal, but I didn’t have access to the server. Two challenges: The server’s file upload limit (set in both Drupal and PHP’s initialization file) was set to a smaller size than my WordPress import file. I got around this by importing it in by individual blogger, making sure to include all current and former Idealware bloggers. The second issue was in creating a folder for the images, which I asked our host and designer at Digital Loom.com to do for me.

Cleanup!

The final challenge was even stickier — the posts came across, but the URLs were in a different format than the old Blogger URLs This was a problem for the articles as well. How many sites do you think link to Idealware content out there? For this, I begged for enough server access to write and run a PHP script that renamed the current URLs to their former names — a half-successful effort, as Drupal had dramatically renamed a bunch of them. The remainder we manually altered.

All told, about two hours research time, three or four hours conversion (over a number of days) and more for the clean-up, as I wasted a lot of time trying to come up with a pure SQL command to do the URL renaming, only to eventually determine that it couldn’t be done without some scripting. A fun project, though, but I’d call it a success.

I hope this helps you out if you ever find yourself faced with a similar challenge.

Blog Policy on Recent Racist Comments

This blog doesn’t get a ton of comments – the most active posts tend to be the ones leading up to this weeks Nonprofit Technology Conference.  But I’ve been getting a bunch lately that I’ve decided not to post, as comments, at least.  So this is to clarify the comment policy, and respond to some borderline conversational/offensive comments left in the last day or so.

Comments are moderated here, mainly in order to weed out the obvious spam that slips through my Akismet filter on occasion.  I don’t publish spam or link spam, so if you’re one of the people leaving innocuous comments about my writing style, note that I don’t believe that you’re sincere, and I won’t publish your link to your viagra site.

But the comments I received this week aren’t spam.  Instead, they appear to be the work of someone looking to provoke me.  They’re in reply to my post “The Offensive Bardwell Defense“, in which I spoke about segregation, my marriage, and the legal battle to allow same sex marriage underway.  The first message was easy to ignore, because it was pure vitriol, equating my interracial marriage with numerous controversial sex acts.  The writer, one “DMTS” of gmail, followed that up with a more measured comment that, while continuing to make personal comments about my marital status, argued that, while it’s fine for me to “hook up” with people of non-white ancestry, I have no right to blog about it.  “Don’t ask, don’t tell”, as it were.  The full comment went:

“Peter Campbells marriage (if still intact) is just an exception to the way things really work in mixed marriages. I don’t want to deny him any success or happiness with his nice wife and child pictured (great pic btw), but he does not have any rights defending something that is clearly wrong for the majority, when he is in the minority of working mixed marriages(for now). If I hook up with a different race partner, I will just do it, and not advertise it as normal, or make a big deal and use someones legit comment as a scapegoat. WHO CARES ANYWAY PETER? no one is making laws that specify you can’t hook up with dreadlocks, beehives, or skinheads, so what are you worried about? when has anyone persecuted mixed racials? sounds to me you are looking to MAKE TROUBLE by drawing sympathy to yourself that is totally unjustified. Blog about something else that is important, like what your son is planning to do with his future, to help make this a better world without blog script shills making trouble for all races. Shalom”

I’d point out two things to Mr. (I presume) DMTS. The first is that, while he can suggest that my marriage is some kind of exception to the rule, I’m not aware of any evidence that it is.  Divorce is rampant in this country, but I’ve never seen a statistic that suggests that it’s higher among interracial couples than same race. Mr. Bardwell didn’t cite any statistics for his assumptions, either.

The second thing I’d point out is that DMTS completely missed my point.  I used my interracial marriage, and interracial marriage in general, to point out that the same sex marriage debate underway in this country is a parallel, and, as with interracial marriage in the 60’s, the bigots, of whom I assume DMTS counts himself among, are going to lose the battle.  He seems to have skimmed my message and misread my conclusion that this type of bigotry — be it about race or sexual orientation — will be overcome.  It’s a slow process. It clearly still exists, as DMTS chooses to illustrate.  But, today, his attitudes and comments are sad.  In 30 years time, they’ll be outrageous.  Racism and hatred/bigotry based on assumptions about race (or race relations) is on the wane.  Interracial marriage is now accepted in the U. S.. It’s a slower course for a lot of the institutionalized racism in our schools and justice system. But most of the vitriol comes from old, white men, and two trends are clear: whites as a percentage of our population are shrinking, and old people will die sooner than the more enlightened young ones.

As to publishing comments like this: I’m interested in dialogue, and if DMTS responds to this with something that doesn’t use language that I wouldn’t want my Mom (who reads this blog) to see, I’ll certainly approve it.  If he provides some backing for his unverified claims that interracial (“mixed” is an offensive term) marriages are at higher risk of failure than same race marriages, a claim that I find very suspect and unlikely, I might even reply. But if DMTS actually isn’t invested in his arguments, and is just trying to get a rise out of me, it only takes a second to mark a comment as spam.  And rude, unconstructive conversation, like DMTS’s first message, which I will not publish,  is spam here; that’s the policy.

Blogging from my phone

Okay, I like to brag that I can blog from my Nexus One, but, until today, I’ve never done it. What’s different? I installed a beta version of Swype, an alternate keyboard that lets you type by dragging your finger from letter to letter on the keyboard instead of pressing on the keys. The software is very good at guessing what you mean, so you can move pretty quickly and still be reasonably accurate. It’s somewhat amazing, and a godsend for people like me who are used to having physical keyboards on our phones.

To join the Android beta, sign up here.

I’ve only had this installed for a few hours, and I’m already faster than I was with the standard keyboard. Swype boasts that trained users can hit 50 words per minute. When I get there, I might have to give up the laptop altogether.