As a separate matter, I wonder if there's some way...
# administrivia
i
As a separate matter, I wonder if there's some way we can encourage, entirely through the culture/norms, that we don't want people derailing our threads with rants. I feel like a bunch of us (myself included) have done a derailΒ at one time or another, and more often than not it drains the energy from a conversation or redirects it into something uninspiring. I don't think it needs to be a rule, but it'd be nice if we had, oh, half as much derailing as we do now. Suggestions for how to approach that without naming & shaming people?
d
Well, this^ is a good start!
i
I could write a short paragraph on our preferred conversational style on the /community page, so that newcomers hopefully see it on their way in, and then let folks in #C5T9GPWFL know to check it out. Something like: We have a handful of conversational style guidelines that we ask folks to follow in our Slack. These aren't rules, but they're practices we've found work well in our community to keep discussions focused and friendly. First, when replying to a message, please always reply in a thread. Second, keep threads focused on the topic raised in the initial message, and avoid tangents, rants, or other things that'd derail the conversation. Finally, if you need to fork a conversation off into a new thread, please post a link to the new thread in the old one, and vice versa, so that it's easy for future readers to navigate.
πŸ‘ 2
k
Personally I've always considered some amount of derailing to be a good thing! Which suggests that I may be guilty of this. I'd appreciate pointers to comments that seem unnecessary or misplaced. Either in public or DM. It's hard to talk about this without concrete examples, so why not my own.
πŸ€” 4
I also created the thread please reaction here as a lightweight way to call people out for not replying in-thread. It's been helpful. More of us should use it.
πŸ‘πŸ½ 2
πŸ‘ 1
i
As for threads, what I usually do is DM folks and ask them to move their reply. 9 times out of 10 that works great and people seem unoffended by the request. 1 time out of 10 I'm not on the Slack and then the whole discussion spills out into the top-level and there's no hope of cleanup. Alas.
πŸ‘ 1
e
When i read reviews on amazon i look for the most negative ones first, because they hold the most information. In conflict of ideas truth emerges. To avoid conflict and make this a mutual admiration society would be to turn it into a soft echo chamber. The worst thing that happens in the tech world is not disagreement, but being ignored.
πŸ‘ 2
j
On platforms with moderation tools, moving the rant into a separate thread seems to work pretty well.
πŸ‘ 1
d
Edward, I don't think this is about agreeing or disagreeing on a topic, and more about not hijacking a thread for a different topic
k
Edward, I certainly don't want to only read people agreeing. God knows, I disagree enough myself. But I will put it to you that a) disagreement isn't sufficient for a useful comment, and b) disagreement isn't always better than ignoring. Some other things that are necessary for a comment to be useful, or better than ignoring: 1. Putting yourself in the frame of reference of others. If a question is about Java, asking whether they've considered Haskell is counterproductive. In a thread about FRP, if everybody else has already heard your opinion on FRP (and mine!), maybe they don't need to hear us again. 2. Showing the steps of your reasoning. Jumping rapidly across 3 topics in a single comment (e.g. Value programming, Fortran, graph databases and data editors in your https://futureofcoding.slack.com/archives/C5T9GPWFL/p1588400904413300?thread_ts=1588341505.403500&cid=C5T9GPWFL) is unlikely to be intelligible to others. 3. Doing something more than stating opinions. Opinions are like assholes; everyone's got one. Ok, so you think a spreadsheet is a poor man's database. That's great, you do you! I'm not sure what I'm supposed to get out of that, or why the number of dimensions is relevant to that comparison, or why other non-database things don't have dimensions. (Or should handle higher dimensions? See, I don't at all understand what you're getting at.) 4. Being coherent. Your objection to pipes as an example of a composable interface is that they're just files. How's that relevant? You say pipes are sequential. Composability has nothing to do with the shape of the thing being created! My kids like stacking Legos into tall towers. That doesn't mean Legos are not composable. Where I can't do these things I prefer to err on the side of saying nothing. And frankly, I often wish you'd do the same. (Since this is #CEXED56UR, I don't want to litigate all the examples I mentioned in this thread. I provided them as examples, because I couldn't find a way to get my point across without them. That said, I'd be happy to chat about any of those points; it's quite possible I'm misunderstanding them. Maybe as separate threads in #C5U3SEW6A, so that we can preserve this thread to continue to debate the core point of disagreement vs ignoring.)
βž• 2
πŸ‘ 2
❀️ 1
πŸ™ 1
e
By poor man's database, i mean a database for people who can't handle the extra cognitive load of having records stored in some schema. So you show them all the data like diarrhea, and of course let them accidentally change a piece of data by accident in the process. I don't know any high level businessman who trusts spreadsheets due to their lack of any checks against inadvertent data. But for informal work, Excel is great. But if someone uses Excel as part of their core accounting processes, they should be ashamed. The f(g(h())) function composition model is a power tool. So you can do h(g(f())), etc., in fact the 3 functions if they are fully composable gives you 3 different results when used one at a time, 6 different results two at a time, and 6 different results 3 at a time. That 15 different actions by my counting. This geometric explosion of possible outcomes is different than pipes, which are sequential processes, and due to the nature of the transformations being typically unstructured have a fixed order. Rarely can you take a piped operation and shuffle the order and have it make sense. This compounding power of functions is #1 leverage system used in computers. It is the superpower of the call/return with arguments that is all we have besides the assignment statement when you get to assembler. FP was supposed to make things more composable, but that didn't pan out because of other factors.
i
@Edward de Jong / Beads Project I think it'd be worth responding to the actual substance of @Kartik Agaram's comment, which is primarily about conversational etiquette and community norms. I'd also like to remind you that one of the core themes of this thread is concern about people derailing conversations, so let's all take a moment to make sure our awareness of irony is attuned before proceeding. As Kartik suggested, if you'd like to respond to his example points about pipes and such, please spin up a thread in #C5U3SEW6A or #C5T9GPWFL.
πŸ‘ 1
@jamii β€” I would love to be able to move posts/threads, but AFAIK Slack does not allow that at all... even if you are an Admin... and put a Kefka gif as your status.
e
i can be nicer.
i
@Edward de Jong / Beads Project
In conflict of ideas truth emerges. To avoid conflict and make this a mutual admiration society would be to turn it into a soft echo chamber.
I'm a contrarian, so I spend a lot of time taking deliberately oppositional viewpoints and playing devil's advocate. I, like you it seems, enjoy the wit-sharpening effect of strong debate. But I have also learned that there's no sharpening effect to be had if the person you mean to debate against has no interest, or if they have other, less confrontational ways of achieving the same deep thoughts and reflections. Many people, in the world and here in this community, can exchange high-value, high-information ideas better through positivity than negativity. So we're perfectly in agreement that a "mutual admiration society" would be a bad thing. But I also don't want a community of people being negative in contexts where it's inappropriate. We all need to "read the room" β€”Β if people want to get fierce, that's fine. But you can't just force people into your preferred style of discourse, against their desires, and then be surprised when there are social consequences.
βž• 1
πŸ‘ 2
I appreciate the offer to be nicer (and that you made that edit to simplify the message). But this isn't about being nice. You didn't hurt Doug's feelings β€” give him the benefit of the doubt, he's probably emotionally self-aware enough that someone can criticize FP without him taking it personally (...though that said, we all have our bad days, so who knows). The thing that Doug raised as a concern was that you torpedoed his thread about particular ideas in FP with a broad, difficult-to-respond-to critique of FP itself. So I think the thing that he would like, as I understand it from his #CEXED56UR post, is for you to be more relevent in your responses. You can still be critical β€” criticism and critique are huge parts of the discussions we have here in this community β€” but he (and I) would like you to try to keep your criticism pointed rather than scattered, and full of more constructive ideas that people can make use of rather than recounting your credentials.
πŸ‘ 4
βž• 1
s
All of us have slightly different ideas of where the 'treasure lies', so to speak, and no matter how convinced we are of our own ideas, I think it's also important hold on to some humility and expect that there may be useful ideas elsewhere as well. There definitely are threads that may start out questioning FP, or OOP, or text-files, where criticism is very useful. OTOH, some threads will try to explore deeper into various sub aspects one idea, where blanket criticism of the overarching approach may just be a derailment because then those ideas are then never explored. (TBH, I think I've likely done this as well.) I think what I'm trying to say is we have to agree to disagree. Sometimes we talk about the top level disagreements while other times we also want to talk about the nested disagreements withing one top level agreement.
βž• 1
πŸ‘ 2
i
One of the things I'd like to work on is a way we can quickly signal to one another when a conversation appears to be heading in an unproductive direction. Kartik's 🧡 (
:thread-please:
) emoji is great, as a signal that I take to mean both "This top-level reply should have gone into a thread" and even "This in-thread reply probably should have been, or should now become, the start of a new thread." How do you all feel about creating our own emoji-style reactions as this sort of signal? I wouldn't want a bunch of these, but it might be nice to have one or two more like this. Perhaps something to say, "This comment feels a bit rage-y β€”Β anyone who is going to reply, please don't take the bait"? (I view this as an incentive design problem, and thus find it very stimulating)
βž• 1
k
@Ivan Reese your comment leads me to wonder if we can improve on
:thread-please:
, because I intended it differently than you interpreted it. What I've been doing is tagging comments that were on the top-level but I thought should have created a new thread. Maybe it needs a tweak for clarity. FWIW, I saw others use it the way I expected yesterday when I replied at the top level πŸŽ‰ πŸ˜… Your idea of suggesting a response go to a new thread is also great, as is just
:ragey:
for "take it to random". Suddenly I like reacji a whole lot more.
i
(@Kartik Agaram I realized that after posting the message, and edited it to include your original meaning)
πŸ‘ 1
k
Ooh, another reacji idea: "I edited my comment above, please reread." πŸ˜„