Click here to check if anything new just came in.
April 20 2012
Programming and journalism students: A conversation
I think it’s pretty cool to use Storify to sort out the threads of a bunch of simultaneous conversations on Twitter:
[View the story "Programming and journalism students: A conversation" on Storify]
Please join in — on Twitter, on Facebook, or here.
Programming and journalism students: A conversation
I think it’s pretty cool to use Storify to sort out the threads of a bunch of simultaneous conversations on Twitter:
[View the story "Programming and journalism students: A conversation" on Storify]
Please join in — on Twitter, on Facebook, or here.
February 05 2012
Python Web Scraping 101 (Hacks/Hackers)
February 04 2012
How a Poet Learned to Program | P2PU Blog
December 08 2011
April 13 2011
What schools offer innovative academic programs that mix journalism and technology?
I'm working to compile a list of academic programs that are experimenting in the news-technology space. The list will be used for outreach around the Knight-Mozilla News Technology Partnership. We'd like to engage as many of the people as possible that have already self-identified as wanting to work at the intersection of journalism, storytelling, and computing -- and academic programs are one of six areas that we want to reach out to, i.e.: undergrads, graduate students, or alums of innovative programs.
Some of the more obvious examples of what I'm looking for are programs like Studio 20 at NYU, Medill's scholarships for programmers, and the new Tow Centre for Digital Journalism at Columbia University. I know there are more -- hopefully many, many more -- institutions doing this kind of experimentation in an academic setting. Can you help me find them (and not just the ones in North America)?
There's a good list of journalism programs over on Wikipedia. Perhaps you know that one of them is doing some really innovative work? If so, please list it below with a one-sentence explanation of what they're doing, and a URL, and I'll move it up into the larger list.
I'm also looking for unusual suspects like the ITP at NYU, or any other programs that are producing potentially journalism-impacting innovations.
Again, suggestions for programs outside of the United States are highly encouraged.
This is a community wiki question.
Here's the current state of the list (with thanks to Justin Arenstein, Brian Loffler, and Ross Settles for non-North American pointers):
Africa
- Institute for the Advancement of Journalism (IAJ). Have recently helped launch the 1st African chapter of Hacks/Hackers, and is currently restructuring its training programme to focus on digital journalism.
Asian continent/Australasia
- Hong Kong University, School of Journalism.. Described by Knight International Journalism fellow Ross Settles as a "good academic journalism programs that incorporate usage of new tools and platforms."
- International Media Institute of India, Dehli, India. Offers a "state-of-the-art multimedia training to aspiring journalists." with a focus on "television, print, web and social media platforms."
- University of Technology Sydney. Home of the The Australian Centre for Independent Journalism.
Europe
- University of Salford's upcoming programs at MediaCityUK. Many courses that explore journalism and new media.
- City University London's MA in Interactive Journalism. Focus on "data journalism and community management."
- Germany? France? Scandinavia? Other European countries?
North America (Canada, US, Mexico)
Canada- Dalhousie University / King’s College Masters of Journalism program. Focusing on "new forms of storytelling, new types of investigative techniques and new types of organizations" and "media entrepreneurship, freelancing skills and developing new ventures in journalism."
- ???
- Medill School Northwestern University. Joint program in computer science & journalism with a scholarship from Knight.
- Studio 20 at NYU. Program offers a "focus on innovation and adapting journalism to the web."
- The CUNY Graduate School of Journalism
- Tow Centre at Columbia University. Joint program in computer science & journalism.
- USC Annenberg's School for Communications and Journalism
- ITP NYC. Physical computing and "Engineering for Artists."
- UNC School of Journalism and Mass Communication
- Berkeley Graduate School of Journalism
- The Walter Cronkite School of Journalism at Arizona State University
Latin America
- ???
March 15 2011
Circles and Euclidian Rhythms: Off the Grid, a Few Music Makers That Go Round and Round

We continue our 3.14 celebration with a round-up of circular logic.
There’s no reason apart from the printed score to assume music has to be divided into grids laid on rectangles. Even the “piano roll” as a concept began as just that – a roll. Cycles the world around, from a mechanical clock to Indonesian gamelan, can be thought of in circles.
Imagine an alternate universe in which Raymond Scott’s circle machine – a great, mechanical disc capable of sequencing sounds – became the dominant paradigm. We might have circles everywhere, in place of left-to-right timelines now common in media software. Regardless, it’s very likely Scott’s invention inspired Bob Moog’s own modular sequencers; it was almost certainly the young Moog’s exposure to the inventions in Scott’s basement that prompted that inventor to go into the electronic music business, thus setting the course for music technology as we know it.
See:
Raymond Scott’s Circle Machine
For more background: “Circle Machines and Sequencers”: The Untold History of Raymond Scott’s Pioneering Instruments [as reprinted from Electronic Musician]
One superb modern re-creation, via Synthtopia
Scott’s creation was shaped the way that it was partly out of mechanical necessity. Now we’re gifted with the ability to make any form we like for our electrified music tools. Circles can have appeal not because they’re somehow novel, but for just the opposite reason: they’re ubiquitous, intuitive, and geometrically elegant. So, let’s first consider these in their most abstract, in software.
Euclidean Rhythms

Incredible things are happening to our understanding of music theory as the gap between fields is shortened. Say what you will about the state of communication in our modern society; for the self-motivated, the trip “across the quad” (between academic departments) has nothing on the trip across the Internet.
Godfried Toussaint, a computer scientist with a strong math background based at Montreal’s McGill University, has a whole body of fascinating writing linking math, geometry, and music. One research paper has had a big influence on many of us, myself included. Here’s the beauty of math: an algorithm developed by Euclid in Alexandria around 300 BC also works for calculating timing systems in neutron accelerators and makes nice poly-rhythms for music. It’s rather amazing we don’t talk to each other about math more often.
Toussaint’s paper:
The Euclidean Algorithm Generates Traditional Musical Rhythms [PDF, 2005]
Our friend wesen wrote about the technique, suggesting it could be used to generate new rhythms, and included code in Lisp:
Generating african rhythms using the euclidean algorithm
wesen even made code for his amazing MiniCommand sequencing box, which I hope we’ll see more of this year. (I should have some time to work on it myself.) The actual demo is part of the way through the video:
The algorithm – the recent Bjorklund reinterpretation of Euclid’s millenia-old work – has in turn found musical life in other languages:
Python – the bjorklund algorithm and generative music[astomo.us]
Ruby – Rhythm Generation With an Euclidian Algorithm [Aleksey Gureiev]
More Ruby – jvoorhis GitHub
Java – Generating Musical Rhythms [Kristopher Wayne Reese]
Pure Data + Java – Dave Poulter
Flash/ActionScript (pictured above) – Euclidean rhythms [Wouter Hisschemöller]
Max for Live (pictured below) – Euclidean sequencer [Robin Price]

I’m implementing a touch interface for it now using Pd, Processing, and Android; I had hoped to share it by now, but I’m still fleshing it out – I’ll give it away when it’s done.
You’ll notice in these, too, the similarity to the original Scott Circle Machine, down to the sweeping arm. But that’s a benefit: glancing at them on paper, Mozart and Haydn look the same, and they use the same musical technology, but think of the musical variety that results.
A Few Circular Sequencers
Circular sequencing interfaces are plentiful – indeed, I hope that this story prompts lots of people to say “hey, what about …?” Here are a few examples.
DominoFactory’s dial uses drifting circular geometries to control musical patterns. Created by Hiroshi Matoba, a young designer/DJ, it’s one of a body of work this student creator is building:
17 Dec, 2010
at ImageRama in Kyushu University(Fukuoka/Japan)dial is a software sequencer using circle to control loop sequences in real time. I imply “speed sync” circular notation system which differ to “angle sync” in my past work “Overbug”.
Now under developing with openFrameworks and Bullet Physics. I use ofxConsole for custom CUI in this version.
*ImageRama is one night event hosted by Genda lab. in Kyushu univ., we setup surround sound(5.1ch) and 1 full HD projector. thank you for all stuff!!
See also Matoba’s earlier Overbug, which assembles polyrhythms in lacy, overlapping wheels, like some strange, elaborate clockwork:
You can download it for yourself for the Mac; it even has Snow Leopard support.
Also from Japan, Nao Tokui has taken these ideas in another direction, still, with “mashup” application and, in three dimensions, his original Sonasphere. The latter was one of the first interfaces to really fire my imagination as far as alternative user interfaces and three-dimensional sequencing.

For an instance of a commercial application, see the iPad Loopseque, the development of which we profiled extensively here on CDM in August:
Loopseque, New iPad App, Offers Circular Sequencing and Visual Inspiration
The one shortcoming for me of that application is the inflexibility of the grid, which is why the Euclidean ideas above interest me, but it’s still a lot of fun.

Dan Trueman (on the faculty at Princeton) built his own Cyclotron for experimentation with cycles, with work going back to 1996. The clever invention here is the use of the spokes themselves as musical information. Quite a lot more detail and code in Processing and ChucK:
Cyclotron project page
Rui Penha and Polygons
Rui Penha deserves his own category here, I think, as he’s done a great deal of research. He has worked with polygonal shapes as a way of displaying evenness in rhythms, and he’s built not only novel interfaces, but entire musical compositional environments using these paradigms. They’re all downloadable, too.
Instrument A, pictured below, uses sampled sounds and pre-composed loops which you can then assemble into a layered composition.
Gamelan, in the video at the top of this story, uses cyclic, circular notation to make interlocking parts of music more visible, in the style of an Indonesian ensemble. I was struck by this myself as I’d constructed a (much cruder) demonstration of the same idea for a talk in Ireland; here, Rui builds it into an entire interface. Also, there’s a meaning to the symbology of the circle: Gamelan looks for other networked players with which it can interact, making this a communal experience – and it can even be used to play a real gamelan ensemble, via robotic apparatus controlled wirelessly.
Políssonosis perhaps the most sophisticated of all of these, mapping those shapes into three dimensions and making the evenness of rhythms more apparent. See video, top, and the same ideas below.

Hardware and Kinectic Art


No discussion of circular design would be complete without the legendary synthesizers of FutureRetro, which uses a cyclical interface to divide patterns and even arranges synth parameters around the rotational theme. You can now pick up an Orb for $550.
It’s worth coming full (cough) circle here and revisiting the mechanical ideas, as I think part of what grounds these abstractions is the progression of time in physical contraptions. That’s what inspires the rotating arms above and so on. Because it’s so fundamentally tied to a motor, there are too many rotating soundmakers to name, but here are a couple. They’re inspired by a discussion following our post last month:
Music, Like Clockwork: Modular Music Boxes with Rotating Wheels, Inspired by monome
Invisible Rhythm worked from the notion of a music box to make their analog drum machine Rhythm 1001.
See also the Conspiring machine – thanks to an unfortunate use of Flash, I can’t link directly easily, but head to http://www.kristoffermyskja.com/, choose work, and then select Conspiring Machine (or some of the other, related ideas) from the left-hand column.
I’m going to turn loopy if I keep going, so I’ll leave it there. But have you found circular sequencers to be musically useful? Are there hardware or software designs you appreciate that I missed here? Research worth checking out? Or are you committed to the rectangle – and if so, can you explain why?
Happy PI day. May your oscillations always be in phase.
November 04 2010
A Six-Step Process for Managing Web Projects
After years of intensive work in the IT industry, I've put together a practical guide to project development that my company uses for 99 percent of our projects. So far we've done amazingly well with this approach. Once you know it, it feels so simple and natural that you don't even know you know it. In the interest of helping other folks with their development projects -- and to encourage you to offer your tips and suggestions in the comments -- I offer our process.
Step One: Consultations
This is where you start brainstorming about the core idea, as well as any potential solutions and technologies. Capture all of the the ideas, solutions, and any relevant prices etc. You can only proceed with the next step when you feel ready to talk about specific functionality, prices and timelines.
Step Two: Planning
Make a list of all the features and functions you can imagine for this project. Then start estimating how much money and time it requires for each. Now go through your list and prioritize the functions to determine which need to be launched right away, and which are less important and can wait for a future update. Now you can begin to see how much time and money you need to build architecture, interface, design and do the bug-fixing and configuration. Move to the next step once you've established the development timeline and resolved that with the available budget.
Step Three: Wireframe
Take a blank piece of blank paper and sketch the basic structure of a website or application, and the relationships between its pages or sections. Draw your menus and the main elements. Go into as much detail as you consider important, but know that you don't have to plan through each and every element or establish every detail about how things will work and look.
Step Four: Interface
Using your wireframe as a guide, draw everything that has to appear in the final product, including everything that needs to be there. Figure out all the links, all the menus and interface methods, such as pop-up, drop-down, slider etc. You can still do this on a blank piece of paper, but I suggest to using software such as yED, which is a free download. Take your time with this stage. When you have it perfect, set it aside for at least one day and then examine it with fresh eyes. Try to find at least two places where you can save a click, make a more intuitive menu, or make something else better. Then print it out and you're ready to go with the next step.
Step Five: Design
If you haven't already begun working with him/her, begin meeting with your designer(s). Present wireframe sketches and the interface. Explain the tricky spots, explain why things are there as they are, and how your ideas have evolved. Now it's time to let them get to work.
Step Six: Programming
You should provide three things to your development team: the list of functionality, the interface outline, and the design. Now they work to make it all real.
Obviously, a lot more happens in the development and testing stage, and in future posts I'll share more advice and lessons about that and more. For now, share your thoughts and process int the comments.
A Six-Step Process for Managing and Developing Web/IT Projects
After years of intensive work in the IT industry, I've put together a practical guide to project development that my company uses for 99 percent of our projects. So far we've done amazingly well with this approach. Once you know it, it feels so simple and natural that you don't even know you know it. In the interest of helping other folks with their development projects -- and to encourage you to offer your tips and suggestions in the comments -- I offer our process.
Step One: Consultations
This is where you start brainstorming about the core idea, as well as any potential solutions and technologies. Capture all of the the ideas, solutions, and any relevant prices etc. You can only proceed with the next step when you feel ready to talk about specific functionality, prices and timelines.
Step Two: Planning
Make a list of all the features and functions you can imagine for this project. Then start estimating how much money and time it requires for each. Now go through your list and prioritize the functions to determine which need to be launched right away, and which are less important and can wait for a future update. Now you can begin to see how much time and money you need to build architecture, interface, design and do the bug-fixing and configuration. Move to the next step once you've established the development timeline and resolved that with the available budget.
Step Three: Wireframe
Take a blank piece of blank paper and sketch the basic structure of a website or application, and the relationships between its pages or sections. Draw your menus and the main elements. Go into as much detail as you consider important, but know that you don't have to plan through each and every element or establish every detail about how things will work and look.
Step Four: Interface
Using your wireframe as a guide, draw everything that has to appear in the final product, including everything that needs to be there. Figure out all the links, all the menus and interface methods, such as pop-up, drop-down, slider etc. You can still do this on a blank piece of paper, but I suggest to using software such as yED, which is a free download. Take your time with this stage. When you have it perfect, set it aside for at least one day and then examine it with fresh eyes. Try to find at least two places where you can save a click, make a more intuitive menu, or make something else better. Then print it out and you're ready to go with the next step.
Step Five: Design
If you haven't already begun working with him/her, begin meeting with your designer(s). Present wireframe sketches and the interface. Explain the tricky spots, explain why things are there as they are, and how your ideas have evolved. Now it's time to let them get to work.
Step Six: Programming
You should provide three things to your development team: the list of functionality, the interface outline, and the design. Now they work to make it all real.
Obviously, a lot more happens in the development and testing stage, and in future posts I'll share more advice and lessons about that and more. For now, share your thoughts and process int the comments.
October 31 2010
What are the Javascript libraries you depend on for programming?
I'm getting back into "real programming(tm)" with Javascript, after years of reaching for it only when I needed to manipulate a web page in the browser. As I dive back in, I'm stumbling on some great libraries, like Underscore.js (developed by the folks at DocumentCloud), persistence.js, and require.js, which make aspects of writing large programs in Javascript easier or faster.
So, I'm wondering what other libraries are out there that I should look at? What are the libraries that you rely on every day when programming in Javascript?
(I should note, I'm not asking about libraries that are focused on DOM-manipulation, AJAX, or user interface elements, like jQuery, Prototype, Mootools, ExtJS, etc.)
P.S. This a community wiki question.
October 29 2010
What are the Javascript libraries you depend on?
I'm getting back into "real programming(tm)" with Javascript, after years of reaching for it only when I needed to manipulate a web page in the browser. As I dive back in, I'm stumbling on some great libraries, like Underscore.js (developed by the folks at DocumentCloud), persistence.js, and require.js, which make aspects of writing large programs in Javascript easier or faster.
So, I'm wondering what other libraries are out there that I should look at? What are the libraries that you rely on every day when programming in Javascript?
(I should note, I'm not asking about libraries that are focused on DOM-manipulation, AJAX, or user interface elements, like jQuery, Prototype, Mootools, ExtJS, etc.)
P.S. This a community wiki question.
August 30 2010
An iPhone app developer’s diary, and some thoughts on Android
The reaction to our new free iPhone app has been tremendously positive — if you’ve got an iPhone and haven’t downloaded it yet, I suggest you hop to. On my post announcing the app, there were a few comments I wanted to respond to. First, this one from Robin Sloan, who wants a little background on how the digital sausage got made:
I’d love to read a little mini “developer diary” about the behind-the-scenes process here — tools/frameworks you used, surprises along the way, etc. Bet it would be useful to a lot of folks working on iPhone apps at news organizations, too!
So, for those interested, here’s my tale of how the Lab iPhone app came into being — a tale I hope lots more news organizations can tell. Because if I can do it for a total cost of $624, there’s no reason more newspapers shouldn’t be on the platform.
I’m nerdier than your average journalist, and I’ve done some small, basic projects in Xcode — Apple’s development environment for Macs and iPhones/iPads — before. But there’s no way I could have built this app without the help of a framework. Frameworks are tools to abstract away layers of complication — they take a variety of common tasks and handle them for you, leaving you more time to deal with tasks specific to your app. (You may have heard of Django and Ruby on Rails, popular web frameworks for building web applications.)
The framework I used is TapLynx, which is aimed at building apps from one or more RSS feeds. It’s built by Brent Simmons, best known in the tech world as developer of the first great RSS reader for the Mac, NetNewsWire. Much of the guts of TapLynx uses the feed reading and parsing code from the iPhone version of NetNewsWire.
With RSS feeds as a base, the decisions around content are both more restricted and a little easier. We produce one major RSS feed — our posts. Another one comes from our Twitter feed. So those were obvious choices as the first two tabs. In TapLynx, creating tabs is largely a matter of editing a .plist file in Xcode with some simple customizations and editing an HTML template for the display of the individual story pages. If you don’t know any HTML or CSS, you’d find the latter a challenge, but the templating language is simple enough.
Beyond that, I knew I wanted to embed some of the best publicly available feeds related to journalism, so that the app could be a concentrated shot of news-about-news. And I also wanted it to be a tool that would also promote some of our friends here around Harvard. So I added a tab that would pull in some of those feeds called Friends of the Lab. That created some new challenges, since some of the feeds were malformed in a variety of ways. One didn’t present post dates correctly, so I ended up removing dates from the presentation of all feeds in the tab. (TapLynx, unfortunately, won’t let you customize presentation for different feeds in the same tab.) I also had to build in a few template-file CSS hacks for feeds that presented images incorrectly.
The most challenging tab (and the one that still needs some work) is the Hot Links tab. (The name is a slight nod to my Cajun heritage.) It uses Hourly Press, the great web service built by Steve Farrell and Lyn Headley, to pull in the most linked-to links in the future-of-news Twitterverse. For THP we define a set of “authorities” (see ours here) on Twitter; the people they follow end up having more weight in the system than people they don’t. Once an hour, everyone’s tweets are scanned for links, weighted according to how much authority the system gives them, and then output in a top-10 list. It’s perfect for those moments where you want a quick jolt of the biggest news of the moment, but curated within our particular field of interest.
Because TapLynx is optimized for RSS feeds, it’s a challenge to deal with HTML, which is THP’s output. I asked the THP guys to build an iPhone version of the rankings, formatted for the smaller screen and big fingers. But TapLynx works better with static HTML than with live web pages. So I ended up having to use a plugin called OOZWebView, built by Roberto Brega and expanded by Walter Tyree. It allows for some very basic web access in a tab. I even made a few changes to the code to allow user resizing of text in webpages — the only real Objective-C I wrote. It’s not perfect — refresh behavior is unreliable, particularly in iOS4 with state saving, and the UX looks as hacky as it is. But it was the best way available. (Any Objective-C coders want to help make it better? Lemme know.)
Beyond that, the search tab just uses WordPress little-known search RSS feed to dive into our archives on command. There was a fair amount of Photoshop work to create transparent PNGs at precisely the right size (and again at twice that size, to look good on the better Retina Display of the iPhone 4). I built a few of the tab icons myself as greyscale PNGs with transparent alpha channels; others I took from the Glyphish collection of icons, including the Retina icons just released via Kickstarter. For the static About page and the Twitter template, I ended up using data URIs to embed our icon into the HTML itself — that prevented a weird resizing when the image was loaded after the rest of the page. And I, like many app developers, had to navigate the new waters of Twitter’s xAuth system (newly mandatory as of a few weeks ago) to allow tweeting from within the app.
All this is to say that the process was more complicated and self-directed than most people would be able to manage — but easy enough that any shop that has a Mac and a few nerds could pull it off. There’s nothing impossibly hard here. From my viewpoint, I don’t understand why more news organizations don’t use frameworks to build out apps quickly and easily. Even if the ad revenue from a mobile app isn’t astounding, it’s still better than nothing — and it’s a foot in the door for increasingly mobile news consumers.
The upfront costs of development were minimal. I paid $500 for a license to TapLynx (it currently goes for $599). It was $99 to get into Apple’s iPhone developer program and $25 for the Retina Glyphish icons. Total cost: $624. And a fair amount of my time, to be honest.
One constant throughout the process was that there were factors outside my control. Our app would have launched sooner if Apple hadn’t made the move to iOS 4, which necessitated waiting for a new TapLynx library to work with it. It would have launched sooner if the impending Twitter xAuth switchover hadn’t made me wait. It would have launched sooner if I wasn’t relying on the generous work of guys like Roberto and Walter to made one of my tabs function. And, frankly, it would have launched sooner if I wasn’t doing all this work on evenings and weekends around my other duties — or if I’d been happy with something closer to the TapLynx defaults in a number of cases.
Now comes the challenge of keeping the thing up-to-date and functional. They say a band has a lifetime to write its first album and six months to write its second; I feel the same thing is true for version 1.0 and version 1.01. I’ve already got a list of improvements and fixes ready to move on. I’d love to hear any suggestions on how to make it better.
Back to my original post. Another thread of comments — on the post and on Twitter — were from people upset there’s only an iPhone app. “Nothing for Android, huh?” one commenter wrote. “Seems shortsighted.” Others on Twitter called out for a BlackBerry app, or an iPad-specific app. (I didn’t see any calls for Windows Mobile/Phone, Symbian, or WebOS.) There are a few reasons why we’re just on the iPhone right now.
We’re tiny. The Nieman Journalism Lab is currently three people in a basement. (Two iPhones and one BlackBerry, if you’re counting.) Along with being director, I’m also house nerd. Our budget doesn’t allow for big investments in technology, which is why I ended up building the iPhone app as a personal side project. I’ve been a Mac guy since the early 1990s and an iPhone guy since 2007, so my own personal interests and knowledge base are going to play a role in what I develop in my spare time.
Our mobile audience is overwhelmingly on Apple devices. Here’s data from the past 30 days, as of August 24, 2010: 84 percent Apple (45 percent iPhone, 35 percent iPad, 4 percent iPod touch); 10 percent Android; 5 percent BlackBerry; 0.3 percent Symbian; 0.2 percent Windows Mobile.
(If you’re curious about the overall numbers for desktop and mobile combined, our readers are about 54 percent Windows, 34 percent Mac, 4 percent iPhone, 3 percent iPad, 3 percent Linux, 1 percent Android, 0.5 percent BlackBerry.)
If, as some predict, Android sweeps aside the iPhone and becomes the dominant platform on mobile, then maybe we’ll build one. But for now, we’re just putting our limited resources where we think they can have the most impact.
We need the tools. As I said above, if there wasn’t a framework like TapLynx to make the process easier, we wouldn’t even have an iPhone app. Google’s new App Inventor would seem to be a move in that direction, but the initial reviews I’ve read don’t make it seem particularly user-friendly. (And this TechCrunch piece indicates “there isn’t any RSS functionality baked in” App Inventor, which would limit its usefulness for our app.)
That said, I don’t pretend to be up to date on the latest state of Android development frameworks — or their equivalents on other platforms. If someone out there is interested in volunteering to help build an Android (or WebOS, or BlackBerry, or Windows Phone, or Symbian) version, I’d love to hear from you. We’ve got no animus against other platforms; we just don’t yet see an audience big enough to justify our scant resources.
August 16 2010
A "Joel Test" for Coders in the Newsroom?
A while back, someone, somewhere (probably on twitter) pointed me to the Joel Test for software shops.
After reading it a few times, I got to thinking we could really use something like this for newsrooms who have or need programmers. But what to include? Here's a few initial thoughts:
- Do you use version control?
- Do coders come into regular contact with reporters and editors?
- Can reporters and editors easily and accurately describe what coders do?
- Do you have a development environment and access to servers?
- Do coders have the software, hardware and admin access necessary to build things?
- Do you test? (unit tests? benchmarks? usability?)
- Do you debrief?
What else would you add?
(A lot of this comes from Brian Boyer's excellent list of best practices, which you should also read)
July 29 2010
Hacks/Hackers and Mozilla want to know: How should we structure an online curriculum for journalists and technologists to learn together?
Hacks/Hackers, Mozilla, the Medill School of Journalism, The Media Consortium, and others are teaming to develop a solid six-week online curriculum that will benefit both "hacks" and hackers.
To make this work, we need feedback from both journalists and programmers on the questions:
- What topics should be covered?
- Would you be interested in helping to teach a topic?
Read on for more context, or just jump to the topic suggestions posted below as answers and add your vote, or -- better yet -- ideas.
Quick background
As some of you in the this community may have read, Hacks/Hackers and Mozilla are teaming up to run a six-week peer-to-peer course for "hacks" and hackers. The overall theme of the course will be "Open Journalism on the Open Web," and -- being a peer-to-peer course that is all about "open" -- we need your input and involvement to make the course a success.
As part of Mozilla's ongoing work to keep the web open, we've been supporting a number of exciting education projects through the Mozilla Drumbeat initiative & Peer-to-Peer University (P2PU). Two great examples are the School of Webcraft course -- the ultimate environment in which to learn the craft of open and standards-based web development. -- and the recent Digital Journalism course with Joi Ito of the Keio Graduate School of Media Design.
Course format
Each week the course will focus on a different topic, and each week the participants will be joined by a different subject-matter expert from the field of news innovation. The weekly course readings, online participation, and a seminar are expected to require roughly 4-6 hours.
The topics that we've outlined to date are posted below as answers to this question. Please give them a vote up / vote down to let us know what you think, or -- better yet -- add your own answers.
We also want to know:
- Courses you want: If you were running the show (and you are!), what topics would you want to see covered?
- Courses you want to teach: Did I mention that this is a peer-to-peer course? Seriously, what topics are you a subject-matter expert on? Would you be willing to be part of our teaching team?
We need your help to make this happen. Please take a moment to vote on the answers posted below, or comment with your ideas. (Please also indicate your interest in attending, volunteering, or teaching.)
We're hoping to run a pilot course in September, so it would be great to have your quick comments as soon as possible.
Many thanks in advance for your input.
Phillip.
(On behalf of Mozilla)
July 27 2010
Hacks and Hackers look at health, education and leisure
Online journalism expert Paul Bradshaw gives a detailed post on his experiences of a recent Hacks and Hackers day in Birmingham organised by Scraperwiki, experiences which he claims will “challenge the way you approach information as a journalist”.
Talking through the days events, Bradshaw observes how journalists had to adapt their traditional skills for finding stories.
Developers and journalists are continually asking each other for direction as the project develops: while the developers are shaping data into a format suitable for interpretation, the journalist might be gathering related data to layer on top of it or information that would illuminate or contextualise it.
This made for a lot of hard journalistic work – finding datasets, understanding them, and thinking of the stories within them, particularly with regard to how they connected with other sets of data and how they might be useful for users to interrogate themselves.
It struck me as a different skill to that normally practised by journalists – we were looking not for stories but for ‘nodes’: links between information such as local authority or area codes, school identifiers, and so on. Finding a story in data is relatively easy when compared to a project like this, and it did remind me more of the investigative process than the way a traditional newsroom works.
His team’s work led to the creation of a map pinpointing all 8,000 GP surgeries around the UK, which they then layered with additional data enabling them to view issues on a geographical measure.
See his full post here…Similar Posts:
- Hacks and Hackers play with data-driven news
- Google News Blog: Living Stories project to go open source
- Next Generation Journalist: Ignore the mobile app market at your peril
- CNET: Facebook and Google still not ready to connect friends
- #DataJourn part 1: a new conversation (please re-tweet)
July 21 2010
I’m a journalist – should I learn programming?
Many reporters are starting to move on from the world of HTML or CSS coding and getting to grips with more technical programming knowledge.
But web development isn’t for everyone, so how do you know if it will be right for you? Using some trusty know-how and specially selected questions, digital journalist Mark Luckie has tried to help reporters answer that very question.
His flowchart, shown below, is hosted on his 10,000 words blog.
- BBC director general answers readers questions online at Telegraph.co.uk
- 10,000 Words: ‘How Twitter saved my journalism career’
- The Digital Journalist’s Handbook goes on sale
- 10,000 Words.net: Six newspaper sections killed by the web
- #FollowJourn: @10000words / multimedia reporter
July 19 2010
[not exactly a question] Here is one useful resource for answering some general programming-type questions:
Saw this on Hacker News today -- it's the FAQ for programming.reddit ( http://www.reddit.com/help/faqs/programming ), and it answers such questions as:
- What programming blogs or websites do you read?
- What programming books should I read?
- How do I beat procrastination?
- What are some good programming puzzles?
- What web framework should I use for my next web app?
- What is the best way to learn language X or framework Y?
Like I wrote, this post isn't exactly a question. It's a link to the answers to other questions that seem like they would interest the people here.
June 09 2010
Software project/product management training for newsroom managers/editors?
As journalists learn programming and programmers learn journalism and then go to work in newsrooms, shouldn't there also be a parallel movement to offer newsroom managers/editors training in managing the creation of software, which is a role that's going to be a natural result of the journo-hacker thing?
Seems it would benefit both the newsroom editors/managers and the programmers they supervise if the managers had at least passing familiarity with concepts such as Hofstadter's' Law, the virtues of a programmer, extreme programming and most importantly The Mythical Man-Month.
I mean, it just seems to me that the skill set of managing/editing the creation of story and image content on deadline is very different than that for managing the creation (and maintenance!) of Web software on deadline.
Does anyone know if the Poynter/Nieman/Knight Digital Media Center of the world offer such? Or if they've ever?
June 08 2010
Software product management training for newsroom managers/editors?
As journalists learn programming and programmers learn journalism and then go to work in newsrooms, shouldn't there also be a parallel movement to offer newsroom managers/editors training in managing the creation of software, which is a role that's going to be a natural result of the journo-hacker thing?
Seems it would benefit both the newsroom editors/managers and the programmers they supervise if the managers had at least passing familiarity with concepts such as Hofstadter's' Law, the virtues of a programmer, extreme programming and most importantly The Mythical Man-Month.
Does anyone know if the Poynter/Nieman/Knight Digital Media Center of the world offer such? Or if they've ever?
June 04 2010
How a Test Suite Can Help Your Open Source Project Grow
At CityCircles, we've been fortunate to work with a local developer who is passionate about our project's goal of developing hyper-local communication tools for mass audiences. Our first implementation of that is a platform for light rail passengers in Phoenix, Arizona.
That said, one person can't carry the entire load, especially as the project inevitably evolves from its humble beginnings and wire frames.
One solution that's worth considering is sinking some funds into a test suite -- a closed environment where other developers who share a vision for the project can develop new features with the approval of the "master" developer. This is the approach we recently took with CityCircles.
Test Suite
In March, we contracted with a local development shop called Integrum Technologies to build a test suite. The project is connected to our code base and includes simulated tasks that other developers can build toward and "test." If these features pass muster in the test suite, then we can push those changes to our code base permanently. If they do not, then the developer can tweak them until they do without ruining the live site.
The test suite took almost three weeks to build and cost us roughly $9,500. (That may seem pricey to some, but good Ruby on Rails developers are not cheap. In our case, Integrum specializes in test suites.) However, for startups, this is a very helpful option for reaching goals of new features and functions on a budget. Open-source software developers that are looking for a "portfolio" piece and are attracted to the project's mission can participate at a fraction of the cost to the project. In return, they receive publicity and, in some cases, a promise of future paid work. The idea is that everyone wins.
Once your test suite is completed, start poking around your local area for developer meetups. Go online and subscribe to developer forums and Google groups. In our case, the project is built in Ruby on Rails. I have joined the Rails community's leading Google Group with the intent of marketing this test suite to developers.
I've also been invited to attend Integrum's weekly "hacknight" meetup in Chandler, a Phoenix suburb. Tomorrow night, I'll be there to spread the gospel of the project and hope that our handy test suite attracts the right crew.
Use these test suites to your advantage, as simulators like them can also help create an organic "buzz" around the project as well. Include the developers' names on the open-source software license, too. That will also help.
But be mindful of the pitfalls. Just as there are several developers that may want to participate, they may not have the chops to complete the work in a timely or accurate manner. It helps to have a strong master developer to sign off on their work.
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...





