My failed Firefox Mobile Private Browsing AddOn experiment

Nope, there’s no Private Browsing in my favourite mobile browser (yet). But as I have Firefox Sync activated between my 3 Firefox instances (winXP@work, Ubuntu-netbook@home and on my SGS2), I very much want to avoid syncing some of my browsing history over to my work-laptop. Developing addons for Firefox has become very easy and the JavaScript API does include access to the Private Browsing features, I quickly wrote this little addon to switch between Private and Non-Private browsing via the context menu using the online addon-builder:

var pb = require("private-browsing");
var myItem = require("context-menu").Item({
label: "Start Private Browsing",
contentScript: 'self.on("click", self.postMessage);',
onMessage: function () {
 if (pb.isActive) {
  pb.deactivate();
  this.label = "Start Private Browsing";
 } else {
  pb.activate();
  this.label = "Exit Private Browsing";
 }
}
});

All seemed great on my desktop Firefox, but it doesn’t work on Firefox Mobile. I could have known, if only I had read the documentation a bit more carefully: the context-menu and private-browsing modules aren’t functional on Firefox Mobile yet. Guess we’ll have to be good boys (and girls) while browsing on synced Firefox Mobile. But instead we can play around with the online Firefox addon-builder, that’s (another kind of) fun as well!

Now you CNAME now you can’t

Yesterday at work I had a discussion with one of the guys in charge of our DNS. I asked him to create a CNAME record on one of the domains under our authority, pointing to an external canonical name, but he kindly refused. So I asked whether this was company policy of some kind, as I saw no technical reasons for this not to work, but he answered:

No, the problem is technical; the hostname one points to, has to be managed on the same DNS-platform and this can’t be done in this case as we’re not the SOA for the external domain

So to prove my point (yeah, that’s how I roll) I created a temporary CNAME-record on my own domain, pointing to the external hostname (much the same way static-cdn.futtta.be is just an alias for blog.futtta.netdna-cdn.com) but that did not convince my colleague either:

Making a SOA on a server where that isn’t allowed, is not really according to the standards.

As the change was pretty urgent and there weren’t any important downsides, I adapted my change request for the DNS-entry to be created as an A-record. But in the mean time I started reading up on CNAME’s on Wikipedia and glanced over the two relevant RFC’s (RFC 1034 and RFC 2181), but I really can’t find any confirmation of what my (respected) colleague is referring to. But I’m sure there are smarter people reading this here blogpost who might be able to explain what I am obviously missing, no?

Join the Internet Defense League

Member of The Internet Defense LeagueYesterday I added a notification bar to this blog which invites visitors to join the Internet Defense League.
The notification bar is one of the several ways to participate with your own site or blog. I really liked the modal version better but that one seemed a tad too disruptive (I’m not 100% sure visitors would immediately understand this being an overlay with the actual blogpost underneath) and based on some tests on webpagetest.org (after adding internetdefenseleague.org and internetdefenseleague.s3.amazonaws.com to my WP DoNotTrack whitelist) it turned out to be significantly slower as well. The notification-bar variant has a more limited impact on page load time; only one extra 4.9KB request before document complete and a total of 5 requests at 14.1KB, which is … acceptable for this performance-nut.
So if you, like me, believe that we as internet-users should unite to take action against any law that goes against our interest (think SOPA, PIPA, ACTA, HADOPI, …), then joining the Internet Defense League might be a good idea.

As found on the web (July 18th)

generic (feed #49)
generic (feed #49)
generic (feed #49)
generic (feed #49)
generic (feed #49)
blog (feed #46)
generic (feed #49)
blog (feed #46)

The SoundCloud of extreme battery drain

Never mind my initial enthusiasm about SoundCloud on Android; I uninstalled the bugger after noticing extreme battery drain, which seems linked to its background synchronization. Before uninstalling, I tried to:

  1. switch on “wifi only syncing”, which did not help
  2. disable all 4 items (left part of image) being synced, which did not help
  3. disable SoundCloud sync altogether, which did not seem to help either
  4. remove the SoundCloud-item from the list of synchronization sources, which inconveniently also logged me out of the app rendering it pretty useless

I contacted SoundCloud support, who confirmed they are working on a fix (although the release notes mentions battery drain a couple of times, guess this is not an entirely new issue). But until then I guess I’ll have to download the individual tracks from the SoundCloud website to listen to “It is what it is” on my Galaxy SII, no?

Hey you, what’s that SoundCloud?

I had already created my SoundCloud-account two years ago, but I only started to use it earlier this week after searching the web for DJ-sets by Kevin Saunderson (whom I heard play a mesmerizing set on “Studio Ibiza” shortly before). I clicked around and also found Four Tet, Floating Points and Flying Lotus and well … I was hooked. To my disappointment SoundCloud does not offer RSS-feeds, but I found CloudFlipper to be a nice workaround and started adding feeds to my RSS-reader.
Great and all that, but it turned out to be pretty cumbersome to add individual SoundCloud pages to my RSS-reader that way. After logging into the web app and installing SoundCloud’s magnificent Android app I found it a lot more convenient to just follow all those great artists (mainly electro) and seeing their work stream by on the dashboard.
So there I am, in trapped in that great walled garden that is SoundCloud (although they integrate nicely with that other closed social ecosystem). Now back to listening to Laurent Garnier‘s amazingly eclectic “It is what it is” radioshow.

As found on the web (July 11th)

generic (feed #49)
blog (feed #46)
generic (feed #49)
generic (feed #49)
blog (feed #46)
generic (feed #49)
blog (feed #46)

Stopping WordPress media attachments comment spam

I just had my monthly look at the comments spam queue and was baffled by the amount of spam-comments on WordPress attachments. WordPress, surprisingly, has no option to disable comments on media, so based on information in this codex page about the comments_open function, I quickly assembled a plugin to stop comments on items in the media gallery altogether. The code (which can also be added in functions.php instead of going into a plugin):

<?php
/*
Plugin Name: No Media Comments
Author: Frank Goossens (futtta)
Plugin URI: http://blog.futtta.be/
Author URI: http://blog.futtta.be/
Description: Stop comments on media attachments
Version: 0.1
*/
add_filter( 'comments_open', 'noMediaComments', 10, 2 );
function noMediaComments( $open, $post_id ) {
$post = get_post( $post_id );
if ( 'attachment' == $post->post_type )
$open = false;
return $open;
}
?>

After throwing that at my server and seeing it worked, I realized there had to be a plugin for this and I indeed found Disable Comments and Comment Control in the wordpress.org plugin repository. Both plugins are by the same author and are only slightly different in scope really. So if you want to stop the comment spam on attached images on your WordPress blog, you’ve got several options. But shouldn’t this be tackled in WordPress core instead, really?

100000 WP YouTube Lyte downloads and beyond

Feeling proud: WP YouTube Lyte got downloaded for the 100000th time today around 16h30;

In the meantime I started work on version 1.2.0, the main new feature being support for responsive design. It will probably be released in the 2nd half of July, unless you want to beta-test that is.
Anyway, thanks for all the downloads, here’s some Underworld (“Glam Bucket”) to chill out to on this lazy Sunday evening:

Underworld Glam Bucket