mircea_popescu: and in other gateways, http://68.media.tumblr.com/b83ff7af950e69b8ed32a2bb05c1ee0c/tumblr_opsq7iDY4U1v5qo9eo1_1280.jpg
a111: Logged on 2017-07-08 01:11 mircea_popescu: the amusing part not yet picked up (i was expecting alf to jump) is that... it has inband encoding. "self" is a special word!
mircea_popescu: sina better questions!
sina: mircea_popescu: "self" just signifies the message was published into the local messages list by the local client itself. suggestions are open for other ways to signify same, e.g. if you think the entry should simply be blank
sina: or not recorded
mircea_popescu: and if a guy named "self" sends it ?
mircea_popescu: prolly limit names to alphanum and then use eg "*self" or somesuch is the approach.
sina: fair. names are limited currently to [a-zA-Z0-9_]+
mircea_popescu: this is correct.
sina: looks like this now: 2017-07-08 05:54:50|delivered_by:*local|sender:sina|hello world
sina: alright, now back to my /tmp dir to try and prototype a fs based thing
sina: oh yeah, the other day, inspired by ben_vulpes wotpaste I made this in golang https://github.com/sinner-/tinypaste
sina: quite happy with it
mircea_popescu: is it live anywhere ?
sina: not right this second, hold pls
mircea_popescu: no rush just in general
mircea_popescu: sort of thing can't hurt to have multiples of
sina: mircea_popescu: http://paste.sina.id.au/
sina: for now it's set to clean up anything older than a week every week
sina: mircea_popescu: do you have 5-10m to discuss the filesystem thing re gossipthing
sina: cool, appreciated. so I currently have 3 tables: keys, peers, messages. let's start with keys I guess.
sina: so there are 3 "states" for a key, 1. available, 2. bogus, 3. assigned
sina: for the assigned keys, it seems fine to have a directory like key/name_of_peer_assigned.key
sina: with the privkey as the contents of the file
sina: but what about bogus and available keys? keys/available/???.key and keys/bogus/???.key, so the two questions would be, 1. what are they named, 2. how to transition states, e.g. from available to assigned
mircea_popescu: sina ideally you use symlinks.
sina: if its a matter of moving a key from keys/available/???.key => keys/assigned/name_of_peer_assigned.key ...or symlinking as you mention
mircea_popescu: /key/0fae.key ; /key/assigned/symlink-0fae.key /key/bogus/symlink etc
sina: then I either need to shell out to mv/ln
mircea_popescu: now, whether this works irl or noit, we do not really know
sina: or implement a chunk of mv/ln in my code
mircea_popescu: alternatively (and what everyone does) is make pagefiles and read those. though...
sina: define pagefiles
mircea_popescu: sina you can just create/edit the symlinks like any other files.
mircea_popescu: sina you know, blkblabla.dat
mircea_popescu: sqlite iirc does single file per db
sina: I dunno about this suggestion. for example if I want to assign an available key, I need to list the keys in /keys, then subtract from that list the list of keys in /keys/assigned and /keys/bogus ?
mircea_popescu: well, if you wish to assign a SPECIFIC key, then you must edit the /keys/assigned/key.symlink reference to point to it.
sina: no, I want to assign any available key
mircea_popescu: if you wish to find out what key you can assign, you gotta enumerate the db, though ideally you keep this in ram rather than in the db
mircea_popescu: sina there is no such "any" in computing.
sina: what you said "wish to find out what key you can assign" is what I meant
mircea_popescu: sina to find out which keys aren't assigned you also keep a /keys/available then
mircea_popescu: basically, every sql index = a directory tree
sina: but this introduces potential race condition now?
sina: two assignment attempts might list the same available key
sina: sqlite transaction for example protect against this
mircea_popescu: depending on how the whole scheme is implemented, yes.
mircea_popescu: sina they do not protect against this by design, but by implementation.
sina: agreed and understood, I am just subtly trying to make the point of "making me implement a shittier sqlite"
mircea_popescu: i am not making you! and if it dun seem like something you wanna do best not to do.
mircea_popescu: it's not directly obvious why it'd be shittier though. if nothing else, can just cannibalize sqlite code, iuf you think it's that great.
mircea_popescu: in which process you will have for the first time read and tried to understand it, and likely discovered some things re greatness.
sina: I just doubt I can impl, e.g. transactions as well as sqlite guy
mircea_popescu: this is fine, as a general notion, but what is it based on ?
sina: lack of subject matter expertise
mircea_popescu: right. well, do you wish to acquire some ? ~what the whole discussion reduces to.
sina: good question
mircea_popescu: dun has to be answered tonight anywya
sina: one interesting thing is that I thought there would be some databases implemented as flat files, but I can't seem to find any
sina: because I definitely remember in the past thinking thoughts along the lines of "filesystem is a ~btree, rdbms is a ~btree, why am I ~btree on top of ~btree", and reading discussions about this topic on the internet, and feel like I remember *someone* mentioning something about this
sina: I dunno much about lisp, but I think lisp handles this better in the sense you write state into the "lisp machine" and can flush that entire state out to disk and read it therefrom as well?
sina: so in lispland you get this kind of native ability to easily export/import primitive datastructures to disk easily
sina: mircea_popescu: I am guessing tmsr is not fond of things like JSON or YAML
mircea_popescu: !#s "json"
a111: 555 results for "\"json\"", http://btcbase.org/log-search?q=%22json%22
sina: as I guessed :P
sina: mircea_popescu: still around?
mircea_popescu: yea ?
sina: question: do bogus keys actually need to be stored?
mircea_popescu: well yes, the program needn't be able to distinguish them from keys generally. bogus is an operator designation.
sina: oh. I might use them for bogus data sendage though or something
sina: so I guess I do need to store them
sina: damn. that would've made my life easier :P
mircea_popescu: and if a machine is captured, and so on
sina: elaborate re machine capture?
mircea_popescu: well suppose enemy finds a gossiptron. why should he be able to tell which keys were bogus ?
sina: in the model you proposed he would be able to anyway right, just by seeing which symlinks are in keys/bogus
mircea_popescu: why would you trust that ?
sina: if you're an enemy capable of capturing a gossiptron and knowing of the things, why wouldn't you?
mircea_popescu: because absence of key is dispositive, whereas scribblings on the key is at best indicative.
sina: fair. In any case I think I must retain for the purpose of "chaff" feature
sina: which is currently not implemented anyway
mircea_popescu: so there you go
sina: https://github.com/sinner-/gossipd/commit/54254c22bdeec2355fea22b069bdeee97a57b1ca << no more sqlite
sina: directory looks like dis: http://paste.sina.id.au/1C36509D7782CE51AA687C02E8A970EFBAD6FA1B
sina: wasn't as bad as I thought it'd be
sina: still needs a tad work to make the code a bit easier to read and finish model.delete_peer()
sina: didn't end up using symlinks
sina: rather each privkey has an additional top-of-file line which states either "-available", "-bogus" or the peer name
mircea_popescu: http://btcbase.org/log/2017-07-08#1680811 << mind ye ad-hoc datastructures.
a111: Logged on 2017-07-08 10:54 sina: wasn't as bad as I thought it'd be
sina: fair. possible rejiggings on that tomorrow
sina: for nowe, bed
mircea_popescu: meanwhile @shopping, http://68.media.tumblr.com/6f4052f9a62eb621d5369b59e1e7f08d/tumblr_olnkldFYU21s4dxj3o1_1280.jpg
asciilifeform: lol looks like a python who tried to eat two golf balls
mircea_popescu: and succeeded.
mircea_popescu: but alright, let's get back to basics then. http://68.media.tumblr.com/e5bd4ea1b58dcd51b5e907a09fd4de7c/tumblr_osjxauzx6I1v2rgrno1_1280.gif
shinohai: Constipated? We can fix that!
mircea_popescu: "looks like a python that's trying to swallow a buncha smaller snakes"
deedbot: http://qntra.net/2017/07/g20-summit-fiat-leaders-still-meeting-amid-declining-relevance/ << Qntra - G20 Summit: Fiat Leaders Still Meeting Amid Declining Relevance
BingoBoingo: You wanna know whats more important than throwin away money at a strip club? Credit/ You ever wonder why Jewish people own all the property in America? This how they did it. << Line by noted White Supremacist Jay-Z
mircea_popescu: wait, he's trying to turn the horde of aging "trynna make it as a pimp" blacks into good consumers with credit cards ?
mircea_popescu: aaaand... nobody calls him out on it ? gangsta what ?
asciilifeform: i thought 'rap' lyrics were officially required to come out of a certified an'sealed shannonizer, like las vegas one armed bandit rng
mircea_popescu: hot topic muzak, now from black people!!1
BingoBoingo: AHA, he is being called out for "feed[ing] into preconceived notions about Jews and alleged Jewish control of the banks and finance." << Jews at Anti Defamation league
mircea_popescu: because hjey, THAT is the real issue yes ?
mircea_popescu: good thing jayz is so very "controversial", i think ima go buy his album
a111: Logged on 2017-06-13 15:17 mircea_popescu: and this model ENTIRELY explains all of the "luminaries". werner koch worked the feeder-chumper cycle. stallman worked the feeder-chumper cycle. curtis yarvin worked the etcetera.
mircea_popescu: cycles, everywhere.
mircea_popescu: "the strong take from the weak, and the smart take from the strong. the weak'd better have great cocksucking skills to close teh cycle."
BingoBoingo: Really gotta give the urban youth directions on finding and identifying Jewish neighborhoods
mircea_popescu: tru dat, rachel's been slipping herself roofies in desperation.
BingoBoingo: !~ticker --market all
jhvh1: BingoBoingo: Bitstamp BTCUSD last: 2518.59, vol: 6546.82530631 | BTC-E BTCUSD last: 2494.9, vol: 3183.64189 | Bitfinex BTCUSD last: 2501.9, vol: 13104.35099044 | BTCChina BTCUSD last: 2573.9818, vol: 5560.59180000 | Kraken BTCUSD last: 2519.233, vol: 5587.7122669 | Volume-weighted last average: 2519.10413738
deedbot: http://trilema.com/2017/mom/ << Trilema - Mom ?
mircea_popescu: dun dun dun
mircea_popescu: "i don't know, baby... we'll have to ask your father..."
mod6: <+shinohai> Constipated? We can fix that! << lol
mircea_popescu: ftr, it dun fix it, colon takes the day off after you fuck it.
mircea_popescu: but in other teen issues, http://68.media.tumblr.com/ab5bbea07c6980664a38d8f081687c4b/tumblr_o8m5pi5a2C1uw19aqo1_1280.jpg
shinohai: You have my attention.
mod6: <+mircea_popescu> "i don't know, baby... we'll have to ask your father..." << lol. cuckdad may want in too!
trinque: ah such logs.
trinque reaches the top, salutes
trinque: http://btcbase.org/log/2017-07-08#1680454 << it can be used for this, yes, but because it is a tool for building a taxonomy. many programs reduce to building a catalog of a (mutable) set of objects.
a111: Logged on 2017-07-08 00:44 mircea_popescu: a breadboard is, for electronic circuitry, exactly what a general purpose db is for programming.
a111: Logged on 2017-07-08 07:21 sina: I dunno much about lisp, but I think lisp handles this better in the sense you write state into the "lisp machine" and can flush that entire state out to disk and read it therefrom as well?
a111: Logged on 2017-04-10 16:26 asciilifeform: re lisp state -- not sure this is doable on unix -- how do you dump and restore textual representation of posix threads ? fd's ?
trinque: and mentioning lisp, CLOS is by my lights, the best taxonomy building tool that exists.
trinque: what it lacks (at least as part of the CLOS standard, afaik) is a standard for how one CLOS program shares objects and methods with another, whether on same box or across the network.
trinque: I'd say folks yes, use sqlite because they did not reason the program out completely before beginning to write code, but they often use postgresql as a messaging platform, RPC, or what have you
trinque: anyhow, curious what the lisp graybeards have to say about CLOS over the wire
asciilifeform: trinque: iirc this is one of the things the symbolics folx had to make a proprietary gadget for, because it is nowhere in the standard
asciilifeform: ( and probably could not be in the standard, such things as, e.g., width of the machine word, were not universal constants )
mircea_popescu: one doesn't follow from the other.
mircea_popescu: there's standard cunt operation without standard cunt width.
sina: good morning sirs/ladies
sina: mircea_popescu: suggestions on avoiding ad-hoc datatypes? one idea I was thinking was for example rather than ../messages/<msg_hash> file with contents "sender,delivered_by,message", have a directory ../messages/<msg_hash>/sender|delivered_by|message files?
sina: http://btcbase.org/log/2017-07-08#1680865 << is it not such a task as serialization/deserialization? using such as http://www.cliki.net/serialization?
a111: Logged on 2017-07-08 20:17 trinque: anyhow, curious what the lisp graybeards have to say about CLOS over the wire
mircea_popescu: i dun have a general suggestion, perhaps just sit down with the whole thing and make an actual data diagram thing ?
mircea_popescu: and meanwhile at the rancho correcto cocksucko, http://68.media.tumblr.com/a0f030f386bd4c45ef2b7b40bedc133e/tumblr_mr6dx93W6E1rxn0tjo1_1280.jpg
sina: hmmm. I see that the point I was trying to raise yesterday has been discussed previously at high temperature: http://btcbase.org/log/2017-04-10#1641472
a111: Logged on 2017-04-10 16:53 trinque: so we agree that this thing called "database" is really distinct tools which some idiot welded together
mircea_popescu: this is usually teh case :)
asciilifeform: http://btcbase.org/log/2017-07-09#1680872 << amusingly enough, these links ~all either 404 or lead to shithub
a111: Logged on 2017-07-09 00:27 sina: http://btcbase.org/log/2017-07-08#1680865 << is it not such a task as serialization/deserialization? using such as http://www.cliki.net/serialization?
asciilifeform: http://btcbase.org/log/2017-07-08#1680868 << recall that the variation was not as simple as 'this one here has 8bit byte but this one - 11, but each one simply represents a 2**n-1 range of uint'
a111: Logged on 2017-07-08 22:31 mircea_popescu: one doesn't follow from the other.
asciilifeform: but rather, e.g., bolix 36bit word had 4 type bits, that actually change what the contents mean ( and can create transparent 'wormholes' to elsewhere in memory, for hardware gc) and hence not actually meaningful on iron that doesn't have same mechanism
asciilifeform: naturally you can still stuff these down a wire. and the box, of course, did so ( to disk, tape, 'chaosnet', etc.)
asciilifeform: BUT above may explain the lack of 'standardization enthusiasm' in those days.
asciilifeform: (for 'serialization' specifically)
asciilifeform: ( the other detail, of course, is that the idea of standardization went along with a distinct odor of 'lion and lamb sit down to agree on dinner' in those days . or consider microshit-led 'opendocument committee' etc in more recent times. )
mircea_popescu: asciilifeform ah yeah, it wasn't the width, it was that they didn't actually have standardized memory in any sense, or any concept of actula machine word
mircea_popescu: and yes, very much pre-tmsr times the lords were stuck with this "well we gotta cypherpunk, ie, pretend nothing can ever happens -- because if anything were to happen it's straight to vessenes' scam foundation"
mircea_popescu: come a long way, have we, from those early bumbling days of early bumbling intellects.
mircea_popescu: (a punk, it bears reminding, is a young man who takes it up the ass on the quiet.)
mircea_popescu: ie, this guy http://trilema.com/2012/big-rock-candy-mountain/#selection-219.0-221.32
asciilifeform: not that the current 'standardized memory' wintel crapolade is so hot.
mircea_popescu: at least it's conceptually a thing, as opposed to "here's some data, and here's some half-tagging, and here's some half-code with it"
mircea_popescu: can take the ram from the crapple and put it in the pc or camera or w/e
mircea_popescu: and in other "unlike my mom, i'm actually good at what i do", http://68.media.tumblr.com/f4278e64cf59227db1d18fe4e0c5459a/tumblr_opv3456GKV1qilbqfo1_500.gif