Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.
maryrosecook
I have just added my first Playmary track that includes an image as the comment.  I have no idea why I haven't done this before.

This evening, I got off the U-Bahn at Görlitzer Bhf. and My Hometown by Bruce Springsteen came on my headphones and I looked down the platform and saw the clear, twilight Berlin sky and the sun falling out of the sky.  I stood a moment to take a photograph.
maryrosecook

Bruce Springsteen, My Hometown

maryrosecook

Syndicate


I have just re-discovered Syndicate and spent the afternoon playing a graphically crippled SNES version on my MacBook Pro. You can get the emulator here and the ROM here.

I played Syndicate on my PowerMac when I was fifteen. I have no idea where I got my copy - it was an old game even then. I was in love with it and another game, Myth II, around the same time.

Though they are very different, what I liked the same things about them: they let you use a few basic tools to create your own stories and solve problems on your own way, and they are set in a world that makes you lick your lips.


In Myth II, you have archers with flaming arrows and dwarves with satchel charges. You can light the grass on fire to corral the enemy into a narrow gully. You can use the satchel charges to blow up the front and back of a company of enemy soldiers, trapping the survivors in the middle. You can lure the enemy soldiers into an area and then tell your archers to fire their flaming arrows to ignite hidden charges.

You can create your own scenarios of destruction, and plot the enemy's demise like a story. Once you get good at a level, the carnage takes on an air of theatre, of ballet.

Each level in Myth II is just about wiping out the enemy's army, but Syndicate gives you more story to work with. The hyper-capitalist company for which you work needs a politician assassinating. He is to attend a mega-mall opening. You could lie in wait by the road and blow up his car as he passes. Or, you could hide your guns and blend in with the crowd and shoot him as he cuts the ribbon and then escape in his limousine. Or, you could take over the minds of his bodyguards and get them to kill him for you, then slip away unnoticed.


Though Myth II had very little story in the levels, the mise-en-scène is wonderful. The landscapes are so barren. They are like the muddy no man's land between the trenches in the First World War. Their sparseness draws attention to the soldiers like a stage draws attention to the actors. The environment dictates the story as in the theatre-like battle-fields of Flags of Our Fathers, or the cold Detroit in Narc that made the world into an inhospitable place that left the characters naked and aggressive and scared, a place where things happen that no one will see.
maryrosecook

Sukh Knight, Ganja Dub

maryrosecook

Getting thrown out of a lesbian bookshop

This evening, my colleague, Mike, and I left the Ableton office and got on the U-Bahn.  We battled through the cold, found the right street, then the right number, then followed someone into the right building.

We came up the stairs and into the lesbian bookshop.  There was to be a showing of Tan de repente, an Argentinian film about two punk rock girls who take a saleswoman on a road trip and try and seduce her.

We found a few women hanging around, one of them in debate with a bloke.  My German is not great, but it became clear that men are not allowed in the lesbian bookshop.  So, my colleague, the other guy and I left.

I was once involved in organising a feminist health weekender that was for women and woman-identified trans people only.  I felt that the event suffered because of that policy: the perspectives and ideas of my male friends were missing.  Further, I don't see how such a policy can be anything other that bigoted: it's prejudice in the literal sense, pre judgement.

The most frequently used justification for such a policy is based on creating safe spaces.  If you exclude those who a group feels could impinge on their freedom, you create a haven where people can act and think as they wish without fear of harm.

However, I think this is mistaken.  Just as much harm can come from those within a community as from those without.  Therefore, no security is gained for the loss in freedom.

It seems far more practical and inclusive to let the group decide what kind of behaviour is acceptable and then deal with any grievances if they arise.

I once helped to run a queer party in a social centre.  The venue had three policies: everyone was equal, and there were to be no bigoted language and no violence.  The key was that these policies gave everyone a hint on how they should behave, but were so vague that problems could be dealt with on a case by case basis, without reference to rules.

This meant that the queer party had no requirements of queerness.  However, when some drunk guys came in at four in the morning and one of them made a personal remark that my friend found offensive, it was perfectly OK to ask them to leave.

There are a few cases where exclusion seems reasonable.  I read about another feminist gathering where the sexual abuse survivor workshop was for survivors of abuse only.  Counselling, and consultations with solicitors and doctors are protected by law.  The common element seems to be that these are purely about private matters.
maryrosecook

Writing an mp3 crawler in Clojure

I've written an mp3 crawler to help me learn Clojure. It's 150 lines. I'm sure could be much shorter. There are some URL parsing bugs.

Like all my projects, the code I talk about in this article is open source. Get it from GitHub.

The basic flow

  1. Start with a URL, like saidthegramophone.com
  2. Request the page and find all the URLs on it.
  3. Save all the ones that point at mp3s.
  4. Note down how many mp3s were yielded.
  5. Throw away ones that definitely don't point at other HTML pages (images, Javascript).
  6. Throw away ones that are at hosts that don't seem to yield many mp3s.
  7. Add the rest to the list of URLs to crawl.
  8. Go to step 2 with the next item on that list.

Interesting points

Agents

URLs are requested by asynchronous agents in batches of twenty. Thus, they can be crawled much more quickly. crawl-batch-of-urls maps the twenty items in urls-to-crawl to the request-url function. This function creates a new http-agent and tells it to download the (HTML) content at the url. crawl-batch-of-urls then waits up to ten seconds for all the agents in the batch to finish, then passes them back.

Host scores

A record is kept of the mp3-richness of each host the crawler encounters. Each mp3 found on a host scores it a point. Each crawl of a URL on the host loses it a point. So, say www.saidthegramophone.com/archives/in_this_box_or_another.php was crawled and five mp3s were found, four points would be added to the score for www.saidthegramophone.com

update-host-scores updates a hash of hosts and scores after a new URL is crawled:

gen-host-scores -

- is called twice at the beginning of the program's execution:

Each time through the main execution loop, the urls crawled and urls saved thus far are written to disk. Thus, for the first call, an empty hash map is the starting point and each of the urls crawled costs its host one point. The second time, the hash of scores calculated the first time is the starting point and each of the mp3s found scores its host one point.

Being encouraged to think better

Through its immutable data structures and passable functions, Clojure is always pushing me to re-use code and employ recursion. I felt very cool when I was able to write the following function that accepts a function to filter a sequence:

The main loop

Scrawl, the function that runs the show. If the list of passed url-crawl-agents is empty, a new batch is created and scrawl is called again. If the next agent on the list failed to complete its data request, it is thrown away and scrawl is called again. Otherwise, the function calculates all the required data and calls itself.

maryrosecook

Dust Covered Carpet, Melodykathi

I walked home from the U-Bahn listening to this song tonight, and it took me through the corridor, across the courtyard, up the stairs, into my apartment; and it continued while I took my heart medicine and got a glass of water and removed my wristwatch.
maryrosecook

Fare-dodging on the Berlin U-Bahn

I've had my ticket checked by an inspector on the Berlin U-Bahn 4 times in 36 days.  I've done maybe 90 (36 x 2.5) journeys in that time.  The penalty for travelling without a ticket is €40 and a shouting-at.  Using the estimate for the number of journeys I've made, I've spent €190 on travel.  Therefore, provided I could stand up to the shouting, it would have been better to eat the fines.

There are certainly patterns to the ticket inspectors' movements.  They are probably most frequently seen during rush hours, and second-most frequently during office hours.  They are either assigned "beats", or they choose their own.  Either allows prediction of their movements.

My first thought was to make a site that let people log ticket inspector sightings: line, time, station.  That way, you could figure out the low risk routes and the low risk times.  However, if such a data source was public, the BVG [the organisation that runs the public transport in Berlin] could easily change their habits to catch people out.

My second thought was to make a website that let people share their inspector sightings with a trusted group of friends.  That way, if one group were compromised by the BVG, they would not compromise the data of the other groups.

The difficulty with this approach is that it's not viable for people who can't afford the fine.  In this wonderful article about insurrection, I read about a fare dodgers' union in Stockholm.  The dues are 100 kronor a month, as opposed to 500 kronor for a monthly ticket, and, if you get caught, the union pays the fine.
maryrosecook
maryrosecook

Des Ark, Peace to You Too, Motherfucker

Getting a new Des Ark song is like that last cigarette as the sun comes up.
maryrosecook
Play fullscreen
Live is so different from recorded.
maryrosecook

Bands are better live

I go to gigs/concerts/shows a lot.  Gigs are just better than records.

There is the sound of the audience booing or chatting or whooping or heckling or clapping.  Listen to the effect that the audience had on Bob Dylan at his "Royal Albert Hall" gig in 1966.

You can see the musicians making their music in front of you: how that ringing guitar sound is produced, or how he pulls of that riff, or how the drum player and the bass player have to make eye contact before the time signature change.  I saw Battles play at All Tomorrow's Parties last year and saw that Ian Williams does actually play the keyboard and guitar simultaneously.

The musicians play with more conviction because they are performing and they are having an effect not just on the air but on the people in front of them, and the low lights and emotional atmosphere give them license to scream the scream they felt when they first wrote the song.

The songs are different versions from those played on the record six months before because they can be adjusted in response to a changing idea of what sounds good, or at the discovery of a richer melody or simpler arrangement.  The album version of Sunset Rubdown's Us Ones In Between has the piano marking out the melody and the rhythm.  However, this live version has the piano nowhere and the song completely driven by a guitar string being alternately tightened and loosened.

Perhaps most tellingly, if a band has a live album, it is usually my favourite.  Here are some examples on a special Playmary I made.

Audio recordings capture a good portion of the musical advantages of live gigs.  YouTube is great for gig videos, but the experience is too diffused by video-hopping and varying sound quality and the ten minute limit: songs are good, albums are great.

I'm not quite sure where this is leading.

Famous bands are well documented and, just as importantly, well distributed.  It is easy to buy a Bruce Springsteen or Bob Dylan live album.  What if every gig was recorded and then put up on the 'net? A lead going from the sound desk into a cassette recorder and, later, a lead from the cassette recorder to a computer would be enough.  A quick upload to a website and it would be available to everyone.
maryrosecook

Addiction is...

A very moving account from Mark Pilgrim.
maryrosecook
maryrosecook

Custom additions to the Firefox dictionary from the last two weeks

Bürgeramt, emphasise, limonade, afterwards, eco, maryrosecookmusic, Afterwards, perceptron, fantasised, vokü, Temazepam, houmous, deoxygenated, lasagne, Friedrichshain, paralyse, bassy, dreamt, Skype, unsynchronised, organise, theatre, crescendoed, mojitos, yoghurts, Kensington, centred, realised, skittery, Facebook, unconferences, strappy, incongruent, Kreuzkölln, dicksuck, Kreuzberg, Orangienstr, Pilsner, Serpico, texted, Playmary, miaow, spelt, ungirlfriend, Blonde, CDs, analysing, Doulton.
maryrosecook

(Lone) Wolf & Cub, Back To The Future Pt. 4 (Back To The Future Pt. 2 Again)

I've been listening quite a lot to the record from which this is taken. Good beat-downs, great flinging scream, and just the right side of thrash.
maryrosecook

Bruce Springsteen, Point Blank

My friend, Richard, played this song at my leaving party.
maryrosecook

La Dispute, Andria

La Dispute are painfully emo: the strangled shouting, the talking, the abortive screams. But the album from which this song is taken is incredibly compelling. It's been my soundtrack for walking and U-Bahning around Berlin, my inner-head background humming for drinking in bars, the counter-tone to the creaking of the snow under my shoes. The record is very well crafted: it has a symmetry to it that had formerly only been achieved by Circle Takes the Square, and there is an unusual elegance to the shifts from youth crew to spoken-word to beat-down to space rock.
maryrosecook

mary rose cook music, Jeans Slung Low

maryrosecook

Adding keyboard control to Playmary

Playmary is my audio autobiography site.  You create an account and upload songs that you are listening to a lot, or that symbolise what is going on in your life.

Up until now, you would click on songs to play and pause them, and when one song ended, the next would play.

I've added some new code that lets you move through the playlist with the left and right arrows, and pause and play the current song with the space bar:

Code adapted from the source in this article.

The only downer is the space bar is a shortcut for scrolling in Safari, Internet Explorer and Firefox.  Dan W and I couldn't think of any conventions for play controls in the browser.  j/k/l seems too obscure, and I really want the controls to mimic iTunes.  Hmmm.
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.