Archive for ‘logic’

August 16th, 2015

Build Notes: “Manual” Stator, Ubuntu 10.04 i686

The mission: build a working “Stator” (static bitcoind) by manually applying the relevant patches to TheRealBitcoin’s v-

Here’s proof o’ static and (the start of) block syncing on my machine:
static bitcoind

1. You’ll need to install a few packages before getting started, assuming you don’t have them already. At the terminal (ctrl + alt + t):

sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y libboost-python-dev
sudo apt-get install -y realpath
sudo apt-get install -y curl

And, of course, GPG:

sudo apt-get install -y gnupg

2. Grab TheRealBitcoin’s v0.5.3.1-RELEASE:

curl -s “” -o bitcoin-v0_5_3_1-RELEASE.tar.gz

And verify its checksum, which should be exactly 5c41fe6cf286770a25bf61ab0c35747d0c760f8656754296d2e1d3c4274b5686 :

sha256sum bitcoin-v0_5_3_1-RELEASE.tar.gz

3. Unpack the release tarball:

tar -xf bitcoin-v0_5_3_1-RELEASE.tar.gz

And navigate to the new directory where you’ve unpacked it:

cd bitcoin-v0_5_3_1

4. Download the seven patches necessary for the “stator” build, along with their signatures. For the record, these are, in order:

i. asciilifeform_dnsseed_snipsnip.patch
ii. asciilifeform_orphanage_thermonuke.patch
iii. asciilifeform_tx-orphanage_amputation.patch
iv. asciilifeform_zap_hardcoded_seeds.patch
v. asciilifeform_zap_showmyip_crud.patch
vi. asciilifeform_dns_thermonyukyoolar_kleansing.patch
vii. asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip.patch

Grab them like so:

curl -s -o asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch

curl -s -o asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig

curl -s -o asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch

curl -s -o asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig

curl -s -o asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch

curl -s -o asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig

curl -s -o asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch

curl -s -o asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig

curl -s asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch

curl -s -o asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch

curl -s -o asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig

curl -s -o asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch

curl -s -o asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig

curl -s -o asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch

curl -s -o asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig

5. Verify their checksums, which should match the string in the corresponding file names:

sha1sum asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig

sha1sum asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig

sha1sum asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig

sha1sum asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig

sha1sum asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig

sha1sum asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig

sha1sum asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig

sha1sum asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig

6. Now verify the signatures. If you don’t already have the patch author‘s public key (gpg --list-keys), grab it with:

gpg –keyserver –recv-keys 0xB98228A001ABFFC7


gpg --verify asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch

gpg --verify asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch

gpg --verify asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch

gpg --verify asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch

gpg --verify asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch

gpg --verify asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch

gpg --verify asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch

7. Now the actual patching can begin:

patch -p1 -d bitcoin < asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch
patch -p1 < asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch
patch -p1 < asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch
patch -p1 < asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch
patch -p1 < asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch
patch -p1 < asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch
patch -p1 < asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch

8. If you're on a 32-bit machine, you'll drop in mod6's special script. If your machine is 64-bit, you do not need to do this; skip to Step 9. If you're not sure, type in uname -a; if you don't see x86_64 you'll most likely need this):

First get mod6's public key if you don't have it already:

gpg --keyserver --recv-keys 0x721705A8B71EADAF


curl -s -o
curl -s -o

And verify the checksums:

sha1sum should be: ceb41c9c8cd557372a579f7926c95956b3956876 should be: 3edd38ef98c0f4ebf7a9939d1c06d8d6736f0af3

And the gpg signature:

gpg --verify

9. Change the permissions on the script:

chmod 0755

10. Run the script:

And let it be for a while. On my old thinkpad with a sluggish connection this takes around two hours.

When it's finished, make sure you're still in bitcoin-v0_5_3_1 (if not, cd there), and try:

ldd bitcoin/src/bitcoind


readelf --dynamic bitcoin/src/bitcoind

You want these to return "not a dynamic executable" and "There is no dynamic section in this file." respectively. Mine spits out "/usr/bin/ldd: line 161: /lib64/ cannot execute binary file not a dynamic executable" for the first line, but as far as I know this is harmless.

Note that when you run bitcoind you'll need to add the options ./bitcoind -myip= -addnode= (your ip, and what you'd like to connect to, eg #bitcoin-assets' "dulap" ( or "zoolag" (

May 17th, 2013

In Amsterdam there were Reports that was a Heinous PoS

This, like so many good things in life, begins with a snippet:

(me): so you ever read this bit on a random internet spot and think hey, that’s kinda interesting, i’ll go up one dir and see what this is
(me): and be blown away by how utterly antithetical, retarded, and unexpected it is?
(MP): nope

It isn’t every day that you ask MP if he’s experienced something and he says no. Actually, it isn’t any day. Something’s in order, and since I live gloriously free from the fetters of response determined by social consensus and public feeling, I’ve decided what’s in order are oatmeal cookies and a closer look at said utterly antithetical, retarded, and unexpected happenstance. Instead of whatever it is the masses do, which is, I guess, nothing.

So in the beginning, there was a random bit. It went like this:

“To say that a young woman has a vagina or that she has sexual intercourse is an affront to her modesty that is not tolerated. The correct and expected reference is to her cunt and to fucking.”

I could see this guy running sex ed courses. In the US I guess he’d have to duct tape the “adults” down first, but whatever.

Now this bit belongs to a slightly longer, still interesting, anecdote apparently domiciled on the server of, which before this afternoon I’d never heard of, observing only that it housed said anecdote with a picture of a perfectly respectable pair of bazoongas:

“SEX AND DIRT. In the terminology of sex, there are clean words as well as dirty words. The clean ones are chiefly of Latin or Greek derivation and were originally of aristocratic usage, a heritage of the Norman Conquest. The dirty ones, many of them playful euphemisms, are chiefly of Anglo-Saxon and Old Norse derivation and were originally plebian in origin.

The cultural relativism of dirty versus clean sexual terminology is well illustrated by the complete reversal of the categories in English usage in Nigeria. In the history of acculturation, the moral taboos of sex were taught by missionaries and administrators who used only clean words. These were the words that became taboo. The dirty words used as part of the vernacular of sailors, traders, and the like, became part of Nigerian vernacular English, with no taboo attached. In consequence, today it is as forbidden to say sexual intercourse, penis, and vagina on Nigerian television as it is to say fuck, cock, and cunt on the national networks in the United States. In Nigeria. the latter terms are considered normal and respectable. In individual conversation, the same holds true. To say that a young woman has a vagina or that she has sexual intercourse is an affront to her modesty that is not tolerated. The correct and expected reference is to her cunt and to fucking.

The taboo on the word, fuck, has left generations of people whose native language is English without a publicly usable verb or noun that fits in everyday usage as colloquially as does eat, sleep, think, talk, and dream. That is not fortuitous, for it is in the very nature of a taboo to proscribe an activity in which human beings otherwise might ordinarily engage.”

Reminded somewhat of’s collection of entertaining and occasionally informative articles (there, not at Playboy, is where I can believe people actually check stuff out for the text and not the pictures), I went to the main index to see what I could see.

I actually didn’t notice the swastika favicon for a few minutes. The unexplained peppering of the text with “jew” and creativisms therein didn’t bode well. But then, they’re just words and scribbles after all, and one can’t reasonably go through life ignoring things that might be interesting or informative based on knee-jerk reactions. Unless one is cultivating that ever-popular and particular breed of wilfull stupidity rampant in just about every corner of the world where people have given up on thinking for themselves because they have too much environment to “save” and even more television to watch.

So I picked a link. The Tyranny of Ambiguity, it read.

“SEXUAL DEFINITION CYCLE. Sexual conditioning takes two forms, inherent and adaptive. Inherent male sexuality is fixed by a sequence of hormonal changes which are thought to take place in the foetal male brain around six weeks after conception. In mammals the default state is to be female. (In birds it is the other way round, that is, the default state is to be male and if a modification process takes place then a female ensues.) The Y chromosome generates a pair of testes, which then produce testosterone to masculinize the brain.”

Alright, not the worst premise to begin a thing [though I'm not sure what that parenthetical assertion is on about; apparently it's not at all clear how avian sexual differentiation functions, nor whether it actually works the same way in all species. That the author didn't cite anything here (which I suppose would have either been some wikipedia argument or else Gramma Mimaw, whereas the uncertainty is well-documented by people actually performing research) is strike one I guess].

A few similarly innocuous but ill-supported assertions follow. And then we’re brought to what The Ambiguity of Tyranny seems to actually be focused upon, which is, of course (?!), gay people.

“HOMOSEXUALITY. According to evolution theory, homosexuality is not a stable strategy and is therefore highly unlikely to have a genetic origin. A homosexual individual is less likely to produce children and this, reinforced over thousands or millions of generations, clearly implies that conditioning for homosexuality must be something which takes place during the lifetime of the individual (including gestation). This is as certain as there is no such thing as hereditary infertility; one cannot have a eunuch for a father. In Amsterdam there were reports of high levels of promiscuity in both male and female homosexual circles.”

Seriously, a gay person is less likely to produce children? You read it here first. Or wait, I guess you could’ve read it at first. Seeing as it’s the foremost bastion of what, going back to that peppery index, is evidently piles enough of assbrained attempts to sound scientific about both the incredibly banal and the weirdly homophobic to keep those without a paddle gurgling in muck for life.

I stopped at the Amsterdam Proof, lovingly named for its excellent illustration of how to stick a baseless accusation into an otherwise rational argument. And by rational I mean bizarrely emphasized and occasionally flat-out wrong, but hey., the word “truth” belongs nowhere on your site, and your irretrievably broken definition of the same belongs, with the rest of you, in a ditch somewhere. And no, the dandelions won’t be buying your mod-podged fallacy crafts, either.

So how did it happen that an interesting, seemingly researched bit such as the account of flipped slang taboo above was nestled among such exemplary failure? I have no idea, but if we trust in higher powers, as the site instructs us to in its compendium of footnoted religious creepisms, perhaps it was all a divine plot to give me cookies. They’re pretty good.

January 19th, 2012

The Time is Implicit

The order comes mid-afternoon, as I’m curled in bed reading a pulp novel that’s become addictive mostly for the familiarity of the prose and regular opportunities to inwardly roll my eyes at the book’s wholly unbelievable characters. When it comes, the order produces a sound, more familiar than the contents of the book and so dominant in my cache of daily stimuli it sets off uncontrollable physical reactions. My heart speeds up perceptibly, climbs a few inches upward, threatening the base of my throat.


It’s my messenger program, pumping sound from behind the wall of my bedroom. Have to get up. Finish this page first. I read a few paragraphs, not really absorbing the meaning of any of the words, my head reminding me every other second that I have to get up. So I do.

On the screen, the order waits. How long has it been waiting? A few minutes. A pang of guilt. This could have just been a greeting, but it’s not, and now precious time has lapsed. There’s a phone number, and I’m to call it and reserve a table for four people, for tomorrow.

“For what time?” I ask.

“The time is implicit!”

I parse the response. It gives the impression of a foreign object in an otherwise understandable world of words. What the fuck does that mean? Without any conscious effort, I’ve already decided that the table I’m reserving is located at a restaurant, and that the reservation is for eating. The host will want to know what time the reservation is for. They’re going to ask me, in a language in which I usually have to ask for two or three repetitions to get the jist of what’s being said. I get the idea I should reply with either “evening” or “eight” when the question comes. This seems wholly inadequate, and I think about how this will probably end in disaster tomorrow. I hate this shit, hate how often and how thoroughly things do not make sense. This is taking too long. I call.

On the phone, a single ring followed by vague sounds of construction work. A grumbly, half-audible voice says, “Da.” For a second I wonder if the voice is speaking to someone else. I ask if the man speaks English. No.

I recite the little schpiel I’ve scribbled in my notebook to help me not blank out in panic while trying to speak Romanian. I want to reserve a table for tomorrow night.

A response comes, containing “it can’t be done” followed by a train of complete nonsense. I ask for a repetition. It comes again, thankfully a little slower. It can’t be done because the place is full already. Okay, thanks.

There was no question of time. “The time is implicit” makes perfect sense, and I feel a little ridiculous for having spent so much energy on it.

I remember, from back in the days of public schooling, the particular evil of standardized tests. Multiple-choice questions would occasionally contain an answer that said there wasn’t enough information in the question to correctly solve the given problem. I’d always gravitate towards this choice; more information always seemed to be needed, whether it was an actual piece of content relevant to the problem or some aspect of the question’s wording. In life, the idea that more information is needed to act is always available. It may be a tempting choice, but it isn’t the right one nearly as often as the mind would like.

August 15th, 2011

Content Will Find a Way

The other day, I was presented with a poem selected for its style (after Lewis Carroll), but evidently not its mechanical aptitude. So after being asked if I’d like to try “fixing” the poem’s rhythm, I took a stab at it, sparking the following conversation between my master and myself:

him: Now publish it an’ link to [the blog where said poem was posted].
me: Well…
me: May I talk to you about that first?
him: Sure
me: I do not wish to publish this on my blog. My blog is not a venue for rhythm correction.
him: Why not?
me: Because I want it to be for thoughts and themes and ideas, not for editing. I want my posts to be complete pieces, and I am not interested in writing a complete piece about this poem. I just wanted to point out that the rhythm had been ruined, and when you asked if I wanted to fix it I thought it might be fun.
him: Aite. Not like you have to, but I don’t think your narrowness is really good for you.
me: Noted.
him: I mean, I thought you believed in open minds and all that.
me: Open minds. That doesn’t mean I want my blog to be the kitchen sink.
him: There is no difference I can discern between you not wanting to publish an idea of yours that is in fact complete because it doesn’t conform to some arbitrary and ill-conceived standards of puffery
him: And the attitude of some person that insists you must bow to allah this way.
me: The person who insists on bowing is applying his narrowness to someone else.
him: So are you.
me: To whom am I applying this narrowness other than myself?
him: Yourself.
me: I am other than myself?
him: Why not?
him: You should be as fair to yourself as you’d be to some other.
me: I am not trying to build something with some other.
him: If a company owned by the government owes taxes, it pays those taxes.
him: Just so, you.
me: Well this is a very interesting argument, but functionally I am different from other people because I can do/make things with myself differently than I can with other people.
him: Yes. But you shouldn’t allow that to jip you.
me: So I should assume that any brick I see or possible brick-shaped thing I might happen to come across should go into my building, just because I came across it?
me: I should have no plan and no standards, in other words?
him: Open mind. You should consider it, yes.
me: So as not to be jipped?
me: Okay. I was pretty sure I had already considered it, but in the interest of exercise, let’s see.
him: Consideration, for the record
him: Is fairly arguing the point of both sides.
me: I believe the side of “publish it” has been fairly argued.
me: Do you think otherwise?
him: I dunno.
him: Depends on the objections that are risen. But basically, it stands on the theory it should be published because it is something that you did.
me: Okay, let’s see. It’s there, it’s writing, it could be entertaining, it could be good. It could serve even as a backstop for reflecting on my own skills or interest in the future, if nothing else. It could also attract some traffic, and help me be more involved with some other blogger people.
me: Fair?
him: I think mine controls the issue.
me: Should I post audio files of my farts?
him: If you had good ones.
him: Why not?
me: Yeah. We fundamentally differ in what we think a blog is for. I’ll concede the definition to you of course, but that doesn’t change how I want to use/present mine. I’ll call the blog something else though if you think it’s necessary, so as not to confuse things.
him: I’m just saying calling the blog anything else is an exercise in allahthiswayness.
me: In the same way you not wearing bluejeans is allahthiswayness.
him: Indeed.
me: Well, I have no problem with certain abstainments.
him: Hehe ok.
him: Now it has been fairly argued.
me: Cool.

While I still have no particular inclination to post the altered poem, it struck me that the conversation was something that easily falls into my idea of what I’d like to have published here. And the irony of finding something to show in the midst of arguing against showing a thing satisfies my conviction that life’s cream often rises to the surface in unexpected places, in unexpected concentrations.