The Thunderthief
The Thunderthief is John Paul Jones's second solo album.
Review scores | |
---|---|
Source | Rating |
AllMusic | |
Rolling Stone | (favourable)[2] |
The Thunderthief | ||||
---|---|---|---|---|
Studio album by | ||||
Released | 15 June 2001 | |||
Genre | Progressive rock, heavy metal, punk rock, instrumental rock | |||
Length | 46:13 | |||
Label | Discipline Global Mobile | |||
Producer | John Paul Jones | |||
John Paul Jones chronology | ||||
|
Track listing
All music and lyrics John Paul Jones, except where noted.
- "Leafy Meadows" – 5:10
- "The Thunderthief" Jones, Peter Blegvad – 5:58
- "Hoediddle" – 7:00
- "Ice Fishing at Night" Jones, Blegvad – 4:31
- "Daphne" – 4:50
- "Angry Angry" – 5:54
- "Down to the River to Pray" Traditional, arr. Jones – 4:17
- "Shibuya Bop" – 5:56
- "Freedom Song" – 2:37
Personnel
- John Paul Jones – vocals, 4, 6, 10, and 12-string Bass guitars, bass steel guitar, acoustic and Electric guitars, mandolin, electric mandolin, piano, organ, synthesizers, Kyma, koto, autoharp, ukulele, harmonica
- Terl Bryant – drums, percussion, toforan
- Nick Beggs – Chapman Stick on "Shibuya Bop" and "Leafy Meadows"
- Adam Bomb – guitar solo on "Angry Angry"
- Robert Fripp – guitar solo on "Leafy Meadows"
gollark: Even gets around the evil Global Interpreter Lock for maximum performance.
gollark: Enterprise-level, fully deterministic execution of random code. Totally secure!
gollark: ```pythonimport itertoolsimport multiprocessing as mchars = [chr(x) for x in range(32, 126)]chars.extend(["\t", "\n"])def generate_for_length(length): return map(lambda chars: "".join(chars),itertools.combinations(chars, length))def generate(): for i in itertools.count(): for s in generate_for_length(i): yield sif __name__ == "__main__": def start(func): proc = m.Process(target=func) proc.start() io_queue = m.Queue(maxsize=128) def printer(): while True: print(io_queue.get()) code_queue = m.Queue(maxsize=128) def generator(): for x in generate(): code_queue.put(x) def executor(): while True: code = code_queue.get() result = None try: result = repr(exec(code)) except Exception as e: result = repr(e) if result != None: io_queue.put(code + ": " + result) start(generator) for _ in range(4): start(executor) printer()```
gollark: Which do you think is slower: the execution or generation of strings?
gollark: ```pythonimport itertoolschars = [chr(x) for x in range(32, 126)]chars.extend(["\t", "\n"])def generate_for_length(length): return map(lambda chars: "".join(chars),itertools.combinations(chars, length))def generate(): for i in itertools.count(): for s in generate_for_length(i): yield sfor x in generate(): try: print(exec(x)) except Exception as e: print(f"{e} from {x}")```
References
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.