@Dominic_temp sent a private message
@Dominic_temp
Re: %G7BQZvqZL

progress. trying various things with caches, I got a plan on how to make it faster. If the cache is big enough, of course it's very fast, but the point isn't to get a good score, it's to build a fast application. However, in practice, the cache can help us quite a bit. Generally, most database queries about items recently added to the database, so these will cache pretty well.

I remember the import script I made on the plane was really slow at streaming, so the indexes took ages to build, but if I added elements to the cache as they are appended then those will become fast.

@Dominic_temp in #cooking-channel
Re: %r1h0ddahP

oh yeah, the purple ones work too! we have actually replaced bread with kumura hashbrowns. Deborah can't eat bread, and for me, kumura last much longer in the cupboard than bread.

the trick is just that you gotta not move them about in the pan, because it's the crispyness which holds them together, unlike if you make hashbrowns with ordinary potatos.

@Dominic_temp
Re: %4+DpwtUo+

hmm, actually, I think you'd need the latest msg. if you find a message by a member while traversing the branches, you'll know the latest message from them, so you can try their messages afterwards. but if you have a member who has not yet pushed to that repo, then you'll have to try all their messages anyway.

At least flume is good at rebuilding indexes.

@Dominic_temp sent a private message
@Dominic_temp sent a private message
@Dominic_temp sent a private message
@Dominic_temp in #cooking-channel
Re: %r1h0ddahP

@gb none of those look grateable! btw, can you get kumura in mexico? (purple sweet potato, whitish on the inside? grate them and make hashbrowns, but way better than hashbrowns. the orange sweet potatos don't crisp up good, so don't make good hashbrowns)

@Dominic_temp sent a private message
@Dominic_temp dug [@dominic_temp](@VLVkG7lRrD/cxh3frneWNG3+NYDfIHXA9Qvhe1JjHVs=.ed25519) that
@Dominic_temp
Re: %4+DpwtUo+

@cel they will traverse backward to decrypt the old messages, and they'll have the key to decrypt the new messages now.

hmm, maybe there are some bugs around receive order - this might mean when you join a group it is now necessary to attempt decryption of every old message again? I guess this can procede slowly in the background though...

@Dominic_temp in #cooking-channel
Re: %r1h0ddahP

Once you grasp the basics of chopping things up and heating them, you can add new moves and make it actually seem like a different meal. for example, grating something instead of chopping.

Put a bit of peanut butter or sultanas in a curry,
or chocolate in a chili. I make a vege chilli with grated carrots + zuchini, can of tomatos, beans, then some lentils, and it comes out with a texture pretty close to if you used mince.

@Dominic_temp sent a private message
@Dominic_temp
Re: %uYUTrSomS

Embracing Subjectivity also means shifting from designing systems where there is always a single source of truth (say, who is what username?) to one where things can mean different things to different people.

This is against the grain of most tech, but is along the grain of everyday life.

@Dominic_temp dug my use of the world _entangled_ might have been misleading. I meant it more
@Dominic_temp
Re: %4+DpwtUo+

@cryptix %ssb-group is about outward facing groups (i.e. oriented around write permissions), and this is about inward facing groups (oriented around read permissions).

Ideally, we should be able to put a outward group inside an inward group, so that we can discuss internally, then publish statements, announcements, releases, that can be consumed by followers of the group without the follower having to see all the internals. We'll need some sort of multisig for that.

@Dominic_temp

#websbot

forking from @ev holygrail of distributed awesomeness

what do we need to acomplish websbot?

  1. flume{log,view}-idb needs to be faster. the faster the better, but at least a bit faster, append perf is probably okay, but read streams need to be much faster.
  2. simplify some things, like smaller indexes
  3. out-of-order messages (aka "retweets")

All these are about making an sbot that has less resources (and fewer synced messages) still be useful. performance (doing less) is important given that indexeddb is slow, you probably have crypto in js, and it's also probably running on a phone, which is even worse.

@Dominic_temp
Re: %4+DpwtUo+

@cel we could make it easy to add readers to a private thread by using the same key for all the replies to that thread, and after that, adding them to the recipients.

You'd have a base key, which could be turned into a message key by say msg_key = hmac(base_key, msg_previous) then if you want to publish just one message, use msg_key but if you wanted to share the whole thread, use base_key.

post a recipient add message, which would include the base_key a new recipient. they would then traverse the branch links, and be able to decrypt the start of that thread.

@Dominic_temp
Re: %4+DpwtUo+

sharing a private message could be used to add people to a private repo: %6fm9x5q...

@keks i'd much rather see a deniable and forward secure side channel over a direct connection. I feel more could be achived that route than adding chaff to ssb feeds that can no longer be decrypted.

@Dominic_temp in #git-ssb
Re: %6fm9x5qi0

this is exactly what we need to break into the enterprise market!

@Dominic_temp

encrypted groups, lite client, and the way forward.

previously, I was thinking that we'd need to get flexible encryption groups, like we have wanted for ages, that we'd have to have separate indexes for encrypted messages. especially in the liteclient, which doesn't have any privacy unless it does the encryption.

However this made the lite client too complicated, I've recently changed my thinking - instead, we'll just put a full client in the browser. The browser peer will still be separated into the UI and scuttlebot "server" in a webworker.

So what we need, is a way to give a key to each other.
Lets say I add you to my "friends" group, well I need to give you the key I am currently using to encrypt messages to that group. The web already has a implicit convention for sending end2end keys in urls. It's after the #. The hash fragment is not sent in the http request, so it naturally suits this purpose.

so I send you a message giving you the friend key.

{
  type: 'key',
  target:
  //for a single msg
  msg_id |
  //or for a one way group, just me
  feed_id |
  //or decrypt a blob
  blob_id |
  //for a multi way group: try this key on any message.
   '*',
   name, description, ?
   //generally, a key message is encrypted
   //so the recipients will be who it is for.
  recips: [],
  //and, most importantly, the key!
  key: base64...
}

This can be used for to add people to one-way or two way groups. and it can also be used to add someone to a private message. maybe it should have a variation with an array, so you can publish a whole thread?

if you published a key message in plain text, then that thing just becomes public. There would be a range of both good and evil uses for that...

the key type messages get indexed, so that when you see an encrypted message, you can try the keys you have available.

@Dominic_temp sent a private message
@Dominic_temp
Re: %+aeWB+ZsH

paging @magician11 and @dust into this thread!

@Dominic_temp
Re: %+aeWB+ZsH

this paper on fooling-neural-networks.pdf

has some goodies:
digits_fooling-DNN.png
unrecognisable_DNN.png

@Dominic_temp
Re: %VuEc+oec9

if you are using it within a browser, then side tabs are better. (because you already have a row of tabs above that, and two layers of tabs is weird)

feature request: make the side bar collapsable. when the screen is narrow, open the side bar the entire screen width, then colapse it again. Then minbay will have the right layout for mobile!

@Dominic_temp dug [@mixmix](@ye+QM09iPcDJD6YvQYjoQc7sLF/IFhmNbEqgdzQo3lQ=.ed25519) > what's
@Dominic_temp

with machine learning, you can now use social engineering on computers!

https://mascherari.press/introduction-to-adversarial-machine-learning/

@Dominic_temp

wind just changed, must now go sailing in the rain.

@Dominic_temp dug >stand-up as in more improv That was not improv! We (that is [@lotterlebe
@Dominic_temp
Re: %/A8cNDODY

I remember that in old electron you had to implement this your self. I don't think we have specifically fixed this, but I have resize options under the window menu, and keyboard shortcuts. @cryptop if you use latest electron does it work? can we close this?

@Dominic_temp
Re: %G7BQZvqZL

I bet that is probably because of caching. I should run the benchmarks on an input large enough to excede main memory. that is a fairer test of a database.

Also, I just tried using larger inputs, about 2k, and this makes everything show about a 10 time increase in mb/s values. That makes me think that there are definitely some bottlenecks here.

@Dominic_temp
Re: %G7BQZvqZL

update: benchmarks ran on mobile. indexedb is too slow. I think it's creating too many transactions. why did they even put transactions in it? now I'm just gonna go create a transaction-pool sort of design!

@Dominic_temp pushed to %RycNgDkVZ...
@Dominic_temp

getting back into the swing of things (back in auckland with new computer) wrote a simple benchmark for flumelogs

%bench-flumelog github

unfortunately, indexeddb is very slow - however, I'm gonna guess it's my implementation that is slow, maybe there is a fast way to use it? if we can get it fast, then we can definitely make a viable browser-only peer.

@Dominic_temp
{
  "type": "git-repo",
  "name": "bench-flumelog"
}
@Dominic_temp in #stuckinyourcraw
Re: %lagp0zQR3

My big concern about the US is that it's expensive to live in any of the cities with public transport, and if you want less expensive then you gotta live somewhere where you need a car.

All while living in a space as inexpensive and small as a chicken coop.

Sounds like you are talking about a van.
A chicken coup on wheels.

When I was last in the bay area I attended a "vechile dwellers meetup" which included various people living in vans, RVs, shipping containers (we visited a collective space for converting a shipping container into a home), including one person who lived in a Toyota Prius (!)

I met someone that worked for GOOG and slept in a box truck in their parking lot. https://frominsidethebox.com/

The difficulty with this suggestion, however is it does require the capital expendature of purchasing the van.

@Dominic_temp sent a private message
@Dominic_temp sent a private message
@Dominic_temp in #diy
Re: %4CKokaCe8

or bike wheels, but the annoying thing about bike wheels for trailers is that front wheels and back wheels have different axel sizes.

@Dominic_temp dug I'm going to use a kids bicycle for trailer wheels since I can get those fo
@Dominic_temp dug [and](%PCGsks7MuHwgz6dlP/ZtKTepUWI4hAOWyjwB7WIPjqs=.sha256) I found some in
@Dominic_temp in #diy
Re: %4CKokaCe8

oh btw, if you want to build a trailer golf trolleys have nice (and usually detachable) wheels, and are often obtainable very cheaply 2nd hand.

I've been meaning to build a runcible trailer for my kayak and plan to use golf trolley wheels.

@Dominic_temp dug [@mixmix](@ye+QM09iPcDJD6YvQYjoQc7sLF/IFhmNbEqgdzQo3lQ=.ed25519) Experiment
@Dominic_temp

forking %tvJ0Hhl...

I said:

This is surely not the most efficient topology for networking, but is necessary to meter it, and theirfore to sell it.

@bobhaugen said:

Yet again, capitalist relations hindering development of the productive forces.

Indeed. I have been thinking a lot about this recently. But not in the sense of the injustice, the sense that things could be much better (productive) if only they where better, but in the sense of the stability of the system.

It might indeed be theoritically be possible to create a far more efficient system based on sharing or redistribution, but as it is capitalism or fudalism is able to defend itself. You can judge a system on it's efficiency, but what is more important is it's integrity. Does a structure maintain it's own existance in a recognisable form?

What do other systems (such as concensual sharing) need to self-maintain? how do such systems avoid being commoditized or institutionalized?

@Dominic_temp dug > This is surely not the most efficient topology for networking, but is nec
@Dominic_temp
Re: %gRnoiOlr6

@mixmix fixed in hypertabs@3.0.1

@Dominic_temp in #android
Re: %GCRw31Quw

@dangerousbeans since I also observed these 3 simcards working pretty slowly from less remote places (germany, france, denmark) I suspect that the deals 3 negotiated with roaming providers was probably for the high amount of bandwidth, but just at a low speed...

Also, note that you get a IP address in the UK, which must mean that data is being proxied all the way there, then out to the internet. This is surely not the most efficient topology for networking, but is necessary to meter it, and theirfore to sell it.

@Dominic_temp in #android
Re: %GCRw31Quw

@robin.paulson hmm, if that is how they detect tethering then a vpn should get around that.

@Dominic_temp dug i think it might be [@Dominic_temp](@VLVkG7lRrD/cxh3frneWNG3+NYDfIHXA9Qvhe1
@Dominic_temp in #android
Re: %GCRw31Quw

Question: how do providers (or anyone) detect tethering?

@Dominic_temp followed @leashless
@Dominic_temp followed @Bob
@Dominic_temp followed @WookieDefense
@Dominic_temp followed @Toady
@Dominic_temp
Re: %a+xBT9taz

good suggestion! it seems this ought not to fail as distasteriously as my previous unit, so I think I will try this next time!

@Dominic_temp

since my computer broke, and I set up ssb/patchbay on @dinosaur's novena... It was unusably slow (writing this from @michael's old macbook air) but this showed me there are problems.

So, looking into adding some performance monitoring. ideas for things that need to be monitored:

  • bandwidth (split across protocol and local/internet)
  • memory
  • db reads, cache hits
  • average number of connections? average connection duration?
  • calls/responses per api?

I'm thinking just tracking the rates per second, along with averages over longer periods, but not keeping more detailed logs than that. Just enough so that we can be aware of performance problems, and hopefully so that we can see what might be causing them.

@Dominic_temp pushed to %iIwpo3EBF...
@Dominic_temp
{
  "type": "git-repo",
  "name": "tree-reduce"
}
@Dominic_temp followed @pub.mixmix.io
@Dominic_temp followed @nelson