Ludwig Van

The BBC has been offering free downloads of the BBC Philharmonic performing Beethoven’s Symphonies as a part of their Beethoven Experience. I finally finished downloading the entire set. I also leeched (using realdump) the complete Sonata Cycle, as performed in 2003 by Artur Pizzaro. The BBC website doesn’t allow resume transfers on downloading, so I had to have several tries at some of the files. And a couple of the Sontatas don’t seem to be all there - but there ain’t any more on the server.

Memory Leak

iTunesRater seems to be leaking memory, and I think I know where. I discovered this by just watching the amount of memory it used, and each time a new track plays, the memory usage goes up. I think it’s to do with the artwork display: I thought I deleted the image being displayed, but maybe I don’t. Before I update the image with a new one, I use the code:

        delete image of image view “Artwork”

(both times: when I replace the artwork in the main window, and the previous track drawer). However, unless I’m missing something else, this is where the leak is!

acronymmer.py final (?)

Taking into account the comments on PhotoMatt’s acronymit page (where I shamelessly stole some ideas, including the list of words!), I’ve modified acronymmer.py so that it:

  1. Does not apply <acronym> tags to instances that have been acronymmed already.
  2. Does not apply tags to instances that are inside href or title strings.
  3. Does not save the file if no changes have been made.

Here it is, including my current acronym list. (I know some of these are Abbreviations, but ecto, and some browsers do not handle this tag). Also, this code needs to be re-pasted - I was trying to make it (XHTML) valid, and it’s broken now.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
    #! /usr/bin/env python
        
    'A script for ecto that adds abbr and acronym tags to the text'
        
    acronyms = {
    'WYSIWYG' : 'what you see is what you get',
    'XHTML' : 'eXtensible HyperText Markup Language',
    'IIRC' : 'if I remember correctly',
    'HDTV' : 'High Definition TeleVision',
    'LGPL' : 'GNU Lesser General Public License',
    'MSDN' : 'Microsoft Developer Network',
    'WCAG' : 'Web Content Accessibility Guidelines',
    'SOAP' : 'Simple Object Access Protocol',
    'OPML' : 'Outline Processor Markup Language',
    'MSIE' : 'Microsoft Internet Explorer',
    'FOAF' : 'Friend of a Friend vocabulary',
    'GFDL' : 'GNU Free Documentation License',
    'XSLT' : 'eXtensible Stylesheet Language Transformation',
    'HTML' : 'HyperText Markup Language',
    'IMAP' : 'Internet Message Access Protocol',
    'RAID' : 'Redundant Array of Independent Disks',
    'MPEG' : 'Motion Picture Experts Group',
    'JPEG' : 'Joint Photographic Experts Group',
    'CSTA' : 'Central Scorpions Touch Association',
    'CDDB' : 'Compact Disc DataBase (Gracenote)',
    'XBMC' : 'Xbox Media Centre',
    'VNC' : 'Virtual Network Computing',
    'URL' : 'Uniform Resource Locator',
    'W3C' : 'World Wide Web Consortium',
    'MSN' : 'Microsoft Network',
    'USB' : 'Universal Serial Bus',
    'P2P' : 'Peer To Peer',
    'PBS' : 'Public Broadcasting System',
    'RSS' : 'Really Simple Syndication',
    'SIG' : 'Special Interest Group',
    'RDF' : 'Resource Description Framework',
    'AOL' : 'American Online',
    'PHP' : 'PHP Hypertext Processor',
    'SSN' : 'Social Security Number',
    'JSP' : 'Java Server Pages',
    'DOM' : 'Document Object Model',
    'DTD' : 'Document Type Definition',
    'DVD' : 'Digital Versatile Disc',
    'DNS' : 'Domain Name System',
    'CSS' : 'Cascading Style Sheets',
    'CGI' : 'Common Gateway Interface',
    'CMS' : 'Content Management System',
    'FAQ' : 'Frequently Asked Questions',
    'FSF' : 'Free Software Foundation',
    'API' : 'Application Interface',
    'PDF' : 'Portable Document Format',
    'IIS' : 'Internet Infomation Server',
    'XML' : 'eXtensible Markup Language',
    'XSL' : 'eXtensible Stylesheet Language',
    'GPL' : 'GNU General Public License',
    'KDE' : 'K Desktop Environment',
    'STB' : 'Set Top Box',
    'MP3' : 'Mpeg Layer 3',
    'PVR' : 'Personal (Digital) Video Recorder',
    'GUI' : 'Graphical User Interface',
    'CLI' : 'Command Line Interface',
    'AAC' : 'Advanced Audio Coding',
    'IE' : 'Internet Explorer',
    'CD' : 'Compact Disk',
    'GB' : 'Gigabyte',
    'MB' : 'Megabyte',
    'KB' : 'Kilobyte',
    'TV' : 'TeleVision',
    'PC' : 'Personal Computer',
    'NSLU2':'[Linksys] Network Storage Link (USB) 2.0'
    }
    
    
    import sys, re
    data = open(sys.argv[1]).read()
    olddata = data
    
    # replace only the first instance of each acronym/abbreviation
    for each in acronyms:
        d = re.search(r'(?!<.*(title|href)='*>)?\b%s\b(?!(.*'>|</acronym>))' % each, data)
        if d:
            data = data[:d.start()] + '<acronym title='' + \
                   acronyms[each] + '>' + \
                   each + '</acronym>' + data[d.end():]
        
    if data <> olddata:
        open(sys.argv[1],'w').write(data)

Chapter Tool GUI

Apparently, Apple has a new tool for adding Chapter information to AAC files, but it is CLI only. I’ll write a wrapper GUI for it tonight, since Jaq is away, and I don’t need to go to bed tonight. But first, Chicken & Chips.

SubEthaEdit: Copy as XHTML

Man, this is cool. After reading about it on Fraser Speirs’ blog, I tried SubEthaEdit’s Copy As XHTML. (⇧⌘C) It is extremely good. See:

1
2
3
4
5
6
7
    #! /usr/bin/env python
        
    """A script for ecto that adds abbr and acronym tags to the text"""
        
    TODO = """
    Lookup on the internet for a list of acronyms/abbreviations?
    """

The only thing missing for me is the ability to paste this into ecto, and have ecto be able to edit it in Rich Text mode, rather than just HTML. (Oh, and I think my stylesheet is stopping the comment/string/keywords appearing in colour). Edit: No, it was an issue with double-quotes being escaped by a slash! I’m not sure what caused it, but it was annoying

composed and posted with ecto

TouchSA Job Opportunity

Project Officer - Communication & Game Development Touch football is one of South Australia’s favourite sports with 14 affiliated competitions running across the state which include large numbers of women and juniors. The state body is also responsible for the administration and management of its State and National representative programs. Due to changes in the management structure of the sport Touch SA has the opportunity to introduce the new position of Project Officer - Communication & Game Development. This newly formed position will be responsible for the daily running of the states largest competition City Touch situated in the Adelaide Parklands as well as working on other programs and projects being delivered by the state body. The successful candidate will possess the following qualifications and experience.

  • Demonstrated success in project management.
  • Demonstrated success in the delivery of sporting programs.
  • Excellent written and oral communication skills supported by interpersonal skills of a high order.
  • Demonstrated high level negotiation and facilitation skills.
  • Demonstrated experience and skills in volunteer management.
  • Demonstrated ability to consistently display customer services principles, practices and attributes.
  • Demonstrated initiative and self management.
  • Tertiary qualifications in sport management or related field desirable.

An information pack is available on the Touch SA website at: www.touch-sa.asn.au A remuneration package commensurate with qualifications and experience will be negotiated with the successful candidate. For further information contact Gavin Macdonald on 08 8373 3222. By close of business on Friday 15 July 2005, applicants should email a brief overview of their qualifications and experience as they relate to the selection criteria above, together with a resume containing contact details of referees to: Membership Services Manager South Australian Touch Association membershipservices@touch-sa.asn.au

Updated: acronymmer.py for ecto

I’ve improved acronymmer.py, my script for adding acronym tags to posts in ecto. It will work with any file, however, that is passed as an argument to the script. There is one issue with ecto, and that is that abbr tags are not recognised by the Rich Text parser, so I’ve just set it to convert tags to acronym only for the time being. (Note to Adriaan: You should fix this!) Don’t run this script over the same text twice: it will re-tag them, resulting in messy (but still legal) code. Also, this needs a little fixing: the dictionary of items needs to return keys in size order, rather than just randomly.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    #! /usr/bin/env python
        
    'A script for ecto that adds abbr and acronym tags to the text'
    
    import sys, re
        
    acronyms={'WYSIWYG':'What You See Is What You Get', 
              'DOM':'Document Object Model',
              'XHTML':'eXtensible HyperText Markup Language',
              'NSLU2':'[Linksys] Network Storage Link (USB) 2.0'
             }
        
    # get input data - depends on implementation.  For ecto:
    data = open(sys.argv[1]).read()
        
    # replace only the first instance of each acronym/abbreviation
    for each in acronyms:
        d = re.search(r'\b%s\b' % each, data)
        if d:
            data = data[:d.start()] + '&lt;acronym title="' + \
                   acronyms[each] + '"&gt;' + \
                   each + '&lt;/acronym&gt;' + data[d.end():]
        
    #return data to ecto
    open(sys.argv[1],'w').write(data)

Theme Conversion (Benevolence)

I’ve converted another WordPress theme to work with Blogsome: check it out on legendtest.blogsome.com for the time being, until it goes live on the site it will belong on.

Boys & Their Toys.

There’s three guys on the train behind me, and they have spent the whole trip talking about cars. It has bored me shitless.

Strange Comment Spam

I checked my blog comments this morning, and got quite excited. Normally I get a comment or two per week, but today there were 11 new comments. And they were for a variety of different posts, ones from recently and some from quite a while ago. I clicked on the Comment arrow in the Dashboard, and was intrigued to see they were all meaningless jumled letters. 11 comments, all spam, all with 2 links in them, all not pointing at anything in particular. I mass-deleted them, but probably should have inspected them a little more closely first, just to see what the story with them was. I did notice they all came from different IP addresses, all used reasonable first names as the Commenter Name, and all had the same set of character in them: erdfcv. A quick Google on this provided not many clues. There is a user on immigration.com forums, and an eBay user, and a whole lot of foreign (non-English) language pages. Chinese, Arabic, Polish, Hungarian, and Korean, to name a few. Then I looked at the keyboard.

qwERt
 asDFg
  zxCVb    

I’m such a tool, this is not a random set of strings, but a common(ish) method of coming up with a set of letters. Like QWERTY but less recognisable.