<sonatagreen>
What's the significance of clicking things to disable(?) them?
<sonatagreen>
i.e. what does that represent
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<achin>
ion: the very top line represents the current state of the chain (and all previous lines are the previous states?)
<sonatagreen>
i think each line represents the direct links from that node
<sonatagreen>
so e.g. if the top line is J, then the E line halfway down is still an accurate decription of what you'll see if you look up the E node
<ion>
sonatagreen: You can see U linking to Q, for instance. If for some reason T is missing a link to Q (which you can simulate by clicking on it), U’s relevant bucket becomes empty. When that happens, the next bucket will keep its first link (M in this case) in addition to its last link (I). The empty bucket “borrows” the closest link from the following bucket.
<ion>
achin: The entire graph visualizes the state of the chain where each line shows the links from the object in red.
<achin>
i see. yes of course, since once B links to A, B must always link to A
cojy_ is now known as cojy
<davidar>
ion: that's neat
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
captain_morgan has quit [Ping timeout: 246 seconds]
<davidar>
kind of like a skip list
sonatagreen has quit [Ping timeout: 252 seconds]
<davidar>
ion: i keep meaning to learn elm, it seems like a nice compromise over trying to cram haskell into the browser
<ion>
davidar: Yeah, this was the first time i tried it and i can confirm it utterly beats writing things in JavaScript. I missed some of the niceties Haskell has but it’s good enough.
<davidar>
cool, will have to try it sometime
<davidar>
ion: you a haskeller? :)
<ion>
(Not that it takes much to beat the JavaScript experience.)
notduncansmith has quit [Read error: Connection reset by peer]
dignifiedquire has joined #ipfs
pfraze has joined #ipfs
<davidar>
yeah
ygrek has joined #ipfs
tinybike has joined #ipfs
<mats_>
ipfs swarm peers listed 32 peers, is there any magic behind that number? I mean, is that the whole list of peers, or just a few of them, picked by some algorithm?
<davidar>
that number will grow over time
<davidar>
I'm currently at 217
<mats_>
A, cool
<davidar>
generally speaking nodes will prefer to connect to nodes that have been around for longer
<mats_>
Not that I really care right now, but the number of peers grows during the session?
<davidar>
krl: it's david mitchell from "would i lie to you"
<krl>
why is he so happy
<krl>
<_< sorry, too little sleep too much coffee :)
<krl>
but i got some cool stuff re webcomponents + browser js coming up
<davidar>
krl: happiness is an emotion that humans sometimes feel
<davidar>
:p
<krl>
davidar: thank you for clarifying, i'm not well versed in this human thing
<davidar>
.w emotion
<multivac>
[WIKIPEDIA] Emotion | "Emotion is, in everyday speech, a person's state of feeling in the sense of an affect. Scientific discourse has drifted to other meanings and there is no consensus on a definition. Emotion is often intertwined with mood, temperament, personality, disposition, and motivation. On some theories, cognition..." | https://en.wikipedia.org/wiki/Emotion
<davidar>
krl: even multivac know's what it's about :p
<davidar>
what kind of bot are you?
<krl>
i am of carbon and all that, no structural metal per se
<krl>
i can also copypaste wikipedia, slightly slower though
<mats_>
I love the praying can, hilarious
<davidar>
krl (IRC): so you're saying you work at the daily mail?
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<davidar>
mats_ (IRC): ?
<mats_>
The cat.jpg used as the first example
<mats_>
Sorry, I see I wrote can, not cat
<davidar>
lol
danslo has joined #ipfs
hellertime has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<krl>
dignifiedquire: kind of want to move away from polymer, or any specific framework
<krl>
and found a neat way (i think) of doing clean js imports over ipfs
<dignifiedquire>
krl: I like that, so effectively you are leveraging SystemJS to do all the heavy lifiting and to resolve to ipfs paths?
astrocyte has joined #ipfs
voldial has quit [Quit: WeeChat 1.2-dev]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<krl>
dignifiedquire: well, systemjs is just requiring /ipfs/Qm.. the resolving is being done by the ipfs-names.json file
<dignifiedquire>
krl: yeah, I mean the actual handling of the resolved files
<krl>
yep
<krl>
so, you just stick a module that systemjs can handle on ipfs, and the rest just magically works
<dignifiedquire>
krl: the thing I’m still worried about is if you do want to use a framework like react for inside a component, and for combining multiple components you have now multiple react dependencies, but now that I’m thinking about it systemjs would realize on the second request that it already fetched this library and just reuse it, so that should work out
<krl>
this is a problem with webcomponents in general though
<dignifiedquire>
yeah :( one of the reasons I’m still sceptical about them
<krl>
you can still use react on your top-level for routing and laying out of the components
<krl>
components probably sholuld not have super heavy framework stuff going on inside them anyway
<dignifiedquire>
but I think your idea of allowing arbitrary systemjs modules on top of ipfs is very good, as this is quite flexible
<krl>
dignifiedquire: most likely, this is just a proof of concept, it should probably be two separate repos in the end
<dignifiedquire>
because reading that doc it sounds like we just need to override the “locate” part and translate that into the ipfs path
<krl>
i should look at that
<krl>
i find the systemjs way of importing to be pretty verbose though
<krl>
i had to map over promises to get it to import more than one thing at once in the wrapper
<dignifiedquire>
well that’s the es6 module loader draft
<dignifiedquire>
or rather es20xx module loader draft
mats_ has quit [Quit: Leaving]
<dignifiedquire>
but as far as I understand the nice thing is that with the existing tooling you can write your code in es6 module style and have it compile to systemjs
<dignifiedquire>
which means unless you want to explicitly load modules on demand you can just write nice `import Cool from ‘cool-module’` and have the build step worry about making it usable, and combined with an ipfs plugin for systemjs we could reuse the exiting tooling around that
<krl>
dignifiedquire: have you looked much at polymer/bricks/x-tag/bosonic all that?
<krl>
somehow, ironically, the nicest thing with webcomponents seems to be the css namespacing :P
<dignifiedquire>
not really tbh
<krl>
the rest is kind of a mess
<krl>
well, custom tags and css namespacing ++
<dignifiedquire>
yeah custom tags and css namespacing are really nice, that’s why I like react so much, cause it solves those two issues for me as well
<krl>
:3
<krl>
react is great for making webpages/single page apps, maybe not so good for reusable components though?
<dignifiedquire>
it’s great for reusable components, if you use react to assemble them
<krl>
dignifiedquire: we should probably do that
<dignifiedquire>
you can just publish npm modules that are isolated and bring in everything including styling without having to worry about anything
<krl>
the demo examle i picked is very small but still very usable i think
<krl>
just a drop area, that takes a file and fires an event with its hash
<spikebike>
"Re: the hosting of topics/subreddits in the DHT, I've done quite a lot of research [1] into a very innovative yet not well known P2P publish-subscribe network design [2] from some Norweigan computer scientists that removes the role of hosting for nodes not interested in a topic, even designing a decentralised microblogging platform on top of it [3]."
ygrek has quit [Ping timeout: 268 seconds]
<spikebike>
heard some interest in the past for adding pubsub to ipfs
<r1k02>
I wanted to show a friend what looks like: ipfs cat $vidhash | mplayer but I dont know where to find the hash again, should I re add the video?
<Bat`O>
r1k02: ipfs pin list ?
<Bat`O>
re add would be easier, yes
<r1k02>
Bat`O, ok, thank you. Does it mean I should always re add a file just to find its hash again?
<dignifiedquire>
davidar: you can tell I don’t have the best experience with requirejs :D
<davidar>
dignifiedquire: yeah, I'm not finding it all that great either
<davidar>
especially trying to load mathjax...
<dignifiedquire>
did you try to use r.js? that’s where the real poin comes
<dignifiedquire>
*pain
<davidar>
dignifiedquire: yeah, that's what tex.js is using currently
hjoest2 has joined #ipfs
hjoest has quit [Ping timeout: 260 seconds]
<r1k02>
Bat`O, or should take a habit of using 'ipfs pin add' so I can do 'ipfs pin ls' later on?
<r1k02>
s/should/should I/
<multivac>
r1k02 meant to say: Bat`O, or should I take a habit of using 'ipfs pin add' so I can do 'ipfs pin ls' later on?
hellertime has quit [Quit: Leaving.]
hellertime has joined #ipfs
* davidar
can't wait to ditch mathjax once katex is ready
<dignifiedquire>
davidar: what’s not ready about it?
<mats_>
Is anyone likely to notice this, or should I ping someone?
<mats_>
Found the email to Juan
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
voxelot has joined #ipfs
voxelot has quit [Changing host]
voxelot has joined #ipfs
slothbag has quit [Remote host closed the connection]
hjoest has joined #ipfs
voxelot has quit [Ping timeout: 268 seconds]
hjoest3 has joined #ipfs
hjoest2 has quit [Ping timeout: 260 seconds]
hjoest has quit [Ping timeout: 260 seconds]
Tai has joined #ipfs
kerozene has quit [Ping timeout: 250 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
jamie_k has quit [Quit: jamie_k]
Zuardi has quit [Quit: Bye!]
kerozene has joined #ipfs
<mats_>
The quick-start has this example:
<mats_>
ipfs get <the-hash-here> foo2
<mats_>
But when I try it it says:
<mats_>
Error: Unknown Command "..."
<mats_>
Error: Unknown Command "<the-hash>"
<mats_>
These examples would need some more love for me to understand... I guess it is not clear to me what hash to use where...
infinity0 has quit [Ping timeout: 265 seconds]
infinity0 has joined #ipfs
Zuardi has joined #ipfs
Tai has quit [Ping timeout: 250 seconds]
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
Guest73396 has joined #ipfs
dignifiedquire_ has joined #ipfs
dignifiedquire_ has quit [Client Quit]
infinity0 has quit [Remote host closed the connection]
<mats_>
ipfs pin -r <the-hash-here> doesn't work, since -r is no longer a recognized option...
<mats_>
And ipfs gc doesn't exist...
infinity0 has joined #ipfs
gritzko_ has joined #ipfs
gritzko_ has quit [Remote host closed the connection]
gritzko_ has joined #ipfs
<dignifiedquire>
jbenet: any chance you are around?
gritzko_ has quit [Read error: Connection reset by peer]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
<ipfsbot>
[go-ipfs] rht closed pull request #1320: Fully resolve ipfs paths down to its final hash (master...feat/full-path-resolve) http://git.io/vkSgC
jamie_k_ has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
gritzko_ has joined #ipfs
jamie_k_ has quit [Ping timeout: 256 seconds]
mats_ has quit [Ping timeout: 260 seconds]
jamie_k has joined #ipfs
mats_ has joined #ipfs
hjoest has joined #ipfs
hjoest3 has quit [Ping timeout: 260 seconds]
<davidar>
dignifiedquire (IRC): no idea what his circadian timezone is currently, but he doesn't seem to be
<davidar>
dignifiedquire (IRC): also, I count more than 2, including align, which is used pretty commonly
HostFat has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
faddat has quit [Read error: Connection reset by peer]
faddat has joined #ipfs
Ning has joined #ipfs
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<dignifiedquire>
davidar: I have no idea what your second message means
<dignifiedquire>
davidar: ah now I get it you were talking about katex
<davidar>
yeah
<davidar>
it works for the simple equations, but falls over for the more complicated environments that people actually use most often
<davidar>
I'm sure they'll fix it soon, but from what i can tell, it's not quite ready to replace mathjax yet
<davidar>
iirc even khan is still using mathjax for some stuff
<zignig>
davidar: has khan been asked if we can replicate the whole thing into ipfs ?
<mats_>
Keep getting this error message from the daemon:
<mats_>
ERRO[15:09:22:000] Path Resolve error: no link named "fontawesome-webfont.woff2" under QmWjympWW8hpP5Jgfu66ZrqTMykUBjGbFQF2XgfChau5NZ module=core/server
<ion>
mats: You can ignore that, it doesn’t matter.
<multivac>
dignifiedquire: I'll pass that on when jbenet is around.
<ehd>
gritzko_: hey!
<mats_>
@ion OK
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<gritzko_>
ehd: hi
od1n has joined #ipfs
NeoTeo has joined #ipfs
<ehd>
jbenet krl lgierth: allow me an intro. gritzko_ did a great talk on CRDTs and https://github.com/gritzko/swarm at BerlinJS yesterday. he's in berlin for a while and i figured some of the berlin people could meet up and talk about CRDTs if there's interest
<ion>
Was the talk recorded on video?
<ehd>
no, Berlin JS sadly has no recording equipment as far as i'm aware.
<ehd>
on that note, any ideas about cheap-ish hardware for letting usergroups record things?
notduncansmith has quit [Read error: Connection reset by peer]
sseagull has joined #ipfs
<rendar>
CRDT is Conflict-free replicated data type?
<davidar>
dignifiedquire (IRC): hehe
<davidar>
.w CRDT
<multivac>
[WIKIPEDIA] Conflict-free replicated data type | "In distributed computing, a conflict-free replicated data type (abbreviated CRDT) is a type of specially-designed data structure used to achieve strong eventual consistency (SEC) and monotonicity (absence of rollbacks). There are two alternative routes to ensuring SEC: operation-based CRDTs and state..." | https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
bsm1175321 has joined #ipfs
Tv` has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
voxelot has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
hjoest has quit [Ping timeout: 260 seconds]
hjoest has joined #ipfs
NeoTeo has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<ipfsbot>
[go-ipfs] chriscool pushed 7 new commits to sharness-coverage-script: http://git.io/vCHnK
<ipfsbot>
go-ipfs/sharness-coverage-script 2710f2d Christian Couder: coverage_helper: remove .ipfs...
<ipfsbot>
go-ipfs/sharness-coverage-script 3e1c3f1 Christian Couder: t0010: test 'ipfs commands' and 'ipfs * --help'...
<ipfsbot>
go-ipfs/sharness-coverage-script c9369aa Christian Couder: coverage_helper: remove more cruft...
astrocyte has quit [Ping timeout: 265 seconds]
edwardk has joined #ipfs
<krl>
gritzko_: for how long in berlin? won't be there until a week or so from now
<krl>
but would love to talk crdts
* edwardk
waves hello.
<edwardk>
Someone started tagging me in conversations about this stuff and ion suggested I swing by.
<edwardk>
CRDTs are definitely on my brain lately.
r1k0 has joined #ipfs
<edwardk>
Most of the other stuff from that hackernews comment probably doesn't immediately apply to something like IPFS though.
<edwardk>
Maybe Lindsay Kuper's work on threshold reads for CRDTs
<achin>
(cc davidar i think ^)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
jamie_k has quit [Ping timeout: 240 seconds]
astrocyte has joined #ipfs
<ipfsbot>
[go-ipfs] jbenet pushed 5 new commits to master: http://git.io/vCH8n
<ipfsbot>
go-ipfs/master 107409c ForrestWeston: Added ability to specify true/false for bool opts...
<ipfsbot>
go-ipfs/master 0123914 ForrestWeston: changed pinning to be recursive by default...
<ipfsbot>
go-ipfs/master a8fc65f ForrestWeston: Added tests from code-review...
jamie_k_ has joined #ipfs
danslo has joined #ipfs
Guest73396 has quit [Ping timeout: 256 seconds]
mildred has quit [Ping timeout: 252 seconds]
<ipfsbot>
[go-ipfs] jbenet deleted dial-smarter at 663a030: http://git.io/vCH4h
<dignifiedquire>
krl: also it probably makes more sense to use https://github.com/systemjs/builder for building instead of the manual process
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
e-lima has joined #ipfs
dignifiedquire_ has joined #ipfs
Encrypt has joined #ipfs
HostFat has quit [Read error: Connection reset by peer]
elima_ has quit [Ping timeout: 250 seconds]
ygrek has joined #ipfs
<ehd>
edwardk: i'm terribly interested in the topic of propagators and CRDTs, but i have some reading to do first. i had some trouble understanding most of your comment on hacker news
notduncansmith has joined #ipfs
<ehd>
there's a bunch of people who actually did research and worked with CRDTs in here. for example gritzko_ and cmeiklejohn
notduncansmith has quit [Read error: Connection reset by peer]
int_80h has quit [Ping timeout: 240 seconds]
pfraze has joined #ipfs
e-lima has quit [Ping timeout: 256 seconds]
shachaf has joined #ipfs
<edwardk>
ehd: i'm happy to unpack the comment into a more digestable form
<edwardk>
it wasn't really targeted at CRDTs more showing that CRDTs are an instance of something else larger
devbug has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
danielrf2 has quit [Remote host closed the connection]
e-lima has joined #ipfs
<gritzko_>
krl: I'm in Berlin till 31 Oct, with gaps
<gritzko_>
edwardk: yes, please
<ehd>
edwardk: i would be very thankful if you did that :)
<edwardk>
Most of what I'm talking about there isn't in a distributed setting. Its using something like a propagator network for dealing with a bunch of other problems: local propagation through equations, interval arithmetic, constraint programming, SAT, linear programming, mixed integer linear programming, tracking provenance, all of which can be construed as some
<edwardk>
form of lattice in a CvRDT-like form or something where you can add protocol guarantees and get something CmRDT-like like automatic differentiation, datalog evaluation, etc.
<edwardk>
The basic propagator network story is simple. Cells are (join-semi)lattices. propagators are monotone functions between lattices. (whenever i say lattice, just hear "join semilattice").
gordonb has joined #ipfs
<edwardk>
naively, whenever something increases information in a cell all of the the propagators out fire.
<edwardk>
er all of the propagators that lead out of that cell fire
<edwardk>
if your functions are all monotone, and all of your lattices are finite this terminates
<edwardk>
if you violate either of those conditions you need to work harder
<edwardk>
if you try to communicate with just deltas you need to work harder
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<edwardk>
anyways the bulk of that post was me talking about ways to try to reduce the amount of firing going on in the network
<edwardk>
or at least redirect it so that it is the most useful firing early on
<edwardk>
many propagators have the property that if their inputs are _|_ entries in their input lattice then they do nothing to the output lattice.
<edwardk>
in fact many have a stronger condition, if _any_ of their inputs are _|_ they can say nothing about the output.
danielrf has joined #ipfs
<edwardk>
so we can try to do things like 'wake the propagator up' when it has enough information. when you have one with 500 inputs you want to wake up on the last thing increasing from _|_ until then you don't care. but you can of course conservatively just pick one input to watch. when that ascends above _|_ then you skim through and look for another to watch. when
<edwardk>
you can't find one you have all the inputs. Now instead of doing something on every update, we do it on 1 in every 500 updates, whereupon we start watching one of the things we still need instead, so this tends to cut a lot of the "warmup" overhead out.
<edwardk>
afterwards you still have to listen to every update to each lattice though. Once you're warmed up the propagator remains active until it can't fire any more.
<edwardk>
One way it may be able to shut down and not have to fire any more is when its inputs are 'full'. When the input can't ever increase any more it'll never cause the propagator to fire.
<edwardk>
So if all of your inputs are that way you're done.
<edwardk>
So I now have a way to wake up and put to bed a propagator
<edwardk>
this part was probably the most directly inscrutable bit of my post
<edwardk>
but since nobody is counter punching i'll shut up until someone asks questions ;)
<edwardk>
dialog works better than diatribe ;)
<achin>
i'll ask a dumb question: link to your post?
<edwardk>
It was more of a stream-of-consciousness reply to Sussman talking about propagators again.
<edwardk>
Which may be a bit of my fault
ygrek has quit [Ping timeout: 244 seconds]
<edwardk>
Since I'd been talking to his old grad student Alexey Radul about this topic a lot over the last few weeks, and they talk quite a bit. (Alexey lives right next door to Sussman, IIRC)
<edwardk>
I think the propagators paper lost a lot of "serious attention" because of the tone. It was written in a very fun style that seemed a bit megalomaniacal ;)
<edwardk>
It was also missing in rigor in a few areas (e.g. not talking about monotonicity or what properties could lead to quiescence)
<achin>
(it seems paradoxical: the more i learn, the less i actually know)
<achin>
thanks for sharing, this is many levels over my head, but new things to learn are always fun
<edwardk>
achin: it gets worse and worse over time =)
<edwardk>
the core idea itself i think is pretty digestable
hjoest2 has joined #ipfs
<edwardk>
the vocabulary of the particular domains is pretty inscrutable
<edwardk>
all we have are nodes that hold information and when they gain information they tell other nodes
<edwardk>
whether they tell other nodes just the deltas or everything, whether this process terminates, etc are all parameters we can tune on the model
hjoest has quit [Ping timeout: 260 seconds]
<edwardk>
making that rigorous means trotting out some more vocabulary, but the vocabulary is mostly to let me borrow known results from other spaces. Without knowledge of those other spaces all it does is obscure the core of the system.
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
sonatagreen has joined #ipfs
locusf has joined #ipfs
<ehd>
enlarging my vocabulary is what i'm doing right now to understand more of this. thank you for the explanations. soon to go through some papers
<edwardk>
the particular space i'm interested in right now is mostly in constraint programming and satisfaction problems. letting me let solvers communicate efficiently when they operate on the same domain
<edwardk>
ehd: no problem. feel free to ping me with questions
notduncansmith has quit [Read error: Connection reset by peer]
gordonb has joined #ipfs
<edwardk>
cojy: adapton is actually a story that is fairly closely related
<edwardk>
SAC is a bit different
<edwardk>
adapton basically makes cells and then you track provenance between cells so that if you invalidate a cell you invalidate all articulation points (cells) that depend on it
pfraze has joined #ipfs
<edwardk>
the thing from the nominal adapton story that is interesting to me is the notion of names, where they let you build new cells with names based on existing cells to a.) enable their computational framework to be able to generate new cells while running and b.) to limit the 'damage' caused by making modifications to the input set
Encrypt has quit [Quit: Quitte]
<edwardk>
SAC is good if you want to run the entire computation over. Adapton is good if you want part of the answer.
<edwardk>
Anyways, the invalidation scheme could be thought of as tracking a simple state where you have a bump counter version and value associated with a cell.
<edwardk>
but with no cycles in the dependency graph
<edwardk>
you could modify that story slightly, e.g. in propagators you could give cells names so that you can try to share them when separate propagators generate the same auxillary cell, this would let more computations run in an idempotent form
<edwardk>
(this would arise if you wanted to enrich propagators with the story of propagators that generate new propagators)
<edwardk>
its sound to consider propagators adding other propagators to the system, because its turtles all the way down. a propagator network itself can be seen as a lattice or at least a directed set with gaining propagators and nodes as an operation that climbs the lattice.
pfraze has quit [Remote host closed the connection]
<edwardk>
there is also a bit of a difference between running an arbitrary computation to quiescence or contradiction and the demand driven story. i've been attempting to unify the two stories. notably adapton only runs what it has to answer the query
<edwardk>
this is a 'top down' prolog-like story
<edwardk>
on the other hand propagators are 'bottom up' they generate all the consequences of the current inputs
<edwardk>
when you include a notion of contradiction in the system we get a difference between the two
hellertime has quit [Quit: Leaving.]
<edwardk>
if you do demand only and don't include 'the contradiction' in the demanded state then the former will give conservative answers that may not actually be fully consistent
<edwardk>
and if you try to do demand only computation then you have problems working with the network topology, lindsey kupers stuff feeds forward but doesn't persistently watch an LVar, so she has no insight into the network topology and can't use that for backwards reasoning.
<edwardk>
on the other hand if we had a fixed topology we could do things like magic sets in datalog, filtering out stuff that definitely doesn't contribute eventually to the parts of the output we care about, and things like stratified datalog, firing propagators in topological order
domanic has quit [Ping timeout: 264 seconds]
<edwardk>
cojy: not sure if that made sense, but it covers how i think of it
<cojy>
it does thanks
<edwardk>
anyways if you augment something like adapton with lattice updates and threshold reads those ones don't require new 'cells' to hold them, they just permit an existing cell to refine in place.
<edwardk>
similarly i had some older work I'd been doing work on what sebastian burkhardt and daan leijen and folks over at microsoft research were doing on 'concurrent revisions'
<edwardk>
where they have a fork/join model where each side of a fork gets its own copy of the variables
<edwardk>
and when they join we do a 3-way merge of the state
<edwardk>
the fork-join topology is deterministic, so those strategies don't have to be associative, commutative, etc.
rehelmin has quit [Quit: Leaving.]
<edwardk>
now, lattice variables work in that setting
notduncansmith has joined #ipfs
<edwardk>
if you add a lattice variable in their concurrent revisions code and use threshold reads you don't have to record the reads
notduncansmith has quit [Read error: Connection reset by peer]
<edwardk>
if the writes are idempotent you don't have to record the writes
___thomasreggi__ has quit [Remote host closed the connection]
notduncansmith has quit [Read error: Connection reset by peer]
<ion>
edwardk: That fork-join thing sounds like something that might be useful in IPFS.
___thomasreggi__ has quit [Remote host closed the connection]
___thomasreggi__ has joined #ipfs
gordonb has quit [Quit: gordonb]
gordonb has joined #ipfs
<edwardk>
ion: distinctly possible. haven't taken much time to get too familiar with IPFS past your commentary and the intro video
ipfs_intern has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
<richardlitt>
dignifiedquire: haha awesome
<richardlitt>
But I meant, like, specific examples
<dignifiedquire>
examples for what?
<richardlitt>
awesome IPFS use cases, videos, etc
<richardlitt>
What resources in our system can be considered not only pretty cool, but awesome?
<ipfsbot>
[go-ipfs] chriscool pushed 1 new commit to sharness-coverage-script: http://git.io/vC7W6
<ipfsbot>
go-ipfs/sharness-coverage-script 541568a Christian Couder: coverage_helper: exclude variables definitions...
acous has joined #ipfs
acous has quit [Changing host]
<dignifiedquire>
richardlitt: ah right sorry i was confused
<dignifiedquire>
yes totally, I just added the headers so people get a better idea of what we are looking for when coming to the list
<richardlitt>
dignifiedquire: no worries! Good idea
<richardlitt>
Would be cool to throw some in there.
<dignifiedquire>
my knowledge about awesome resources is not that big atm that’s why I started that list
<dignifiedquire>
go make a pr :P
captain_morgan has quit [Ping timeout: 240 seconds]
<richardlitt>
Hahaha
<richardlitt>
I will as I see cool stuff
svetter__ has quit [Quit: Leaving...]
<sonatagreen>
suggestion: `ls /ipfs/' should show [some subset of?] pinned objects
<richardlitt>
not a bad idea.
jamie_k has quit [Ping timeout: 260 seconds]
ipfs_intern has quit [Ping timeout: 246 seconds]
<sonatagreen>
possibly some pseudodirectories under it as well, to show various subsets (similar to /ipns/local)
<sonatagreen>
(speaking of ipns, namecoin integration would be /so great/)
<sonatagreen>
(and speaking of domain names, .ipfs / .ipns pseudoTLDs (like .onion, .i2p) so that SOP works as expected)
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
jamie_k_ has joined #ipfs
r1k0 has quit [Quit: Leaving]
jamie_k_ has quit [Ping timeout: 246 seconds]
jamie_k_ has joined #ipfs
wopi has quit [Read error: Connection reset by peer]
cemerick has quit [Ping timeout: 250 seconds]
wopi has joined #ipfs
gamemanj has quit [Ping timeout: 240 seconds]
simonv3 has joined #ipfs
devbug has quit [Ping timeout: 272 seconds]
atrapado has quit [Quit: Leaving]
<dignifiedquire>
richardlitt: I think you were looking into setting up some conventions around readmes etc, I’ve just added a basic contributing.md to station if you want to take a look https://github.com/ipfs/station/blob/master/CONTRIBUTING.md
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
dignifiedquire has quit [Quit: dignifiedquire]
___thomasreggi__ has quit [Remote host closed the connection]
___thomasreggi__ has joined #ipfs
simpbrain has quit [Quit: Leaving]
edrex has quit [Read error: Connection reset by peer]
edrex has joined #ipfs
edrex has quit [Read error: Connection reset by peer]
edrex has joined #ipfs
edrex has quit [Read error: Connection reset by peer]
edrex has joined #ipfs
edrex has quit [Read error: Connection reset by peer]
edrex has joined #ipfs
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]
captain_morgan has joined #ipfs
NeoTeo_ has joined #ipfs
Ning has left #ipfs [#ipfs]
ketohexose has joined #ipfs
<whyrusleeping>
krl: a friend of mine was trying to do some geoip lookups and it asked him to pay for them for some reason
<whyrusleeping>
so i showed him the ipfs-geoip thing
<whyrusleeping>
much happiness was had
<whyrusleeping>
ion: i'm not quite sure how to read the graph there
NeoTeo_ has quit [Remote host closed the connection]
<ion>
whyrusleeping: Each row has shows an object in red followed by its ancestors. The ancestors the first object links to are marked with a black box.
<ion>
s|has ||
<ion>
The ancestors are grouped into exponentially growing buckets. When adding a new HEAD object, it copies the links from its parent, increments their offsets by one, adds the parent as a link with an offset of zero and only retains the earliest link in each bucket.
<whyrusleeping>
okay, makes sense
captain_morgan has quit [Ping timeout: 240 seconds]
<ion>
whyrusleeping: Additionally, when pruning a bucket, if it notices that the previous bucket ended up being empty, it also retains the link closest to the previous bucket. Try clicking on T’s link to Q to delete it from T for instance. Now the respective bucket in U’s links becomes empty and U retains M in its links.
pfraze has joined #ipfs
<whyrusleeping>
oooh, i see
notduncansmith has joined #ipfs
notduncansmith has quit [Read error: Connection reset by peer]