Rickrolling lyrics were mined several times into the blockchain.
The first currently known instance is as a link right during the prayer wars on block 142573 (2011-08-25) as the miner message:which redirects to www.youtube.com/watch?v=mGDuExhS6Nw&blockchain
Militant atheists, bit.ly/naNhG2 -- happy now?"
Around block block 246k (e.g. 27b7c526489dac8245747fa1c425a2e3eb07dea57b294eb4ae583fec9b859fcf, 2013-10-17) we note several transactions starting with a XML format followed by lyrics also base64 encoded as part of the XML metadata. Hidden surprises in the Bitcoin blockchain by Ken Shirriff (2014) was not able to identify the exact format either. At twitter.com/EMBII4U/status/1655831533750562816 EMBII mentions that this was part of an upload test.
<CG SZ="1156"><MG>...
the first one being 0b4efe49ea1454020c4d51a163a93f726a20cd75ad50bb9ed0f4623c141a8008 As mentioned not very clearly at www.righto.com/2014/02/ascii-bernanke-wikileaks-photographs.html#ref12 the content of the first <MG><payload></MG>
is a Base64 encoded stringCatagory: Poetry
Title: Never Gonna Give You Up
Performer: Rick Astley
Writer: Mike Stock, Matt Aitken, Pete Waterman
Label: RCA Records
tx d29c9c0e8e4d2a9790922af73f0b8d51f0bd4bb19940d9cf910ead8fbe85bc9b (2013-11-13) contains a plaintext Rickroll lyric in an output script via OP_RETURN.
tx 15b11e8d4e5b9425f024b381ba0cb7a54a35e52389bb4855f505772ce685b39c (2014-06-24): starting from this transaction, the lyrics were inscribed several times via input scripts. Then again:They were mega obnoxious!!! Who does this kind of crap for more than one year!!!
- 8bb9db70e24202fdfd0e48b57a11a407e6c8c0e76d879634b801b4345b8810b2
- b881afa519804a3c93a3c99481517ca8ae070b84c04e8e7a2bfb808e043f9771
- 70c8405bd0ec10bea49b78a819dfbf46c1082e7e620588f9da65a90b71e52bbd
- fc4e382793757858bec4b87527caa4bf2e6f71bb2f5a77bb41a45ddb9ed9d409
- f011e71b711aa54a0c824244fff83fb8b1e1921804624fa0523a6e61612b7f6f
- a8691cdbca5b82e4e48812e48b7a09e4757801fd3909a09975de957d1bfb52dc
- d8946aa464be464674bba6d15729d75572ec75dda49fe7ff0ede1a25ca054941
- d02864cd57c9d041dbd9d6f24327f347b92697a8bc3c86cdf8b738063c6ad002
- 9b78962d840f1ff681e5042264e4d0359cda98ce49d97569df14ce956622b966
- 7bdc22fb35f0a8eb6241782a306a8904fb6f793126ff106a04a96f9f223cb8e1
- e24a4085c54a6362e615f8eab758c12d80e488b73757e6d2b8ab6bfc8be7007e
- 4257f4980955d8376ee1c6bccb4396da726e4ae13d758e47dc4e0775019723f5
- a09b49e9374d43386a6a986944e3dcf515c7e1c38324836df5333b8adbe57797
- 03096688dbb874f7c571691e4241a298284bf4184be339b148f1b48f383a1d7c
- 62f8b228b6126354736d36d9f3b91882bb81eca7702b74fba6471abc7db96a03 (2015-09-30)
XML file format (but with 99% of the action of interest in a domain-specific language on the
CsInstruments
and CsScore
elements) that can be played and the reference implementation. Offers complex effects out-of-box apparently.Allows you to easily define instruments with seemingly arbitrary mathematical functions, and then use them to play notes at given time intervals.
The instrument functions can be parametrized, and each note played can have different parameters.
The instrument definition actually defines a block diagram graph, much like a hardware synthesizer would.
Csound is so not-bloated that it contains an UI system. And it includes an interactive virtual MIDI keyboard that interacts with parameter knobs: www.csounds.com/manual/html/MidiTop.html
But hey, it's fun. And like any other good domain-specific language, debugging it is barbaric of course.
If only it had been written in Python... the array manipulation boilerplate would be likely perfect for NumPy, and this would have been exactly what Ciro Santilli wanted!
CSound states that one of its design goals is backward compatibility, and it shows. Some of the stuff is utterly arcane, e.g. you have to remember what
GEN10
, GEN11
, etc. mean instead of having named enums.It just worked on Ubuntu 20.04 no questions asked:which runs this file: github.com/csound/csound/blob/92409ecce053d707360a5794f5f4f6bf5ebf5d24/examples/xanadu.csd and this plays a relly cool sound demo:
sudo apt install csound
git clone https://github.com/csound/csound
cd csound
git checkout 92409ecce053d707360a5794f5f4f6bf5ebf5d24
csound examples/xanadu.csd
Save to file instead of playing:or direct ogg output:or pipe to stdout to FFmpeg TODO: stackoverflow.com/questions/64970503/how-to-pipe-csound-output-to-ffmpeg-for-conversion-without-an-intermediate-file
csound -o xanadu.wav xanadu.csd
csound --ogg -o xanadu.ogg xanadu.csd
TODO find the most amazing set of songs made with it on GitHub? Some examples:
- www.csounds.com/toots/index.html has a good 101 on instrument design
- Csound FLOSS manual
- iainmccurdy.org/csound.html about 100 CC BY-SA examples. Each is a minimal study showing a specific technique, not a full composition, some seem advanced. Dude's a beast.
- github.com/csound/csound/tree/f2e70825fb543a6b15011c6984371f61ab2a00dd/tests/soak in-tree minimal examples
- github.com/csound/manual/tree/4049b286493d972ff7248b5596e47e7ae97a0cf9/examples contains the examples for the manual which is rendered at: It's insane, but it's fun! Ah those newbs who separate manuals from main tree.
- linuxsynths.com/CsoundPatchesDemos/csound.html on LinuxSynths
- github.com/csound/examples/tree/ae578159328178142c1055c7f78e28b42eb29774/csd as a few dozen examples
- freaknet.org/martin/audio/csound/ 10 pieces with source
Documentation-wise, it's a bit lacking. The only dude who can explain it really well, Dr Richard Boulanger, made the "The Csound Book" closed source, so, congrats, this will forever hurt the popularity of Csound.
Examples:
- csound/sine.csd
- csound/amplitude_frequency.csd
- csound/linen.csd: simple attack/release envelope, documented at: www.csounds.com/manual/html/linen.html
- csound/chorus.csd: chorus effect
- csound/bend.csd: bend using
linseg
- csound/vibrato.csd
- csound/crossfade_generators.csd
- csound/table.csd
- csound/virtual_keyboard.csd
As of the 2020's, a slumbering giant.
But the pre-Internet impact of IBM was insane! Including notably:
- some of the most important business computers of the pre-personal computer era
- SQL
- IBM Generalized Markup Language, which is a predecessor to XML and HTML
XML, ain't nobody ever going to write that manually.
XML predecessor.