Archive for the ‘TMSR’ Category

A Little Bit of TinyScheme, a Lot of Cozonac

Monday, November 25th, 2019

There are few things as quintessentially Romanian, to my mind, as cozonac; the golden, nut-swirled, babka-like pastry dolled up and drummed out into the daylight for the two major Eastern Orthodox holidays. Then again, I'm not even so sure it's actually Romanian. Cozonac's one of those things that most states in the region boast as being their own, right up there with moussaka, smoked eggplant salad, goulash, and stuffed cabbage rolls. The diacritics and thus pronunciations may change, but not much else does. I guess it's proper, then, to introduce cozonac as an Eastern European thing, and to point out its specific spelling is Romanian.

Now that we've gotten there, we can promptly throw out a good half of what Romanians, and Eastern Europeans at large for that matter, think they know about cozonac. There are two main problems: the first's that folks don't put nearly as much of the awesome chocolate-walnut filling in their loaves of cozonac as they ought to1, and the second's that they put way, way, WAY too much sugar in it. A fairly common artifact of modern processed diets, the whole "dessert means heaps of sugar laced with occasional other ingredients" fanaticism is a hoary old positive feedback loop.

Thus armed with spite and sparseness, we can proceed to actually make some of this stuff. Except that I wanted to try out Mircea Popescu's image processor for blog articles, and also jfw's version of the same. Except! It turns out the box I'm using for publishing doesn't have Image Magick, required for both tools. An' I'm not happy about installing things --at all, much less things I don't know much about to "just get it to work". I do have Gimp, though, which was what I'd been using to process my pictures manually. And! It turns out Gimp uses TinyScheme, which wouldn't be a total waste of time to muck in a little as it's an interpreter of a dialect of Lisp, and maybe not too many layers removed from relevancy to learning to use some tools likely to survive the Republic's reckoning, thereby.

The following gets saved as batch-scaler.scm, to be placed in the ~/.gimp2/scripts directory:

(define (batch-scaler pattern
			new-width
			new-height)
	(let* ((filelist (cadr (file-glob pattern 1))))
		(while (not (null? filelist))
			(let* ((filename (car filelist))
				(image (car (gimp-file-load RUN-NONINTERACTIVE
								filename filename)))
				(drawable (car (gimp-image-get-active-layer image))))
			(gimp-image-scale image new-width new-height)
			(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
			(gimp-image-delete image))
		(set! filelist (cdr filelist)))))

Note that I've put extraneous spaces between all multiple parentheses; you'll have to take these out. If someone has a better idea for preventing MPWP's cannonical footnote plugin from interpreting lisp parentheses as footnotes, please write in. The very MP in question has a fix for this in the comments, works splendidly.

Running it goes like so, from the directory where your selected but otherwise raw pictures are:

gimp -i -b '(batch-scaler "*.JPG" 1024 638)' -b '(gimp-quit 0)'

I scale my images when I re-size them, so I grabbed gimp-image-scale from the "Script-Fu Procedure Browser" and worked it into a batch processor, which goes through a glob of files according to the pattern given when running it (as long as the glob isn't empty) and then without loading the Gimp GUI, loads the pictures themselves, selects the drawable part, scales them according to whatever's set when running, saves them, and deletes the originals.

Some important problems: this only works for landscape-oriented images; you could pick out portraits, put them in a different folder and run this on them with different size parameters, but that's not so efficient. If I figure it out, I'll update this article, otherwise if anyone would care to modify this, please do. Ideally the width should be set to 1024 while preserving the aspect ratio, rather than manually specifying the length, too, regardless of orientation. Another thing to consider is that this creates one set of images, not a display size and larger size pair as in MP's process. Further, this just overwrites the images and saves them as such; the file-jpeg-save function takes fourteen, FOURTEEN, parameters, and I really can't be assed. So once the above is done,

ls -v | cat -n | while read n f; do mv -n "$f" "cozo-$n.jpg"; done

Then you can proceed to upload them as normal.

Anyway, I was saying: let's make cozonac. The instructions below are for two loaves, because who does this laborious stuff one output item at a time?!

First comes the filling. I typically make the filling the night before as it needs to cool completely before being used, otherwise it'll make steam pockets in the dough and fuck up the whole thing. Grind about a half kilogram of walnuts3 and add them to a saucepan in which you've dissolved about a tablespoon of brown sugar into 150ml or so of milk over low heat. Keep stirring; you want a paste-like consistency, for which reason you may use a little more or a little less milk. After it's thickened admirably, stir in a little rum.

cozo-1

And five or six tablespoons of unsweetened dark cocoa. Zest an orange or three and stir in the zest, too. Your mixture should be fairly thick, and very nicely scented. Set it aside, or put it in the fridge if you're saving the rest 'til tomorrow.

cozo-2

For the dough, melt 150 or so grams of butter into another 150ml or so of milk. Dump two more tablespoons of brown sugar in there, and once everything's dissolved and incorporated take it off the heat and zest two oranges and a lemon into it, and add some vanilla; either scrape the seeds into it or steep a pod in the milk while it heats, or better yet, do both.

cozo-3

Also while you're waiting for the temperature to drop, get something like 2/3rds of a kilogram of bread flour into a big bowl, add a pinch of salt, a teaspoon each of cinnamon and nutmeg, a handful or so of the best raisins you can find, and plenty --that's around 6 grams-- of dry yeast, and distribute it all evenly.4

cozo-4

Once this concoction's cool enough to touch but still warm, break three eggs into it and stir.

cozo-5

Now dump the wet stuff into the dry stuff, and knead it until it's pliable and doesn't stick to your hands too much. You might need to add a little more flour; not too much though, or your dough will be too tough. Once you're done kneading form the dough into a ball and let it rest in a warm kitchen under a slightly damp towel.

cozo-6

If your kitchen is cold, heat your oven for a few minutes, then turn it off and put the bowl in there. Leaving dough to rise in a cold place is begging for disappointment.

cozo-7

Once your dough has doubled, which should take anywhere from 45 minutes to an hour and a half or so, prepare a workspace for rolling. Your filling should be room temperature, either because you've let it cool for several hours or you've taken it out of the fridge a few hours before --note that very cold filling is no good here, as it'll cool the dough for its second rise and you'll be stuck waiting f o r e v e r to get your loaves in the oven.

cozo-8

Oil your countertop/foil-lined table/friend's back/whatever surface, and do the same with your rolling pin/wine bottle. Generously butter two loaf pans and sprinkle them with flour.

Divide your dough into quarters. For each loaf, roll out first one quarter and then the other into rectangles, until they're quite thin but not too thin to pick up. Spread each with a quarter of your filling, leaving small margins at the edges.

cozo-9

Roll these up lengthwise, then twist them together to make a floppy, unwieldy helix; immediately plonk them into the loaf pans before they get any unwieldier.

cozo-10

Brush them with an egg yolk beaten with a bit of milk, and let them rise another hour or two, until they've started to threaten the edges of the pans. Then bake at 200C, preheated if you're stuck with an electric oven, for just about an hour. After fifteen minutes or so in the oven, lightly cover the loaves with aluminum foil to keep the tops from burning.

cozo-11

Let them cool for a few minutes after taking them out, then remove them from the pans and cool them completely, resting on their sides, and switching sides occasionally. There's a delicate juxtaposition of dense chocolaty nuts and light, puffy dough inside --it has to cool down gently and evenly, hence all the elaborate dancing.

cozo-12

Once they're cool, slice and enjoy. Cozonac also freezes very well, and can even be eaten as frozonac, for the adventurous. All in all this is a rather heathen recipe, unlikely to be approved of by most Romanian cooks, who tend towards the strict and unexaminedly-traditional side. It is however highly praised by those whose opinions I actually care about, and owes something to the instruction of Ellie, whose basic discussion of procedure managed to somehow break through very heavy Hallmark-isms, Jesus worship, cups and cups of sugar, and other incompatibles to teach me something.

  1. "Ought to" maps, of course, to as much as MP would like, here. []
  2. I'm using 2.8, fwiw. []
  3. You can also add some measure of pecans, almonds, pistachios, or macadamias, though walnuts are the traditional, and really the best for this recipe. []
  4. You can also use fresh yeast, which imparts a pleasant flavor for those with a taste for it. It'll also cause your dough to rise a little faster, which isn't a bad thing. To do this, mix eight to ten grams of crumbled fresh yeast into the warm milk mixture after you mix in the eggs, which are coming. []

Reading #ossasepia logs, or: my jig is up.

Sunday, November 10th, 2019

My IRC channel, #trilema-hanbot, has been registered for some years, though as noted there it served solely as my testing grounds for a long-defunct bot. While it has ever been welcome to both the lordship and whatever stragglers the republic has accumulated over time, I never explicitly stated as such, nor did I take any steps to populate it. Mircea Popescu recently gave me the task of getting up to speed with Diana Coman's rather successful channel/castle, with a view towards cultivating my own. This was both a very pleasant and a very unsettling experience --unsettling in the literal sense, it shaking loose some rather long-held and not fully examined ideas and practices. In that order, then, allow me to recount.

I was aware that Diana had attracted and retained some folks intent on contributing to the republic, but I hadn't a clue of their quantity or quality. What a pleasant surprise to find several people clearly throwing themselves into the chaos and churn! What fun to set aside a few days to read logs peppered with others' struggles to read logs! I quite enjoyed discovering the often long, arduous journeys to speaking up recounted by Diana's pageboys --it's about as good a guide on "what's with/what happened to the lurkers, dabblers, and would-bes from back in the day?" as we could hope to get. I'm glad to see there's apparently a great deal to be salvaged from that heap, which was previously written off in my mind.

Moreover Diana's firm and level hand is remarkably fit for the sort of pedagogy herein desired. What particularly struck me was her precisely codified structure; featuring a straightforward pledge of submission and a clear hierarchy of development, the ossasepia castle doesn't leave its inhabitants much to remain in the dark about, as far as their own involvement and commitments stand. I'm curious to see how this works as a driver, and will be closely observing how the potential for love of title and recognition to poison love of work plays out, or doesn't.1

So why was the experience unsettling? Reading #ossasepia's logs made something very clear to me: as it stands, I am inaccessible. To wit, I found that one of Diana's recruits actually thought I might be a bot2. Moreover, discussions of setting up a home3 or sourcing irons in Costa Rica4, and of trading BTC in Panama5 didn't find me, nor I them.

In all honesty this enraged me at first, but then I realized my own, rather severe, culpability: I haven't been talking about any of this, nor making it clear that I'm available to talk about it. All there is consists of some (by now aged and by that reason suspect of irrelevancy) blog posts and milquetoast mentions in the logs. The cause for this vaguery is two-pronged: one is sheer laziness and neglect. This can be dressed up in whatever flavors and finery of "other priorities" you'd like, but that's neither interesting nor relevant. It's true that I have heavy offline duties, as the man himself has occasionally alluded to, even, but everyone has their own, and I'd be dishonoring the very duties I most respect and believe in if I used them as an excuse to slack in other areas that need attention. The second prong is my struggle to coexist as the functional head of Mircea Popescu's household and as a lord within the republic. Even attempting the description of these titles is daunting, inasmuch as they've fostered a great deal of tension for a long time. Who shall you know me as? Where do these roles overlap, and where may they not? Suffice it to say I've been steeping in these questions for years, and clearly I've not come to any useful conclusion.

Enough is enough, though. I cannot be useful to the republic or its members while things I could contribute lay fallow for the sake of what ultimately boils down to solipsistic thumb-twiddling. That it's taken me quite so long to give it up is shameful, and I'll work to make amends, if they can so be made. For many years the bulk of my output was invisible, and I suspect some portion of it will remain so, but meanwhile various things I never thought would be made public, have been. I intend to do a lot more testing of the borders therein.

This, for my part. For yours, dear lordship, I beseech you: lean on me, expect from me, as much as you would from anyone else. Take me to task if you see me failing or flailing. I am not fragile, nor should my proximity to MP exempt me from anything. I will grow with or without your help, but I'd much rather do it with. It'll be faster, anyway, and fuck knows I need all the speed I can get to keep up.

A page organizing and detailing my channel will be available Monday is available here.

  1. So far I'd say the majority of Diana's court is natively mature enough to avoid the problem. []
  2. It was perhaps forseeable that #trilema, like #bitcoin-assets before it, could and would use various bots, whether for logging or carrying out mundane tasks, but what can I say; hanbot had been my handle for ~all of my existence online, and for much of my life before I did much of anything online other than grief people in Diablo. I'll pay the price for the confusion, and assume the responsibility of making it more clear that no, I am not a robot, though I can dance like one. I'm not changing my handle, administer all the Voight-Kampff tests you want. []
  3. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19. []
  4. 1 []
  5. 1, 2, 3, 4, 5, and I'm sure there was another even recently between Mircea and Diana that I can't now find, but at some point the exhaustiveness is truly exhausting. []

The Right Thing

Sunday, November 3rd, 2019

The right thing fuzzes into being for most people sometime during childhood through some episode or other of a previously unperceived wrong going punished, and describing the right by its difference. Later in adolescence the struggle for the right thing often enough leads to blood and blows, or maybe experimentation with drugs, or running away from home, or what have you. The right thing rules life complete for the adult (not that all that many people mature into adulthood). There's no period of life aside from natality, and no state aside from sloth, exempt from the right thing's dominion --making awareness of the same an arguably decent prerequisite for being actually alive, or human, if you like.

Any familiarity with the Republic makes one likely to load a particular meaning for the right thing; the variety speak points to Republican separation from pretenders who came before, and who (fail to) coexist now, accepting to make their wine with some percentage of shit, to compromise integrity for convenience, and to stand behind nothing but a false-toothed grin. The right thing has often enough been summoned in discussion when ironing out the particularities of a piece of software or the branches and leaves of a system, but its practical and present use in no way cordons it off from its true scope, which is: everything.

Everything, terrifying as that may be. There is always a right thing, though it may not always be known or even approachable. What is anxiety, after all, other than the experience of a human mind confronting the uncaring vastness of the possibility of correct and incorrect? What is philosophy, other than the attempt to codify correct and incorrect, whether from the understanding of the universe, or of man within it, or of god above it, or whatever other angle?

And yet it's not merely the vastness of the right thing that lends to its horror; it is its separateness from us, its objectivity, that makes for who knows how many sleepless nights spent on this spinning globe. The right thing has no connection to what you'd prefer to be the right thing. No influence, no possibility of meaningful exchange, nothing. Neither is it subject to your conceptions, conscious or not, of what could possibly be the right thing, or whether or not you'd be capable of doing or even choosing it. It does not love you. It will never even know your name. Love of the right thing is the quintissential unrequited love; there's just nothing there.

But you love it anyway, because that's who you are --good for you. You're now welcome to spend every waking moment obsessing over which of the paths before you are right, from when and how and why to brush your teeth to which and whether and why not way to climb the stairs and so on and so forth. You're welcome to waste your life (can it be wasted on the right thing? better figure that out before the next question comes!) spending every moment looking for possibilities and choosing amongst them meaningfully and with confidence. Inasmuch as the potential rate of personally experienced phenomena is quite a great deal faster than your fly-brain moving through real time, you're in fact welcome to inevitably fail. Aww. And all you wanted was to do a good job, wasn't it?

A great secret of life, or perhaps it's not a secret and that's merely my personal collection of inadequacies fronting for the past lack of its obviousness to me, is that pretty much everything comes with, and is best described in terms of, two or more data points. You know, you bought fifty litres of gas, and gas is four euros a litre, the sort of details that allow you to get through the practical movements of life with some sense of what you're doing, and why, and how. Living with a solitary data point is the culprit of most states of ignorance and indigence. The same holds true for the right thing, conceptually; it's not just about whether a given thing is the correct one. It's also about whether it matters.

Holy shit, twenty-year old me is ranting furiously in the corner, tearing up bits of the phone book and frothing at the mouth, "what do you mean WHETHER it matters?! It always matters, what the fuck, just that question belies total traitorhood omfg where's the Captain Morgan?!"

For most of my post-pubescent life I held that the most important, sometimes the only important thing, was to always do the right thing. I also held that this wasn't actually possible, but the key benefit of time has been the realization that this impossibility is inherent in the system, and it is not a fundamental flaw of humanity that it cannot physically keep up. Rather, most people lack a way to determine when the right thing matters, and when it doesn't, so much; and manifest in either slovenly stupidity on one end of the spectrum or manic insanity on the other, most people fail at obtaining this second data point.

I'll dare to say now what I've been suspecting for a while, and what would've frightened me ideologically not even so long ago: those that fail at obtaining this second data point, and therefore at doing the right thing appreciably, have fairly clean crossover with those who fail to understand the role of management (or sovereignty, or whatever other mask you care to put on it). Because this is what management is for: to observe your struggle with doing the right thing, and to determine where you're faltering in applying your dedication to it. As a fanatic, you're naturally inclined to find management's determinations arbitrary and punitive. The true task before you is to decide, and to necessarily stand by your decision, as to whether or not the management available to you is sane1. If you're lucky, both the truth of the matter and your determination will be positive. If you're unlucky, one or both will come out with a dull thud.

Ideally, management should need only speak to you its findings to affect your course. Naturally, such smoothness is incredibly rare. How much of historical conflict is the result of the professedly managed needing more than a word to adapt to the determinations of the management? Other than particularities of the "professions" therein, it's necessarily one hundred percent.

I'm not entirely sure where to end here except to state that taking on the burden of both data points is an Atlassian task to which the vast, vast majority of people born on this planet will never be equal. The prayers, the wailings in the night, the starved children, the mangled, stray dogs, the incredible potential of sadness and ruin is but testament to the natural inadequacy of most to provide themselves, and their rings of people, with both data points. There's nothing bad or good about this; it's just the way it is, but I'd hope demonstrably so, for anyone who's had a look around. Be fucking humble, and keep your wits about you, when you encounter those who've assumed such terrible responsibility. The latter, because a great portion of even these will be bad; and the former, because there's nothing worthier of your time and your blood than those who are great.

  1. Yes, this means at some point T before the shit's hitting the fans so fast you're not advised to "decide" much of anything, just keep mopping. And yes, you are held to verify this decision now and again, as a regular part of your self-hygiene --but as a regular part, not as a reaction to managerial determinations you don't like. []

B,TMSR~ Comix

Friday, September 13th, 2019

From the logs:

~*2018*~
stan-summer18

~*2019*~
stan-summer19

All complaints re quality, squiggly ghetto sharpie margins etc to be directed to diana_coman for her plenivoluminary faith!

MP-WP Patch for Enabling HTML Comments

Monday, March 25th, 2019

...among other innocuous tags like bold, blockquote, and so forth.

This patch implements Daniel P. Barron's simple fix. Also included is a revision of the trilema-specific database interaction in wp-comments-post.php to the default wp_comments table as pointed out by diana_coman.

*Edit March 26th 2019: My first regrind was still fucked up, as Daniel P. Barron graciously pointed out yet again. I've reground again using correct syntax. So then:

The secondly-reground patch:
mp-wp_html-comments-regrind.vpatch

The corresponding sig:
mp-wp_html-comments-regrind.vpatch.hanbot.sig

---fuxed files, for posterior---

*Edit March 25th 2019: I've reground this patch based on Daniel P. Barron's catch of my incorrect use of a default rather than a variable table name. The reground versions are:

Reground patch:
mp-wp_html-comments-fixed.vpatch

Reground sig:
mp-wp_html-comments-fixed.vpatch.hanbot.sig

The old patch:
mp-wp_html-comments-enabled.vpatch

My old sig:
mp-wp_html-comments-enabled.vpatch.hanbot.sig

Grab my pubkey, if needed, on the about page, or send !!key hanbot to deedbot on Freenode IRC, while ye may.

hanbot's Cuntoo Bake Test Notes - Part IV

Sunday, March 17th, 2019

On the tail end of part III we were awaitin' the bootstrapper to finish its long and arduous whizzing.

I woke to find that a lot of kernel configuration awaited me as the result of "professional" negligence somewhere deep upstream. asciilifeform kindly provided a standard configuration to work against, so I set myself to y-in', n-in, and occasionally m-in'.

During which my hand-eye coordination got a little wobbly, and I killed the entire run with an unhappy hit of ctrl + c on the wrong keyboard. Because totally, this failure mode was thought about at some point, and it was decided in a stroke of genius that this innocuous operation oughta be capable of murdering arbitrary layers of a process.

Anyway, I proved to myself the value of the script produced in part III, as I had to run it yet again. I can't describe the second kernel configuration walkthrough as anything but pedantic white-knuckling. I kept a list of what trinque's kernel asked for that asciilifeform's configuration file didn't know about; interested parties can grab it here.

Sadly enough, I find that at the end of the config q&a, and hence the end of the bootstrapper script, I'm still left without a genesis with which to compare trinque's signature. Given which vdiff for instance shows vdiff in my path, I'm at a loss as to why no patch was produced. I also note that I lack even a cuntoo/portage directory.

The next steps being review of the script's record during the run, and deferment to the wisdom of the forum, I ask you: wtf?

hanbot's Cuntoo Bake Test Notes - Part III, with Prep Script

Friday, March 8th, 2019

Following Part II, I had my machine rebooted and re-attempted preparation for Cuntoo from scratch. I managed to wrap my head around the admittedly simple path problem previously encountered, and ran trinque's bootstrap.sh. As reported in #trilema, the process fell over on looking for the expected kernel configuration file. I'd used the default config/4.9.94-apu2 parameter. Apparently there's more to this than "preferring" your own. Whoops.

I went through both lobbes' and mod6's recent cuntoo adventure reports to look for clues on kernel configuration, and found I could replicate mod6's process of copying the .config file in /usr/src/linux into the cuntoo/config directory.

The bootstrapper's running now; I'm looking forward to seeing what it has to say in the morning.

Meanwhile, the multiple reboots throughout the process thus far meant I had to prepare my machine for the bootstrapper multiple times, which process naturally became easier but still took up a lot of time copypasting and filling in holes in my notes.

I threw the steps into a script, cuntoo-prepper.sh, with signature. Installation of gnat, V, vtools, and associated pressing and setup is included, along with signature and sha512sum checking where relevant. Depending on your setup, you may need to edit your /etc/hosts file to include the various domains involved before running the script1 :

161.0.121.198 ossasepia.com
104.131.72.249 btcbase.org
45.32.123.240 wot.deedbot.org
161.0.121.247 trinque.org
161.0.121.248 thebitcoin.foundation

Go with defaults during the gnat installation lest you end up tangled in directory confusion.

You'll have to manipulate your path a couple of times once the script's finished:


PATH="/usr/gnat/bin:$PATH"; export PATH
export PATH="/usr/gnat/vtoolsp1/vtools:$PATH"

Then do any futzing required for your kernel config, cd to your cuntoo directory, and hit it.

  1. Obviously if you need to enter 161.0.121.247 thewhet.net just to get the prep script, you'll need alla these too. []

hanbot's Cuntoo Bake Test Notes - Part II

Sunday, February 24th, 2019

See here for Part I of this adventure.

Part II could otherwise be dubbed "let me tell you how computers pissed me the fuck off today", and finds me back at square one with a LiveUSB in virginal state, utterly uncontaminated by the hours1 of time poured into it since last I ranted.

Given as I abandoned dicking about with heathen gentoo until such time as a Republican freeze is clearly available, my goal was simplified into bridging Pizarro's provided Gentoo USB with trinque's cuntoo.

Part I noted my sad fate of having to update /etc/hosts for every goddamned domain involved in grabbing working parts; by the end of the installment herein covered, I had to add:


161.0.121.198 ossassepia.com
104.131.72.249 btcbase.org
45.32.123.240 wot.deedbot.org
161.0.121.248 thebitcoin.foundation
161.0.121.247 trinque.org

As trinque pointed out, I'd require a working vtools. When I went to handle installation thereof, I found myself bootstrap-propelled to the center of the earth, at least theoretically. Having had a version of V on my local machines since asciilifeform's original release, I'd been enjoying a silent luxury in terms of adding on each block required to press a useful patch as they were available. Untangling the mess of what requires whichelse and in what order isn't especially helped by the fact that keccak-flavored vtools as discussed in the logs, my own site, etc, lived at this url, yet the post at that url is titled differently, namely as "vtools complete keccak prerelease". I also remembered having used gnat's gprbuild to get keccak vtools going, yet instructions for same appear in yet a different post.

Not having touched any of this in several months is, I'm sure, part of the problem I had, but let it be stated that getting a currently-useful vtools going without its precursors on board is currently more spaghetti than sandwich.

Anyway, as my working notes say, chill out, grab gnat, then all patches in the keccak-regrind or prerelease post depending on what we're calling it, press to the keccak head with an old V.

Though ave1's gnat is the current cannonical version, I decided to try diana_coman's adacore gnat alone to see if it'd work. This much was as straightforward as I remember, having needed it for phf's keccak vtools during the MP-WP regrind.


curl -v http://ossasepia.com/available_resources/gnat-gpl-2016-x86_64-linux-bin.tar.gz > adacore-gnat.tar.gz
sha512sum adacore-gnat.tar.gz
cat sha512sum-gnat.txt
tar -xvf adacore-gnat.tar.gz
cd gnat-gpl-2016-x86_64-linux-bin
./doinstall
...
cd /usr/gnat
PATH="/usr/gnat/bin:$PATH"; export PATH

...at which point gnatmake -v returns


GNATMAKE GPL 2016 (20160515-49)
herp derp FSF posturing

Then I was ready for V; I'm partial to mod6's ol' v.pl, principally because of his excellent documentation thereof.


curl -v http://thebitcoin.foundation/v/V-20180222.tar.gz > V-20180222.tar.gz
curl -v http://thebitcoin.foundation/v/V-20180222.tar.gz.mod6.sig > V-20180222.tar.gz.mod6.sig
gpg --verify V-20180222.tar.gz.mod6.sig V-20180222.tar.gz
tar -xvf V-20180222.tar.gz
mkdir .seals
mkdir .wot
mkdir patches

Now for vtools:


cd patches
curl -v http://btcbase.org/data/vtools/vdiff_fixes_newline_gcc.vpatch > vdiff_fixes_newline_gcc.vpatch
curl -v http://btcbase.org/data/vtools/keccak.vpatch > keccak.vpatch
curl -v http://btcbase.org/data/vtools/vdiff_keccak.vpatch > vdiff_keccak.vpatch
curl -v http://btcbase.org/data/vtools/vtools_fixes_bitrate_char_array.vpatch > vtools_fixes_bitrate_char_array.vpatch
curl -v http://btcbase.org/data/vtools/vtools_vpatch.vpatch > vtools_vpatch.vpatch
curl -v http://btcbase.org/data/vtools/vtools_fixes_static_tohex.vpatch > vtools_fixes_static_tohex.vpatch
curl -v http://btcbase.org/data/vtools/vtools_vpatch_newline.vpatch > vtools_vpatch_newline.vpatch

cd ..
cd .seals
curl -v http://btcbase.org/data/vtools/vtools_vpatch_newline.vpatch.phf.sig > vtools_vpatch_newline.vpatch.phf.sig
curl -v http://btcbase.org/data/vtools/vtools_fixes_static_tohex.vpatch.phf.sig > vtools_fixes_static_tohex.vpatch.phf.sig
curl -v http://btcbase.org/data/vtools/vtools_vpatch.vpatch.phf.sig > vtools_vpatch.vpatch.phf.sig
curl -v http://btcbase.org/data/vtools/vtools_fixes_bitrate_char_array.vpatch.phf.sig > vtools_fixes_bitrate_char_array.vpatch.phf.sig
curl -v http://btcbase.org/data/vtools/vdiff_keccak.vpatch.phf.sig > vdiff_keccak.vpatch.phf.sig
curl -v http://btcbase.org/data/vtools/keccak.vpatch.phf.sig > keccak.vpatch.phf.sig
curl -v http://btcbase.org/data/vtools/vdiff_fixes_newline_gcc.vpatch.phf.sig > vdiff_fixes

Itams got!


./v.pl p vtoolsp1 vtools_vpatch_newline.vpatch
cd vtoolsp1/vtools
gprbuild vpatch.gpr
gprbuild vdiff.gpr

I'd thought I would hereafter need phf's updated v.py, but on reflection it wasn't clear if or why this was actually needed. Moreover, trying emerge python-gnupg as specified by said update suggested this'd be fairly gnarly to install, so I decided to skip it for now.2

At this point all looked ripe for grabbing the actual cuntoo tarball & sig at long last.


curl -v http://trinque.org/cuntoo.tar > cuntoo.tar
curl -v http://trinque.org/cuntoo.tar.sig > cuntoo.tar.sig
gpg --verify cuntoo.tar.sig cuntoo.tar
tar -xvf cuntoo.tar

Which produced a bootstrap.sh and friends exactly as promised. We read, from the source, "make sure that you have a vdiff in your $PATH".

With the exception of the exportation in the gnat installation above, I have never run into $PATH operations without ending up in some sort of shitsoup. I would dearly love to comprehend what the fuck $PATH is for; what a path variable actually is; why some instructions specify a certain path variable and others not; how a path variable name is agreed upon; what exact file must be edited in order to add a directory to one's path; and so forth. I suppose it must be intuitive to others, because every attempt at explanation I've come across seems rooted in priors I simply don't have.

I edited ~/.profile to include export PATH=$PATH:/usr/gnat/bin/vtoolsp1/vtools3. After which which vtools reported t'wasn't none, and moreover said directory wasn't listed in my path. I tried editing ~/.bash_rc, no dice. I tried eliding the export part. Nada. I went over to Eulorum to review my notes on exporting path for a Eulora install, but was at a loss for what to replace the "CRYSTAL" and "LD_LIBRARY_PATH" items with. In multiple instances of bitching and moaning about paths I drudged up online, anonymous squawkers suggested the bash session had to be restarted in order for a path exportation and/or addition of a directory to the path to take effect.

To be honest, I had a feeling that killing my terminal and reconnecting wasn't a splendid idea, but I couldn't have told you why beyond a vague sense of "what if this fucks shit up". Well, I killed it. And reconnected. And found the LiveUSB fresh as a daisy, devoid of gnat, devoid of vtools, sans keys, pretty much ignorant of me.

For reasons I utterly fail to comprehend, there *does* remain a typescript log4 I'd started on day one or two of the whole shebang. That's it.

Yes, I'd had the same session going since I originally logged in around the 8th of this month. No, I hadn't been running it in a screen session. Yes, I'm going to start over, and in screen.

But we're going to need more vodka.

* * *

  1. Somewhere in the neighborhood of ten, about eighty percent of which I'd chalk up to mental wrestling with my own noobishness. []
  2. Specifically,
    Calculating dependencies... done!
    [ebuild N ~] dev-python/python-gnupg-0.4.3 PYTHON_TARGETS="python2_7 python3_6 -pypy -pypy3 -python3_4 -python3_5 -python3_7"

    The following keyword changes are necessary to proceed:
    (see "package.accept_keywords" in the portage(5) man page for more details)
    # required by python-gnupg (argument)
    =dev-python/python-gnupg-0.4.3 ~amd64

    Use --autounmask-write to write changes to config files (honoring
    CONFIG_PROTECT). Carefully examine the list of proposed changes,
    paying special attention to mask or keyword changes that may expose
    experimental or unstable packages.
    . []

  3. Yes, that's actually where I installed it, lazy as it may've been. []
  4. 2.7MB; I'll post this if anyone actually wants to go spelunking, please write in if so. []

hanbot's Cuntoo Bake Test Notes - Part I

Saturday, February 9th, 2019

This is the first of what promises to be multiple posts on my progress against MP's gentoo to cuntoo bridge testing task.

First order of business: install heathen gentoo. BingoBoingo and asciilifeform of Pizarro swiftly and graciously set me up with an appropriate box once it was discovered this experiment wouldn't work on any of the 32-bit laptops laying around these parts.

I've been working with mod6's gentoo installation guide.

As Pizarro included a Gentoo LiveUSB for me, I skipped past 0x01, "Create LiveCD", to 0x02, "Setup Disk Partition Table". This section mentions a "Part B" with partition creation instructions that is not actually included, so I referred to the Handbook's guide. Here's how my partition table ended up before saving:


Device Boot Start End Blocks Id System
/dev/sdb1 2048 6143 2048 83 Linux
/dev/sdb2 * 6144 268287 131072 83 Linux
/dev/sdb3 268288 1316863 524288 82 Linux swap / Solaris
/dev/sdb4 1316864 312477695 155580416 83 Linux

I formatted the above partitions with filesystems as per mod6's guide, and then I followed the mounting steps remaining.

Downloading the Stage3 failed unexpectedly (a pattern that repeated itself with an exasperating insistence worthy of greater glories than a goddamned OS install).

Upon painstaking examination it came to the fore that the domain failed to resolve. I tried IP addressing directly via curl but of course the gentoo mirror's too clever for anything like that. In the end I was reduced to populating my hosts file with their intricate pattern of name allotments. Adding in all other various patches I ended up forced to put on it, my hosts file now reads:


64.50.236.52 gentoo.osuosl.org
140.211.166.134 gentoo.osuosl.org
64.50.233.100 ftp.osuosl.org

192.146.137.98 pool.sks-keyservers.net

64.50.236.52 distfiles.gentoo.org
140.211.166.134 distfiles.gentoo.org

During the tarball extraction stage in 0x03 I had to change the tar command's options as our source's current tarball is in .xz rather than .bz2 format; this means using tar xJpf rather than xjpf1 .

Moving on to 0x04, I entered the chroot as instructed. Then, on first running emerge-webrsync, I got a friendly eggog:


!!! Section 'gentoo' in repos.conf has location attribute set to nonexistent directory: '/usr/portage'
!!! Invalid Repository Location (not a dir): '/usr/portage'

Which did not reappear on running said command the necessary second time once distfiles.gentoo.org was added to my hostfile. Why domain resolution should affect directory problems is beyond me. At any rate, the second run of emerge-webrsync reportedly completed successfully.

I entered the mysterious mkdir -p /etc/ld.so.conf.d command to avoid the "problems" promised without it2 , at which point I went to cat /etc/fstab and discovered it's a 0-length file, completely empty. How this is possible I've no idea given the partition setup described above. I've elected to close this three-hour session of disappointment on the heels of searching for others' rants about empty fstab files, hoping for any notion of how this could be, and watching my browser grey over and crash.

***

  1. As tar ran this it spit out "tar:Xattr support requested, but not available", which makes me suspect this set of options may not, in fact, have done all that was intended. []
  2. I can't help but think that in this case my confidence in the Republic, which allows me to "just do it" like this comes at a possibly too-high cost of having not the first clue what this step was about. If this wasn't in-WoT I'd abandon the guide right there, you know? []

Perambulating MP: Pretense vs. Pretense

Thursday, January 17th, 2019

spyvsspy

The only potential "winner" is you.

So it happened this morning, as it fairly often does, that my reading of a Trilema article1 set off what I can only call The Churning, a distinct psychophysical sensation involving more or less every organ which threatens to culminate in a nervous fit if the inspiring material is not further examined and personally atypical considerations are not ingested.2 That sentence aside, allow me to specify3 two precursors:

I.

The "for women" part is provided by weakass sauce like some minor plot token pointing out to the hero that since his lordship, who knows quite a lot about male antecessors older than his greatfather, nevertheless knows exactly nothing about any women in the same line, even should they be younger than his grandmother, therefore it (the plot token) could in fact very well be the very grandmother in question.

The pretense involved, if it wasn't thickly laid out enough and it could take further belabouring, being that women are equally important to men, and equally meaningful and therefore notable, but "unfair arrangements" make men remembered and women forgotten.

II.

Pro tip : just because whichever god is stuck fucking the same Geea to make people, dun mean neither that people are all god's children, nor that there is or can be such a thing as "the goddess". The gods are all different, and earth is no goddess.

I brought these to breakfast, intent on using without abusing my unfathomably fabulous access to the very font of such allergens and their alleviations: the author. What follows is my distillation; inadequate as it may be for severe or obscure cases, I hope it offers some degree of support where it may.

I.

The emboldened passage led me on first pass to wonder whence and wherefore came the notion that women aren't equally important, meaningful, or notable to men. I suspected retreat into the concept of "non-equality", as in "no two things are equal" or such. Not the case; analysis of the problem here begins with the quantitative, hinted at in the preceding paragraph: "who knows quite a lot about male antecessors older than his greatfather." The set of this (or any given spring chicken's) antecessors is easily brushed aside as "big", or even "very big", but these are unexamined and unspecific.

If we take a loose approximation of man's time on this earth, say 100,000 years, and suppose every generation is about 20, we're left with 5,000 generations. In terms of individuals, then, we're left with no less than 25000, as every one was borne of two, one man and one woman, without exception. To get an idea of the size of the number of individuals, we'll move from base two to base ten and notice4 that 25000 ~= 101500, a number with 1500 digits. Divide it by two and you'll have, quantitatively anyway, two exact halves with fifteen hundred digits each. Exactly as many men as women, a minor miracle existing nearly nowhere, certainly rarely amongst things touched by the hand of man. Two particularly well made cups might be identical to three or maybe four digits; two CPUs perhaps twelve, at the cost of billions in fixed capital. There is no such thing known to man's industry or artifice as fifteen hundred digit equality, perfect and unyielding, exactly exact forever. In any case, the war was won by barely similar machinery.

The statement of fact that foremothers and forefathers are exactly equally sized, despite their incredible abundance, passes unremarked upon by the friendly fiend. The problem rather raises from MacDonald's proposal those two groups be equally important, meaningful, or notable. Yet why is it Anondos "knows quite a lot about male antecessors"? I proposed it was because those male antecessors did something. What else is there to know about someone, anyway? MacDonald might've countered, as I did (indeed, myself!), that it is inherent in feminine nature to keep quiet about doing, and to just do, whereas men are inclined to fabulate, to insist they've done what they've not, or to make the knowledge that they'd done something the focal point of the doing. This may even be true, yet what difference does it make? If indeed that's the female nature, then that's the female nature --nature no doubt is naturally happy in its nature. If it isn't, someone's lying, but in any case, there is not nor can there be such a thing as objective meaning. That, after all, is the one lesson of human inquiry.

What, then, is meaningful? What does MP's "...and equally meaningful and therefore notable" actually say? I proposed that if the trumpeting of deeds trumps the deeds themselves for meaning, let us all retire from doing and join for instance the Power Rangers or whoever else. At which point I was ready to receive the crux, staring out at me from the very beginning of the sentence I'd objected to5!

The pretense. MP describes the author's pretense. Of course the Power Rangers are the meaningful party to them, and of course MacDonald proposes some unknown females are nevertheless meaningful to his character, as part of the traperdition of placating the talkers and dreamers of the world by idly pretending that they're just as much a part of that world as the doers. I asked MP why he thought MacDonald dunnit. "He thinks that's how you write fantasy. But it's cheap fantasy, cardboard fantasy." Don't you find?

II.

What then of goddesses? Why would gods be talked about as though their possibility were unquestionable, and goddesses rejected as a very conceptual possibility? I was asked to produce a god. I chose Zeus6, and when asked "what is the thing about Zeus?", offered a beard and lightning bolts. Yet it turns out the ancient Greeks codified mythology as a tool, just as well-oiled and ready to be used as the fractions I'd been fumbling over in I. above, and there's a lot more to it than aesthetic tokens and mundane symbology.

The correct answer is: Zeus said "...and if you don't like it you can all grab a ring and I will grab the other side and throw you all across the sky." Cronos ate his children. Athena struck at her father's skull with her lance from inside 'til he had her birthed just to stop the pain. Diana kept her ass hidden from they who wanted to see it. Gods do, and the doing defines the godhead; Gaia7 "just is".

"So are there goddesses or not?" I asked. "What about Athena, what about Thetis, Diana?" "They did. They have tits, they're still male."

At this point it might occur to you, as it did to me, that MP's use of language --"goddess" vs "do-nothing", "men" vs "the only parties to actual activity"-- can only be fairly described as a pretense of its own. Why not state it plainly, the lazy and idiotic are therefore not as good?

It's pretense vs. pretense, and even if you don't favor the method, I doubt you can argue it's not wildly instructive for the audience.

* * *

  1. MP proposes said article's title is incomprehensible, but I have the answer key. Neener. []
  2. It is, to be sure, a blessed illness, and I know of no better, and certainly no swifter, way to learn or grow than by tending to it; text that never makes one feel sick is as so much government cheese, irradiated of culture and shelf-stabilizing unto one's death. []
  3. Specifying is, woefully, rather personally atypical. []
  4. I'd like to note for my own self-immolation that none of the reasoning herein contained blossomed forth from my own brainpan. Part of the The Churning's cure is the revelation of the number and size of one's holes in knowledge and dams to facility. Never ever believe anyone who proposes you "don't need" or "just aren't meant for" or etc, math. Innumeracy will suck your life away, guaranteed. []
  5. No shit, actually intelligent people order what they say by importance; imagining an opener is decorative is bound to fuck you up. []
  6. And quickly regretted it, asking to change to "a less complex? one" for the sake of lower outlier example potential. My request was denied. []
  7. Geea in MP's original. []