Forum logs for 08 Jul 2017
mircea_popescu: | and in other gateways, http://68.media.tumblr.com/b83ff7af950e69b8ed32a2bb05c1ee0c/tumblr_opsq7iDY4U1v5qo9eo1_1280.jpg | [00:43] |
mod6: | ziiiip | [01:32] |
sina: | hullo | [01:34] |
sina: | http://trilema.com/forum-logs-for-07-jul-2017#2305754 << wat | [01:41] |
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! | [01:41] |
mircea_popescu: | sina better questions! | [01:43] |
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 | [01:43] |
sina: | or not recorded | [01:44] |
mircea_popescu: | and if a guy named "self" sends it ? | [01:44] |
mircea_popescu: | prolly limit names to alphanum and then use eg "*self" or somesuch is the approach. | [01:44] |
sina: | fair. names are limited currently to [a-zA-Z0-9_]+ | [01:44] |
mircea_popescu: | this is correct. | [01:45] |
sina: | https://github.com/sinner-/gossipd/commit/6b223735793022b4d6851721663d5cde3ade9014 | [01:56] |
sina: | looks like this now: 2017-07-08 05:54:50|delivered_by:*local|sender:sina|hello world | [01:56] |
mircea_popescu: | cool | [01:56] |
sina: | alright, now back to my /tmp dir to try and prototype a fs based thing | [01:56] |
mircea_popescu: | *thumbsup* | [01:56] |
sina: | oh yeah, the other day, inspired by ben_vulpes wotpaste I made this in golang https://github.com/sinner-/tinypaste | [01:59] |
sina: | quite happy with it | [01:59] |
mircea_popescu: | is it live anywhere ? | [01:59] |
sina: | not right this second, hold pls | [02:00] |
mircea_popescu: | no rush just in general | [02:00] |
mircea_popescu: | sort of thing can't hurt to have multiples of | [02:00] |
sina: | mircea_popescu: http://paste.sina.id.au/ | [02:40] |
mircea_popescu: | nice | [02:48] |
sina: | for now it's set to clean up anything older than a week every week | [02:56] |
mircea_popescu: | works | [02:57] |
sina: | mircea_popescu: do you have 5-10m to discuss the filesystem thing re gossipthing | [03:04] |
mircea_popescu: | sure | [03:04] |
sina: | cool, appreciated. so I currently have 3 tables: keys, peers, messages. let's start with keys I guess. | [03:05] |
sina: | so there are 3 "states" for a key, 1. available, 2. bogus, 3. assigned | [03:05] |
sina: | for the assigned keys, it seems fine to have a directory like key/name_of_peer_assigned.key | [03:06] |
sina: | with the privkey as the contents of the file | [03:06] |
mircea_popescu: | alright | [03:06] |
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 | [03:07] |
mircea_popescu: | sina ideally you use symlinks. | [03:07] |
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 | [03:08] |
mircea_popescu: | /key/0fae.key /key/assigned/symlink-0fae.key /key/bogus/symlink etc | [03:08] |
sina: | then I either need to shell out to mv/ln | [03:08] |
mircea_popescu: | now, whether this works irl or noit, we do not really know | [03:08] |
sina: | or implement a chunk of mv/ln in my code | [03:08] |
mircea_popescu: | alternatively (and what everyone does) is make pagefiles and read those. though... | [03:08] |
sina: | define pagefiles | [03:08] |
mircea_popescu: | sina you can just create/edit the symlinks like any other files. | [03:08] |
mircea_popescu: | sina you know, blkblabla.dat | [03:09] |
mircea_popescu: | sqlite iirc does single file per db | [03:10] |
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 ? | [03:11] |
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. | [03:12] |
sina: | no, I want to assign any available key | [03:12] |
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 | [03:12] |
sina: | right | [03:12] |
mircea_popescu: | sina there is no such "any" in computing. | [03:12] |
sina: | what you said "wish to find out what key you can assign" is what I meant | [03:13] |
mircea_popescu: | sina to find out which keys aren't assigned you also keep a /keys/available then | [03:13] |
mircea_popescu: | basically, every sql index = a directory tree | [03:13] |
sina: | but this introduces potential race condition now? | [03:13] |
sina: | two assignment attempts might list the same available key | [03:14] |
sina: | sqlite transaction for example protect against this | [03:14] |
mircea_popescu: | depending on how the whole scheme is implemented, yes. | [03:14] |
mircea_popescu: | sina they do not protect against this by design, but by implementation. | [03:14] |
sina: | agreed and understood, I am just subtly trying to make the point of "making me implement a shittier sqlite" | [03:15] |
mircea_popescu: | i am not making you! and if it dun seem like something you wanna do best not to do. | [03:15] |
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. | [03:16] |
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. | [03:16] |
sina: | I just doubt I can impl, e.g. transactions as well as sqlite guy | [03:16] |
mircea_popescu: | this is fine, as a general notion, but what is it based on ? | [03:17] |
sina: | lack of subject matter expertise | [03:17] |
mircea_popescu: | right. well, do you wish to acquire some ? ~what the whole discussion reduces to. | [03:17] |
sina: | good question | [03:18] |
mircea_popescu: | dun has to be answered tonight anywya | [03:18] |
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 | [03:18] |
mircea_popescu: | aha | [03:19] |
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 | [03:20] |
sina: | also | [03:20] |
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? | [03:21] |
mircea_popescu: | ideally. | [03:21] |
sina: | so in lispland you get this kind of native ability to easily export/import primitive datastructures to disk easily | [03:21] |
sina: | mircea_popescu: I am guessing tmsr is not fond of things like JSON or YAML | [03:23] |
mircea_popescu: | !#s "json" | [03:23] |
a111: | 555 results for "\"json\"", http://btcbase.org/log-search?q=%22json%22 | [03:23] |
sina: | as I guessed :P | [03:29] |
sina: | mircea_popescu: still around? | [04:30] |
mircea_popescu: | yea ? | [04:30] |
sina: | question: do bogus keys actually need to be stored? | [04:30] |
mircea_popescu: | well yes, the program needn't be able to distinguish them from keys generally. bogus is an operator designation. | [04:30] |
sina: | oh. I might use them for bogus data sendage though or something | [04:31] |
sina: | so I guess I do need to store them | [04:31] |
sina: | damn. that would've made my life easier :P | [04:31] |
mircea_popescu: | and if a machine is captured, and so on | [04:31] |
sina: | elaborate re machine capture? | [04:31] |
mircea_popescu: | well suppose enemy finds a gossiptron. why should he be able to tell which keys were bogus ? | [04:32] |
sina: | in the model you proposed he would be able to anyway right, just by seeing which symlinks are in keys/bogus | [04:32] |
mircea_popescu: | why would you trust that ? | [04:33] |
sina: | if you're an enemy capable of capturing a gossiptron and knowing of the things, why wouldn't you? | [04:33] |
mircea_popescu: | because absence of key is dispositive, whereas scribblings on the key is at best indicative. | [04:33] |
sina: | fair. In any case I think I must retain for the purpose of "chaff" feature | [04:34] |
sina: | which is currently not implemented anyway | [04:34] |
mircea_popescu: | so there you go | [04:34] |
sina: | https://github.com/sinner-/gossipd/commit/54254c22bdeec2355fea22b069bdeee97a57b1ca << no more sqlite | [06:52] |
sina: | directory looks like dis: http://paste.sina.id.au/1C36509D7782CE51AA687C02E8A970EFBAD6FA1B | [06:53] |
sina: | wasn't as bad as I thought it'd be | [06:54] |
sina: | still needs a tad work to make the code a bit easier to read and finish model.delete_peer() | [06:55] |
sina: | didn't end up using symlinks | [07:11] |
sina: | rather each privkey has an additional top-of-file line which states either "-available", "-bogus" or the peer name | [07:11] |
mircea_popescu: | http://btcbase.org/log/2017-07-08#1680811 << mind ye ad-hoc datastructures. | [10:50] |
a111: | Logged on 2017-07-08 10:54 sina: wasn't as bad as I thought it'd be | [10:50] |
sina: | fair. possible rejiggings on that tomorrow | [10:54] |
sina: | for nowe, bed | [10:54] |
mircea_popescu: | meanwhile @shopping, http://68.media.tumblr.com/6f4052f9a62eb621d5369b59e1e7f08d/tumblr_olnkldFYU21s4dxj3o1_1280.jpg | [11:31] |
asciilifeform: | lol looks like a python who tried to eat two golf balls | [11:32] |
mircea_popescu: | and succeeded. | [11:32] |
mircea_popescu: | but alright, let's get back to basics then. http://68.media.tumblr.com/e5bd4ea1b58dcd51b5e907a09fd4de7c/tumblr_osjxauzx6I1v2rgrno1_1280.gif | [11:35] |
shinohai: | Constipated? We can fix that! | [11:36] |
mircea_popescu: | "looks like a python that's trying to swallow a buncha smaller snakes" | [11:38] |
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 | [12:27] |
mircea_popescu: | win | [12:27] |
BingoBoingo: | tyvm | [12:27] |
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 | [12:29] |
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 ? | [12:29] |
mircea_popescu: | aaaand... nobody calls him out on it ? gangsta what ? | [12:29] |
asciilifeform: | i thought 'rap' lyrics were officially required to come out of a certified an'sealed shannonizer, like las vegas one armed bandit rng | [12:30] |
mircea_popescu: | hot topic muzak, now from black people!!1 | [12:30] |
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 | [12:31] |
mircea_popescu: | because hjey, THAT is the real issue yes ? | [12:33] |
mircea_popescu: | good thing jayz is so very "controversial", i think ima go buy his album | [12:34] |
mircea_popescu: | http://btcbase.org/log/2017-06-13#1669512 | [12:35] |
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. | [12:35] |
mircea_popescu: | cycles, everywhere. | [12:35] |
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." | [12:37] |
BingoBoingo: | Really gotta give the urban youth directions on finding and identifying Jewish neighborhoods | [12:39] |
mircea_popescu: | tru dat, rachel's been slipping herself roofies in desperation. | [12:40] |
BingoBoingo: | http://www.jameslafond.com/article.php?id=143 | [12:49] |
BingoBoingo: | http://www.jameslafond.com/article.php?id=8238&pr=1 | [12:50] |
BingoBoingo: | !~ticker --market all | [13:41] |
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 | [13:41] |
deedbot: | http://trilema.com/2017/mom/ << Trilema - Mom ? | [14:09] |
BingoBoingo: | Win | [14:12] |
mircea_popescu: | dun dun dun | [14:19] |
mircea_popescu: | "i don't know, baby... we'll have to ask your father..." | [14:19] |
mod6: | <+shinohai> Constipated? We can fix that! << lol | [14:25] |
mircea_popescu: | ftr, it dun fix it, colon takes the day off after you fuck it. | [14:26] |
mircea_popescu: | but in other teen issues, http://68.media.tumblr.com/ab5bbea07c6980664a38d8f081687c4b/tumblr_o8m5pi5a2C1uw19aqo1_1280.jpg | [14:27] |
shinohai: | You have my attention. | [14:27] |
mod6: | <+mircea_popescu> "i don't know, baby... we'll have to ask your father..." << lol. cuckdad may want in too! | [14:32] |
trinque: | ah such logs. | [16:01] |
* trinque | reaches the top, salutes | [16:01] |
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. | [16:04] |
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. | [16:04] |
trinque: | http://btcbase.org/log/2017-07-08#1680785 << >> http://btcbase.org/log/2017-04-10#1641401 | [16:08] |
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? | [16:08] |
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 ? | [16:08] |
trinque: | and mentioning lisp, CLOS is by my lights, the best taxonomy building tool that exists. | [16:10] |
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. | [16:13] |
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 | [16:15] |
trinque: | anyhow, curious what the lisp graybeards have to say about CLOS over the wire | [16:17] |
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 | [16:19] |
asciilifeform: | ( and probably could not be in the standard, such things as, e.g., width of the machine word, were not universal constants ) | [16:19] |
mircea_popescu: | one doesn't follow from the other. | [18:31] |
mircea_popescu: | there's standard cunt operation without standard cunt width. | [18:31] |
sina: | good morning sirs/ladies | [20:13] |
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? | [20:15] |
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? | [20:27] |
a111: | Logged on 2017-07-08 20:17 trinque: anyhow, curious what the lisp graybeards have to say about CLOS over the wire | [20:27] |
mircea_popescu: | i dun have a general suggestion, perhaps just sit down with the whole thing and make an actual data diagram thing ? | [20:28] |
mircea_popescu: | and meanwhile at the rancho correcto cocksucko, http://68.media.tumblr.com/a0f030f386bd4c45ef2b7b40bedc133e/tumblr_mr6dx93W6E1rxn0tjo1_1280.jpg | [20:29] |
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 | [20:42] |
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 | [20:42] |
mircea_popescu: | this is usually teh case :) | [20:43] |
asciilifeform: | http://btcbase.org/log/2017-07-09#1680872 << amusingly enough, these links ~all either 404 or lead to shithub | [21:11] |
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? | [21:11] |
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' | [21:35] |
a111: | Logged on 2017-07-08 22:31 mircea_popescu: one doesn't follow from the other. | [21:35] |
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 | [21:37] |
asciilifeform: | naturally you can still stuff these down a wire. and the box, of course, did so ( to disk, tape, 'chaosnet', etc.) | [21:38] |
asciilifeform: | BUT above may explain the lack of 'standardization enthusiasm' in those days. | [21:38] |
asciilifeform: | (for 'serialization' specifically) | [21:39] |
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. ) | [21:42] |
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 | [21:56] |
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" | [21:57] |
mircea_popescu: | come a long way, have we, from those early bumbling days of early bumbling intellects. | [21:57] |
mircea_popescu: | (a punk, it bears reminding, is a young man who takes it up the ass on the quiet.) | [21:59] |
mircea_popescu: | ie, this guy http://trilema.com/2012/big-rock-candy-mountain/#selection-219.0-221.32 | [22:00] |
asciilifeform: | not that the current 'standardized memory' wintel crapolade is so hot. | [22:36] |
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" | [23:17] |
mircea_popescu: | can take the ram from the crapple and put it in the pc or camera or w/e | [23:18] |
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 | [23:18] |
Category: Logs