Archive for: November, 2010

First block?

Nov 25 2010 Published by under MediaCreeper

I’ve seen signs that at least one media organization has actively blocked MediaCreeper, it’s the Swedish newspaper Aftonbladet. They have almost disappeared from the toplist and latest pages, only a few hits per day.

I’ve foreseen this situation and have a solution, it’s a bit complicated, a WordPress-plugin (called “Creeper-Ping”) that acts like a proxy — it will forward each page-load to the MediaCreeper server to verify if it’s a hit/miss and serve back the banner accordingly. This plug in is still in early beta and I have it installed on my Swedish blog for testing and development purposes only, it seems like I have to spend a few hours this weekend to get it into production quality.

It’s prepared for several more sites just like MediaCreeper, as the underlying framework is going to be released as open source as soon as I bang it into shape.

I’ve been thinking about how to distribute the collection of traffic across several domains, with a little help from trusted friends and perhaps a few domains or subdomains, a simple PHP-proxy could be hosted on any server, in any directory .. as long as there is some coordination, this would make it possible to use Javascript to include the banner, which would get loaded from the proxy-script, which in turn would report it to MediaCreeper as a hit or miss.

No responses yet

Thoughts about the future of MediaCreeper

Nov 17 2010 Published by under MediaCreeper

I’ve been thinking for a while about rewriting the whole shebang from scratch, again. This time in C, to make it faster, smaller and more efficient. A compiled binary that has a webserver, template engine, support for REDIS, MySQL and other stuff, everything rolled into a single file.

I’ve been playing with a thought about sketching it all out on a large sheet of paper, putting it up in my home office, both as a reminder and a mind map/general layout illustration of how it works in detail.

Maybe it’ll be done when MediaCreeper turns three, four or more. A the moment it’s just a bunch of thoughts. I’ll take it from there.

No responses yet

MediaCreeper, two years and going…

Nov 16 2010 Published by under MediaCreeper

Today MediaCreeper turned two years old. I posted the following text on it’s Facebook group;

Late last night or really early this morning, MediaCreeper turned two years. The first day on the internet, November 16 2008 MediaCreeper got about 150 hits from oldmedia and a hits of about 26000 unique IPs — today on average it get 1500-5000 hits from oldmedia and a total of about 180000-225000 unique IPs .. every day.

To celebrate this big day, MediaCreeper got yet another language aside from Swedish; English. In a few days, there will be yet another language, this time Norwegian.

As the quote above states, I updated it with a new language and it’s now the default for visitors, it will open up for even more users and visitors. Let me know if there is any misspellings or such.

No responses yet

Translations

Nov 06 2010 Published by under MediaCreeper

I’ve been working a bit with translations, it’s really simple. There are text fragments in an XML-document which each have a name, an example template (in English) for translation below.

<language name="XX" caption="(Language Name ex. 'English')" dir="ltr">
<item name="CREEPER_404_CONTENTS"><![CDATA[The page you are looking for does not exist, please check the URL. The URL you tried to fetch was <b>[%%CREEPER_404_URL%%]</b>]]></item>
<item name="CREEPER_404_HEADING">Not found</item>
<item name="CREEPER_404_META_DESCRIPTION">The page you are looking for does not exist, check the URL</item>
<item name="CREEPER_BADGE_ALT">Monitored by [%%CREEPER_NAME%%]</item>
<item name="CREEPER_FACEBOOK_SHARE_CONTENT">Share on Facebook</item>
<item name="CREEPER_HISTORY_HEADING">Report for [%%CREEPER_HISTORYDATE%%]</item>
<item name="CREEPER_HISTORY_META_DESCRIPTION">Report for [%%CREEPER_HISTORYDATE%%] on [%%CREEPER_NAME%%]</item>
<item name="CREEPER_HISTORY_NOHITS">No hits for [%%CREEPER_HISTORYDATE%%]</item>
<item name="CREEPER_HOWTO_CONTENT">Add this code snippet to all pages you want to monitor:</item>
<item name="CREEPER_HOWTO_HEADING">This is how to do it</item>
<item name="CREEPER_HOWTO_META_DESCRIPTION">With a small code snippet on your blog, you can monitor too</item>
<item name="CREEPER_INDEX_CONTENT"><![CDATA[<p><a href="[%%CREEPER_BASEURI%%]index">[%%CREEPER_NAME%%]</a> is a simple monitoring system for the public who want to see where the <em>fourth estate</em> are looking for information on the Internet. It presupposes that you are contributing and take care of your part of the surveillance. The aim is to try to add to the discussion of "old media" news coverage innefficieny. Do they write about what they read in blogs and forums?<br />If not, why?</p><p>By exposing what journalists and reporters are interested in, you can see if there is a discrepancy between what is relayed in media and what they read online. Often raised the question why the media does not write about things of interest to many citizens, and can be seen in particular blogs.</p><p>By entering a piece of code somewhere on your website, <a href="[%%CREEPER_BASEURI%%]howto">[%%CREEPER_NAME%%]</a> will gather information about which IP addresses that visit your site. Anyone who surfs can hide their address or browse from a place other than the news room, so it's not completely optimal. <a href="[%%CREEPER_BASEURI%%]latest">[%%CREEPER_NAME%%]</a> is not a way to get your statistics, but the functionality makes it possible to follow "old media" who browse the web.</p><p>The statistics, found on a page that is public for all. You do not need to register to begin monitoring "old media", it's enough to link to <a href="[%%CREEPER_BASEURI%%]index">[%%CREEPER_NAME%%]</a>. You can also follow the recent visits by an RSS feed. Just click on the icon that lead to the feed.</p><p>If the [%%CREEPER_NAME%%]-badge on the left has a red border, you are most probably surfing from an IP we are monitoring, thus being logged. In all other cases the the image appears as black and white an no information is stored.</p><p>Do you think anything is missing from the <a href="[%%CREEPER_BASEURI%%]ipblocks">IP address list</a>? Please send the IP address and it's owners name, the list will be updated from time to time with new ranges. Contact us by sending email to <a href="mail:mediacreeper@gmail.com">mediacreeper@gmail.com</a>. <a href="[%%CREEPER_BASEURI%%]index">[%%CREEPER_NAME%%]</a> has it's own group on <a href="http://www.facebook.com/group.php?gid=45274699051">Facebook</a> and you can also follow us on <a href="http://twitter.com/mediacreeper">Twitter</a>.</p><p>[%%CREEPER_NAME%%] is virtually identical in appearance and function with the original <a href="http://gnuheter.com/creeper/senaste">Creeper</a> which monitors Swedish government departments and bodies, the military and most political parties, the two individuals behind the respective website. We monitor two different things, the media and authorities. [%%CREEPER_NAME%%] was/is developed in some collaboration with <a href="http://pawal.blipp.com/">Patrik Wallström</a> though, who runs the original <a href="http://gnuheter.com/creeper/senaste">Creeper</a>.</p><p>Some people have contributed to [%%CREEPER_NAME%%] with sound advice, suggestions, moral support, text and graphics, I would like to thank them;<br /> <a href="http://pawal.blipp.com/">Patrik Wallström</a>, <a href="http://klamberg.blogspot.com/">Mark Klamberg</a>, <a href="http://opassande.se/">Marie "Emma" Andersson</a>, <a href="http://www.tedvalentin.com/">Ted Valentin</a>, <a href="http://martinalind.com/">Martina Lind</a>, <a href="http://twitter.com/skopat">Patrik Skoog</a>, <a href="http://twitter.com/jope">Johan Pettersson</a> and <a href="http://craphound.com/">Cory Doctorow</a>.</p><p><em>Christopher Isene</em></p>]]></item>
<item name="CREEPER_INDEX_HEADING">About MediaCreeper</item>
<item name="CREEPER_INDEX_META_DESCRIPTION">[%%CREEPER_NAME%%] is a simple system for monitoring media, the fourth estate, to expose where they search for information on the internet.</item>
<item name="CREEPER_IPBLOCKS_HEADING">This is the IP-blocks that we monitor:</item>
<item name="CREEPER_IPBLOCKS_META_DESCRIPTION">See which media [%%CREEPER_NAME%%] monitors</item>
<item name="CREEPER_LATEST_CONTENT">This is a list of the most recent 500 hits on the sites that we monitor. The blue asterisk next to the site name shows a page of all hits that site has received, a click on the organisation shows where the organisation has been.</item>
<item name="CREEPER_LATEST_HEADING_PART">Recent hits</item>
<item name="CREEPER_LATEST_LINKTITLE">Report for</item>
<item name="CREEPER_LATEST_META_DESCRIPTION">The most recent hits on [%%CREEPER_NAME%%]</item>
<item name="CREEPER_LATEST_REFERRER_UNKNOWN">(unknown/hidden referrer)</item>
<item name="CREEPER_LATEST_RSSLINK_TITLE">Latest RSS</item>
<item name="CREEPER_LINK_HISTORY_CAPTION">History</item>
<item name="CREEPER_LINK_HOWTO_CAPTION">Howto</item>
<item name="CREEPER_LINK_INDEX_CAPTION">About</item>
<item name="CREEPER_LINK_IPBLOCKS_CAPTION">IP-blocks</item>
<item name="CREEPER_LINK_LATEST_CAPTION">Latest</item>
<item name="CREEPER_LINK_TOPLISTS_CAPTION">Toplists</item>
<item name="CREEPER_NAMEPAGE_HEADING">These sites has been visited by [%%CREEPER_SITE%%]</item>
<item name="CREEPER_NAMEPAGE_LINKTITLE">Report for </item>
<item name="CREEPER_NAMEPAGE_TABLESUMMARY">Which sites has been visited by [%%CREEPER_SITE%%]?</item>
<item name="CREEPER_NAME_META_DESCRIPTION">These has been visited by [%%CREEPER_SITE%%], reported on [%%CREEPER_NAME%%]</item>
<item name="CREEPER_NAME_NOHITS">No hits for [%%CREEPER_SITE%%]</item>
<item name="CREEPER_PAGETITLE_404">[%%CREEPER_NAME%%] - Error page [%%CREEPER_404_URL%%]</item>
<item name="CREEPER_PAGETITLE_HISTORY">[%%CREEPER_NAME%%] - History for [%%CREEPER_HISTORYDATE%%]</item>
<item name="CREEPER_PAGETITLE_HOWTO">[%%CREEPER_NAME%%] - Howto</item>
<item name="CREEPER_PAGETITLE_INDEX">[%%CREEPER_NAME%%] - About</item>
<item name="CREEPER_PAGETITLE_IPBLOCKS">[%%CREEPER_NAME%%] - IP-blocks</item>
<item name="CREEPER_PAGETITLE_LATEST">[%%CREEPER_NAME%%] - Latest</item>
<item name="CREEPER_PAGETITLE_NAME">[%%CREEPER_SITE%%] on [%%CREEPER_NAME%%] - See who [%%CREEPER_SITE%%] visited!</item>
<item name="CREEPER_PAGETITLE_SITE">[%%CREEPER_SITE%%] on [%%CREEPER_NAME%%] - See who has visited [%%CREEPER_SITE%%]!</item>
<item name="CREEPER_PAGETITLE_TOPLISTS">[%%CREEPER_NAME%%] - Toplists</item>
<item name="CREEPER_REFERRER_UNKNOWN">(unknown/hidden referrer)</item>
<item name="CREEPER_RSS_LATEST_CHANNEL_DESCRIPTION">The most recent hits at [%%CREEPER_NAME%%]</item>
<item name="CREEPER_RSS_LATEST_CHANNEL_TITLE">Recent hits at [%%CREEPER_NAME%%]</item>
<item name="CREEPER_RSS_LATEST_ITEM_DESCRIPTION">Hit at [%%CREEPER_NAME%%] from [%%CREEPER_SITENAME%%]</item>
<item name="CREEPER_RSS_NAMES_CHANNEL_DESCRIPTION">The most recent hits for [%%CREEPER_NAMES%%] at [%%CREEPER_NAME%%]</item>
<item name="CREEPER_RSS_NAMES_CHANNEL_TITLE">[%%CREEPER_NAME%%] - recent hits from [%%CREEPER_NAMES%%]</item>
<item name="CREEPER_RSS_NAMES_ITEM_DESCRIPTION">Hit at [%%CREEPER_NAME%%] from [%%CREEPER_NAMES%%]</item>
<item name="CREEPER_RSS_SITES_CHANNEL_DESCRIPTION">The most recent hits for [%%CREEPER_SITENAME%%] at [%%CREEPER_NAME%%]</item>
<item name="CREEPER_RSS_SITES_CHANNEL_TITLE">[%%CREEPER_NAME%%] - Recent hits at [%%CREEPER_SITENAME%%]</item>
<item name="CREEPER_RSS_SITES_ITEM_DESCRIPTION">Hit at [%%CREEPER_NAME%%] from [%%CREEPER_SITENAME%%]</item>
<item name="CREEPER_SIDEBAR_SECTION_1_CAPTION">Reversed Surveillance</item>
<item name="CREEPER_SIDEBAR_SECTION_2_CAPTION">Others about Surveillance</item>
<item name="CREEPER_SIDEBAR_SECTION_3_CAPTION">Further reading</item>
<item name="CREEPER_SIDEBAR_SECTION_4_CAPTION">Switch Language</item>
<item name="CREEPER_SIDEBAR_SECTION_5_CAPTION">Adverts</item>
<item name="CREEPER_SITEPAGE_HEADING">These media has visited [%%CREEPER_SITE%%]</item>
<item name="CREEPER_SITE_META_DESCRIPTION">These has been visiting [%%CREEPER_SITE%%], reported on [%%CREEPER_NAME%%]</item>
<item name="CREEPER_SITE_NOHITS">No hits for [%%CREEPER_SITE%%]</item>
<item name="CREEPER_TOPLISTS_HEADING">Toplists - the last 7 days</item>
<item name="CREEPER_TOPLISTS_META_DESCRIPTION">[%%CREEPER_NAME%%]'s toplists, see which and where</item>
<item name="CREEPER_TOPLISTS_ORG_TABLEROW_HITS">Hits</item>
<item name="CREEPER_TOPLISTS_ORG_TABLEROW_ORG">Organisation</item>
<item name="CREEPER_TOPLISTS_ORG_TABLE_SUMMARY">hits from organisations</item>
<item name="CREEPER_TOPLISTS_SITE_TABLEROW_HITS">Hits</item>
<item name="CREEPER_TOPLISTS_SITE_TABLEROW_SITE">Sites</item>
<item name="CREEPER_TOPLISTS_SITE_TABLE_SUMMARY">hits on sites</item>
<item name="CREEPER_TOPLIST_LINKRSSTITLE">RSS for</item>
<item name="CREEPER_TOPLIST_LINKTITLE">Report for</item>
</language>

Earlier today I put together a translation for the Norwegian language. MediaCreeper now has three languages more or less ready for production, Swedish, English and Norwegian.

No responses yet

Fallback

Nov 03 2010 Published by under MediaCreeper

I just figured out how to add some fault-protection, as sort of fallback, if loading of the badge would fail. By adding onerror="this.src='http://mediacreeper.se/image';" to the badge-code which is pasted into pages it makes the badge a little more fault-resilient.

I know, the onerror event isn’t supported everywhere but Firefox and for all I know, MSIE supports it. It breaks validation of XHTML 1.0 Strict.

One response so far

English, in production

Nov 03 2010 Published by under MediaCreeper

I’ve finalized the English translation and put it on the production server, it’s not accessible to everyone just yet. I’d like to have some native English speakers to browse around for a while, hopefully finding all grammatical errors I’ve done. Comment and I’ll send you instructions on how to access the English bits.

November 16… only a few days from now.

No responses yet