log☇︎
175100+ entries in 0.621s
mod6: when I do the factorials in my head, i seem to start with the bigger end for some reason.
mod6: one thing, that i never really thought about is going the other direction; 1 * 2 * 3 ...
asciilifeform: erlehmann: the 'ligature' liquishit had almost 600 motherfucking years, to get lost, now. since gutenberg.
mod6: <+asciilifeform> also you forgot, in the original, to divide the length of ffa by 64 (bits), yours will blow up instead of run, gcc by default does not give infinite stack << ah thanks for making the changes asciilifeform. bak now. will try this out...
phf: combining glyphs to make national flags is yes yet another extension
erlehmann: no color on my terminal please
erlehmann: and i like it that way
erlehmann: phf unifont actually leaves out shitstains like arbitrarily combining glyphs to make national flags.
phf: fwiw unifont is not even the whole story. consider extensions like CTL, which allows you to have special rendering for a sequence of glyphs. a completely separate technology from ligatures and combining characters, but part of the standard never the less. ☟︎
erlehmann: it nicely complements what they already have out of the box
erlehmann: i suggest put the following in your .XCompose if you use X11
erlehmann: e.g. those who do not use ß / ẞ write “Der grosse Duden” instead of “Der große Duden”
erlehmann: in standard german, ß / ẞ / ss / SS are not ambiguous, but in german variants that do not use ß / ẞ, the ss / SS could be a digraph depending on context.
erlehmann: note that postprocessing is always wrong. ☟︎
erlehmann: ch does not exist as unicode ligature, but as i understand distinguishing characters is one of the problems unicode is at least intended to solve. as soon as everyone uses Æ for “ AE” the postprocessing is no longer needed.
jurov: they will just expect it to work
erlehmann: instead of having to postprocess ASCII
jurov: unicode has zillions if these cases
jurov: erlehmann my language has such a delightful case of "ch" character. which is a "digraph" and to be counted as one char.
asciilifeform: http://btcbase.org/log-search?q=from%3Amircea_popescu+unicode << in there somewhere
erlehmann: also, comparing two strings should be done bytewise, always. everything else is madness.
erlehmann: jurov converting case is locale-specific, therefore better left undone. ☟︎
erlehmann: asciilifeform thx
a111: Logged on 2017-03-23 18:21 mircea_popescu: this notion that i will support the wintel FOR FREE is the lolz of all time.
asciilifeform: http://btcbase.org/log/2017-03-23#1631972 << 1 'standards' thread ☝︎
jurov: "incorporating something in unicode does not increase processing complexity" orly? maybe unless you want to do anything interesting with the text, like... count the characters. or case convert. or detect whitespace. or compare two strings. or...
erlehmann: in those days, only ~21k characters were reserved for CJK
erlehmann: version 1 of unicode was designed to keep under 16 bits
erlehmann: chinese, japanese, korean now share unihan, with all the processing complexity and technical debt incurred from that
asciilifeform: i do not write non8bit text processors, and don't intend to ever.
asciilifeform: just like the poettershits convinced idiots that 16bit chars were 0cost
erlehmann: yes, but this cost has already been incurred. unicode actually tried to prevent too many new characters in the past, leading to misfeature han unification.
asciilifeform: you want to tell me that this is not a cost ?
erlehmann: that turns out to be a problem with the abysmally bad TTF file format.
erlehmann: so if code does not care if there exist 250 or 2500 or 250000 characters, why should i?
erlehmann: one point is that incorporating something in unicode does not increase processing complexity by any means. i actually installed a new version of unifont on an old phone and instantly it could display all the new characters.
asciilifeform: fuck that, with red hot poker.
asciilifeform: why, because 'come to expect' ?
asciilifeform: but for some reason will not laugh if chairman mao does the same thing.
asciilifeform: if i start writing english as strings of 16-bit indices into the oxford dictionary, people will laugh. ☟︎☟︎
asciilifeform: gonna tell me that hieroglyphic writing is not needless bloat ?
erlehmann: asciilifeform i strongly suspect you do not distinguish between complexity and sheer numbers. i saw bloat always as referring to needless complexity, size of something only as evidence, not as bloat itself.
asciilifeform: erlehmann: didja ever read the pernicious-standardization thread in the logz ?
asciilifeform: though i definitely see the strength of his argument, that people who use more glyphs than there are keys on keyboard, have severe problem, and their place is by the cultural latrine, and not bloating the os for civilized folx
erlehmann: some writing systems contain non-abstract symbols. all the same to me, as long as everything fits in 16×16 bits.
asciilifeform: mno, that'd be mircea_popescu's.
erlehmann: can it be that your complaint is more with the egyptian glyphs than with unicode itself? ☟︎
erlehmann: also, for everyday communication i find E1, E2, E3, E4 etc. much better than trying to pass around bitmaps
erlehmann: okay, but most of it. a special interest group (egyptologican geeks) used a glyph standard. unicode swallowed that standard. this is how it usually goes. ☟︎
asciilifeform: it's a shambling horror, with empty desert, duplicated glyphs, no particular rhyme or reason, and all the consistency of microshit
erlehmann: what actually happened is that people who wanted to use hieroglyphs passed around codes such as A13 – a standard reference exists (gardiner's sign list) that was incorporated into unicode
asciilifeform: they wanna say 妓 -- let'em be stuck saying 32 bytes (16x16 bit matrix, more than enough for any hierohorror) rather than 2 bytes !!! ☟︎
asciilifeform: people who want to use hieroglyphs, should be passing around bitmaps.
erlehmann: asciilifeform the sole purpose of unicode is to replace all other glyph standards. from that follows all else, i.e. incorporation of wingdings, emoji, etc.
asciilifeform: ( why was it necessary to unicodize the fucking hieroglyphs ? even supposing the chinese are inseparable from them. why not simply carry them as bitmap matrix.)
asciilifeform: http://btcbase.org/log/2017-07-15#1684006 << via this, found >> http://unifoundry.com/pub/unifont-10.0.05/unifont-10.0.05.bmp << which is lulzy, weep at the sheer bulk of the orc hieroglyph liquishit ☝︎☟︎
deedbot: http://phuctor.nosuchlabs.com/gpgkey/BD9C3B8922865EF3611398E882E6EED96E77A5FC17B29E50A29915F8B7D0875A << Recent Phuctorings. - Phuctored: 1733...4117 divides RSA Moduli belonging to '88.80.194.26 (ssh-rsa key from 88.80.194.26 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (vcvps476.vcdns.de. DE NW)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/BD9C3B8922865EF3611398E882E6EED96E77A5FC17B29E50A29915F8B7D0875A << Recent Phuctorings. - Phuctored: 1362...5743 divides RSA Moduli belonging to '88.80.194.26 (ssh-rsa key from 88.80.194.26 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (vcvps476.vcdns.de. DE NW)
asciilifeform: ( where we do as i said, incrementing the T , using i for nothing but loop )
asciilifeform: also you forgot, in the original, to divide the length of ffa by 64 (bits), yours will blow up instead of run, gcc by default does not give infinite stack
mod6: anyway, got some chores to do, will have to come back to this later.
mod6: ah, that was used for some debugging
asciilifeform: also you got a bunch of ??? in there (what does IO do ? )
asciilifeform: there's no type rape, because you don't use i for anything but to do the thing i times
asciilifeform: O can start at 1, and get incremented (with FZ_Add) I times ( for i ..... loop)
mod6: i dunno, just the strict types thing.
asciilifeform: you don't need to examine F for any reason
asciilifeform: what's to keep you ?
mod6: ooh. for some reason, i didn't think that it could?
asciilifeform: use a human integer as the counter
asciilifeform: why do you have a ffa-wide comparison in there.
asciilifeform: ( the increment is about 4ms each, so neglected )
asciilifeform: sec. for mod6's thing, approx. ☟︎
mod6: you want me to post my code before I run this again?
mod6: <+asciilifeform> which, btw, imho is intrinsically unsuitable for a fits-in-head rsatron, it is extremely gnarly and uses float approximations that get magically unfudged back to int, etc << ugh. right.
asciilifeform: mod6: re upstack, http://mathworld.wolfram.com/StirlingsApproximation.html has the details.
asciilifeform: just determine the C, and multiply.
asciilifeform: you can immediately say how long the thing will take.
asciilifeform: mod6: other thing, since ffa is constant time, your N! is in O(N) (if mul were considered a constant op and brought outside of the brackets. which is is, 10! with 4096bit ffa, takes exactly C longer than 9! with 4096bit ffa. etc )
asciilifeform: which, btw, imho is intrinsically unsuitable for a fits-in-head rsatron, it is extremely gnarly and uses float approximations that get magically unfudged back to int, etc
asciilifeform: mod6: if you actually had to work with Mb-sized ints regularly, you'd want fft mul
mod6: ok ima kill this off then throw in some 1mb FZ
mod6: asciilifeform: entrenching tool, aha.
mod6: sure, but perhaps, getting one close is good enough in this case.
asciilifeform: well, numerical fudge thereof
asciilifeform: mod6: think of ffa as a soldier's entrenching spade. you wouldn't dig a foundation for a new house with it. but it is bare naked simple, + adequate and entirely so for entrenching, and for the occasional bout of hand-to-hand.
mod6: does that have a name? ^
mod6: 1.326 + log(65536)/2*log(2) + (log(65536)/log(2) - 1.443)*65536 << during this exercise, i started, very quickly to see this expansion pattern. was thinking there must be some square law to predict the probable size of the outcome.
asciilifeform: mod6: notice, we could trivially trap on overflow, but that ain't constanttime!
asciilifeform: meanwhile!, in sunny monkeylandia, https://archive.is/a3GZE >> 'Visa... offering up to $10,000 each to 50 U.S.-based small business owners that are committed to going cashless... "We are declaring war on cash," said Andy Gerlt, a spokesman for Visa.' ☟︎
mod6: i'd rather have something sane to read at the end of the journey.
asciilifeform: mod6: it won't affect whether it's still going, but whether you get anything resembling the correct answer on the way out
a111: Logged on 2017-07-15 07:18 mod6: this 65536 one is gonna run for a while i think...
asciilifeform: http://btcbase.org/log/2017-07-15#1684164 << this is a hot chix, she almost has a determined, 'partizan' face. ☝︎
a111: Logged on 2017-07-15 07:26 mircea_popescu: btw, does asciilifeform know about the right honorable the lord brougham and vaux pc qc frs ?
asciilifeform: http://btcbase.org/log/2017-07-15#1684145 << lol the original pediwikia d00d!111 ☝︎
jhvh1: asciilifeform: The operation succeeded.
asciilifeform: !~later tell mod6 1.326 + log2(N)/2 + (log2(N) - 1.443)*N gives bitlength of N! to 1% or so. ☟︎
asciilifeform: i quite deliberately did not put this in. who wants, can put in at his own peril.
asciilifeform: btw if you're actually doing something that doesn't need constanttime, you can simply put the obvious check-for-zero in the karatsuba and get 2-9000x boost for mul. ☟︎