log☇︎
600+ entries in 0.022s
sina: http://btcbase.org/log/2017-07-08#1680863 << it kind of sounds like an erlang cluster? except I guess you are looking for a network of untrusted nodes while erlang cluster all nodes are trusted ☝︎☟︎
sina: http://btcbase.org/log/2017-07-05#1679224 << I dunno what "dat" constitutes in this case, but you can pass in any data just by the line "M := toBinArray(*message)" and sub out *message for dat ☝︎
sina: phf: are you about?
sina: I am imagining you shaking the guy who wrote that blog by the shoulders and screaming DO YOU in his face
sina: mircea_popescu: you made me feel better
sina: I have been watching the logs, interesting discussions
sina: anyway, hi and all that
sina: makes me feel, so tired.
sina: https://software.intel.com/en-us/blogs/2017/07/11/meshcommander-firmware-web-application << "Starting with Intel AMT 11, you can now upload a web application into the firmware that will replace the built-in index.htm page. This is super useful because you can upload a fairly complete Intel AMT management console into the firmware and access it using a browser. "
sina: I just popped in to complain about this thing and I feel like nobody else I know will understand
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 ☝︎
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? ☝︎☟︎☟︎
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: good morning sirs/ladies
sina: for nowe, bed
sina: fair. possible rejiggings on that tomorrow
sina: rather each privkey has an additional top-of-file line which states either "-available", "-bogus" or the peer name
sina: didn't end up using symlinks
sina: still needs a tad work to make the code a bit easier to read and finish model.delete_peer()
sina: wasn't as bad as I thought it'd be ☟︎
sina: directory looks like dis: http://paste.sina.id.au/1C36509D7782CE51AA687C02E8A970EFBAD6FA1B
sina: https://github.com/sinner-/gossipd/commit/54254c22bdeec2355fea22b069bdeee97a57b1ca << no more sqlite
sina: which is currently not implemented anyway
sina: fair. In any case I think I must retain for the purpose of "chaff" feature
sina: if you're an enemy capable of capturing a gossiptron and knowing of the things, why wouldn't you?
sina: in the model you proposed he would be able to anyway right, just by seeing which symlinks are in keys/bogus
sina: elaborate re machine capture?
sina: damn. that would've made my life easier :P
sina: so I guess I do need to store them
sina: oh. I might use them for bogus data sendage though or something
sina: question: do bogus keys actually need to be stored?
sina: mircea_popescu: still around?
sina: as I guessed :P
sina: mircea_popescu: I am guessing tmsr is not fond of things like JSON or YAML ☟︎
sina: so in lispland you get this kind of native ability to easily export/import primitive datastructures to disk easily
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: also
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: 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: good question
sina: lack of subject matter expertise
sina: I just doubt I can impl, e.g. transactions as well as sqlite guy
sina: agreed and understood, I am just subtly trying to make the point of "making me implement a shittier sqlite"
sina: sqlite transaction for example protect against this
sina: two assignment attempts might list the same available key
sina: but this introduces potential race condition now?
sina: what you said "wish to find out what key you can assign" is what I meant
sina: right
sina: no, I want to assign any available key
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 ?
sina: define pagefiles
sina: or implement a chunk of mv/ln in my code
sina: then I either need to shell out to mv/ln
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
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
sina: with the privkey as the contents of the file
sina: for the assigned keys, it seems fine to have a directory like key/name_of_peer_assigned.key
sina: so there are 3 "states" for a key, 1. available, 2. bogus, 3. assigned
sina: cool, appreciated. so I currently have 3 tables: keys, peers, messages. let's start with keys I guess.
sina: mircea_popescu: do you have 5-10m to discuss the filesystem thing re gossipthing
sina: for now it's set to clean up anything older than a week every week
sina: mircea_popescu: http://paste.sina.id.au/
sina: not right this second, hold pls
sina: quite happy with it
sina: oh yeah, the other day, inspired by ben_vulpes wotpaste I made this in golang https://github.com/sinner-/tinypaste
sina: alright, now back to my /tmp dir to try and prototype a fs based thing
sina: looks like this now: 2017-07-08 05:54:50|delivered_by:*local|sender:sina|hello world
sina: https://github.com/sinner-/gossipd/commit/6b223735793022b4d6851721663d5cde3ade9014
sina: fair. names are limited currently to [a-zA-Z0-9_]+
sina: or not recorded
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: http://btcbase.org/log/2017-07-08#1680508 << wat ☝︎
sina: hullo
sina: ok going out again, will consider some more, but I do wonder
sina: except binary ofc
sina: I mean, all data is unicode AFAIK
sina: always lol
sina: and you contend the actual final implementation of such a thing will actually be less lines of a code than the existing thing ☟︎
sina: mircea_popescu: I guess the gist of the question is really, how is implementing my own btree different at all to using the pretty much identical thing in sqlite
sina: assignments file format = ??
sina: line numbers?
sina: although I don't get that either now that I think about it, how does the "assignments" file know which key is which?
sina: how does that related at all to the "make file with keys"
sina: wat
sina: mircea_popescu: but still even in that case I need to "walk" the list of assignments, looking for ^available, so I need to use grep or write a iterating-finder-thingo myself and then something like sed to change the line or write a text-changer-at-a-line myself
sina: ok true, I didn't think of that
sina: imagine flatfile example of "assigning" generated key from "available" => "user" state, or "user" => "bogus" state, that's moving a keyfile from gossipd/keys/available to gossipd/keys/users/foo or similar action, now my program has to either invoke "mv" or write mv-like functionality into my app
sina: and now if I want to do it in flatfile, gossipd code becomes gossipd + "sinas shitty db-less attempt"
sina: otherwise, how update functionality like "last seen", or "fetch X messages since last seen"
sina: http://btcbase.org/log/2017-07-08#1680437 << why I used a db: because the spec said use flatfile, I first tried to implement flatfile one and after realising I would need to either shell out to utilities like "touch" and/or "find"/"ls" etc, or implement some of their functionality myself, I decided to import a library that does that stuff not terribly, called sqlite ☝︎
sina: did you make a lispy one go faster? ☟︎
sina: http://btcbase.org/log/2017-07-05#1679215 ☝︎
sina: phf: :D
sina: I return, temporarily
sina: out forreal!
sina: trolling asciilifeform best done in lang like javascript
sina: ME
sina: shall return
sina: anyhooz, gentlemanz, off for some dumplings
sina: I don't want to carve the stone first time