Roy's Keen

"Roy's Keen" is a song by Morrissey, released as a single in October 1997. It was the second single to be taken from the Maladjusted album and was the third Morrissey single not to feature himself on the cover, instead a photograph of two boys taken by Roger Mayne on London's Southam Street in the 1950s.

"Roy's Keen"
Single by Morrissey
from the album Maladjusted
Released6 October 1997 (UK)
GenreRock
Length3:36
LabelIsland (UK)
Songwriter(s)Morrissey, Alain Whyte
Producer(s)Steve Lillywhite
Morrissey singles chronology
"Alma Matters"
(1997)
"Roy's Keen"
(1997)
"Satan Rejected My Soul"
(1997)

The single reached number 42 on the UK Singles Chart. The failure to reach the top 40 meant that a recorded performance of the song for Top of the Pops did not air until it was shown on Top of the Pops 2 in 2003.

The title is a pun of the name of former Manchester United footballer Roy Keane—a fact Morrissey acknowledged during live performances of the song by changing the lyrics to "never seen a keener midfielder". The song was played over the closing credits of Keane's 2002 documentary As I See It.

Despite being released as a single, the song was omitted from Maladjusted's remastered CD reissue in 2009.

Track listings

7" vinyl and cassette

  1. "Roy's Keen"
  2. "Lost"

12" vinyl and CD (UK)

  1. "Roy's Keen"
  2. "Lost"
  3. "The Edges Are No Longer Parallel"
Country Record label Format Catalogue number
UKIsland7" vinylIS671
UKIsland12" vinyl12IS671
UKIslandCompact discCID671
UKIslandCassetteCIS671

Musicians

  • Morrissey: vocals
  • Martin Boorer: guitar
  • Alain Whyte: guitar
  • Jonny Bridgwood: bass
  • Spencer James Cobrin: drums

Reception

In his review for AllMusic Ned Raggett described the title track as "one of Morrissey's most curious songs; the music is okay enough, though his band can and have done better, but the lyric is about a window cleaner, of all things." Raggett preferred the B-sides, especially The Edges Are No Longer Parallel, "one of his all-time best songs."[1]

gollark: Anyway, going through #12 in order:> `import math, collections, random, gc, hashlib, sys, hashlib, smtplib, importlib, os.path, itertools, hashlib`> `import hashlib`We need some libraries to work with. Hashlib is very important, so to be sure we have hashlib we make sure to keep importing it.> `ℤ = int`> `ℝ = float`> `Row = "__iter__"`Create some aliases for int and float to make it mildly more obfuscated. `Row` is not used directly in anywhere significant.> `lookup = [...]`These are a bunch of hashes used to look up globals/objects. Some of them are not actually used. There is deliberately a comma missing, because of weird python string concattey things.```pythondef aes256(x, X): import hashlib A = bytearray() for Α, Ҙ in zip(x, hashlib.shake_128(X).digest(x.__len__())): A.append(Α ^ Ҙ) import zlib, marshal, hashlib exec(marshal.loads(zlib.decompress(A)))```Obviously, this is not actual AES-256. It is abusing SHAKE-128's variable length digests to implement what is almost certainly an awful stream cipher. The arbitrary-length hash of our key, X, is XORed with the data. Finally, the result of this is decompressed, loaded (as a marshalled function, which is extremely unportable bytecode I believe), and executed. This is only used to load one piece of obfuscated code, which I may explain later.> `class Entry(ℝ):`This is also only used once, in `typing` below. Its `__init__` function implements Rule 110 in a weird and vaguely golfy way involving some sets and bit manipulation. It inherits from float, but I don't think this does much.> `#raise SystemExit(0)`I did this while debugging the rule 110 but I thought it would be fun to leave it in.> `def typing(CONSTANT: __import__("urllib3")):`This is an obfuscated way to look up objects and load our obfuscated code.> `return getattr(Entry, CONSTANT)`I had significant performance problems, so this incorporates a cache. This was cooler™️ than dicts.
gollark: The tiebreaker algorithm is vulnerable to any attack against Boris Johnson's Twitter account.
gollark: I can't actually shut them down, as they run on arbitrary google services.
gollark: Clearly, mgollark is sabotaging me.
gollark: I submitted them but they were all wrong.

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.