▁▁▁▁▁▁▁⏐︎▁▁▁▁▁▁▁▁ 3079
feedbot: http://www.loper-os.org/?p=3044 << Loper OS -- PCB Radiography Kindergarten, Continued.
asciilifeform: wb Mocky
Mocky: thx asciilifeform
Mocky: http://btcbase.org/log/2019-02-20#1898149 I know of a couple attempts at java os, one I installed on my Compaq iPaq in 2002. but they were shit ☝︎
a111: Logged on 2019-02-20 16:08 asciilifeform: various folx attempted something roughly like this, but succumbed to own idiocy -- e.g. the java people, who 1) wrapped their 'vm' around the nonsensical shape of their tardlang 2) stopped short of 'and no this doesn't run on your tard os, is IS the os, fuckyou' ;
Mocky: I was hopeful back in the day at java chip and java os, nothing worthwhile surfaced
asciilifeform: a good thing, too
asciilifeform: ( or we could've ended up with a 'crapple future' 20y ago, instead of nao )
Mocky: i mean, entire jvm is c/c++ and filled with c/c++isms so not exactly in the direction of http://btcbase.org/log/2019-02-20#1898128 , more in the direction of 'just want to' cross platform ☝︎
a111: Logged on 2019-02-20 15:50 asciilifeform: really oughta have ~1~ compiler, and for a sane arch; and if yet cannot afford to actually siliconize the sane arch, then the sad iron oughta be booting straight in bios to a compact (asmistic) emulator of same
asciilifeform: Mocky: imho all of javaism was a massive exercise in 'just want to'ism
Mocky: I mostly agree. They did manage a coherent threading model / memory model which turns out to be the thing I miss when I'm writing in something else
asciilifeform: Mocky: coherent how ? iirc thing still relied on explicit semaphorism
mircea_popescu: yeah, wut ?
Mocky: there are explicit and implicit semantics, but if you read the spec, you know what you'll get. multiple threads setting a value on the same variable never create garbage
asciilifeform: eh setting. how'bout getting.
asciilifeform: easily create deadlock.
mircea_popescu: yeah, how about multithreaded i++ ?
Mocky: setting and getting
asciilifeform: dunno, the multithread java they had us homework at uni, deadlocked as easily as farting.
mircea_popescu: Mocky so if i declare a procedure which increments a global and a local counter, and then call it in a loop from multiple threads, at the end the globa lflag will contain the sum of the local flags ?
asciilifeform: and i wrote 9000 proggies that produced diff answer erry time they ran depending on what the thread gods felt like that day
Mocky: can do multithreaded i++ and never get garbage, if you mark it volatile forces read and write to main memory
mircea_popescu: but the ensemble will not move at the speed of a single core will it ? ☟︎
mircea_popescu: asciilifeform rng!!!
Mocky: i'm not saying they solved threading once and for all, or that eliminated deadlock. any system that allows you to acquire locks in different order can be deadlocked. i'm just saying that there are concurrent primitives that can be understood and which have guaranttes that hold
asciilifeform: mircea_popescu: hey it's approx how microshit's 'rng' worx
mircea_popescu: Mocky just trying to evaluate if this thing worth digging up
Mocky: and yes can increment global and local counters in threads and have it add up, but requires locking or cas
asciilifeform: ahahaha with locking lolk
Mocky: laugh if you will, yet still can't do it even *with* locking in standard c++, as far as I can tell
asciilifeform: i dunthink ~standard~ cpp exposes threads ( maybe cpp14 ?? )
Mocky: so not optimal, maybe even laughable, but yet has a model and as spec that is not self contradictory
Mocky: it is on c machine after all
asciilifeform: eh it's the lang that made e.g. integers a 'non-class' object and thereby non-storable in lists etc
asciilifeform: arguably managed to ~add~ retardation on top of ordinary cmachine, no mean feat
Mocky: yeah, early java lists were shit in that way but no more. now shit in diff ways
asciilifeform: ... and where they added iterators 15 yrs after lang released, to great fanfare
asciilifeform: could go on, but wai.
asciilifeform: ( or where promised 'portable' but this this day i've never seen a gui proggy in java that runs on >1 os w/out modification. and etc )
asciilifeform: *to this day
Mocky: I'm not defending java, I'm stating that in addition to pile of shit, theres a coherent memory model, thread model that is not agony to work with.
Mocky: i've seen dozens of those. look equally shit on every platform
asciilifeform: i found the thread model just as ridiculous as that of pthreads.
asciilifeform: explicit threading is ipso facto sad.
asciilifeform: srsly the ~fortran~ people understood this. in 1990.
asciilifeform: ( ever wonder wai fortran still in use at '9000 cpus' massively parallel comps ? this is why )
Mocky: i wouldn't argue that explicit threading is good. but instead of concurrent i++, consider concurrent assignment to heap references, even without locking always have a valid reference, never a garbage pointer, no matter how many threads or cores
asciilifeform: sounds like reads locked by default then
Mocky: anyway coherent != good
Mocky: also threads in infinite loops can always be stopped on every platform
asciilifeform: cuz they dun map to native threads
asciilifeform: thing's got own scheduler
Mocky: zackly
asciilifeform: ... which means they're liable to all end up on 1 physical cpu, lol ☟︎
Mocky: nope
asciilifeform: on linux, defo did, when i last gave a shit
Mocky: serious question asciilifeform, where do I look to see better threading that java. I honestly dont' know
asciilifeform: e.g. fortran-90
asciilifeform: or if you gotta explicit thread, ada's tasks in sjlj mode ( or even zcx , if you dun care re terminations )
asciilifeform: or even erlang's thread machine
Mocky: iirc that was after backus turned to shit in committee
asciilifeform: ( 100% lock-free )
Mocky: fortran threading I never looked at, but will. pretty sure threw away all my punch cards tho
Mocky: erlang I did look at briefly, but not the concurrency, seemed to me like a puzzle lang
asciilifeform: https://archive.is/QSB5E << likbez.
asciilifeform: ( re f90 )
asciilifeform: Mocky: not a 'puzzle lang', tho i can see how you might've come to the conclusion ( it's been suffering from heavy case of http://btcbase.org/log/2015-06-22#1172831 ) ☝︎
a111: Logged on 2015-06-22 21:22 mircea_popescu: ascii_field this goes right into our discussion about how the only reason lisp is ok where c is shot is that the hordes haven't sat on lisp but on c, would have been the other way around if they had sat the other way.
asciilifeform: see e.g. http://btcbase.org/log/2017-03-30#1634714 , http://btcbase.org/log/2017-03-30#1634747 ☝︎☝︎
a111: Logged on 2017-03-30 14:38 asciilifeform: mircea_popescu: i will also nitpick : 'erlang' does not belong in the list, it was a 1980s product that worked quite well in its industrial niche (large telco switches) but was later stolen and used as a totem by the folx from yesterday's thread ( http://btcbase.org/log/2017-03-29#1633873 )
a111: Logged on 2017-03-30 14:43 asciilifeform: anyway erlang is imho only worth discussing as part of a larger pattern -- industry after industry independently discovered that c -- and its entire approach to logic -- is poison
asciilifeform: + possibly http://btcbase.org/log/2017-03-30#1634769 ☝︎
a111: Logged on 2017-03-30 14:50 asciilifeform: trinque: erlang wasn't simply about 'uptime', or even 'no pointer arithmetic', it also was the only case i know of where process migration actually worked
asciilifeform: the threads (they were 'lightweight', i.e. zcx-like, things, but with termination (and restart!) mechanism) were snapshottable objects, to the extent that the runtime knew how to move'em between not only cpus but machines, and in such a way that the proggy continued w/out interruption (if e.g. machine catches fire and its threads gotta move before fire reaches cpu etc)
asciilifeform: i mention this strictly cuz we're apparently doing a 'dead langs' thrd
asciilifeform: there ~are~ dead langs that got something right.
asciilifeform: afaik java simply aint 1 of'em tho.
asciilifeform: there, 'what is original, aint good, and what was good, aint original'
Mocky: sounds accurate enuf
asciilifeform: Mocky: i sympathize re that you toiled in it for 20y; for my part , i work with... microshit kernel diddles etc, for bread. but i'll be the last to say 'here's what we can learn from microshit' (afaik there is ~0 to be learned from microshit, other than how to run the hell away)
asciilifeform: some things are simply steaming piles of shit, from which there is nuffin to say, and the only use of which is that one can make a few bux cleaning'em up
asciilifeform hopes to live long enuff to stop cleaning up piles o'shit for a living, but not holding breath
Mocky: indeed. I've had my fill of java, but get paid for it so it's still in my immediate future
Mocky: but i don't have asciilifeform's mental model of a much better lang with which to compare. I have c c++ python javascript that I also get paid to work with occasionally, which ~entirely punt on threading
asciilifeform: Mocky: they forgo threading cuz on c machine you have exactly 3 options : a) forgo threading (i'ma not detail python's 'forgo threading and then lie about it' as separate variant, it is beneath contempt) b) sit down on unix's threads (pthread) c) implement own scheduler
asciilifeform: (c) is generally not an option in lightweight ('scripting') langs, so these generally end up (a)
trinque: http://btcbase.org/log/2019-02-20#1898077 << he's alive and well, sinfully busy atm helping me chase down some cash. sends his regards to the republic ☝︎
a111: Logged on 2019-02-20 15:02 mircea_popescu: trinque did you ever see the guy irl lately ? say this year or something ?
asciilifeform: (c) also dun play very well with the underlying (b) that one is forced to contend with if you actually want physical parallelism, at least not w/out extraordinary care
asciilifeform: trinque: aah so mired in saecular matters, like phf
trinque: quite so
mircea_popescu: http://btcbase.org/log/2019-02-21#1898456 <<->> http://btcbase.org/log/2019-02-21#1898425 ☝︎☝︎
a111: Logged on 2019-02-21 02:06 asciilifeform: ... which means they're liable to all end up on 1 physical cpu, lol
a111: Logged on 2019-02-21 01:45 mircea_popescu: but the ensemble will not move at the speed of a single core will it ?
asciilifeform: i suppose this is good news, trinque ( i feared that he had gone to the bottom )
asciilifeform: mircea_popescu: lang that quietly locks ~errything behind yer back, whether you wanted or not, does tend to run 'at speed of 1 core', a la python
asciilifeform: ( not mega-surprise )
mircea_popescu: myeah
mircea_popescu: "This used to be the page for my fork of Fabrice Bellard's Tiny C Compiler, but I got sick of competing with a mostly dead CVS archive that nevertheless remained "official". Every time I worked on my fork it inspired new work in the old CVS archive, and every time I set my fork aside the old project ground to a halt. Even though the old tcc project repeatedly stagnated whenever I stopped working on my fork for a few months, n
mircea_popescu: obody wanted to work with me on my version because it wasn't "official"."
mircea_popescu: this is actually more substantially gnu than any tech/engineering/cs/anything. invidious wikitards rather than anything else.
asciilifeform: lolwat, what means 'mostly dead' if 'new work' ?!
asciilifeform: 'mostly pregnant'
asciilifeform: !#s plowing flies
a111: 12 results for "plowing flies", http://btcbase.org/log-search?q=plowing%20flies
mircea_popescu: "(People sent me bug reports about the 0.9.24 release. Yeah, that release contained a lot of code copied out of my tree into CVS, but the release was based on CVS, not on my tree.) By 2008 as CVS sank into obsolecense, TCC had clearly decided to go down with the ship. No matter how much work I put into my fork it would never eclipse the "official" tcc project (which could of course read my code to advance their tree)."
mircea_popescu: basically, the cunts were just taking dood's patches and dropping them in their toilet.
mircea_popescu: "hen I stopped work on my fork, the other project stopped, but when I started up again, so did they. All I was doing was keeping the CVS tree just active enough to exclipse mine, and I was tired of it."
asciilifeform: not even clear, from this telling, which the cunts and which the dood with patches
asciilifeform: cuz, see, no v.
asciilifeform: it resembles that story with rms & lmi
asciilifeform: mircea_popescu: is the quoted item bellard ? or sumbodyelse
mircea_popescu: i believe rob landley.
asciilifeform has nfi who is landley
mircea_popescu: http://www.landley.net/ << dood. http://www.landley.net/code/tinycc/ << sauce of quotes.
asciilifeform: aa
mircea_popescu: ers side of the great bazaar brawl.
asciilifeform: http://lists.gnu.org/archive/html/tinycc-devel/2008-09/msg00013.html << apparently 'My objection all along has been that CVS is not a real source control system, and no modern project should be burdened with it' etc
mircea_popescu: anyway, guy did busybox, basically.
asciilifeform: i dunget why he gives a fuck re 'eclipsed' tho
asciilifeform: wainot run along with his own patch chain, not giving fuck re other end
mircea_popescu: http://phuctor.nosuchlabs.com/gpgkey/9DC9F3BB2B585BD6595854875C7BAFED9AB3639EC8602A8BB469829C8390776C << for lulz.
mircea_popescu: because he's a man alone ?
asciilifeform: lol!
feedbot: http://trilema.com/2019/uccellacci-e-uccellini/ << Trilema -- Uccellacci e uccellini
mircea_popescu: anyway, has a shitty html blog, all the symptoms people go through in that quarter or two between when they get the republic illumination and when they become actually useful/productive.
mircea_popescu: except in his case it's been ongoing for decade+
mircea_popescu: but, if looking for more targets to practice your email curse...
asciilifeform: i'ma roust him when we get own tccism going
mircea_popescu: There were functions named g() and o() <<< bwahahaha. ☟︎
asciilifeform: 'My wife's name is Fade. We got married at Penguicon 2007. Fade's boss Steve Jackson officiated, and Eric Raymond was best man. (The wedding fit into a 1 hour panel slot and was moved once so as not to conflict with an Elizabeth Bear panel Fade wanted to attend, and a Charlie Stross panel Steve wanted to attend. Yes, we're all that geeky.)'
asciilifeform does not even know what to add to ~that~..
mircea_popescu: Someday if I get back to this topic, I want to glue either sparse or the tcc front end to qemu's tcg back end and produce a new compiler that A)
mircea_popescu: supports all the targets qemu does, B) can build linux and busybox and uClibc and itself (thus providing a self-bootstrapping system; I'd upgrade busybox to have missing bits like "make"). << maybe HE could be doing the tcc work, at any rate.
asciilifeform: iirc classic tcc built self + kernel
asciilifeform: mircea_popescu: if you can muster the juice, wainot try an' wake him . iirc mircea_popescu has a ~100% 1shot 1kill record for these.
asciilifeform brb,meatsystems
feedbot: http://bimbo.club/2019/02/philosophical-transactions-for-the-months-of-september-and-october-1715-account-of-books-ii/ << Bimbo.Club -- Philosophical Transactions. For the months of September and October, 1715. - Account of Books - II.
asciilifeform: in other olds, http://lists.gnu.org/archive/html/tinycc-devel/2005-09/msg00054.html << report re how gcc built with tcc ( spoiler : ancient gcc, and still required some patching )
bvt: hi, asciilifeform: did you see this https://www.gnu.org/software/mes/ ?
asciilifeform: nope
asciilifeform: loox potentially interesting tho. bvt didja try it ? ☟︎
bvt: not yet, but can give it a shot sometime next week
asciilifeform: i admit, will be surprised if it actually does what's printed on the box, and still i never heard of it
asciilifeform: but won't complain, pleasant surprises are few in life
asciilifeform: https://www.gnu.org/software/mes/manual/mes.html << subj docs, for the l0gz
bvt: it seems to be quite a new item, iirc less than a year old. i'd expect it does not support arm. can't say anything about bugs without trying out.
asciilifeform: ok this didn't take long... claims to 'bootstrap from 500 byte assembler', in opening page, but then : 'GNU Guile, version 2.0.13 or later, including 2.2.x; GNU Make. NYACC, 0.86.0 is known to work. GCC’s gcc, version 2.95.3 or later.'
asciilifeform: ( sect. 2.1 in linked doc )
asciilifeform: bvt: imho still worth a test-fire, i'm curious if even given the stated conditions the thing runs
asciilifeform: other interesting claims, in https://bootstrappable.org/projects.html we find that 'The C and C++ compilers of the GNU Compiler Collection make up the foundation of many free software distributions. Current versions of GCC are written in C++, which means that a C++ compiler is needed to build it from source. GCC 4.7 was the last version of the collection that could be built with a plain C compiler'
asciilifeform: ^ is this troo ? cuz if yes, possibly we're on the 'wrong' gnat.. ☟︎
bvt: i have seen reports of this, but never verified myself. my understanding is that there is a slow c++zation of gcc: i backported one gcc patch for my home system from 6 to 4.9, this involved removing c++ chunks.
asciilifeform: bvt: q is whether there is cppism in the 4.9.
asciilifeform: if there is, it must go.
bvt: but version 4.9 looked healthy (i.e. plain c, did not see any cpp code there). i had a look at a single file, though, so this is no guarantee.
asciilifeform: linked pg claims '4.7 last'. hence q.
bvt: i have also seen a one guy at suckless complaining about this back in the day: https://lists.suckless.org/dev/1605/28871.html ☟︎
asciilifeform: a quick look at the ave1gnat src reveals ~2dozen .cpp , but they all look to be part of the cpp test suite
asciilifeform: so entirely possible that the '4.7' thing is disinfo
asciilifeform: lotsa .cc ( also cpp ) , but not clear that they're part of gcc proper, rather than cpp standard lib. will require a proper walk (or , alternatively, to rebuild the thing with flags banning cppism and see if barfs )
asciilifeform: via bvt's link : '...versions of GCC prior to 4.8 also allow bootstrapping with a ISO C89 compiler and versions of GCC prior to 3.4 also allow bootstrapping with a traditional (K&R) C compiler...'
asciilifeform: based on looking at the src, ^ appears to be troo re ave1's, and the claim on bootstrappable.org -- disinfo
feedbot: http://qntra.net/2019/02/usgalphabetgoogle-claim-they-intended-to-declare-secret-microphones-existence-actually-waited-until-other-people-found-it-now-attempting-to-spam-over-their-treachery/ << Qntra -- USG/...ogle Claim They Intended To Declare Secret Microphone's Existence, Actually Waited Until Other People Found It, Now Attempting To Spam Over Their Treachery