My Heart's in Accra

Ethan Zuckerman's musings on Africa, international development
and hacking the media.

08/23/2005 (3:33 pm)

Akamai and Global News Consumers

Filed under: Africa,Developing world,Media ::

Akamai – a high-volume web hosting company – has added an interesting new feature to their site, a meter that tracks global news consumption. According to the meter, a peak of 2.025 million visitors per minute downloaded news stories from the various media companies who host servers with Akamai. This, according to the site, is 3% above average news consumption volume.

It’s hard to tell how seriously to take this data as a measure of global news consumption. Of the companies listed by Akamai as data sources, Reuters, NBC and ESPN are certainly high volume news sites; Radio Notre Dame and Courtroom TV don’t generally make my list of major media players. Is this index reflective of overall news reading behavior, or just of the subset of sites hosted by Akamai?

It’s also a little hard to know what to make of the statistics Akamai provides on news consumption in different parts of the world. At the moment, Akamai tells me that 1.65 million Americans are reading news, while only 3,000 Africans, 4,000 Australians and 18,000 people in all of Asia and the Middle East are reading the news. At first glance, this might suggest that news providers should ignore markets in Asia, Africa and Australia as those people clearly aren’t interested in the news.

But let’s unpack for a moment. Akamai’s customerbase appears to be English-language media companies. Chinese, Korean and Arabic-speaking internet users might be downloading lots of news content, just not from the English-language sites Akamai is tracking. (For instance, OhMyNews gets roughly 750,000 visitors a day, none of which Akamai sees… As for Africa, it’s likely that many news consumers are downloading content from BBC, which covers the African continent uncommonly well, rather than from NBC, which rarely covers it at all.

It’s also worth asking the question: what percentage of internet users on a continent are reading news? My experience in roughly a hundred African cybercafes suggest that CNN, BBC, Yahoo! and Google News are enormously popular. It’s possible that Akamai sees only 6,000 internet users in Africa and that two thirds are reading news, while a much smaller percentage of North American net users are visiting news sites. Akamai’s got this data – it would be very interesting to display what percent of total internet users they see from each continent are requesting news content.

(Most geolocation services are extremely bad at identifying net users as being in Africa. While Google autoconfigures itself to recognize that I’m in Germany, Spain or Japan, it generally can’t figure out that I’m in Ghana, Senegal or Kenya. This is because many African nations provision connectivity via satellite from US providers. Most geolocation services show those users as being in the US, or with “location unknown”. So perhaps some of those North American users Akamai sees are African news junkies.)

Even with an imperfect methodology, Akamai’s tool provides interesting food for thought. Let’s just hope that news executives don’t glance at the map and conclude that this is yet another argument to provide less international news coverage.

08/22/2005 (2:59 pm)

Weekend fun with reBlog

I spent a good chunk of the past weekend playing with reBlog, an extremely clever tool put together by the fine folks at Eyebeam R&D. reBlog is a tool designed to let you produce an edited weblog that aggregates and reposts content from other blogs. While this form of linkblogging is pretty far from what I do on this blog, it’s something that’s interested me deeply for Global Voices and Blog Africa, both of which – to one extent or another – are edited linkblogs.

I’ve started a (very lightly edited) reBlog of some of my favorite African blogs. I’ve capped my list at fifty blogs for now, because I’m starting to see reFeed (the part of the reBlog tool that retrieves my subscriptions) having some problems with the amount of time it takes to retrieve all 50 feeds. Basically, I’m using reBlog to retrieve posts from these fifty blogs once or twice a day, and selectively publishing those that I think will be of interest to readers who want to follow the African blogosphere. (For the most part, I’m republishing all posts that actually apply to Africa, not just to the author’s personal life. And I’m doing a bit of editing on the highest volume weblogs I subscribe to.)

The resulting linkblog (also available as an RSS feed) is a little different from BlogAfrica, the reblogging site I’ve helped my friends at AllAfrica run for the past year or so. BlogAfrica is an opt-in system – we only aggregate bloggers who choose to join. Unfortunately, the tools we’re using don’t support Atom well, which is a huge problem as many of Africa’s best bloggers use Blogger, which doesn’t output an RSS feed (grr…) So it reflects a different subset of the African blogosphere than this new aggregator.

The tool isn’t perfect – the authors are working out a few kinks in the module that lets one display these blogs through a WordPress server, so I’m currently just using the output of the reFeed tool. And there are a few more features I’d really like:

- NewsILike offers the ability to subscribe to a feed, run it through a regular expression engine and match only the posts that contain certain keywords. It’s a cool feature, especially if you’re following things like mainstream media feeds and you only want to match stories that mention Africa.

- Bloglines, for all its faults, handles hierarchies of subscriptions well, letting me categorize feeds into countries (though not into regions). It would be great to have an aggregator that could do aggregation and produce feeds for arbitrary subsets of feeds.

- To use reBlog for an application like BlogAfrica, I’d need a way to allow users to suggest (their or others) blogs for inclusion, preferably in a way that an author could approve or reject them in batches. I could write a simple script to generate an OPML file that could be imported into the application, but I think it would be cool to have a “suggestions” feature added to the tool.

But hey, the fact that I’m sitting here brainstorming features makes me think I’m likely to actually use this thing. And I think a future version of Global Voices which used reBlog feeds to aggregate countries and regions, then featured the best posts on the main blog would be a powerful resource for people who want to follow local and regional blogospheres in detail.

08/22/2005 (12:40 pm)

Travel Writing

I’ve been a frequent international traveller since I was twenty years old, and I’ve been keeping journals of those trips the whole time. A few years back, I started sharing some of the journal entries with an email list of friends and family. Recently, a few friends (those not smart enough to correctly configure their spam filters) have asked me why I don’t post these entries to the blog.

The answer is pretty simple. I generally figure that people read my blog because they’re interested in what I’m talking about, not specifically that they’re interested in me. Travel posts tend more to be about me, and therefore for friends and family, not for the seven people nice enough to subscribe to the blog.

Hence, this solution: I’m publishing some of my recent posts, illustrated with photos, on this blog as “pages”, not as posts. If you’re interested in this sort of thing, you can follow the links below and read the stories. If you’re not, you can ignore them and future posts won’t clutter your RSS reader.

Travel stories posted today:

Tokyo Journal – Tokyo and Chiba, Japan, spring 2005.

The Road Warrior – from the Atlanta Airport, spring 2005.

A Travel Prayer – onboard a Northwest Airlines flight, winter 2004.

A Visit From the Laundry Fairy – Accra, Ghana, summer 2004.

Spanish Food Porn – Barcelona, Spain, summer 2004.

The Turkish Bath – Istanbul, Turkey, winter 2003.

The Art of Packing

08/22/2005 (11:23 am)

We’ve secretly replaced these Fijians with Brazilians to see if anyone in Suva would notice…

The always creative Haitham Sabbah has a great trick for searching for international blogs on Blogger. Using the URI “http://www.blogger.com/profile-find.g?t=l&loc0=**” and replacing the stars with the country code you’re interested in, you can find all authors on Blogger who’ve identified themselves as Jordanian, for instance.

Haitham’s using this trick to flesh out the Global Voices Bridge Blog index and is (understandably) frustrated that there’s no way for Palestinian bloggers to select “Palestine” or “Occupied Territories” as their country – he assumes that many Palestinian bloggers are leaving the “country” field blank, rather than filling it with “Israel”. (Palestine does have a two-letter country code: PS.) I checked to see whether Blogger supports another semi-state, Western Sahara – it does.

My frustration has been not with Blogger but with blogger users. Trying to find Fijian blogs, I’ve come across lots of Brazilian and US bloggers who appear to be amused at the idea of coming from Fiji. (One bloggers tells us he comes from Evil, Indiana in Fiji.) What is it about Fiji that makes people want to pretend to be from it? Search for blogs from Iceland and you find lots and lots of blogs in Icelandic, which is generally a pretty good indicator that their authors are, indeed, from Iceland…

(Lots of the Samoans appear to be, in fact, from Samoa, including Madison, who’s got excellent blogging skills for a three year old. And enough people know how to spell Nuku’alofa correctly that they’re probably from or in Tonga. So what’s up with Fiji?)

08/21/2005 (5:38 pm)

Bad Software Is Good For You

Filed under: Geekery,Global Voices ::

In which I make a number of unsupportable assertions about the design of community software and attempt to bolster my position with seemingly unrelated advice from four wise friends.

Boris Anthony, web community designer extraordinaire, left the friendly confines of Montreal to come visit with the Global Voices team at Harvard this past Tuesday. As we detailed the remaining bugs on the Global Voices blog and the new features we’d like to add, Boris and I found ourselves skirting the edges of the debate we’ve had since day one of our collaboration on the site: WordPress versus Drupal.

(A quick translation for those lucky people who don’t spend their free time obsessing about content management systems. WordPress is an open source weblogging platform. It’s the platform I use to manage this blog and the platform – with some modifications – that Global Voices runs on. It has a reputation for being very user friendly, but for having some underlying architectural problems that make it hard to scale. Drupal is an open source multi-purpose content management system designed for the support of complex websites with multiple authors. It has a reputation for being ludicriously flexible, ungodly powerful and far too complex for mere mortals to use.)

The details of this specific debate are so boring that they’d drive six of my seven readers to Slashdot to follow flamewars instead of listening to it. (The seventh reader, who knows more about the subject than I ever will, would write a polite email convincing me that I’m an idiot while making me feel good about having her as a reader.) But this debate is emblematic of a larger debate that I think is (possibly) interesting to nongeeks.

I found myself making the argument to Boris that WordPress was a better tool for Global Voices right now precisely because it wasn’t as good a tool as Drupal. As I thought about it a bit more, the success Global Voices has had so far has had a great deal to do with using mediocre tools rather than working to build better ones. And I think there’s an argument to be made for stretching tools to see what they can be made to do rather than building new tools from scratch.

Thoughts from a pair of smart friends as I try to make this point:

My friend Doone Mackay studied “studio art” (i.e., the one where you make paintings instead of talking about them) at Williams College a few years after I graduated. When she began her career, the art students worked in random corners of campus that had been reclaimed from other departments. (The sculpture studio in which I spent some of my happiest college hours was in a disused garage next to the gravel pile and fuel oil storage tanks.)

Halfway through her career, the College built a beautiful new studio art building. Many alums, myself included, saw this as a sign that Williams was taking studio art seriously and giving the department the respect it deserved. Doone felt differently, and wrote a long editorial about what the art department lost by moving from an old space. One of the primary loses, she posited, was the freedom to use the space in outlandish, sometimes destructive, ways. (I’m recalling driving nails into the wooden floor of an old studio space to steam-bend planks for a boat a friend was building as part of a studio art building…) With new, pretty, perfect buildings, would students be afraid of abusing the new spaces, and how would this effect the art they made in those spaces?

I’m convinced that Doone is right. While the sculture space I worked in was far from pretty, I was never afraid of bending it to my needs. The best installation I built in college was installed in a disused, dusty, cobwebby corner of the basement of the space, and most of the character of the piece came from the environment. I suspect there’s a shortage of dark, spooky corners in the beautiful new space students work in today.

Second thought: my friend Daniel Beck and I were talking about software design the other day as we moved furniture. Daniel (whose most recent coding exercise may well bring about the Rapture as soon as anyone dares to run it) has spent the last five years developing e-learning software for a variety of funct and defunct companies, and was preparing to write his fourth e-learning community system from the ground up. In response to my unanswerable question – “Why, despite the fact that smart programmers have been writing bulletin board/discussion group/community software systems for the last two decades is there no software in this genre that’s actually any good?” – Daniel offered the following observations:

- Every community needs – or at least, thinks it needs – its own, custom-made community discussion system.

- One can either design a tool sufficiently flexible that it can be customized to those users needs or handroll a tool from scratch.

- Once one gets into the business of handrolling, it’s a great advantage to handroll similar types of communities – elearning environments, for instance – because they’re all going to have some common traits that you’ve coded before.

While I think Daniel’s right on the first point (and I’m sure he’s right about the third point), I think there’s an alternative solution that most people choose other than building their own tools (or hiring someone to build them) or customizing a super-flexible tool like Drupal: they use a hodgepodge of tools that don’t work very well, and either figure out how to use the tools in new ways, or shape their behavior to match the behavior the tools expect and reward. Most communities fail… but I would argue that most fail for reasons other than inadequate tools. Those that succeed sometimes build their own tools (like Slashdot’s karma mechanism), but others succeed by using existing tools (the hundreds of blogs that have complex discussions in a simple, linear comments mechanism.)

When Rebecca and I started to put together Global Voices early this year, my instinct was to build a new tool that handled blog aggregation in a new way. It would be open to public input – like a wiki; it would be combine multiple input sources into a single website, like an aggregator; it would enable a strong editorial voice, like a blog or content management system; it would support tagging and folksonomy, like del.icio.us. So I started reading APIs for existing tools and source code for del.irio.us and making creat plans to duct tape together a few snippets of original code with huge cunks of existing code into a brand-spanking new original system. And then I got lazy, and busy, and distracted and put the project on hold.

Which is probably a good thing. (Advice from a third wise friend ahead.) When Rachel and I found the house we currently live in, she wanted to buy it and I didn’t. There were lots of things wrong with it and I thought we’d be better off buying land, designing and building our own house. I ran this idea past my mother, who helpfully pointed out that I was an idiot. “You’ve never had your own house. You don’t know what you want yet, and you don’t understand what’s easy and hard to change. Buy the house, live in it for a decade, change it a few dozen times, and then you’ll know enough about houses to design your own house.” We did, and she was right. Six years in, I’m still making changes. It’s not perfect – or even close to it – but we love it. It’s shaped us, and we’ve shaped it, in a long, ongoing, organic process.

The tools we’re running Global Voices on are far from perfect. The blog runs on a version of WordPress that’s been tweaked within an inch of its life. But despite the extensive changes Boris has made to plug-ins and templates, there are no changes to the underlying code. After two months of complaining that it would be impossible to get WordPress to do what we wanted it to do (specifically, support multiple authors making hundreds of tiny, heavily tagged posts, in a part of the blog independent of the main entries), Boris made it do exactly what we want it to do. (Well, almost. We’re still tweaking how the RSS feeds work. And getting Search to make more sense. And figuring out how email digests should work.) But basically the tool has let us do what we’ve wanted to do, and our success or failure has been based on human factors (recruiting smart, multilingual bloggers who can write articulately about their corners of the world) than technical ones.

The biggest unexpected success of Global Voices, in my opinion, has been the Bridge Blog Index. Basically nothing more than a set of premade, editable pages for different nations, the Index invites contributors around the world to create lists of bloggers and bridgebloggers for each country. In a surprising number of cases – Cambodia, Tanzania, Bangladesh, Jordan, Argentina, to name a few – there’s rich, detailed lists of vibrant blog communities. In many other cases, there’s nothing. But what’s amazing is that we often have no idea who’s creating this content.

The downside of this – a problem of all wikis – is that we’re highly susceptible to spam. Several times a day, some jackass decides to replace one or more pages of the wiki with a set of links promoting phenteramine or particularly foul porn sites in the hope that links to these sites will improve their Google rank and help them snare more customers. Fortunately, this stuff is easy to remove – because wikis keep history files, we can revert to previous editions of articles in a couple of clicks. But this only works if someone’s watching the wiki. (More on that in a moment.)

Recently, a contributor to our wiki has been using the example of wiki spam to make the argument that “wikis are weak” and will be destroyed by dedicated spammers. (He is, not coincidently, promoting an alternative solution.)

The obvious counterexample to this seems to be Wikipedia, where spam occurs, but is rapidly eliminated by a community of dedicated volunteer editors. Spam seems to become less of a problem with wikis once they’ve got a vibrant, involved community. (I notice it less on our wiki because I spend more time editing actual content these days, and less time removing spam, much of which has been eliminated by other editors.)

It reminds me of a talk (wise friend #4) organic farmer Sam Smith gave a few years back, where he argued that using insecticides or herbicides to protect one’s crops missed a fundamental point – insects and weeds were a symptom of underlying problems, usually with the condition of one’s soil. Rather than trying to eliminate potato beetles, one should contemplate what’s wrong with one’s fields that one would be experiencing potato beetles. Eventually, one becomes grateful for the potato beetles as their presence communicates valuable information about the conditions of one’s fields.

Potato beetles are a good indicator that you’re not rotating your fields often enough (and therefore allowing the beetle population to breed year after year) and that you’ve got insufficient diversity of flowering plants, which means you don’t have enough predatory insects, especially 10-spotted lady beetles, which eat Colorado potato beetle larvae. Spam on my wiki is a good indicator that I’m not spending enough time gardening the wiki and that I haven’t recruited a sufficiently large and dedicated team to help cull the spam and expand the wiki. While I have no doubt that there are other tools that would have helped me prevent spam from entering the wiki in the first place (Socialtext, for one), I’m not sure I would have gotten the same lessons about what makes a wiki work.

MediaWiki and WordPress have worked relatively well for us, and we’ve had some luck using del.icio.us tags GV and globalvoices to recommend stories to one another. We conduct most of our editorial meetings in the #globalvoices channel on freenode.net and through a Google Groups mailing list. Zoneedit takes care of email redirection and domain name forwarding. While I’ve got gripes with all these tools, none are serious enough to make me want to abandon them – though, in more than one case, I’m tempted to add new features to an existing featureset.

Online aggregation is another story. We’ve tried to use a Bloglines aggregator to create a feed of blogs that editors could use to create daily roundups, and which dedicated users might monitor. Three months into the experiment, it’s becoming clear it’s not the right tool for the job – most of our editors, myself included, don’t use it. It was never intended to accomodate the 800 feeds we’ve loaded into it, it doesn’t allow us to provide RSS feeds aggregated per country or per region, it doesn’t let us let users add feeds and allow us to moderate which are included in an aggregator… and so on.

After three months of trying to solve the aggregation problem with a wiki and bloglines, Boris and I have more or less agreed on a structure for how Global Voices should do aggregation. We’ll have directory pages for each nation and group, which anyone can add to. Some sort of script – perhaps interfacing with a future MediaWiki API? – will harvest URLs from those directories and enqueue them for inclusion in a regional aggregator. (People will be able to put URLs directly into the queue as well.) A regional editor will decide which of these URLs make it into this aggregator, which will likely run on Eyebeam’s ReBlog.

Users with a deep interest in a region would be able to read the regional ReBlog directly; most readers will choose to read just the stories the regional editor chooses for inclusion in the main Global Voices blog. Truly hardcore readers can go directly to a country’s page in the directory and select from all the feeds for a region. From directory to regional aggregator to main blog, there’s increasing editorial control and decreasing volume.

This solution bears very little resemblence to the solution I was sketching to the same problem six months back. Having lived in the house for a few months now and banged my share of nails into the floor, I now have a pretty good sense of which wall I now want to move. Had I built a hybrid wiki/aggregator six months ago, I’d probably be kicking myself and wondering whether I should scrap my own code and rebuilt around reBlog – now I find myself hoping I can convince the folks at reBlog to add a very few features to their code which would mean I don’t have to write anything at all.

I realize I may have just written an apologia for bad software. That wasn’t my intent (title aside). There’s some software that’s just plain bad, and you get no net benefits from struggling with it rather than abandoning it for something better. (Why yes, I am writing this on a Macintosh – why do you ask?)

What I’m attempting to do, instead, is write in praise of the cardinal virtue of programmers – laziness – and its sister virtue, patience. Being patient with imperfect tools allows you to learn what you really need a tool to do… which is likely quite different from what you think you want a tool to do. And being lazy increases the chances that someone else will solve the problem you need solved, allowing you to use her code rather than writing and maintaining your own. (And if you’re as inept as I am, there’s a damned good chance her code will be better than yours.)

All of which frees up more time to write essay-length blogposts on topics orthagonal to the stated aim of your blog, alienating your seven readers…

08/21/2005 (2:08 pm)

Stupid Steganography Tricks

Filed under: Blogs and bloggers,Geekery ::

Back in the days when I used to run “member services” for Tripod, I got interested in steganography, the art and science of concealing messages within other messages – hiding a text file within a JPEG image, for instance, or an image file within an audio file.

Basically, Tripod had an interesting problem which we’d solved surprisingly well. We provided free webhosting space for about 15 million users. Those users each had about a megabyte’s worth of storage space where they could post images to enhance their homepages. (Hey, this was a long time ago. We walked to school uphill in the snow both ways, had only one 1MB of online storage and we liked it.) As you’ve probably guessed, many users decided to enhance their homepages with pornography, which was prohibited under our terms of service.

It became a major technical and business challenge for Tripod to eliminate porn. Porn sites generated a great deal of traffic, which increased our bandwidth costs. And they made our advertisers unhappy, which reduced our revenues. However, we couldn’t just delete the accounts of people we thought might be pornographers – the innocent members who’d been inadvertently deleted would have been up in arms.

So we solved the problem with a combination of automatic and human tools. We used a couple of algorithms to determine which directories likely contained porn (several large image files, heavy traffic, sequentially named files, etc.), then scanned all the images in the selected directories, looking at the color tables of their jpegs. If a certain threshhold percentages of pixels fit into a range we characterized as “flesh tones”, it was probably either a human face or a naked torso. Directories tagged as “probably porn” were manually reviewed by poorly paid interns, who used a tool that displayed all the images in a directory – if those images were pornographic, an intern pressed a button and the user was deleted.

This system got so good that the mean lifetime of a pornographic image on Tripod was about 3 hours. Our bandwidth bills went down, our advertisers didn’t complain, but still the porn kept coming. I started wondering, “Given that we’re going to delete it within six hours, why would anyone bother posting porn on our site?”

Which led me to wonder whether someone was posting these files as a form of communication rather than titilation. If you were trying to communicate through a secret channel with other criminals/terrorists/bored computer science geeks, perhaps embedding text files in nude pictures of Alyssa Milano would be an effective channel for communications. Maybe we were hosting dozens of secret conversations on our site, not just lots of random porn!

Unfortunately for my exciting spy fantasies, steganography researchers were discovering that they couldn’t find evidence that anyone was actually using steganography. Elegant little tools like “stegdetect” could make a pretty good guess at whether a JPEG file had a message appended to or hidden within it. Scanning hundreds of thousands of images from Ebay, Usenet newsgroups and the web at large, researchers finally found the first known example of steganography discovered “in the wild” – an image put together by a geek at ABC television to illustrate a story on steganography. (Hardly evidence that a North Korean-backed terrorism organ-smuggling ring was using stego that we’d all been hoping for.)

Now Keith McDuffee has an application for steganography that just might find a couple of users – backing up text files on Flickr. Keith observes that Flickr gives it’s paid users unlimited storage, only constraining them with a 2GB per month limit on uploads. Rather than burning some DVDs, buying a new USB key or otherwise figuring out a sane way to back up his documents, Keith demonstrates that he can back up his files by embedding them within digital pictures using “steghide”, upload them to Flickr, and extract the documents after the fact.

While this is pretty freaking cool, I’m not planning on backing up my hard drive to my collection of photos of Ghana any time soon. But I do think it’s just a matter of time before we start reading alarmist articles about terrorists using Flickr as a tool for secret communication.

There’s a use of steganography for good that I’ve been thinking about trying to implement. Internet users in some nations have their access to the web filtered by national firewalls. A popular and effective way around these firewalls involves using proxy servers – a user trying to reach a blocked website reaches an unblocked proxy server and asks the proxy server to retrieve the blocked website.

This technique works just fine so long as the proxy isn’t blocked by the censoring government in question. In countries like China where surfing via proxy is very popular, friends like Rebecca tell me that they need to change proxy servers every half-hour or so, as ISPs, under government pressure, block the proxies they’re using.

A number of ideas have been suggested for providing proxy users with the addresses of current, unblocked proxies. Most involve creating new pieces of software that would automatically download information about newly available, unblocked proxy servers. Which is all well and good, but in especially repressive nations, it might be dangerous to have a piece of sofware on one’s computer that had no purpose other than evading a firewall.

My proposed solution: use the comments field in the JPEG header to store the IP address of a new, open, unblocked proxy, as well as a timestamp of when that proxy was valid. We’d autogenerate these headers with an Apache module (possibly a version of mod_negotiation) which would download this information from a central server and embed it into each JPEG served.

Users in the know wouldn’t need anything more complicated than Windows Notepad to open a JPEG and find a valid proxy inside. If enough sites participated in the project, we could end up with a substantial portion of all images on the web carrying this data, and possessing an image that contained information about a useful proxy server could hardly be evidence of intent to evade firewalls (unlike, say, a TOR setup on your laptop… :-) A government wanting to block this information would need to block JPEGs (politically unviable) or edit comments out of JPEGs (a huge technical task, currently beyond even the Chinese firewall).

(Of course, what they’d more likely do is open the headers, register the proxy servers and block them, which might invalidate the whole project.)

My ambivalence over whether or not this is a good idea is reflected in my current name for the idea: Really Stupid Steganography. Would be interested to hear from people who are thinking about filters, firewalls and evasion whether they think it’s really stupid as well, or worth some more thought.

Or perhaps we’ll just have to wait for someone to release an independent film with steganographically hidden digital watermarks in snippets around the web before we see people regularly talking and thinking about steganography… :-)

08/20/2005 (8:37 pm)

This is not an ad.

Filed under: Geekery ::

This is not an ad. This is a bit of sincere praise for my webhosting provider, Rimu Hosting, who continue to rock my world almost every time I interact with them. Near as I can tell, they’re a bunch of crazy Kiwi linux hackers running a company named after a tree. They’re (comparatively) cheap, rock-solid stable and give me a reason to praise them to random strangers roughly once a week.

I had the vague notion that I might check my server logs to try to determine whether this blog had increased in readership from four to five readers. So I decided to install Webalizer, a pretty good web statistics package that I’m using to generate stats for Global Voices. It isn’t a difficult package to install, in the grand scheme of things, but it does require a certain amount of yak shaving, mostly having to do with installing a couple of tricky little graphics libraries. Having shaved this yak recently, I dove right in and quickly got the appropriate packages built.

Webalizer compiled, but when I tried to run it, choked and died an ugly death. As I started to debug, I had an inspiration – what if the fine folks at Rimu had already installed the darned thing?

They had. It’s installed and fully configured with each account. Within about five minutes, I had reports on the last year’s worth of traffic on this server.

And while that’s unspeakably cool, that isn’t my favorite thing about them. My favorite thing about them is this: when it’s midnight in Massachusetts and I’m ripping out my hair trying to figure out how I’ve most recently broken my server setup, it’s 4pm tomorrow in New Zealand, and their best geeks are wide awake, fully caffeinated and absurdly helpful.

So yes, hire them. They’re one of those rare businesses that you’ll find yourself recommending to complete strangers, whether or not they have an interest in web hosting.

Oh, and if you were wondering, we’re now up to seven readers. Welcome, you three new people. Enjoy your stay.

08/19/2005 (3:17 pm)

“Sedition” in Uganda – more attacks on press freedom in East Africa

Filed under: Africa,Media ::

Yesterday, a reader reminded me that Ethiopia is not the only country in East Africa cracking down on the press in ways that are inappropriate and scary. Andrew Mwenda, a popular and controversial radio host in Kampala, Uganda, was recently arrested and charged with “sedition” for making comments about a possible Ugandan government role in the death of southern Sudanese leader John Garang. He was released on a 5m shilling (about $2800) bail after offering his plea:

“I cannot be guilty of my constitutional right to practise free speech as guaranteed by the Constitution. I plead not guilty”

Mwenda’s employer, KFM Radio, was briefly banned, but returned to the air today. Mwenda potentially faces a 5m shilling fine, or up to five years in prison if convicted of sedition. His bond was posted by a number of officials from the company which owns KFM and The Daily Monitor, Uganda’s most prominent independent newspaper.

(The Monitor has an excellent and confrontational interview with Museveni’s Press Secretary and a prominent Ugandan lawyer in their August 17th issue on the subject of press freedom in Uganda.)

Mwenda evidently crossed a line when he speculated that Uganda’s president Museveni was responsible for John Garang’s death. His comments, in part:

You [Museveni] mismanaged Garang’s security. Are you saying it is Monitor that caused the death of Garang? Garang’s security was put in danger by your own Government. First of all on a junk helicopter, second at night, third passing through Imatong hills where [LRA rebel leader Joseph] Kony is.

“Are you aware that your government killed Garang? I can never withdraw it [that statement]. I would say the Government of Uganda, out of incompetence, led to or caused the death of John Garang.”

There has been widespread speculation in Southern Sudan and Uganda that Garang’s death in a helicopter crash on July 30th, shortly after he accepted a position as Sudan’s vice president. It’s worth noting that plane and helicopter crashes have a special political significance in East Africa – a plane crash which killed Rwandan President Habyarimana and Burundian President Ntaryamira, sparking the 1994 genocide in Rwanda, is believed by some to have been a political assasination.

Alleging concern about possible ethnic violence, Museveni warned Ugandan newspapers that speculation about Garang’s death in print would not be tolerated. Mwenda’s arrest evidently signifies that he means business.

The reader who alerted me to the Ugandan story pointed out that a sedition law in the US would likely put a wide range of pundits into jail for a long time. I’m not entirely clear on whether my friend thought this would be a step forward or backwards… :-)

Update – CSM has an excellent story on the subject.

08/18/2005 (4:33 pm)

Thinking about Talkr

My friend Jean-Claude Guedon pointed me to an interesting new company, Talkr, a few days back. It’s a service that uses a text to speech engine to create automatic podcasts from RSS feeds. It grabs the text from an RSS feed and generates mp3s of the posts, then makes them available for you to download to an iPod or other device.

With a free membership, you have access to a certain number of free audio feeds, plus audio derived from three RSS feeds of your choice. The company is hoping you’ll upgrade to their basic or premium membership packages, which allow you to convert 20 hours of audio from 20 blogs, or 50 hours of audio from 50 blogs, for $4.95 or $8.95 a month.

I was curious to find out how this blog sounded in a text to speech format, so I started following the link “Want a Free Podcast of Your Blog?” This quickly led me to a scary looking partnership application which asked me to enter into a one-year independent contractor relationship with Talkr, where Talkr would generate an audio version of my blog, optionally include ads in my posts, and split ad and subscription revenue with me. In the grand scheme of things, it’s not all that onerous a contract (though it does a poor job of specifying who owns the derivative work that Talkr creates from my content)… but it’s pretty odd that a link from the front page of a site takes one straight into a legally binding agreement. Sorta like asking for a pre-nup agreement before the first kiss.

Rather than become a Talkr partner and recieve $7 (payable net 30 days, but only when I’ve generated $100 in affiliate income) from anyone who follows links from this post and becomes a subscriber, I decided to take advantage of my free membership and generate audio feeds for this blog and Global Voices. It was a surprisingly simple experience – enter the URL of a blog with an RSS feed, wait while the engine grabs the RSS feed and creates the files, then use an autogenerated page to choose which posts to listen to.

The resulting files don’t seem to have any DRM attached to them – I’ve downloaded two and uploaded them here for your enjoyment, the audio version of my recent post on outsourcing, and a post on blogs blocked in China on Global Voices, though the URLs they’re posted under are password protected on the Talkr site. The engine they’re using is fast and impressively good… which is to say, it’s pretty painful in comparison to listening to actual human speech, but vastly better than what I would have expected. (Which just goes to show that it’s a while since I’ve played with text to speech. AT&T has a great online demo that allows you to try converting text to speech in four languages with thirteen possible voices. I recommend Charles, who speaks UK English…)

While I’m impressed, I can’t really imagine listening to blogs this way. It’s possible to listen and understand what the synthetic voice is saying, but it’s way more work than listening to an actual human voice, and I suspect I’d get pretty tired after a few minutes of awkward pauses and intonations. Furthermore, I blog using a lot of links, which aren’t apparent in an audio version of my posts. And sites like Global Voices, which have multiple authors, aren’t well supported – all posts are identified as being from Global Voices rather than from an individual author. (Then again, I don’t have a visual impairment, and I can afford a subscription to Audible to eat up the long hours between Lanesboro and Boston. I can certainly imagine situations in which this would become very appealing…)

I’ve got some open questions about the intellectual property issues surrounding Talkr. I’ve never consented to a relationship with Talkr where they can produce derivative works based on my content, though they’ve offered me such a relationship. And since all the content on this blog is available under a Creative Commons attribution license, they’re fully within their rights to create derivates from my work, so long as they credit me. And they’re not tacking ads onto my content, though there’s a “bumper” that promotes Talkr, so they’re not directly generating income from my work. (Correction: as Talkr’s CEO points out in the comments section, they’ve not yet implemented these bumpers, and they’re only going to do so with partners who’ve agreed to a licensing deal, so the IP issue I was raising with the bumper is a non-issue.)

But I don’t get the sense that Talkr is checking for Creative Commons licenses before converting content (at least, nothing on the site indicates that they’re doing this), and I can imagine a situation where a blogger might be very pissed that Talkr is creating derivatives of her work without her authorization. (Imagine that you’re trying to make money from your blog. Readers who listen to your posts don’t hear the ads that line your website, and therefore you don’t get paid for delivering those ads.) Anyone know if Talkr is thinking through these issues and what they plan to do when bloggers complain about having their feeds translated into speech?

Bonus link: the Linux.com article about open-source text to speech engine Flite (Festival Lite) has an excellent collection of links to commercial and non-commercial TTS engines.

08/18/2005 (12:49 pm)

The Failing States Index, and the question of why some states that should fail, don’t

Filed under: Africa,Developing world,Media ::

FPs failing states map

Foreign Policy’s most recent issue features a Failed States Index, a listing and map of the sixty nations they believe are most likely to collapse, fail to control their borders, or generally failing to provide services to their citizens. Like all indexes, it glosses over a great deal of nuance to provide a single number. But the conclusions it draws are – I think – pretty interesting ones and worth a close look.

As FP’s editors point out in the introduction to the piece, “failed states” have become increasingly important in national security circles – in the 1990s, it was likely that anyone talking about failed states was a humanitarian activist. These days, thinkers like Tom Barnett and the gang at the Center for Global Development (see their recent publication “On the Brink”, which focuses on failing states) have become increasingly influential in shaping the thinking of military and political leaders regarding weak states. Conventional wisdom these days: any state that can’t control its borders may become a host state for terrorists and is likely to be used for drug and weapon smuggling. There’s another school of thought that suggests that states which fail to provide for the needs of their citizens run the risk of having their citizens recruited into terrrorist movements.

The gang at Foreign Policy and the The Fund for Peace used a methodology called the “Conflict Assesment System Tool” to rank the countries they’re considering. What’s interesting about the methodology is that it makes some broad assumptions about proximate causes for instability. Some factors – delegitimization of the state, the evidence of flight from a country – seem like clear indicators of impending conflict. Others seem harder to connect to impending conflict, especially “uneven development”, which would appear to be present in the vast majority of countries, conflicted and otherwise. Other factors – “human rights” (where I take it to mean “the absence of human rights”) – seem like they should be connected to state failure, but I’m not sure one can demonstrate evidence that the two are tightly linked…

The biggest surprise I had seeing Foreign Policy’s map: their number one failed state is Cote d’Ivoire. Iraq, with daily bombings, ranks 4th and Afghanistan, with a revived trade in heroin, ranks 11th. Somalia, with open-air arms markets and a government in exile comes in 5th place. Seven of the top ten states on the index are in sub-Saharan Africa.

It’s interesting to ask, “If Cote d’Ivoire is such a mess, why hasn’t it fragmented yet?” A similar question has to be asked: “How did Cote d’Ivoire possibly get this bad so quickly?” Until the late 90s, the nation was the economic powerhouse of the region. In some ways, the high rank it receives on this index is as much an indication of amazement that the country hasn’t fallen apart, given ethnic tensions and economic inequalities, as a prediction that it will.

Foreign Policy speculates that Cote d’Ivoire “would probably collapse completely if U.N. peacekeeping forces pulled out.” But there’s also an argument to be made that French peacekeepers are aggravating the situation in the country… and, indeed, the index includes a factor for “external intervention” – it’s not clear to me whether external intervention is an indicator that conflict is present, or a predictor of increased conflict because of outside meddling.

If this index is to be believed, Africa is likely to be wracked with civil wars in the next few years. A collapsed Cote d’Ivoire and recurrently collapsing Sierra Leone and Liberia should stretch ECOMOG resources to their limit, possibly straining Nigeria to the point of collapse. The Democratic Republic of Congo will melt down, and, with failing states in Chad and Sudan trapping it to the north, the weak government of the Central African Republic should fall as well. Ethiopia, already facing internal conflict, and now pinned between Sudan and Somali, is screwed, and the collapse of northeast Africa should force Uganda, Tanzania and Kenya to focus on regional stability and try to prevent a future war. After Zimbabwe fails and South Africa tries to deal with a refugee influx, we should expect that region to destabilize as well.

Oddly, this doesn’t seem to be happening. Instead, DRC is lurching towards elections. While Somalia lacks a government, Somaliland has a wealth of foreign investment, and a number of entrepreneurial phone companies. Liberians are returning home, from Ghana and the US. Despite a wave of civil wars on the continent over the past two decades, it looks like current African conflicts are more self-contained.

Perhaps one of the great miracles of Africa is that many of the states that should fail somehow manage not to.

Barnett, in his book “The Pentagon’s New Map”, suggests that these “disconnected” states listed in indexes like these are nations in which the US should be prepared to intervene, if neccesary to prevent the spread of instability. Unfortunately, it’s becoming increasingly clear that our intervention in Iraq has helped that nation become a truly failed state, and that our intervention in Afghanistan hasn’t stabilized the state as much as anticipated. Perhaps we need to do some more deep thinking about why African states haven’t collapsed yet before being willing to intervene, ensuring a collapse and rebuilding process…

« Previous PageNext Page »