asciilifeform: this in fact is a practical definition of 'turd' in our context : item that, massage it as you will, is still fundamentally broken by design.
asciilifeform: because the conceptual foundations are retarded.
asciilifeform: any day of the week, thing can be silently and imperceptibly broken.
asciilifeform: that is the fundamental discovery of 25 years of c idiocy.
asciilifeform: i also suspect that any system that can be thompsonized, eventually will be (given as it propagates, the transformation is permanent). but that is separate point.
asciilifeform: really reduces to 'any system that doesn't fit in head is trivially thompsonized.'
asciilifeform: that was the only point of contention, from asciilifeform .
asciilifeform: but oughta see that thompson is an absolute bar to hygienic computing ~with gcc~ or any other similarly complex compiler.
asciilifeform: presently i suspect that mircea_popescu has a correct understanding of thompson.
asciilifeform: 'it wouldn't do.' 'only a terrorist would.'
asciilifeform: but mircea_popescu has it, there is a variety of ways to break out of a hypothetically thompsonized universe. but -- for some reason -- ~entirely 'not done'.
asciilifeform: the one where 'i can read an eprom without a comp. and write it without a comp. now where is your thompson bomb.'
asciilifeform: but yes, you can elementarily 'exit the cave' by using grid paper, head compiler, toggles. in fact this was one of the first ( the first ?) threads with asciilifeform on mircea_popescu's www comment section
asciilifeform: (rather than by, as bellard did, compiling with gcc.)
asciilifeform: tcc not so, but only if you bootstrap it by hand-compiling to grid paper and entering via toggles.
asciilifeform: mircea_popescu: it is conceivable that no one now living has ever used a 'pre-patch' gcc. that's the idea, that 'gcc' is not in fact defined by its src, but by the aggregate of 'the published src' + 'the extant sets of built gccs'
asciilifeform: say it introduces an off-by-one 0.001% of the time.
asciilifeform: and it'll be a 1 byte difference in 1 place.
asciilifeform: mircea_popescu: i can trivially patch gcc such that anything later built that uses any string ops whatsoever, with external inputs, is exploitable.
asciilifeform: the problem with applying this principle to c compiler, is that c offers ~permanent~ fertile ground for booby
asciilifeform: take my old example, 'boobytrap an fpga.' elementarily you WILL need to somehow fit an ai in there, to create any serious problem for UNKNOWN bitstream
asciilifeform: phf: the basic theorem involved in breaking out of a thompsonism is specificity-of-diddling.
asciilifeform: (picture if two d00dz were sent into two separate dungeons , and promised impalement if they come out with c compilers that produce binaries for particular test program that differ EVEN IN ONE BIT. quite impossible for them to avoid the stake, because c is ~nonstandardized~, in the sense where the standard does NOT specify all cases)
asciilifeform: the standards group stopped short of 'any compiler that shits out a bitstring different from the official one for a particular cpu, is nonconformant', however.
asciilifeform: strictly so that they can be thus compared.
asciilifeform: incidentally the folx who designed ada, read thompson's paper. and immediately acted. which is why in ada you get 'driving stick'-style control over the compiler, the order in which it puts down routines, and data structures during 'elaboration', and can leave bread crumbs for manual binary auditor (yes) to look for when he compares (yes) binaries built on different systems for same rocket.☟︎
asciilifeform: thompson's demo worked for arbitrary N layers.
asciilifeform: anything that eats a maybe-inspected input and produces a never-inspected-but-is-executed output.
asciilifeform: i will add to phf's summary -- if the problem afflicted ~strictly~ compilers, it would be quite easy to solve -- write bootstrap in asm. but there is no rule that it has to affect strictly compiler. could just as easily be - say - the ~loader~.
asciilifeform: trinque: so, while machine requires 'blob' to boot (note though, e.g., pdp8, did not, also had hex keypad) -- it is not necessarily true that said 'blob' is not optically readable by human.
asciilifeform: (can simply be row of lamps, and moving photo paper.)
asciilifeform: and such a gadget is not, save for the eprom, in the usual sense 'electronic'
asciilifeform: it is not difficult to build a gadget that dumps an eprom to paper tape
asciilifeform: and rom burners were often boxes with hex keypads
asciilifeform: incidentally, in olden days, most folks used no asmer
asciilifeform: ( consider naggum's description -- 'our field does not actually advance, because we are broken people who do not learn from mistakes' or how was it. )
asciilifeform: dun have to take my word for it, can try it yourself, burn a decade like i did.
asciilifeform: you cannot gabriel_laddel your way around the shitfest that is the iron.
asciilifeform: trinque: the x64 box that 'you can get the docs for' is , as i learned experimentally and very painfully -- a strictly imagined item
asciilifeform: (and afaik every 100M nic currently in production)
asciilifeform: trinque: problem is that every gb nic in existence needs a blob.
asciilifeform: ben_vulpes: if i can't connect comp to $othercomp at bus speed - you lost me.
asciilifeform: enemy pumps in new hardware that 'you MUST support, or otherwise you WILL buy your comps on ebay strictly' faster than you can driver.
asciilifeform: you can view the result of the last set of folx who did it, 'movitz', which boots on 0 modern irons.
asciilifeform: it isn't a 'separate matter', it is a lifetime of liquishit pumping
asciilifeform: trinque: the flaw is that you gotta support a megatonne of liquishit for even nic to work -- dma, page tables, etc
asciilifeform: trinque: i stopped working on subj when i utterly failed, after many months of effort, to get an ab initio GB nic driver to exist
asciilifeform: trinque: i suspect that almost everyone here has one
asciilifeform: ( the other is to build system out of movable blocks in such a way that it becomes conceptually impossible to build a proper 'surprise' )
asciilifeform: trinque: recall the 'specificity of diddling' thread; inspection is only one of the two known defenses.