log☇︎
40200+ entries in 0.023s
asciilifeform: folx gotta know measure.
asciilifeform: aha
asciilifeform: btw no known unix permits an 'infinite' cmdline.
asciilifeform: http://btcbase.org/patches/ffa_ch4_ffacalc#L55 << copies the unix turd into the fixed space, if fits, if not, above.
asciilifeform: observe http://btcbase.org/patches/ffa_ch4_ffacalc#L97 mechanism, i fix a max length of param apriori, and routine will explicitly and pompously end the world if luser insists on trying to stuff it further.
asciilifeform: correct.
asciilifeform: ( so long as the thing gets enuff stack segment on warmup , if it does not, bombs immediately )
asciilifeform: strings of any length you want ~defined apriori~ work under my constraint.
asciilifeform: i banned it in my proggy. because i don't like what it leads to.
asciilifeform: mircea_popescu: this more or less exactly describes gnat's implementation of 'secondary stack' (somewhat misnomer)
asciilifeform: trb's footprint problems are 100% on account of heapism.
asciilifeform: in actual practice turns out , pretty terrible thing.
asciilifeform: mircea_popescu: that's what a heap ~is~, a place which lets you pretend to be able to store sequences of objects of unknown-apriori lengths.
asciilifeform: Mocky: it is of course possible to do what mircea_popescu describes, the gnat folx did it by making use of heap. however i banned the heap. because i wish to be able to reason apriori re memory usage.
asciilifeform: https://docs.adacore.com/gnat_ugx-docs/html/gnat_ugx/gnat_ugx/the_stacks.html#the-secondary-stack << the horse's mouth, re details.
asciilifeform: it only becomes a problem if one insists on returning items of unknown apriori size.
asciilifeform: draw this on paper, it will make sense.
asciilifeform: mircea_popescu: because stack frame is of fixed size in advance .
asciilifeform: returning strings of fixed apriori lenght, on other hand, does not.
asciilifeform: in order to ~return~ such a string, a place other than the stack is required to store it. ( to grasp this, gotta visualize stack frame. )
asciilifeform: mircea_popescu: problem , if one want to call it one, is that the standard explicitly gives a knob for getting cmdline params, and that knob demands indeterminately-long strings (i.e. built on dualstackism) to work.
asciilifeform: sanity-constrained wrapper around the linux c-ism.
asciilifeform: ( http://btcbase.org/patches/ffa_ch10_karatsuba/tree/ffa/ffacalc/cmdline.ads + http://btcbase.org/patches/ffa_ch10_karatsuba/tree/ffa/ffacalc/cmdline.adb for the curious )
asciilifeform: mircea_popescu: that's exactly what i did.
asciilifeform: mircea_popescu: the dualstack thing comes into play when you start to demand that a function ~return~ a string of length not known in advance.
asciilifeform: mircea_popescu: ada gives you ~this~ type of string 'for free' ( all ada strings contain their length )
asciilifeform: ( there was not an existing 'profile' corresponding to the degree of 'fascism' asciilifeform wanted , hence the bulk of http://btcbase.org/patches/ffa_ch10_karatsuba/tree/ffa/libffa/restrict.adc item )
asciilifeform: in re: constrained ada subsets, the traditional standard actually contains annexes that specify 'profiles', e.g. https://archive.fo/4xUvl , that consist of sets of prohibitions . but currently very primitive, afaik none contain substantial ~substitutions~ for mainline functionality.
asciilifeform: e.g. it is not permitted to index array by a variable that cannot be shown to be ranged within the known ( and it must be known ) size of the array; if you want compiler to permit you the use of a pointer, gotta demonstrate that it cannot outlive its scope; and so forth ( iirc plentifully summarized in l0gz )
asciilifeform: mircea_popescu: was speaking of basic semantics, rather than i/o and storage ( consider , good chunk of the reason ada wins is that it not merely enforces constraints, but forces operator to think and plan, rather than http://btcbase.org/log/2016-01-21#1379603 -shit into his pants ) ☝︎
asciilifeform: point was that certain language features make for effectively smarter ( or dumber ) thinker.
asciilifeform: funnily enuff ( esp in light of mircea_popescu's excursions into sapirwhorfism ) this may not be true
asciilifeform: ( separation of language-standard and annexes is a basic component of sanity )
asciilifeform: right, these belong as annexes .
asciilifeform: ditto filesystemism, is meaningless on apparatus with no disk
asciilifeform: mircea_popescu: consider for instance commandline args, the concept is meaningless on embedded chip with no commandline/shell
asciilifeform: i/o in particular is intimately machine-specific and cannot be 'language-standardized' unless you're perma-marrying unix or the like.
asciilifeform: for thread completeness i must add that there are items in the standard (i.e. 'tasks') that i do not use in ffa, but intend to make use of in future ( i.e. trbi ) , and may be let live.
asciilifeform: to date i've rejected all items requiring secondarystackism; that's currently it.
asciilifeform: mircea_popescu: i've little doubt that he's right; hence http://btcbase.org/log/2018-07-18#1835943 ☝︎
asciilifeform: meeting something reasonably close to a sane standard is educative, whatcanisay.
asciilifeform: mircea_popescu: incidentally cr seems ~ideal for forest antennae placements.
asciilifeform: iirc trinque lives ( or at one time lived? ) there
asciilifeform: mircea_popescu: they used something like 1/10 of the anaesthetic dose ( thing is fiendishly difficult, incidentally, to dose )
asciilifeform: was being considered as component in field med kit
asciilifeform: ben_vulpes: last i knew, ketamine was usg.dod state of art
asciilifeform: ben_vulpes: in olden times 'electroshock' 'worked' same way
asciilifeform: aha
asciilifeform: asciilifeform's observations in pet terrarium confirms
asciilifeform: ben_vulpes: see also http://btcbase.org/log/2017-04-07#1640167 ☝︎
asciilifeform: oh hey hey hey lbj
asciilifeform: mircea_popescu: kite no good for stationary repeater. state of the art is prolly item hanging from tall branch.
asciilifeform: mircea_popescu: in re sw, there was some work in '70s re using ~trees~ as antennae, but afaik went nowhere (at least publicly)
asciilifeform: mircea_popescu: would work for short-range (line of sight) radio tho, 500MHz+
asciilifeform: mircea_popescu: need at least 20M long antenna, and at least 1M away from ground, and made of something reasonably conductive and not friable (i.e. not meat)
asciilifeform: mircea_popescu: unfortunately wont work for sw
asciilifeform: BingoBoingo: thus far d00d seems unable to enthrone a nonpantsuit head prosecutor..
asciilifeform: mircea_popescu: helmet, nazi goggles very convenient, can pass off beer buddy's photo as own
asciilifeform: 'where have you flown, chukcha?' 'every night i eat mushroom and fly to upper tundra'
asciilifeform: 'chukcha is pilot, here is airplane from walrus tusks and dried deer shit'
asciilifeform: mircea_popescu: ping their dependopotami, let'em know the old dog broke loose from chain..
asciilifeform: ( in usa, 7 sons more typically are 7 people begging for beer money )
asciilifeform: only if he makes his way to afganistan , lol
asciilifeform: so , lacking evidence to the contrary, i suspect that the man is ( like asciilifeform ) a pauper.
asciilifeform: mircea_popescu: usa is this enchanted land of fleadom where it is in fact possible to '7k for 20 yrs' and still have 0 serious capital, cuz weevils eat ~100% of it
asciilifeform: http://btcbase.org/log/2018-07-18#1835956 << i suspect that logic of poverty was at work (i.e. 'if we can't gross 500k , by whatever means, the landlord will take back the office and the programmers will go home' ) ☝︎
asciilifeform: mircea_popescu: it is. ( tho they also have satellite gulags in other parts of continent, and in various colonies )
asciilifeform: http://logs.minigame.biz/2018-07-17.log.html#t00:02:23 << can be 40 - 50% if you're cursed correctly ( i.e. no mortgagism to subtract, no low-taxable 'investment' incomes, etc, just labour )
asciilifeform: http://btcbase.org/log/2018-07-18#1835984 << hah, interesting, i had nfi that Mocky was a grandfather ☝︎
asciilifeform: ( spoiler : they went home empty )
asciilifeform: http://btcbase.org/log/2018-07-18#1835982 << at one time , on usg throne, i was on receiving end of this treatment, wolfram co flew in emissaries to pitch their various bells an' whistles and 'see how much they can get' ☝︎
asciilifeform brb,tea
asciilifeform: ave1: that'll be the gold medalist, as it will run on ice40 , i.e. 'tmsr cpu'. ☟︎
asciilifeform: ave1: dun forget 'mips + no os'
asciilifeform: phf: for all i know, ~today's~ spaceprobes fly with java on winblowz. i am speaking of the 'golden age' 1980s-1990s items.
asciilifeform: secondary stack not only requires a fairly bulky bit of initialization logic in erry binary, but also makes it very difficult to reason conclusively about proggy's space usage
asciilifeform: can't seem to find this discussion in the logs, so i'll summarize , for noobs :
asciilifeform: btw did i ever discuss why i forbid the secondary stack ? ☟︎
asciilifeform: ( the spaceprobes people, afaik, handle the problem asciilifeform's way. )
asciilifeform: observe that the standard specifically permits disabling secondary stack. but what it doesn't do, is to give you any means of using such things as cmdline args, if you do this.
asciilifeform: to date this is asciilifeform's only explicit crossing-out of ada2012 standard's item.
asciilifeform: phf: so i explicitly rejected the standard's routine.
asciilifeform: phf: observe however that it is impossible to make use of your approach re cmdline args. the standard unambiguously mandates variably-lenghted strings ( i.e. dualstackism ) for that. ☟︎
asciilifeform: assumed that i would have to do it with own hands.
asciilifeform: phf: when i started out, i had no notion that anyone would help me by producing a working libc-less gnat.
asciilifeform: phf: it will require moar massage to actually produce a compact binary, and so i did not go with it; but it is still prolly The Right Thing long-term
asciilifeform: phf: i can't say this is a wrong approach
asciilifeform: ( working from asm examples that asciilifeform posted recently )
asciilifeform: ave1 iirc is currently in the process of baking cheap and angry asm-on-x64-linux replacements for both knobs.
asciilifeform: ( hence why the logic is brought out to ffa_calc, rather than part of the lib proper -- to emphasize this )
asciilifeform: in embedded machine , will point out, neither knob is necessary
asciilifeform: *gargantuan
asciilifeform: ( there isn't actually an alternative, aside from -- respectively -- using gnat's gargantual text_io lib, and permitting secondarystackism. )
asciilifeform: phf: iirc i used cism for put/get on stdio, and for cmdline.
asciilifeform: phf: first it must work with asciilifeform's item . and only then i can dare to speak of 'enuff for erryone!'.
asciilifeform: ( as well as fitting into microcontrollers and other non-x86 )
asciilifeform: phf: my specific motivation in asking ave1 for this, was to enable building e.g. ffa where binary is small enuff to manually disasm and audit.
asciilifeform: it's what the space probe etc. stuff gets built with.
asciilifeform: phf: adacore actually distributes a compiler like this. but it is commercialware, and i've never seen it.
asciilifeform: ( or at the very least, will connect them to a default-off toggle switch. )