Partial Facebook Fix

A while ago I blogged about Facebook having some problems.  Well it appears they may have done something rather odd.

After seeing a Facebook post by Jonathan Roscoe, I have decided that Facebook must be tagging posts as adverts…By uninstalling my default AdBlock plug-in in Chrome and instead using AdBlock Plus which allows for more customisation, I was able to put Facebook on my whitelist.

Below is a video (sans sound) which walks through the steps of installing AdBlock Plus and customising it using Google Chrome 9 on OS X, but this should work on Windows and Linux too.  Other browsers should have similar plug-ins or customisations available.

UPDATE: This doesn’t seem to cure all problems, though it does solve some.

Oh Dear Facebook...

It seems that everyone is having some problems with Facebook at the moment.  They are getting notifications saying someone has written on their wall, but find that their wall hasn’t been updated for a week or two.

I have been bitten by this oddity and decided to vent by filing a bug report.  After navigating to the Facebook Help Centre I had a quick glance at the “Common searches” box.  Here is what I found:How fantastic is that?  The most searched for articles are about people leaving Facebook, or trying to keep a hold of what privacy they have left!

Facebook is one of the most, if not the most, popular social networking sites on the web.  However, with the site increasingly opening up people’s data and it’s recent instability, it is getting more and more of a bad reputation.

Away from civilisation for five years

The other evening Faye and I watched the film, Cast Away.  I didn’t watch the whole film, but the overall plot was man gets stuck on island, everyone thinks he’s dead, he comes back after five years.

I started to think about what it would be like if I had found myself left on a deserted island five years ago (2005), what sort of technology would I have missed?

To set the scene somewhat, in late 2005 I was a second year Sixth Form student studying for an AVCE in ICT, an A-Level in Music Technology, and an AS-Level in Economics. I had recently built my first computer, a Pentium 4 with a whole 1GB of RAM and a Club 3D GF7300GS graphics card, my mobile was a Sendo S230 and was rarely used.  I was being educated using the Microsoft environment, Windows XP, Office, Visual Studio, with some Adobe CS2 stuff too.  I was using a mixture of old System 8 Macs and newer eMacs running OS 10.3 in the recording studio.

[caption id=“attachment_1140” align=“aligncenter” width=“300” caption=“Sendo S230 - My first phone”]Sendo S230 - My first phone[/caption]

Back in 2005 Apple was still using PowerPC processors, was selling OS 10.4, Tiger, and was enjoying the boom of the iPod in the forms of the Classic, and the newly introduced Shuffle and Nano (which replaced the Mini).  Microsoft was still plugging Windows XP, Office 2003, and Internet Explorer 6.  Flash was still a part of Macromedia and Adobe had nothing to do with it.  Mobile phones were getting polyphonic ringtones and flashy colour screens, but were still quite primitive.

Had I gone missing around November 2005 and been found a week ago, I may be sitting here now wondering why all of my friends had deserted MySpace, or why the Dennis forums didn’t work the same as they once had.  Using my old Sendo S230 I might finally find that friends were now on this site called Facebook, a site made for all sorts of social interactions from leaving private and public messages and instant messaging, to playing games and sharing photos.  Of course I may still be getting used to this iPhone that has been placed in my hand, baring in mind my old Sendo had basic functionality (phone, text, simple games, stop watch, etc) and that I would have been removed from similar technology for five years, an iPhone would have been a wonderful and surprising leap. Looking across someones shoulder I might see a stylish board which gains input through the screen, this device would have been an iPad or some Android clone, had I seen this device before a new laptop I would probably run to the window to see if people were riding flying cars thinking “Just how much has technology advanced?”.

I would have completely skipped Windows Vista and might have been quite happy to sit down at a Windows 7 box, Windows 7 might even be running on a Mac, what the hell would I think then!?  Just a few months after I had disappeared Apple would announce a transition to Intel’s CPUs allowing users to run Windows. Back in 2005 CRT monitors still dominated most of where I looked, today I can’t say when I last saw a CRT monitor in use, it might have been back when I worked at Sun…

Today mobile technology is so much more advanced, just look at smart phone hardware and software today, 1GHz chips and hundreds of megabytes of memory.  Five years ago those sort of specs wouldn’t have been terrible in an office desktop… My iPhone has 16GB of storage space, compare that to my old Sony Ericsson which had a measly 256MB.

Granted the last five years hasn’t been the most exciting with regards to technology, but I think many people are happy with the progress.  Multi-core chips and more advanced operating systems help people work faster every day, mobile phones now manage our emails, calendars, and provide us with relatively powerful computing power on-the-go. The next five years could see everything doubling or more in power again, I think we might see more tablets come into use, though they may be a fad…No one knows!

OpenIndiana

Back last year Oracle canned the OpenSolaris project.  A group of developers forked the source and created the Illumos project which aimed to maintain the base of OpenSolaris as well as develop open code to replace the closed binaries that OpenSolaris included.

The community was generally very happy with the release of Illumos, however, it soon realised that the project wasn’t there to replace the desktop and server OS that users knew and loved.  Enter OpenIndiana!

OpenIndiana aims to fill the hole left by OpenSolaris.  It is a release that will be based on Illumos (though for now it is still based on the underlying OpenSolaris code) and aims to provide users with a server/desktop OS that is nicely packaged up.

I have been using OpenIndiana since about November and must say that it has been very stable for my needs.  The last stable release of  OpenSolaris fell over from time to time on my home server, but I’ve had no such hiccoughs with OI. I updated my OpenSolaris machine using the upgrade instructions found here.

While OpenIndiana doesn’t change much cosmetically, it’s a step in the right direction, giving consumers a chance to run a Solaris derived OS for free.  I hope that one day it can compete on a desktop level with some of the more popular Linux distros, though I reckon it’ll do most of it’s battle in the data centre.

Film Sorter Script

On my server I have a store of films located at /share/media/movies.  Using NFS I share this directory to various other computers on my home network.  For a long while Faye has been asking me to categorise them into genres and cast, but with over 300 files I’ve been loath to do it by hand, so I thought I’d automate things using Perl.

Using the IMDB::Film module I have been able to automate all of the data gathering.  The module goes off and searches IMDB for a matching title (in this case I try searching for the file name sans the extension.  Once found you can query the returned object about data such as cast member, genre, director, etc. Using this data I then create new folders based on the genre name or individual cast names, then symlink the original file to the new folder.  When I mount the general movie folder and the sorted movie folder, everything ties in well and works pretty nicely!

It does have it’s flaws, a couple of films have come back and been the wrong one as IMDB confused the title, but overall it does the job.

If you know a bit of Perl, here is the script for you to modify for your own needs: #!/usr/bin/perl

=head1 License Copyright 2011 Ben Lavery. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY Ben Lavery ``AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Ben Lavery OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Ben Lavery. =cut

use 5.010; use File::Spec; use IMDB::Film; use Cwd;

Get current working directory

my $cwd = cwd();

Set up log file

$LOGFILE=‘/var/tmp/media_script_log’; open(LOGFILE, “>>”, “$LOGFILE”) or die “can’t open $LOGFILE: $!“;

Set up where the categories are to be stored

$SORTED = “/share/media/sorted”; $GENRE = “$SORTED/genre/”; $ACTOR = “$SORTED/actor/”;

The directory that contains the media is the first argument

$DIRECTORY = $ARGV[0]; die “Directory doesn’t exist. Stopped” unless -d $DIRECTORY;

Get list of films

opendir(DIRHANDLE,“$DIRECTORY”) or die “Cannot open $DIRECTORY. Stopped”; my @files = sort readdir(DIRHANDLE); close(DIRHANDLE);

Iterate through the list of films and act on each

foreach $media (@files){ chdir($DIRECTORY);

# Skip folders and hidden Mac OS X files
next if ($media eq ".DS_Store");
next if (-d $media);

say "Starting: $media";

# Set up variables
my $title = undef;
my @starring = undef;
my @genre = undef;
my $IMDB = undef;

# Strip extention
$_ = "$media";
s/(.*)..*/$1/;

my $error_incurred = 1;
while($error_incurred){
    $@ = undef;
    # Create IMDB object and search for the title
    eval{$IMDB = new IMDB::Film(crit => $_) || say "UNKNOWN ERROR - RETRYING";};
    #Check for errors.  If there are errors, try again
    $error_incurred = 0 unless $@ && (!$IMDB->status);
}

# Find the correct title
# This is because "The Lord Of The Rings 2" gets translated to "The Lord Of The Rings: The Two Towers"
$title = $IMDB->title();
say "tTitle is: $title";

$error_incurred = 1;
while($error_incurred){
    $@ = undef;
    # Search for actual title
    eval{$IMDB = new IMDB::Film(crit => $title) || say "UNKNOWN ERROR - RETRYING";};
    #Check for errors.  If there are errors, try again
    $error_incurred = 0 unless $@ && (!$IMDB->status);
}

# Get lists of cast and genres
@starring = @{$IMDB->cast()};
@genre = @{$IMDB->genres()};

# Add films to sorted directory
chdir $GENRE;
foreach $genre (@genre){
    # If genre directory doesn't exist, create it
    mkdir $genre unless (-d $genre);

    # Calculate relative path between media directory and sorted directory
    my $genre_specific_dir = "$GENRE/$genre";
    my $path = File::Spec->abs2rel($DIRECTORY, $genre_specific_dir);
    $path .= "/$media";

    my $newpath = "$GENRE/$genre/$title";

    # Create symlink
    symlink($path, $newpath);
}

chdir $ACTOR;
foreach $actor (@starring){
    # Get name of the current actor
    my $name = $actor->{name};

    # If genre directory doesn't exist, create it
    mkdir $name unless (-d $name);

    # Calculate relative path between media directory and sorted directory
    my $actor_specific_dir = "$ACTOR/$name";
    my $path = File::Spec->abs2rel($DIRECTORY, $actor_specific_dir);
    $path .= "/$media";

    my $newpath = "$ACTOR/$name/$title";

    # Create symlink
    symlink($path, $newpath);
}

# Print message saying that the current media file has been processed
say "FINSHED.";

}

close(LOGFILE);

chdir $cwd; print “a”;

iOS VLC fails after all :(

Back in November a mobile version of VLC was released for the iPhone/iPad/iPod Touch.  Many people cheered as the open source media player graced their iOS device.  Though some people didn’t…

Rémi Denis-Courmont, one of the original contributors to the VLC project, objected to a GPL’d project being available on the Apple App Store and what restrictions Apple forced upon it. On 9th January Rémi posted on his blog “On January 7th, I was told by an Apple attorney that VLC media player had been removed from the App Store. That is how I was able to break the news first. However as can be expected from an attoryney, there was not really any explanation.” Applidium, the iOS VLC developers, received a letter from Apple stating that they were sorry the dispute couldn’t be resolved, see Rémi for details…

So there we have it, the VLC has gone from the App Store…It has yet to be deleted from my iPhone, but I can be sure there will be no updates in the future.

Another triumph for the consumer friendly GPL!

Happy 2011

Happy 2011 everyone, I hope everyone has a good night and a great 2011.

Adium Gains IRC Support - Colloquy to die?

Adiam is an awesome app for OS X which is based on the same code as Pidgin.  Adium has the advantage of being the same as many other open source instant messenger clients out there as well as being coded specifically for OS X and all the Aqua goodness one could ask for.

The latest release of Adium (v1.4) was let loose on 31st October this year and touts the following changes:

  • Requires Mac OS X 10.5 or later
  • Added Twitter
  • Added IRC
  • Greatly improved group chats and group chat bookmarks
  • Updated to libpurple 2.6.6 with added fixes
  • Mind-bogglingly large number of enhancements and bug fixes The addition of IRC is one that I am really excited about.  For over a year I have used the OS X app called Colloquy and I really wish I could say it was good, but it really leaves a lot to be desired.  It’s a fine IRC client, just a terrible attempt at creating an Aquafied interface.

For long time users of Adium, IRC feels natural, it feels like a group chat and it really works.  Throw in tabbed conversations and you can switch between IRC channels, MSN chats and other features.  It’s a great addition to an already brilliant app.

[caption id=“attachment_1133” align=“aligncenter” width=“300” caption=“Adium 4.1 chat window showing IRC channels”]Adium 4.1 chat window showing IRC channels[/caption]

VLC for the iPhone could fall thanks to the GPL

VLC, the popular open source media plater, has been ported to the iPhone by Applidium.  The media player is available via the App Store for free.

VLC is licensed under the open source license called the GNU General Public License, this license has very extreme views on how the code can be used in an open way.  For example it can’t be used with closed code unless code under another specific license is used between the GPL and closed code, you can’t relicense code that is under the GPL, you can’t restrict people using it for anything. Which this all sounds good, it’s not always great for the consumer.

Apple operates a pretty much closed shop (OK, they do do a lot of open source work, but a lot of what they do is closed).  This works for them, they sell a you single copy of OS X for each machine  you own (there is, of course, volume and family packs), they make more money this way. The GPL doesn’t work with Apple’s way of doing things.  Apple say “You shall be authorized to use Products on five Apple-authorized devices at any time” (from here), the GPL doesn’t like things like that.

A man called Rémi Denis-Courmont who contributed some of the original source code to the VLC project has called for the VLC app to be pulled from the App Store.  Over on Planet VLC Rémi’s blog post is mirrored (published 26th October).  He states “users of iOS-based devices would be deprived of VLC media player, as a consequence of the intransigently tight control Apple maintains over its mobile applications platform”.  Some might argue that the GPL forces similarly tight control over code that is licensed under it.

So, for the time being VLC is available.  But we’ll see how long it stays there for.  If everyone who wants it buys a developers license, we can all download the source code and install it on our own devices, of course.

UPDATE

I’d like to quote something Gavin, the author of TechBeast, said on the x404 forums about the GPL: > As this VLC debacle is showing, the GPL is just as much a barrier to free software reaching critical mass. How many new desktop VLC users would have been gained by the app store presence? It’ll presumably prevent VLC from entering the Mac app store too. How many more free software gems will be hamstrung by the GPL, doomed to languish in obscurity?

Alarm Clock Bug in iOS 4.1

This week I am working the early shift at work.  I must be in Machynlleth by 5am meaning that I’ve got to get up at 3:30am and leave by 4:30am.  However, today when my 3:30 alarm went off, it was actually 4:30…

This bug has already been seen in Australia and revolves around moving out of, or into, Summer Time.  Strangely, one off alarms seem to be OK, it’s those recurring alarms - you know, the ones you might set to repeat every weekday to get you up for work - that will trigger this bug.

Here’s some screen shots, I set this alarm at about 4:50 this morning and wanted it to go off every weekday at 5am, needless to say it went off at 6am:

So, tomorrow my alarm will be set for 2:30am, and will be set for an hour early until an update appears!