I'd like to add the Benchmark CI system proposal to this round. It has been on the back burner for a bit. I was talking to dominic on how we proceed and he proposed that I do the proposal myself while he works on the onboarding/sync performance. The two proposal actually fits together nicely I think.
I am writing my proposal, it should be ready tomorrow or Sunday...
hey @arj lean into the grant, I reckon any benchmarking support would be awesome. Any you can ask for support as we go.
@SoapDog can you start a thread which has a rough teaser / abstract so we know the neighbourhood. You can add the detail over the next 24 hours or so.
OK! I will in the next couple hours. Basically, I want to add scuttlebutt features to Firefox by shipping a native app companion and Patchfox WebExtension 🦊
Here's my initial strong interests :
- Onboarding / sync perf (Dominic)
- Benchmarking (arj)
- Recipes (nanomonkey)
2, 4 are about performance and stability.
1 is an app I'd love to use and I think a Recipe system would enable a large number of types of people cooks / creators / hackers. grow the ecosystem - this would be a win for diversity, and for building an engaging commons
le sigh - you got me this time markdown numbering!!
@mix I made the proposal at:
It is a long text and I'd be delighted to explain or elaborate on any topic mentioned there if anyone needs extra info.
Hey, people! it's not a vote! please express WHY you think a particular grant is worth funding! @mixmix you get a everyone else, @josiah @alanz,
On that note, I must also issue a tisk tisk tisk to those people who submitted their proposals for this month after Jan the first. Grants are ment to be decided in the first week. We havn't started deciding and now it's the second week. Next month I think we should do a hard cut off on the first, so we can get things rolling.
@noffle I was facillitating! I mean it somewhat light heartedly, and to remind specific people to express their whys.
@Ebtessam Zoheir short version: we discuss it as a community, then I make the final call. "we" means all of us - the people who build ssb, patchwork, etc. You are welcome to give your thoughts. It's not counted like a vote, but if you make a good argument, you could persuade others.
@tim
wrote a good grants explainer recently. (except the bit about me as benevolent dictator for life, we actually plan on passing this role around)
To see the process in action, check the december grants and the november grants (which includes a massive argument about the process, which eventually settles on the same process)
SIDE NOTE: there is always someone new by the next month, so the grant deciding thread opening post needs to include a link back to explain what the grants are about.
I would like to see:
- Improve onboarding/sync performance (because "getting the foundation right")
- Benchmark CI system (because "gettings the foundation right")
- Add SSB features to Firefox (because it's good for publicity and/or opening minds on what's possible)
- ssb-loomio (same reason as above: publicity and thinking-outside-the-box applications)
@josiah thank you!
it really helps to see how you relate to a specific proposal. I'm particularily curious about things which are applications (such as recipies or ssb-loomio) because I want to see things grow the ecosystem (although growing one more app is technically growth, real plants produce seeds that become more plants etc)
SIDE NOTE: there is always someone new by the next month, so the grant deciding thread opening post needs to include a link back to explain what the grants are about.
Added this to the collaborative doc.
I've also added a skeleton section at the bottom with an outline of steps that need doing at the end of the process to kick off the next month's session in a timely manner.
Decisions for January
TODO record these once made
Next Month’s Grant
HackMD document: TODO
Responsible person: TODO
Deadline for creating thread: TODO
Deadline for proposals: TODO
Deadline for discussions: TODOActions after Grant Decision Made
[] Update the decisions above
[] Create an empty placeholder document for the next month and link to it here
[] “Pass the parcel”. Kick off process / discussion on SSB about who will manage this next month.
This is just a suggestion to get us started with a bare minimum of template/checklist-based process.
I'd like to see benchmarking especially because because I'd like to see it being as easy as possible for people to run pubs with a minimal cost - this opens up the network in interesting ways and makes onboarding easier. I think pub performance is an issue at present and benchmarking should help us identify why. It feels foundational.
I'd like to see onboarding and sync changes because as I understand it I think this also allows for interesting new possibilities in future. Plus I'd like to see Dominic getting the chance to concentrate on something he's doing already - and this time get paid to do so!
I'd like to see Ev's intern proposal because I believe it gives an opportunity to triage and identify a lot of the smaller things that need doing and because it will result in more documentation too. On a personal note, it feels to me that there was some misunderstanding a while back (before I joined) and I'd like to see Ev back working more closely with everyone else as I think that is good for him and good for everyone.
I like the SSB in firefox proposal because it feels like it creates a foundation that can also be used in other browsers or clients and there is a clear public appetite for browser based solutions. I've played with what SoapDog has written already and was impressed by it and its potential.
I also love the recipes proposal because I love cooking and want to share more vegan recipes and it ties in with the value flows work that I barely understand but which looks exciting from what I do understand.
That's five and there can only be four :/ Then again, I'm sharing reasons why I like them not voting so I think that is allowed.
@Dominic and all, sorry for submitting late, I was not aware of the (obvious) need to send the proposal by the 1st. I will not repeat this mistake.
Thanks everyone for the kind words towards my proposal, it warms my heart. As for the other proposals I like, and I will mention only three because in reality we all love them all but in the interest of making the decision process easier, three is a good number and I will not defend my own proposal because I don't think that is the place but I am ready to explain anything you want more clarification on.
on-boarding / sync-perf
I think this is really needed and would like to see this done. Every time I introduce someone to ssb, I need to explain about the initial sync time and the states in between when people see half threads and so on because the feed still doing the sync.
internship proposal
I like this proposal for multiple reasons, specially if it serves as an on-ramp for new developers to get more experience with real decentralized projects. Maybe we can even provide some form of mentorship for the future interns. It might be cool to have some more defined scope of the future expectations on interns too.
benchmark ci system
The characteristic I like the most about this is probably one that is not usually mentioned, it is that we could measure different implementation techniques for a given module and have meaningful data back. Being able to try new things and see how they stack against the current solution is great! For me this proposal goes beyond detecting regressions.
This should become even more useful once we have implementations of ssb beyond js, like the one in Rust and potentially one day, one in red or something similar.
Hi @angel, let me clarify some things about the firefox item there:
- I am not proposing a plugin. Plugins are based on NPAPI (deprecated and removed already) or Pepper API (proprietary available only on chrome). What I am proposing is a combination of an add-on and a native companion app. Add-ons are built with web technology only (JS, CSS and HTML), they don't use native code in a black box like plugins. The native app companion is isolated from the browser and can't access anything anyway.
- The companion app is currently built with NodeJS. Once there is an implementation in Rust, I might switch it to a Rust binary. Even as it is built with NodeJS, we can probably pack it into an installable executable making it much more friendly: just install this app and you're ready. My final vision for this is an install program with a nice gui wizard that installs and configures everything.
- Patchfoo doesn't have access to the same APIs an WebExtension has. I love patchfoo as well, but there are deeper integrations possible for WebExtensions such as handling the ssb:// protocol and adding stuff to the browser UI chrome.
aside to @noffle: I want to explain what I was doing earlier, I was training. Training is only possible when there is a clearly defined way to do something. When someone did something wrong, I pointed it out ASAP, along with an example of what they where meant to do, and then when they did it right, I warmly thanked them.
If you ever work in a commercial kitchen, you'll experience a lot of this. There is a specific place each thing goes and way each thing is done. Look at Gordon Ramsey, to someone without kitchen experience he seems angry all the time. But he's not arbitarily angry, just when someone does something the wrong way, and when you do it right he's happy.
In most of the stuff we do, there isn't really a clearly defined way of doing things, just some amorphous goals. I wouldn't admonish someone like that if there wasn't a clearly defined way something should be done.
@noffle well, it had the intended effect, and the people it was targeted at corrected their behavior promptly, every thing is cool. and they don't appear to be bothered unduly by the experience.
Instead I'm discussing this with you. There is actually an ironic symmetry here, because you are asking me to change my behaviour... except the difference is that your are not making it clear what you want me to change it to. Can you show me how you would have handled it?
@noffle I certainly didn't intend it to have this effect on you. And I didn't really consider how you'd react to it... because it wasn't about you. Whenever we say things it has effects on other people. Like, you are having an effect on me now, because now I feel the need to process your feelings (emotional labour). This is actually a lot more work than what I asked from @alanz and @josiah! We often have discussions like this, where we essentially "demand" the emotional labour of each other. This is my point that I feel you havn't acknowledged: I actually demanded very little of them, just that they explained themselves, which was a previously stated rule in the grants process. I was not weilding arbitary power, I was simply keeping things on track. They did the thing, I'm happy again. I think that is a really big difference.
We have big gut wrenching discussions all the time, they can be painful, but I think it's healthy that we can have them and still be friends. But it's a lot of emotional work! Why is this okay if that wasn't?
Again, I want to stress that I did that only because there was a clear process. Now I'm trying to figure out why it had this effect on you, now we are trying to figure it out, because you don't sound like you are even that sure yourself. I mean, you are clearly quite sure it had an effect, but you don't seem to be clear on why.
I guess I could have just simply pointed out they didn't to do it without being theatrical... but is it really that different? What level would you want me to turn it down to?
@noffle It had only just occured to me that this sort of thing is a "demand"... but picture the alternative: Instead of accepting and engaging I could have just said "no, go away" or even "no thank you, I don't want to talk about it" or worse. That would be incredibly disrespectful if I had done that. I think there may be an implicit consent here, to process each other's emotions, throughout the community... It just didn't occur to me to think about it like this before. There have been lots of "heavy" discussions and I think they have made us stronger as a community. What I'm saying is that I consent to doing some emotional labour if you need me to. It is labour, because it is hard. That is why we both feel exausted now!
I guess there was also an aspect of crowd control. Only a couple of people had posted so far, so I wanted to swiftly get the thread back on track. I remember @mixmix telling me about crowd control (he was a high school teacher). I'm not gonna put words in his mouth but I seem to recall something about reacting swiftly before things get out of hand. React to the rate and direction of change, not the present state.
Some other helpful context may be that spent sometime working in hospotality, and just recently I've realized actually how much life skills I got from there. One of them is not to take criticism personally - but to take the feedback, correct your action and move on. The kitchen is a space where there is a correct way to do everything, and everything needs to be done well and quickly, no one wants their food cold or their plates dirty. On the other hand, the kitchen is behind closed doors, so the customers don't have to hear the yelling.
Lets talk more about what power means to you in this case though, prehaps in another thread though?
React to the rate and direction of change, not the present state.
@dominic captured the essence of the lesson. The missing reason is the groups are complex and behave in non-linear ways. 2 actions cane be a trend, and trends gain momentum quickly. Noticing emerging trends early and acting a little bit firmly to clarify can save a lot of energy later.
I don't think Dominic says sorry that much. And yet, he's on my top 10 list of people to have conflict with. He doesn't walk away, and he's interested in the long term over the short term. He doesn't hold grudges, and is fine with very direct questions. I think he processes some things quite slowly, and he doesn't express his emotions verbally that often - though his energy and enthusiasm is delightful and infectious.
I don't know if it's approporate or not to share that but I think it's me wanting to encourage you to have faith - that vulnerable conflict is hard, especially when you're talking with such an interesting combination of a human as Dominic. I think I'm saying hang in there @noffle, this is the hard middle part, I think it's going to be rewarding.
I'm around and would love to support this conversation in any way.
"Always assume good intentions" – Old Chinese Proverb (but in reality I'm just lazy to find the source)
And noffle said also:
internet text has a way of applying lossy transforms to our intentions
Which is immensely true, but also I've come to notice how culture has a big role in communications. There are certain gestures, reactions, tones of (verbal) voice, and "hints" that are specific to a culture, and the lack of them is also an important way of communicating.
As a reminder, we have in SSB: Brazilians, New Zealanders, Germans, Egyptians, Americans, Danish, Finnish-Brazilian, Finnish people, and more. The cultural languages (even though we all use English) are vastly different. I know that some of these cultures have highly implicit conversational cues which take years of social practice to master, e.g. British and American conversation styles. I know that Finns are very often understood as blunt and extremely impolite, because their word-based conversations are extremely simple (e.g. the language doesn't have the word "please"), while eye contact is fundamental. Think about how Finnish conversations flow through the internet, then.
Back to the topic, keep in mind we're multicultural, and people often have great intentions. In those cases people didn't have good intentions (if we can even be sure of that) maintain a forgive-first attitude, and monitor the feelings of third parties, and intervene only if bad intentions are contaminating group culture. Very often I've noticed how a simple reply "Okay" to an angry comment will easily calm down the nerves.
Cheers, love you guys
@jolyon + @johnny Thanks for bringing up that the rate of $8.25 an hour isn't very good. I've posted a message on my grant thread discussing what the pay rate should be during my grant.
@jolyon You mentioned the 'drama' and that you 'I don't know what happened there'. Let me briefly sum up what happened more than a year ago: @mixmix and I were both working together to maintain Patchbay@6. Mix (and others) wanted to use mcss, I wanted to use css. I thought css was more accessible to a larger group of people. We were unable to decide which way to proceed. Eventually I began maintaining my own client called %minbay and mix continued to craft %patchbay into the client that it is now. When I look back on that time, I also see that some of the communication issues we had were regional. I speak New Yorker/American english, though my fluency in New Zealander has improved every time we've had an ssbc call together.
Fastforward to now: %minbay now depends on %patchless.
I've never had any issues working with @dominic -- we have always been on the same page about making the ssb codebase as accessible as possible. I've also met @dominic twice over the past four years, so that helps. We talked in San Francisco in October of this year about what happened during the 'drama'. One of the things he said was 'you'd understand those guys better if you met them in person!'. I agree. It'd be great to meet everyone in NZ someday in the future!
I speak new zealander and I'd prefer to find a replacement for tsk tsk (as in I had a similar reaction to Noffle). I'm fine with dramatic public spanking, but perhaps let's ritualise it so that people know the game we're playing?
I'm still thinking about this a bunch.
ssb-loomio
I'm strongly for ssb-loomio
Benefits
- immensly clarify processes like this
- loomio requires reasons when you state you position on a proposal
- no need for a Dominic/ facilitator enforcing anything.... it's designed to support thinking and discourse)
- organise meeting times on scuttlebutt
- already a painful need
- very highly in-demand feature from groups everywhere
- and in the future click a button to make a
gathering
from that!
- provide value aligned communities who already use loomio an easy reason to want to use scuttlebutt
- it's solarpunk as fuck
- decentralised anarchy or democracy anyone?
- so many communities have the same arguement about "where are we going to host our tools" ha!
Funding
@dan_mi_sun has previously said he'd be open to matching grant funding on this. (Dan can you confirm you're still on for that)
Protozoa (Piet & Mix) have just talked about this, and we're down to match-fund this too. We want to build the crap out of this.
I have never used loomio but if having it helps reduce the stress on people to organise this then I think I would bump it to the top of my list.
Revised list (for reasons above) -
- ssb-loomio
- benchmarking
- onboarding/sync
- Patchless/ssb-ebt/ssb-ooo intern
@SoapDog is it time to start the February thread? (I think you volunteered to do this or did I imagine that?)
@Dominic @noffle you are both fantastic people and I am honoured to know you both.
I think it is fair to say that there is a lot of support above for Dominic's Improve onboarding/sync performance proposal. Given that, perhaps Dominic you might want to feel that you can give your benign dictator / head chef stamp of approval to that then pick out three more based on your feelings and the feedback above. I don't want you to feel hesitant in picking your own project and for that to hold you back on picking the others. Noffle are you comfortable with that too? Anyone else have any objections?
It feels like it would be good to bring this discussion to a conclusion and to start building amazing things!
I just started browsing https://www.loomio.org/ and am i right in thinking you are proposing having loomio as a extension/plugin/app inside scuttlebutt (like ssbb-git and ssb-chess) as opposed to using loomio to organise aorund scuttlebutt?
Sounds like a great app to have built into ScuttleButt to me!
@tim you mean organize the community call? I will start a thread about that.
my updated thinking
Things I'm sure of and don't think are contentious:
2\ onboarding/ sync - easy wins, making sure Dominic is resourced to do great work
4\ benchmarking - invest in future stability
My picks for the others
7\ ssb-loomio - tools that strengthen scuttlebutt community & everyone else can use
1\ recipes - another tool with many uses for technical and non-technical people. A foundation for the Walkaway net we're building, and a frame for more #vegan-junkfood
Why others are lower picks for me:
3\ patchless intern. I'm unclear about the intern dynamic, and past inability to communicate well with ev has me not sure if his style of working is going to support others and community well. I could be wrong, but if I have to pick between this and others it means I'm less likely to back this at the moment.
5\ dexbot. building an even wider ecosystem could be good, but it could be going too wide for where we are now? I feel like there's enough needs doing just in scuttleverse
\6 firefox. This is the one that I'd next pick. I don't know what's down this road but it sounds very promising. Would be a high pick in future.
@SoapDog my apologies. I got confused and misremembered what you had offered.
This becomes an open suggestion then. I'd offer to do it myself but I'm completely snowed under for the next few weeks at least so I cannot make the commitment. Is somebody willing to kick off the February grants thread to help get this process back on schedule?
Okay, this is just my personal thoughts, not the final call just yet.
myself: I already started working on onboarding sync stuff - also because this supports @andrestaltz's mobile stuff, but this was my proposal so not gonna go into depth about it again.
@arj Benchmarking - should go well with the above, also foundational, and provides guides for other people to contribute to system stuff.
@ev At first I didn't like this proposal, but then I started to imagine what it would be like to have someone handle triage all the PRs and stuff. Also, that then started me thinking about how to describe the process I use to merge PRs. So, I think this is actually an interesting suggestion and I'm curious to see what else it leads to. Yes, we did once have a really big argument with @ev... but he's still here. (though, I've personally have/had arguments with all my other friends too, including @mixmix and @dinosaur and @matt, and just now @noffle) I think this is because we are actually doing something real together, that we all feel strongly about. So when you feel differently about something, it's worth duking it out, but it's also worth still being friends. Anyway, here we all are. Also, one thing I share with @ev is a taste for ruthless minimalism, and I know he'll make this grant last.
Hard to choose between Recipies, ssb-firefox and ssb-loomio. I think my personal sense is leaning towards recipies, because there is already a mini community growing around it. ssb-loomio is also an idea who's time has come... but I also see some difficulties there. I would choose any of these, but can't pick all 3.
Ruthless minimalism is definitely on @ev 's side.
I'd like to clarify that I'm all for healthy constructive conflict. My challenge was that despite my best efforts and active attempt to comprimise, I was not able to do anything constructive other than walk away from ev.
I don't think I hold grudges, and I do wish for an awesome collegial environment. I look at situations like this as a probability game, and it's not one I'd choose to gamble on right now. Maybe I've not seen ev collaborating and enabling others in the community where he has been. Maybe he doesn't have the wealth to be able to enable that.
I feel shit because this is probably a shit thing to read, and I think it's important to discuss if we feel like we have boundaries or concerns. I also don't know how to discuss this. We're ideally moving to closing this conversation and this is not exactly a closing topic.
Okay, I'm gonna call it.
I feel @ev's proposal still carries some baggage from that previous conflict, and resolving that or moving towards a middle ground, would probably take us into feb anyway. Also, you have fairly strong support here so I think next month is a good option. I'll also say that I saw this as an opportunity to heal that rift a bit - as an intern maintainer you'd have to be taking pull requestors and figuring out what they want, same basic skills!
So given that, and also considering the matched funding from @dan_mi_sun I'm gonna pick:
- Onboarding/sync perf (myself)
- Benchmarks @arj
- Recipies @nanomonkey
- ssb-loomio @piet
Hey everyone. @dominic reached out to me privately to tell me that I did not receive my grant because @mixmix has outstanding issues with me regarding the mcss/css debate that happened in November of 2016.
I thought it would be best to also publish my reply to him on this thread, so that everyone involved knows what was said:
hey @dominic. I understand that if the grants require mix's participation to be finalized, that it'd be impossible for you to give me this grant.
I'm 100% resolved around the mcss/css debate. It was a conflict. As you said, we have disagreements all of the time. The only difference with this disagreement, is it appears that mix has not been able to let it go.
While I'm tempted to continue to talk about this, I'm not sure if there's any way besides me and mix getting together for a coffee IRL that's going to make things better. We did a lot of talking on the network, and on calls, and it doesn't seem to have done much good.
It's been more than a year, I'm sad to hear that mix still is holding a grudge about the event.
For me, it was always about css (used by many) and mcss (used by few). It only escalated when people started cussing at me on a dev call.
My perspective, however, has changed. I now believe we were unable to work together because, as you mentioned, patchbay wasn't designed in the best way possible to accomadate different views. This is similar to the issue that @dangerousbeans and I had on this pull: https://github.com/evbogue/decent/pull/3 where he wanted to use bootstrap 4, and I wanted to use bootstrap 2. We were unable to do both at the same time, without forking. And we're still buddies! Even though he lives on the other side of the world.
I think the best way to proceed here is for me to continue to work on what interests me, and for y'all to continue to work on what you're interested in. I'll continue to self-fund. I have a part-time job working in retail at Levi's right now. It is very team oriented, and pays enough for groceries.
If you want to throw me this grant next month, I leave that up to you. I'm not going to actively campaign for it, because it would escalate things with mix, and I want to de-escalate this situation.
Give me a shout on Decent, if you decide to take me on as an intern, and I'll pop right back over to the main network.
@ev if you want to descalate things as you say, you are doing basically the opposite of what you should do.
You just need talk to mix and figure out some sort of compromise, work towards a middle ground... listen to people are figure out what is motivating them. If you can find a middle ground, you'll have lots of collaborators on your project, if you can't then it'll just be you. Middle ground is totally worth it.
Sorry this lead to an escalation (it might have been unavoidable?). I have time for a digital coffee (or three) and would love to get together and talk about what we value and what the future could look like. I think this is the best way I can currently think of to try and work towards a better thing.
If we can hear and share some excitement, perhaps we can build enough trust to be able to discuss some harder things.
My challenge here is that I think hearing and empathising with each other will probably take some time and I have really limited time. Building understanding is my best guess at how to build connection (which is what I guess would help here). I also don't want to impose my framing on you, so if you have another idea I'm up for going with that as well.
No hurry for a response.
If you just want to leave it that's fine too.
since this year-old conflict has re-surfaced, and since i dislike incomplete storytelling, i took the time to do some digital archaeology to document all the various threads from the time: %2Iy+w26.... this is mostly for the curious butts who weren't around at the time. i fully support some high-bandwidth hangouts, y'all are pretty special humans. coffee: i have no doubt everyone involved shares heaps of common ground.
damn I created a branch thread. sorry, here's my comment to @johnny
@johnny I would love to fund you!
but what you are essentially saying is that you don't want to modify your proposal in response to feedback - it doesn't even have documentation! That is like a musician complaining that nobody comes to their gigs, well hang on did you remember to make gig posters that attracted attention and made sure all the right people knew about it?
Open source requires a bit of self promotion, and also responding to feedback. Probably the best example of an artist that must listen to feedback is a stand-up comedian - they have to figure out wether their material really does make people laugh, and there isn't any way to do that except perform... I read that chris rock (who does massive tours) still does weekday performances in dingy clubs, because that is the best way to test new material.