Future Media (is here. Now)

“If media is in the infrastructure business, it is in the wrong business.”

“The only wat to earn money in online publishing is by having a strong and identifiable brand with a unique offering“.

“Start seeing your online publication as value provider, not content provider“.

“This is an opportunity we have been waiting for, for fifteen years. We have all these visual tools at our disposal, to tell all these stories, in a way that is efficient, that is multi-dimensional“.

Journalists, media guys, be warned: lose at your own, severe risk this presentation by Helge Tennø (via Armando Alves).

The essential *nix commands

I discovered The 15 Essential UNIX commands written almost 5 years ago by Pete Freitag.

In 2005 talking to journalists in *nix commands was a bit of a daunting. But nowadays they are more known: much more journalists and media guys run Linux servers or Macs with OS X.

First read Pete’s choice, then mine:

1. man – show manual for a command, example: man ls hit q to exit the man page.
2. cd – change directory, example: cd /etc/
3. ls – list directory, similar to dir on windows. example: ls /etc, use ls -l /etc to see more detail
4. cp – copy a file or directory, example: cp source dest if you want to copy a directory use the -R option for recursive: cp -R /source /dest
5. mv – move a file, example: mv source dest
6. rm – remove a file, example: rm somefile to remove a directory you may need the -R option, you can also use the -f option which tells it not to confirm each file: rm -Rf /dir
7. cat – concatenate, or output a file cat /var/log/messages
8. more – outputs one page of a file and pauses. example: more /var/log/messages press q to exit before getting to the bottom. You can also pipe to more | more from other commands, for example ls -l /etc | more
9. scp – secure copy, copies a file over SSH to another server. example: scp /local/file user@host.com:/path/to/save/file
10. tar – tape archiver, tar takes a bunch of files, and munges them into one .tar file, the files are often compressed with the gzip algorithm, and use the .tar.gz extension. to create a tar tar -cf archive.tar /directory, then to extract the archive to the current directory run tar -xf archive.tar to use gzip, just add a z to the options, to create a tar.gz: tar -czf archive.tar.gz /dir to extract it tar -xzf archive.tar.gz
11. grep – pattern matcher, grep takes a regular expression, or to match a simple string you can use fast grep, fgrep failure /var/log/messages, I’m usually just looking for a simple pattern so I tend to use fgrep more than regular grep.
12. find – lists files and directories recursively on a single line, I usually pipe grep into the mix when I use find, eg: find / | fgrep log
13. tail – prints the last few lines of a file, this is handy for checking log files tail /var/log/messages if you need see more lines, use the -n option, tail -n 50 /var/log/messages you can also use the -f option, which will continuously show you the end of the file as things are added to it (very handy for watching logs) tail -f /var/log/messages
14. head – same as tail, but shows the first few lines the file
15. vi – text editor, there are several text editors such as emacs, and nano, but vi is usually installed on any server so its a good one to learn. To edit a file type vi file to edit a line press Esc i then to save changes and exit use Esc wq, or to quit without saving use Esc q!. There are a million other commands, but that will enable you to edit files at a basic level.

I’m a vi guy

I use cd, ls (with some customization via .bashrc), cp, rm, scp, grep, tail — and of course vi. I’m a vi guy. Even on my MacBook, where I usually write in a registered TextMate text and code editor, sometimes it is easier to edit with vi. I use it in a very simple way, I don’t know most of its commands and functions (nobody does).

My adds:
w – displays information about the users currently on the machine, and their processes. Useful.
top – provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managed by the Linux kernel. When you need to debug a server this command is essential.
ps – report a snapshot of the current processes. I use it with ax and some pipelines to quickly get precise info (like: ps ax | grep httpd | wc -l to see how many Apache processes are runing).
crontab – cron is a time-based job scheduler and crontab is the configuration file that specifies shell commands to run periodically on a given schedule. I run a bunch of scripts (PHP and bash, mostly) and crontab is *the* way to organize the scheduling and other aspects, like logging and mail-logging their outputs. Repetitive tasks, like pulling a RSS feed and do things with it, are performed by scripts orchestrated within crontab.

Facebook: 6 million pageviews. Per minute.

Facebook’s 30.000 servers (and growing) serve 6 million pageviews per minute. Yes, 6.000.000 in each minute, or 100.000 per second, if you prefer.

For a data maniac and data visualization consumer like myself, this simple video from Jesse Thomas is a delight. Just watch (feed and newsletter readers, you may have to click here) The State Of The Internet:

Journalist programmer: the perfect mutant? No.

Journaliste-programmeur, le mutant parfait? asks Sabine Blanc at Owni.fr. Well, the short answer is no, but Sabine Blanc’s question is a figure of speech.

She is reacting to Ryan Tate’s important Hack to Hacker: Rise of the Journalist-Programmer. Both articles impose the journalist programmer as a trend. And this trend is the news — not the humoristic aspects of the trend.

The “simple” journalists don’t need to tremble: there is no super-powered mutant professional coming from a high-tech spaceship to get their jobs ;)

I partially agree with the conclusion: “Si le double profil ne devrait donc pas devenir incontournable, il est aussi évident qu’une bonne louche de culture web supplémentaire ne ferait pas de mal à la profession, dès l’école ou en formation continue. Et pour ceux qui veulent aller plus loin, une spécialisation programmation.

No, the double profile is not inescapable. Far from it. But I don’t expect that programming becomes a matter of general culture. It will be just a skill, maybe a specialization, even if I don’t like the expression. Is photography a specialization of journalism?

Maybe the history can provide some clues.

On the early nineties a similar change occurred when the infographics were introduced. At first, only a very small group of illuminati in the newsrooms understand the appeal (for the eyes) and the potential (for showing in a glance big chunks of information) of the infographics. It passed some time until most journalists accept the infographics in their articles. An even more time until every print journalist wish an infographic illustrating his/her story.

The infographics also born from information technology: they proliferate with Desktop Publishing — you know articles and news were typed in typewriters before, right?

Did everybody in the newsroom become an infographic?

Of course not. But the process made its way and now every newspaper was an infographics section and buys infographics from news agencies. And, glad you asked, yes, back those days a bunch of journalists was terrified by the prospective of being forced to learn CorelDRAW or Illustrator, and draw!

Who are the infographics ? Are they converted journalists? Designers? Artists?

You don’t have a simple answer for that. Some of them have a journalistic background, others came from art schools. In some newsrooms they are marginalized. On others they are powerful. But the infographic become a journalistic process. A pretty nice one, be it on static on paper or animated on the screen.

Expect the same pattern here. Some old journalists (like myself) will learn code, but we are a very restricted club. Some new journos know basic PHP they learned with blogs and Wordpress; some of them will become fine journalist programmers. Some programmers will fall in love with journalism — or they just find a job in new media.

The journalist programmer is just another branch. The next branch. Code is just another tool to tell a story.

Google open-sources the Living Stories format

Let’s say it. This is an excellent notice to open this blog. Google announced today on the official blog that it has open-sourced the Living Stories format.

Living Stories are a new format for presenting and consuming online news. Not the graphical type of presenting like Guardian’s recent Zeitgeist that follows the best tradition of newsmaps, or even Google’s Fastflip, but a practical and logic one. One that uses search and relational algorithms from Google to put together several aspects and angles of a story, even the historical and contextual.

Neha Singh, Software Engineer, and Josh Cohen, Senior Business Product Manager, justify: “Since we launched this proof-of-concept test on Google Labs in December, 75% of people who sent us feedback said they preferred the Living Stories format to the traditional online news article. Users also spent a significant amount of time exploring stories. This tells us there’s a strong appetite for great journalism displayed in a compelling way

The good news is: every newspaper, blog and online publication can use the resources from Google to create it’s own living stories.

More good news: the documentation guidelines are indeed journalist’s creed. It’s not a surprise. Living Stories begin last December as a partnership between Google, the New York Times, and the Washington Post, so all the journalism-look genetics is there. Read it all, but here is the juice of the best practices:

1. Repetition should be kept to a minimum: Traditionally news articles provide a high-level summary of the developments in the story so far with every article. Since the living story has a summary section specifically dedicated for this, a summary doesn’t need to accompany every update or narrative.

2. Full attribution: For every piece of content, including photographs, videos, graphics, etc. readers should be able to see the names and biographies of the reporter, photographer, graphic designer, etc. who created it.

3. Source material: Sources of information, data and facts mentioned in the content should be exposed wherever possible. For example, copies of government documents, audio transcript of interview that the article is using quotes from, links to webpages from which data was compiled for a graphic, etc.

4. Search and filter: All the content on a living story page should be searchable. There should also be various options for users to filter the content in different ways, such as by time, by importance, by type, by contributor, etc.

5. User discussion: Along with all the coverage on a story being available at a single URL, all the discussion around the story in the form of user comments, expert commentary and trackbacks should also be available on the same page

6. User contributions: If appropriate, users should be able to contribute to the improvement of the content on the story page. For example, they should be able to request a typo correction, or request source material for a cited fact, or request a photograph be captioned, or ask for clarification of a piece of text. These requests would be treated as suggestions for the editors of the living story and would be non-binding.

7. Story tracking: Users should be able to keep track of the stories they are following or interested in via various methods such as email alerts, RSS feeds, etc.

Now what? Open source and media have not a successful marriage. Yet. Media don’t love the term “open”. Generally, “meople” (media people) thinks code if for monkeys in caves with keyboards, pizzas and no girl friends. There is a long way to go. So, I’m very curious to see how they respond. Who do you think will be the first?

Hello world

No better phrase to begin this conversation, don’t you agree? Here I go. A new adventure in publishing: a kind of blog about the journalist programmer — this raising figure which is going to lead several processes in newsrooms of all kind this next decade.