Rethinking Our Thinking, part 2: Computational thinking and the new journalism mindset

With all the discussion of the skill set and mindset necessary for journalists today — both of which are important — we need to also consider a deeper question about mindset: how to go about rethinking our thinking. One key area of exploration is computational thinking, through which we can tie the practice of journalism to the digital technology at the heart of new publication and distribution systems.

I recently led a session on this at BarCamp NewsInnovation Philly. It began with a brainstorming discussion on different types of thinking, which were mapped in the graphic below (update: the graphic below no longer works, so I’ve removed). My Publish2 colleague, Lauren Rabaino, took extensive notes (there’s summary of coverage at the end of this post).

My interest in different types of “thinking” came as I researched computational thinking, a concept outlined by Jeannette Wing, then a professor at Carnegie Mellon. This term “represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use,” she says.

Wing, now at the National Science Foundation, said in her 2006 article:

“Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science. Computational thinking includes a range of mental tools that reflect the breadth of the field of computer science.”

Some “everyday examples” of computational thinking that she outlines include:

“When your daughter goes to school in the morning, she puts in her backpack the things she needs for the day; that’s prefetching and caching. When your son loses his mittens, you suggest he retrace his steps; that’s backtracking. At what point do you stop renting skis and buy yourself a pair?; that’s online algorithms. Which line do you stand in at the supermarket?; that’s performance modeling for multi-server systems. Why does your telephone still work during a power outage?; that’s independence of failure and redundancy in design…”

A few days after BCNI Philly, I came across a May 2009 piece by Kim Pearson that relates the concept to journalism. In it she articulates some insightful points, including that “computational thinking is more than digital literacy.” Also,

“I’m not saying that journalists need to become programmers. I’m saying that we need to be able to reason abstractly about what we do, understand the full palette of computational tools at our disposal, and collaborate to deploy those tools with maximum efficiency and effectiveness.”

This ties in to something I said at the session, in response to a comment about what it means to bring computational thinking to journalism: It’s not about turning the reporting process into a rigid, scientific formula — journalism incorporates both art and science. It’s about taking the concepts, ideas, practices, etc. from different areas of thinking — including computation — and applying them to do better journalism.

[UPDATE: Pearson saw the original version of this post on Publish2’s blog and published this follow-up: Scholastic Journalism Education as a Tool for Teaching Computational Thinking. I highly recommend reading it — it’s given me some new ideas about this in the context of education.]

There’s so much more that could be done — and at a more fundamental level — to improve our journalism with this additional way of thinking. Though he doesn’t identify it specifically, computational thinking is very much at the heart of the ideas outlined by Stijn Debrouwere in We’re in the information business and the rest of his series on information architecture for news):

“Let’s not kid ourselves. A new way of doing journalism requires new technology to support and foster that innovation. That technology should reach right into the core of our journalistic endeavors, not just touch the periphery…”

And a new way of doing journalism means incorporating new ways of thinking.

(To simplify things below, I use the titles “journalist” and “programmer” below to describe a primary role. Of course, a journalist can be a programmer and a programmer can be a journalist.)

In addition to computational thinking, another important point that came out of the BCNI session is that communication and collaboration between journalists and programmers needs to improve so we can build the necessary tools to do better journalism. Understanding computational thinking is one step, but it would also be beneficial for journalists to understand more specific programming concepts. Again, not all journalists necessarily need know how to program (though we do need more journalists who know code and I, as someone learning more coding skills, would highly recommend journalists learn as much as they can).

Put another way, it would help journalists to understand the similarities between programming and journalism. As a personal example, when I served as editor of The Miami Hurricane, one of our best copy editors — by chance — was the webmaster, Brian Schlansky. I eventually realized the reason: he was accustomed to staring at lines of code and searching for errors, akin to a copy editor.

Here some commonalities I’ve drawn between journalism and programming (with some inspiration for a couple of these from IT Conversations podcasts):

  • Abstraction: My colleague Daniel Bachhuber verbalized this well: This means breaking something down into discrete elements. In the context of journalism, it means breaking things down into concrete questions and then finding the answers, which you can compose in some fashion.
  • Defining your variables or functions: Programming involves defining variables and functions to quickly and efficiently reference something without redundancy (ideally). As the saying goes, “don’t repeat yourself” (usually abbreviated as DRY). This is just like journalism. For example, if you’re writing about a fire, you need to explain the who, what, when, where, why, how, etc. “variables” so people understand what you mean later on when you reference “the fire.” Also, when you mention something related to the subject matter and link to more background or context. The DRY (unnecessarily) principle also applies to journalism.
  • Debugging: This process of locating and correcting errors in a code is similar to copyediting (think for the webmaster-copy editor example).
  • Bug and error reporting: When my browser crashes, it gives me the option to send an error report. When someone catches a factual error, we ask them to let us know. These two concepts already intersect with Scott Rosenberg’s MediaBugs, which launched in beta last week and allows users to report and discuss errors.
  • Commenting your code: Leaving a comment in your code is a way of adding information that doesn’t interfere with the code and, for example, helps to explain what something is and why it’s there. This is much like how a reporter would provide context for a quote, which you can’t change without “breaking it,” so to speak.
  • Learning different programming languages: On the bus back from Philly, I listened to a tech podcast on which Kevlin Henney, author of 97 Things Every Programmer Should know, asserted that programmers should learn other languages to inform and improve how they write their primary language. Similarly, journalists are encouraged to read other forms of composition to become better writers and watch other styles of motion pictures to become better videographers. For example, I’ve heard recommendations to take a screenwriting class and learn about that style to my enhance journalistic work.
  • Refactoring: This refers to changing internal code without effecting the external meaning or behavior. Another definition that correlates more to journalism says it’s a “form of editing whose goal is to improve readability while preserving meaning. It is a stronger term than copy editing.” This reminded me of the larger structural or organizational changes sometimes needed to improve a story while still maintaining the original focus.
  • Algorithm: In general sense, this is a “precise rule (or set of rules) specifying how to solve some problem.” A cooking recipe could be considered an algorithm, as could the reporting process — you start with some information or questions and then do research, interview people, draft and finalize a story as the result. That said, journalism includes elements of both art and science, not a rigid process as I explained before.
  • Version control: When creating software, a core principle is keeping track of each iteration of the project. In the editing workflow of a news organization, you ideally keep track of different revisions, either on a single document (for The Hurricane, that would be in the WordPress admin) with a history or by saving a new document and noting who last saw it (as The Hurricane did before switching to WordPress). (Update: read my July 2010 post that lays the groundwork for the “GitHub for News” idea)
  • Semantic: Another word for semantic is unambiguous, David Siegel says. More specifically, “In the Semantic Web, we declare what we mean in precise, standardized terms. Data that is semantic means exactly the same thing to any system or person who uses it.” Do we not aim for the same thing in journalism?

So, really, you could say computational thinking has always been a part of journalism — we just hadn’t labeled it as such.

Many more parallels can be gleaned from works such as this Pragmatic Quick Reference (hat tip, Chrys Wu) and The Zen of Python (hat tip, Christopher Groskopf). Read the latter — included below — and consider how many of these statements could work just as well for journalists as they do for Python coders:

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!

Again, the point here is to show the similarities between journalists and programmers — to help overcome any perceived barriers.

But we can’t and shouldn’t wait for any magical bridge to appear. There are so many things we can do today, even as simple as rethinking our thinking. If we do, then we can more easily pick up one another’s skills and tools.

Overall, by integrating journalism, programmers and “computational thinking for everyone,” we will be better prepared to more effectively build the tools, practices and platforms we need. And, with those platforms, we will be able to further connect and innovate to do better journalism.

Your turn: How do you think we can apply computational thinking to journalism and do better work? Also, as I asked on Hacks & Hackers, what are some other parallels between journalism and programming?

Other posts about BCNI Philly 2010

Where journalism gets reinvented
Random Mumblings | April 25, 2010

Peer News, emerging news hybrid in Hawaii
Daniel Bachhuber’s weblog | April 24, 2010

BCNI Philly: APM’s Public Insight Network
Daniel Bachhuber’s weblog | April 24, 2010

BCNI Notes: Howard Weaver on an emerging news biz model
Lauren Rabaino | April 24, 2010

BCNI notes from “The Insight Graph: CRM for Journalists”
Lauren Rabaino | April 24, 2010

This post originally appeared on Publish2’s blog and is cross-published for archival purposes.

If you’re interested in contributing to the Coding and Journalism Newsgroup on Publish2, please leave a comment below.

Rethinking our Thinking

As someone who started out as a primarily “print” reporter, my mindset — and, more specifically, my thinking — as a journalist continues to evolve after nearly eight years in the field, starting as a high school sophomore.

Computational Thinking visualized

Computational Thinking visualized by Carnegie Mellon using Wordle. (Creative Commons)

That made me wonder on Twitter:

How would you characterize the relationship between mindset and thinking? Which one is derivative from the other?

More specifically, I’d say that I’ve long had an open mind(set) in the journalism realm. For at least a couple of years, I considered this one of the most important characteristics for a journalist — along with passion. I still think this is true.

Recently I’ve become fascinated with “computational thinking” (more on that later) and wonder if my mindset is informed by this “new” way of thinking or vice versa.

As Lauren Rabaino (@laurenmichell) and I discussed on IM early this week, my tweet was something of a chicken-and-egg question. As Lauren said (and I agree):

your mindset impacts thinking which impacts mindset which impacts thinking… etc for infinity

So why am I thinking about this now? Well, for one, I’ve proposed a session (with the same name of this post) for Saturday’s BarCamp NewsInnovation in Philadelphia: Rethinking our Thinking. The description:

Journalists often discuss the need for evolving skill sets. On a deeper level, we sometimes talk about mindsets. What I’m interested in currently is, “How can we reshape our thinking?”

Computational Thinking

That idea formed because I’ve been reading, watching and listening to a lot of insightful things lately, including material on computational thinking (first found via Daniel Bachhuber). For example, check out:

Finally, there is the Center for Computational Thinking at Carnegie Mellon, the university where Wing worked when she wrote the original article.

Evolving Interests

All of this comes in the larger context of my interest in learning more coding, an ongoing process that I started taking to the next level last summer with JavaScript. I put that on hold as I focused on a project using a JavaScript framework and then picked up back up for a bit before moving on to PHP and MySQL around the fall/winter. I used a little PHP for a small side project and mostly put learning that on hold too.

In February, as you might remember, I guest moderated a #wjchat (web journalists chat) on journalists and coders.

More recently I’ve stepped back and am looking at coding from a broader perspective. This coincides both with my role in helping to organize the first Hacks and Hackers event in DC as part of the May 4 ONA DC meetup at American University. Also related, is last week’s launch of the Hacks and Hackers forum, where I serve as a community moderator.

So, basically: Whereas before I was interested in teaching myself some coding languages to enhance my skill set, I’m currently focusing more on learning about the fundamentals of programming and computational thinking (with the practical skills on the side for now).

Is this an essential step in learning to code? No. Has it been and will continue to be helpful? Most definitely.

The discussion of the “programmer-journalist” (can we find a better name?) arguably started middle of last decade, so what has lead me to this point? I plan to delve into that with another post.

Also, I’m considering writing another post before BCNI Philly (and one after to synthesize the results of the “thinking” discussion). The pre-Philly post would be more focused on different types of thinking and why they’re important. UPDATE: Heres’s my follow-up post: Rethinking Our Thinking, part 2: Computational thinking and the new journalism mindset. Also, check out these notes and this mindmap from the session.

In preparation for that post and the session, I need your help.

As I asked in the Hacks and Hackers forum, what has most shaped your thinking? As a journalist — heck, as a person. Let me know in the comments.

Interesting Reading

For now, I leave you with some valuable selections of what I’ve been reading — I recommend reading them all:

Bringing journalists and coders together for #wjchat, Feb. 17 at 8 p.m. ET

The second Web Journalist Chat on Twitter (#wjchat) will be Wednesday (tonight) at 8 p.m. ET and I’ll be the guest moderator.

(Sidenote: #wjchat is not affiliated with Wired Journalists, the Ning network I administer for Publish2.)

Here’s a preview of what we’ll be discussing:

  • The relationship between programmers and journalists in your newsroom
  • Beyond coding skills, what journalists and developers can learn from each other
  • General resources to learn skills and specific tips

Elsewhere, Emily Monacelli posted a Q&A she did with me about the topic.

As the guest moderator, I’ll be deep into things during the chat and would greatly appreciate some real-time curation help. Drop a comment below if you’d like to help save the most insightful tweets using a Publish2 Newsgroup I’ve created.

Please join us tonight and help spread the word!

UPDATE: It was a great success! If you couldn’t make it or want to revisit the conversation, read the transcript (this one is a little easier to read).

Linkbaiting, thinking while linking and why link journalism requires more than just a URL

Sections: Context, How to investigate, What to do, Other examples, Conclusion, Epilogue

If you see a blog post titled “10 Iconic Journalists Every J-Student Should Study” and want to share it, please consider what you’re attaching your name to on the interwebs.

At the time of posting, more than 70 people have tweeted the link. That’s fine. Some, most or maybe all of them think it’s worth sharing. No problem there.

But I’ve wondered since last night, when I first saw the link, if people realized what it was: linkbaiting.

Thus, I’m consciously not linking to the post. Here’s the URL if you’d like to see it — just add and change [dot] to a period:


This type of linkbaiting is slimy and is meant to inflate the site’s PageRank.

Of course we all want links to our sites. There’s nothing wrong with that. But do you want to be a party to this sort of practice? It’s gaming the web and devalues higher-quality content that receives links organically (somewhat related).


I received an email notification that I had a new message sent through my blog’s contact form at 12:37 a.m. on Jan. 5, 2010. Here are the details:


Amber Johnson



We posted an article, " 10 Iconic Journalists Every JStudent Should Study” (, and I thought that you or your readers might find it appealing.
Wishing you Happy & Prosperous New Year

Amber Johnson

I’ve received a few messages like this in the past and planned to disregard this one too. Judging by the approach and complete lack of personalization (that’s right, don’t even use my name in the note, which is probably submitted by some kind of script), I guessed that other journalism bloggers had received also it.

Sure enough, I saw a few links to it on Twitter within minutes. Did they think it was linkbait?

How to investigate

1. What is the URL?

The domain is the first possible indicator. For the “10 Iconic Journalists” post, this should set off the first set of warning bells:


Come on, it looks fishy from onset. You probably wouldn’t open an email from Online Colleges, nor would you likely click such a textlink ad in your email program, so why would you want be a relay point for that promotion?

2. What’s on the site?

College-related content and search.

3. Does this content on this site seem out of place?

Does a site called Online Colleges really care what journalism students study? No, they want you to use their service. Look at the other recent blog content. And the email sender was “savvy with their target group — journalists on Twitter — who will tweet and RT the hell out of the link,” as Daniel Petty said in a reply. It’s very smart of them to have authorititave people with strong reputations to generate buzz.

4. Who owns the site?

Whenever this isn’t immediately clear on the about page or in the footer, you should be suspicious. Why don’t they list it?

5. Who owns the URL? is registered to Stephanie Marchetti of Glen Ellyn, IL. Based on a search of her name and search of her email address, it looks as though she’s registered other similarly named domains, such as graduatedegree[dot]org, mbainfo[dot]com and eduers[dot]com. She owns a total of 51 domains, according to

The registrant’s address is a home listed on Zillow (buy now!) and looks to be a nice 6-bed, 4.5-bath house on a 20,000-square-foot piece of property.

After more searching, it looks like she’s married to Michael J. Marchetti, who Forbes and Business Week list as executive VP and COO of Dallas-based Tuesday Morning Corporation.

What does all this mean? I don’t know. I wish I still had access to LexisNexis and Accurint. But now you have some more context.

Note: I couldn’t find anything connecting her to the email address that sent the message to my blog.

6. Who has previously linked to the site?

Search link:URL on Google (substitute the address for URL and make sure there’s no space between it and the link: search operator).

7. Who sent the link?

“Amber Johnson”

8. Is it a real person?

The name sounded like a fake when I first saw the message, so I searched Amber Johnson, Amber Johnson + advertising, Amber Johnson + pr, Amber Johnson + Online Colleges, etc, etc. with no luck.

I also searched that name with the registrants name — without success.

9. If it’s not a real person, who is it?

I searched the email address from my contact form and didn’t find anything helpful until I put quotes around it. After the search, sometime during the 1 a.m. hour, I got one result, which included this:

The IP address links to a page with more details, which indicates the email bounced off a telecom company server in India. Not very helpful, but an important step in this investigation.

As I did all this, I was chatting with Daniel Bachhuber on IM (Daniel aptly noted that someone might just be using that particular server to send the message; it might not be the actual computer from where it was sent) and posting a few key details to Twitter (read some of the discussion).

I also searched “amber.johnson1983,” which gave me four results last night, including the one from the above search. Two results showed the same message I received and the other showed a similarly spammy request.

What to do

It’s important to always open links before you retweet or share them online. It doesn’t hurt to check the short URL or text of a tweet or DM beforehand if it’s suspect.

It’s also good to read, watch, listen to or in some other way consume the content on that page before you share (I’ll admit that I too could do a better job of fully consuming the content).

You could also follow steps similar what I did with the “10 Iconic Journalists” post.

Take away the source and context and the big question is, “Does this provide value?” Or, “Does this meaninfully add to the conversation?” Regardless of everything else, I knew from seeing the content that I found this post to have no real value. (OK, maybe just a tad in stirring comments of who should be on the list).

Similar linkbait-for-journalists examples

Journalistics — I’ll admit that their blog is not without some value. But it doesn’t seem like people realize (nor note when linking to them) that they’re blog is meant to advance their product, which is similar to HARO.

The piece that most reeks of linkbait? Best Schools for Journalism post. The post at least adds context that the results are based on the informal poll of 205 people and, without saying so, let’s you know how useless it is.

Learn-gasm — This example is comparable to Basically, they’re linking to 100 sites in the hope of getting links back to them in order to inflate their PageRank. I recall that they, like OnlineColleges, also asked me to link to them:


Don’t take the linkbait. Whether it’s an unknown site that looks spammy or a big site trying to keep their traffic up throughout the day by posting new content with little value, you don’t want to be known as someone who falls for this and, by making the bait-layer successful, strengthening the practice.

What’s the best etiquette? I think it’s ok to send someone a message such as, “Hey, I thought you’d be interested in this” or “I’d love your thoughts on this” and let the person do what they want. They’ll link it on their own if they like it. I’m more likely to not share a link if you ask just because I don’t want to open the door to more solicitations.

For the newsy crowd, journalists shouldn’t include a source or a source’s information in a story without verifying who they are and what they’re motivation is, so why not do the same on Twitter?

Sure, you don’t have to. But with all the noise and what I’ll call chaff-disguised-as-wheat online, why not — as a journalist — do your due diligence when sharing a link? And, sure, you may say a link or RT is not an endorsement, but it might still be perceived as such.

It’s not simply about denying linkbaiters their pageviews and buzz marketing, it’s about your credibility and reputation as a trusted source of information.

Moreover, verifying information or links you pass along is something everyone, not just journalists should do, no matter the medium. And, if you can’t verify it, provide the necessary context (more good reading on that topic).

Link journalism makes context easy in stories online. But the link in itself is not necessarily journalism — it’s what you do to verify its source and accuracy that makes it journalism and, thus, more valuable.

“Because it’s on the web” is no excuse for not verifying. That just leads to low-quality content, of which there’s plenty online. Instead, you should strive for the best quality because there’s so much garbage out there.

Far too often people tweet or retweet something as a knee-jerk, whether they read it or not. It seems that some people have become accustomed to over-sharing links. They might be well intentioned, but I would just like those frequent linkers to think:

  • Is this really providing value?
  • Is this unique? Specifically, has it been tweeted a million and two times already?

True, we all have different audiences and even having many overlapping followers doesn’t mean you should leave out the others who might not have seen it. We all need to be more discerning about what we share — and we need to know where it comes from.

There’s plenty of linking, but I’d like to see more thinking along with it.


Because we’re talking about links to lists, I’ll also say that all these of specific skills journalists need to have are all well and good, but the fundamentals are more important. Specifically, thinking critically and being skeptical.

UPDATE (3:17 p.m.): A hilarious parody graphic of the iconic journos list from my buddy S.P. Sulllivan.

UPDATE/BONUS LINK (4:50 p.m.): Craig Kanalley on how to verify a Tweet (h/t Ryan Sholin).

Disclosure: I work for Publish2, a company that helps power link journalism. If you think this post is ironic considering the topic, I’d reply “nay.” The purpose of this post is to add value and it is clear who I am, what I’m doing and where I’m coming from. I appreciate links, but I don’t solicit them.

New Media Women Entrepreneurs Summit 2009 live blog

I’m in DC today for the New Media Women Entrepreneur summit. Here’s a live blog that’s also pulling in tweets with the hashtag #nmwe.