Recent Updates RSS Toggle Comment Threads | Keyboard Shortcuts

  • Bryn 7:03 pm on February 6, 2010 Permalink | Reply
    Tags: 57 channels and nothing's on, adhd, youtube   

    IDEA: Investigate Youtube user attention spans. 

    Today I watched a Dutch documentary on Stephen Batchelor on Youtube. It was split into three parts. Something I noticed was that the number of views registered against each part were widely variable – it seems that most people who started in never got to the end (although strangely, more people viewed the last part than the one in the middle).

    I thought I would investigate whether this is generally the case on Youtube, and to what degree. My results suggest that you should seriously think twice about presenting videos that have to be split into multiple parts, and should therefore frontload any information you wish to convey.

    Investigation design:

    1. Search youtube for videos that match the following criteria:
      1. Their name includes “part 1 of “.
      2. They have a working statistics block when accessed through the Google Data Protocol.
    2. Collect about 10,000 of these (or until Google cuts you off).
    3. Work out how many parts each one has by looking at the end of “part 1 of X”.
    4. For each one, search the user who put up the first video to see if every other part is also in their account, and has a working statistics block. We’ll assume that the parts of the video follow the same general pattern for their titles.
    5. Look at the data.
    6. ???
    7. Conclusions.

    Collection:

    I wrote a python program to collect the data, which you can find under a cut at the end of this post. Running it on the 6th of February yielded up 188 sets of videos that satisfied all the criteria we put in place.

    Preparation:

    One simple way of looking at the data is to normalise each count of views as a fraction of the initial number. First, some data massage has to take place.

    Excel seems to have trouble dealing with unicode strings in my tab delimited text, so I have romanised a few that had problems:

    • “طاش ماطاش ارهاب اكاديمي”, which appears to be an episode of Saudi Arabian comedy “Tash ma Tash” about terrorism training camps.
    • “恶作剧2吻 They Kiss Again Episode 20″ / “Episode 11″, which are episodes of Taiwanese romcom, “They Kiss Again“.
    • “ドラゴンクエスト4 ピアノメドレー”, a sentence which more or less contains no actual Japanese words: “Dragon Quest 4 Piano Medley”.

    Observations:

    Right out of the gate, the average ratio second part viewers to first part viewers is very low – approximately 51%. This seems to suggest to me that if you want to say something on youtube, make sure you can cram it into one upload before the audience runs out of patience. Once you get viewers through this transition from part one to two, however, they seem to stick around. Another observation is that it seems the final installment often does better than the intermediate ones, showing people jumping to the end.

    Check out my huge frickin’ chart (click for massive):

    Huge Chart

    I think the chart works well – it shows the precipitous dropoff right out the gate, and also the little “ski jump” effect for some last episodes. You might have noticed that one video in particular has a very severe case of this – They Kiss Again, Episode 20. Wikipedia lists this series as having 20 episodes, so I guess people were tuning in for the finale!

    (More …)

     
    • Nicholas 1:14 am on February 7, 2010 Permalink

      What happens if you normalise each series along the x axis as well, so that all shows take up the same width? I mean, if an episode has 10 shows, plot at 0.1, 0.2, etc, and if it has 20, plot at 0.0.5, 0.1, and so on.

  • Bryn 12:20 am on February 3, 2010 Permalink | Reply
    Tags: buggy-whip   

    Bookstores in Australia continue to live on borrowed time. 

    It is a good thing I love to pick up and thumb through books in person, because the price differential is rapidly moving beyond “amusing” and into the realms of “offensive”.

    Zen Mind, Beginner’s Mind (EAN:978-0834800793), by Shunryu Suzuki

    RRP: $26.95. Ok, retail has a lot of overheads.

    Booktopia.com.au: $24.25, + A$6.50 delivery.

    Book Depository UK: A$13.01, + A$0.00 delivery. Delivery time: 10 days.

     
  • Bryn 10:01 pm on February 2, 2010 Permalink | Reply  

    IDEA: Repurpose beam-cutting shop door alarms to protect against SIDS. 

    SIDS is a very complex syndrome with a variety of aetiologies and risk factors. However, one approach that seems both helpful and easy to implement is the practice of safer sleeping patterns – including sleeping infants on their back (see Back to Sleep, but watch out for positional plagiocephaly). Some thinking on SIDS links it to varieties of positional asphyxia (which can also be a risk with, for example, old or broken cribs).

    So. It would be neat if once you put a child down on its back, you could make sure that it doesn’t roll over. One approach to this problem is wrapping, which also would appear to minimise the odds of entanglement in bedding (another possible risk factor). But it also looks hot, and I’m not sure if it’s foolproof. Wouldn’t it be neat to take a door alarm like you see in retail stores (e.g. the Jaycar LA-5193 or equivalent), mount it on the ceiling or on a beam over the cot, and then put a reflective bunny decal or something on the front of baby’s sleeping clothes? I think this would work pretty well (although you’d want to replace the cheery “ding dong” with a relay into a siren or something).

     
  • Bryn 10:19 pm on February 1, 2010 Permalink | Reply
    Tags: running   

    Running Log 

    Went out for a ginger 2.5km with the Avalanches to see if my right leg is mending properly. Tendon seems fine now, but some pain in the muscles along the back of the thigh. Perhaps this is just stiffness from limping.

    I also ran open mouthed through a spiderweb, a misfortune I will now term “eating a freegan protein bar”.

    update: this turned out to be a big mistake – pain in the knee and muscles came roaring back about an hour later and got worse over the night’s sleep. off to physio.

     
  • Bryn 8:59 pm on February 1, 2010 Permalink | Reply
    Tags: all india radio, artopsy   

    Art Autopsy (Artopsy?) – “Echo Other” by All India Radio 

    A.I.R. are an Australian lo-fi electronica band. They sound like this:

    (i.e., fantastic).

    As I write, they’re having a sale on a lot of their back catalog, which means you can buy their records for $5 (+$2.50 shipping) and also get a digital download to while away the hours while you wait for it to arrive. Several of the albums include a PDF of an A3 poster of the cover art. They seem to have used an end to end digital process for this, and that’s very interesting because it leaves a sort of archaeological trace through the document that we can go and explore.

    Come join me! (Image heavy).
    (More …)

     
    • Nicholas 9:53 pm on February 1, 2010 Permalink

      Wait, so the bottom one is the original right? So they started off with a photo and then apocalypsified it? That’s pretty cool. Looks like the bottom one has just had Photoshop “posterize” done on it to reduce the number of colours, too.

    • Bryn 10:17 pm on February 1, 2010 Permalink

      Yes, that’s right. I tried using tineye to see if it could match the original up with something (had a look on a few stock photo search engines too) but couldn’t come up with anything.

  • Bryn 6:29 pm on January 31, 2010 Permalink | Reply
    Tags: phonies   

    HOWTO: Fake a celebrity death with Firefox, Greasemonkey and userContent.css 

    Richie and I recently hosted a screening party with the theme “dead celebrities”. We had decided to covertly scratch one of the films from the schedule and replace it with another to see if we could convince a credulous and slightly tipsy audience that the star had passed away in the last day or so. We settled on Neil Patrick Harris and the movie Starship Troopers. We would obviously need some kind of forged documentary proof, so using a computer that we controlled, we decided to forge an internet with a dead NPH.

    Step One: Rewriting the News

    Greasemonkey is a browser add-on that allows Firefox users to run short programs written in Javascript to interact / alter the webpages it displays. If that makes no sense to you, I apologise as the rest of this article will likely be an utterly opaque cipher. One thing that Greasemonkey excels at doing is replacing text or generally rewriting page HTML. Our script will read through each webpage the user loads, quietly replacing any references to a recently dead celebrity with references to the life and works of NPH. By applying these rewrites across the entire web, the user will receive a distorted view no matter which trusted website they attempt to visit.

    The script is heavily based on Mark Pilgrim’s “DumbQuotes” case study, which is section 5.5 of the book “Dive into Greasemonkey”. Thank you Mark. The skeleton of the program looks like this:

    // ==UserScript==
    // @name           DrDeadHorrible
    // @namespace      *
    // ==/UserScript==
    
    var replacements, regex, key, textnodes, node, s;
    
    replacements = {
    };
    
    function initialCap(f) {
      return f.substr(0, 1).toUpperCase() + f.substr(1);
    }
    
    for (key in replacements) {
      replacements[initialCap(key)] = initialCap(replacements[key]);
    }
    
    regex = {};
    
    for (key in replacements) {
      regex[key] = new RegExp(key, 'g');
    }
    
    textnodes = document.evaluate( "//text()", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0; i < textnodes.snapshotLength; i++) {
      node = textnodes.snapshotItem(i);
      s = node.data;
      for (key in replacements) {
        s = s.replace(regex[key], replacements[key]);
      }
      node.data = s;
    }

    We then fill in the replacements array with appropriate changes. The stuff on the left is replaced with the stuff on the right. J.D. Salinger had passed away the day before, so we decided to co-opt his news stories.
    replacements = {
      "J *D": "Neil Patrick",
      "J. *D.": "Neil Patrick",
      "jd": "Neil Patrick",
      "Jerome David": "Neil Patrick",
      "wrote": "starred in",
      "The Catcher in the Rye": "Harold and Kumar Escape from Guantanamo Bay",
      "Catcher in the Rye": "Undercover Brother",
      "literary": "hollywood",
      "writer": "actor",
      "write": "act",
      "writing": "acting",
      "book": "film",
      "1951": "2005",
      "novel": "blockbuster",
      "read": "seen",
      "Holden": "Doctor",
      "Caulfield": "Horrible",
      "author": "star",
      "publish": "produc",
      "produc ": "produce",
      "91": "36",
      "Salinger": "Harris"};

    This gets you a lot of the way, but one problem is that the photographs in the news stories are all of Salinger. We can’t really do much about that on the web at large, but we can fix it on Google News.

    Step Two: Photographs

    We’ll add a new section to the program that tries to replace the images. This goes after the existing code.

    Array.prototype.inArray = function (value)
    {
      var i;
      for (i=0; i < this.length; i++) 
      {
        if (this[i] == value) 
        { 
          return true;
        }
      }
      return false;
    };
    
    jdsPics = new Array();
    nphPics = new Array();
    
    var allImgs, thisImg;
    allImgs = document.evaluate('//img[@src]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i=0;i<allImgs.snapshotLength;i++) 
    {
      thisImg = allImgs.snapshotItem(i);
      var src = thisImg.src;
      if( jdsPics.inArray( src ) )
      {
        nphno = Math.floor ( Math.random() * nphPics.length ); 
        thisImg.src = nphPics[nphno];
      }
    }

    We now have to do the time consuming task of building up the arrays of pictures by searching google images for photos of NPH with a vaguely square aspect ratio. When you find one, add a line under nphPics = new Array(); like this: nphPics.push( "image url here" );

    Bulk up the jdsPics array in the same way by copying and pasting the image addresses of the pictures of Mr Salinger used on the Google News page. Lots of these will be data: urls, but they’ll still work fine.

    Step Three: Eliminating Greasemonkey Flicker

    One problem with this is that the Greasemonkey script generally fires once the page has finished loading its HTML. As Firefox displays the page as it comes down the pipe, this means you get the initially unchanged article which suddenly jumps and becomes the altered one. We can eliminate this by hiding everything on the page and then adding a line to our greasemonkey script to show everything again. To hide everything, add these lines to your userContent.css file.

     @-moz-document url-prefix(http://) {
        body{ display:none ; }
        body.vis{ display: block !important; }
    }

    and this line to the Greasemonkey script:
    var body = document.getElementsByTagName('body')[0];
    body.className =  (body.className)? body.className + " vis": "vis";

    Step Four: Enjoy


     
  • Bryn 11:24 pm on January 30, 2010 Permalink | Reply
    Tags: hunter s. thompson   

    A tale of Two Thompsons 

    Guess who’s coming to dinner?

     
    • Nicholas 12:16 am on January 31, 2010 Permalink

      Madness?

    • Bryn 5:29 pm on January 31, 2010 Permalink

      Don’t worry about the bats cosplayers, I thought. Poor bastard will see them soon enough himself.

  • Bryn 3:32 am on January 27, 2010 Permalink | Reply
    Tags: ,   

    Natsuko no Sake – Part 14 of 32 

    New post format – no cut, click for full size. Today you can learn about some famous types of rice, which are all real (except for the Tatsunishiki, as far as I can tell). A bottle of Gohyakumangoku sourced ginjoushu will set you back US$87 at Victoria & Albert’s restaurant at Walt Disney World.

     
  • Bryn 3:52 pm on January 9, 2010 Permalink | Reply
    Tags: arttools, avant-garde, diy, musique concrete   

    Wondering where I’ve been? 

    Here’s a preview of what I’m working on at the moment.

    More information: Wikipedia, UBUWeb.

     
  • Bryn 11:10 pm on January 3, 2010 Permalink | Reply  

    It’s 2010, and the api for doing audio programming on OSX is still terrible. To hell with you clowns, I’ll just do it in `sox`.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel