Archive for June, 2008

My Twitter client available for download

Thursday, June 26th, 2008

Somebody out there wants it, so here it is

Update: I’ve moved this to the SVN server. To get them:

  1. svn co http://svn.strawp.net/scripts/tw
  2. svn co http://svn.strawp.net/lib/twitter.php
  3. chmod u+wrx tw
  4. make sure TWITTER_EMAIL and TWITTER_PASSWORD are defined

“tw h” for help text.

My CLI client gets its own ascii Fail Whale

Thursday, June 26th, 2008

I’ve been using my own PHP-based CLI Twitter client pretty much since signing up (the Twitter API is so simple). You can view your timeline, tweet, view replies and view and send direct messages all via the command line, and I’ve just added the now-famous Fail Whale image to the error output, see this screenshot for an example.

The source isn’t published at the moment, but if you want it I’ll clean it up (take out my hard-coded username and password) and upload it – just leave a comment.

The whale is based on this one which I turned into my own version reversed with added twitter birdies.

DRM, shmee-RM

Monday, June 9th, 2008

Looks like I overestimated the file encryption entirely on the last BBC update. Fortunately some people still had their own “clear” versions of some programs which they could compare directly with the newly encrypted downloads, noticing that what some of us thought was a DRM scheme was actually just a simple XOR of the video stream with two repeating bytes. A quick perl script later and P Lewis, posting on Paul’s blog had a working video file just like the old scripts produced.

P Lewis has since incorporated this update into a really nice full featured script for browsing and downloading video from iPlayer.

I really hope this update wasn’t what the iPlayer team were doing for the last couple of months. Bloody waste of license payer’s cash if it was.

iPhone iPlayer hole gets DRM’d (no, properly this time)

Friday, June 6th, 2008

It’s looking like files downloaded from the iPhone iPlayer interface are now unplayable on devices other than the iPhone. Previously this was wide open to allow anyone to download Quicktime (H.264) video over HTTP directly from the site, but it now appears that although the video can still be downloaded it is encrypted (probably with Fairplay DRM).

More technical details on the Wiki as they come in.

(See also Paul Battley’s blog)

While I’m at it: AAC to MP3 conversion script

Wednesday, June 4th, 2008

Based on Converting FLAC to MP3 in Linux (I tweaked the LAME settings a bit though):

#!/bin/bash

# Converts all AAC (m4a) files in a folder into mp3s, plus the id3 tag
# Requires faad, lame, id3v2

for a in *
do
  # Check the file is a flac file
  if [[ "$a" =~ (m4a)$ ]]
  then
    # Name of outfile
    OUTF=`echo "$a" | sed s/\.m4a/.mp3/g`
    echo "$a => $OUTF"

    # Capture all the FLAC metadata
    ARTIST=`faad -i "$a" 2>&1 | grep "^artist" | sed "s/.*: //g"`
    TITLE=`faad -i "$a" 2>&1 | grep "^title" | sed "s/.*: //g"`
    ALBUM=`faad -i "$a" 2>&1 | grep "^album" | sed "s/.*: //g"`
    GENRE=`faad -i "$a" 2>&1 | grep "^genre" | sed "s/.*: //g"`
    TRACKNUMBER=`faad -i "$a" 2>&1 | grep "^track" | sed "s/.*: //g"`
    YEAR=`faad -i "$a" 2>&1 | grep "^date" | sed "s/.*: //g"`

    # echo "$ARTIST - $TITLE - $GENRE - $TRACKNUMBER"

    # Convert the audio data from AAC to MP3
    faad -w "$a" | lame -V 2 -m j -b 192 -B 224 -s 44.1 - "$OUTF"

    # Tag the resulting MP3 with the captured metadata
    id3v2 -t "$TITLE" -T "$TRACKNUMBER" -a "$ARTIST" -A "$ALBUM" -g "$GENRE" -y "$YEAR" "$OUTF"
  fi
done

Converting FLAC to MP3 in Linux

Wednesday, June 4th, 2008

A quick howto…

If you’re using a desktop debian distro, just use SoundConverter:

sudo apt-get install soundconverter

If you’re shelling into a server (or you just prefer CLI), you’ll need a script and a few audio tools. Here’s the bash script (based on this one):

#!/bin/bash

# Converts all flac files in a folder into mp3s, plus the id3 tag
# Requires flac, metaflac, lame, id3v2

for a in *
do
  # Check the file is a flac file
  if [[ "$a" =~ flac$ ]]
  then
    # Name of outfile
    OUTF=`echo "$a" | sed s/\.flac/.mp3/g`
    echo "$a => $OUTF"

    # Capture all the FLAC metadata
    ARTIST=`metaflac "$a" --show-tag=ARTIST | sed s/.*=//g`
    TITLE=`metaflac "$a" --show-tag=TITLE | sed s/.*=//g`
    ALBUM=`metaflac "$a" --show-tag=ALBUM | sed s/.*=//g`
    GENRE=`metaflac "$a" --show-tag=GENRE | sed s/.*=//g`
    TRACKNUMBER=`metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g`

    # Convert the audio data from FLAC to MP3
    flac -c -d "$a" | lame -m j -b 256 -s 44.1 - "$OUTF"

    # Tag the resulting MP3 with the captured metadata
    id3v2 -t "$TITLE" -T "$TRACKNUMBER" -a "$ARTIST" -A "$ALBUM" -g "$GENRE" "$OUTF"
  fi
done

Save that off in your path, make it executable:

chmod u+wrx flac2mp3

and run it from an location with mp3s in. It’ll convert all FLAC files to identically named MP3 files with the id3v2 information based on the FLAC metadata.

You’ll need flac, metaflac, id3v2 and lame:

sudo apt-get install flac id3v2 lame

Happy converting 🙂

Beebhack moved to Wikia

Monday, June 2nd, 2008

I had a very nice email from Angela at Wikia this morning, inviting me to move the Beebhack Wiki over to their hosting. I think the only reason Beebhack wasn’t over there in the first place was potential hassle around getting a free wiki approved by their staff. Since they’d been kind enough to email me over there, this was no longer a problem.

So, a good time to take advantage of a better implementation of MediaWiki than we had at BluWiki and hopefully some better uptime. Angela even imported all our existing wiki data for us.

Beebhack.wikia.com