 I talked about my experiences as one of the co-organizers of the New York Haskell meetup. And in the title for a meetup, I said building Haskell communities. But then I thought about it somewhere and I decided to change the title a little bit. Because I think this applies to all communities. And so, building healthy communities. So, like I said, I'm one of the co-organizers of the New York Haskell users group. We've been going for three and a half years, roughly once a month. We currently have 1,307 members. And usually, on most months, we're getting between 60 to 100 people attending. So, how much of those 6,500 is the perfect way for a thing? That's a good question. I don't know. I would say there's a significant percentage that if you do the same, call it half. And then, there's probably a smaller percentage that shifts through. But we don't have enough. Maybe meetup gives us enough information, but we just haven't checked. So, what does it mean to have a healthy community? Well, I'm sure there's lots of definitions you can give for this. But I decided to isolate it down to two main points. The first is that the community needs to facilitate knowledge transfer. And the second is that it needs to facilitate the discovery of creation of new knowledge. So, if we take a little bit more in-depth look into knowledge transfer, what do we have to have to get knowledge transfer? What is knowledge transfer? So, people who know something are teaching people who don't know something about the knowledge or skills or whatever it is that they have. And I use this as a key point in the healthy community because if you don't have knowledge being transferred, your community will die. People who know everything will die off, and then your community will be gone. So, you have to pass the knowledge on. So, what do we have to have in place in order to add knowledge transfer? Well, we have to have people who don't know. They have to be a part of our community. And we have to have people who do know. And we need them in the same place, either in the same room or, you know, same communication venue, like a chat room or some other type of online community. It seems really obvious, but I think you don't always find it that communities design themselves to grab all of these criteria. There are some obstacles to these things. People who don't know are sometimes intimidated. If they think that your community has lots of people who have knowledge and are experienced, then they may be intimidated and they might not come. Conversely, people who do know might look at the group and say, oh, it's not worth my time. I already know all those things. It doesn't benefit me to go, so I'm not going to go. So, how do we get both of these groups of people, the beginners of the MS, the people who don't know, the people who do know, in the same room at the same time? What we did with New York Haskell is we decided to explicitly cater to both groups. We committed to always having a beginner and a non-beginner talk at every one of our meetups. And I feel like that was a really important thing in building this community that has a good amount of knowledge, transfer, and so on. There were previous Haskell-related meetups in New York, and they did not, I think, do this as well. Now, to their credit, maybe they weren't even trying to do this. I believe some of them maybe had different goals than ours, but we wanted to focus on this, and I think it really was a big help. And then, once you've gotten both of those people in the same room, you should socialize. You should not just stay here where we're giving the presentation. You should go somewhere or have some non-presentation socialization going on so that there's time for the knowledge transfer to happen. There's some knowledge transfer that can happen in a structured presentation, but then there's tons of knowledge transfer that can happen in more informal social gatherings. So these were two big points that we found that I think are important. So the result is that advanced people tell them, because you have advanced level talks, and beginners hear these advanced level talks, and they might not have come if you didn't have a beginner talk, but they saw the beginner talk, they come from the beginner talk, they stay for the advanced level talk, and they didn't understand everything, but slowly but surely they start to absorb things and just being exposed to different vocabulary, different terminology. I find that it breaks down barriers, and I think it really helps. So the challenge to doing this is if you always have a beginner talk and a non-beginner talk, that's a lot of talks to invite. And if you don't have a good group of organizers, you're going to have a really hard time consistently every month or however often you choose to have your meetup, grabbing these talks and making sure that you have a full deck. So I recommend that you should share your work among at least three co-organizers. If you really want to be able to keep up this amount of talks, it's sort of facilitate a healthy community. And in New York, we started with five co-organizers, and now we have seven, and I think that was a really, really big help. We heard the arrows that you are keeping, transform an organizer into a co-organizer. What do you mean? Category theory? Those kinds of arrows. Everybody's a co-organizer. We had five people who started out, and so we all just call ourselves co-organizers. Occasionally, maybe I'll say I'm the organizer, but I actually mean I'm the co-organizer, because we were so very critically involved, all of us were critically involved that it couldn't have happened without the whole group. It was not me, it was not any of the other organizers by themselves. It really was very much a group effort. And it really helps to have people to distribute that around you. It helps you have a broader network of cool people that you know that you can ask to get a talk. I can't emphasize that point enough. And then my last point here is that if we are trying to go for knowledge transfer to build our healthy community, then we should video and post the videos and slides of these talks because that allows us to transfer the knowledge to the whole world for a very low cost. And so I think you're really just throwing away a ton of untapped opportunity if you don't try to video and post videos and slides. So what about knowledge discovery? We hit knowledge transfer, knowledge discovery is slightly different. It looks a lot like the same thing, but there's some nuances that are different that make some different activities help with discovery and creation a little bit more. In the case of discovery and creation, it's really about people exchanging ideas and they talk, they come up with something that either of them had thought of before. One person might have thought of this idea that the other person hadn't thought of but it was a different context. So let's apply this idea over here in this different domain. That's how a lot of knowledge is created. Or in the case of creating things like software projects, people getting together and just packing on the same software project. One person encounters a problem, another person says, oh, I have a good solution for that problem. Interactions between people are really, really important here. So it's less about talks and more about hacking than just conversations, I would say. So I think it's very important to organize hack sessions in addition to more structured talks and presentations. The word hackathon would be great, I really like the word, but recently it has become more associated with contests. So in these types of events, at least in New York and some of the similar ones like in Philadelphia, there's a hack fee that's been going on for quite some time. We've decided to start distancing ourselves from the word hackathon because it doesn't quite have the connotations we're looking for. But the big idea is you don't have an agenda, just put people in the same room so conversations can happen and people can discover and create new things. The obstacle for us, one of the big obstacles to doing these types of events are finding good things. I kind of don't have a lot of advice for how to find venues, talk to companies, expand your network, find people that work for big companies and see who might be willing to donate space, but they're hard to find. So expand your network so that you can increase the number of places that you could potentially find. This has been really, really useful for us. And then once you've found venues, go out of your way to keep your relations positive with those venues. I see that you guys have these meetups here at Pivotal Labs in Singapore. Pivotal also hosts us in New York. They're fantastic. We really try to make sure that our people treat their space well so that we have a good reputation with the venues that we use and I think we've been successful in doing that. That's another important point. And that's pretty much it. In summary, these are my main bullet points that I think are important. To recap, always have beginner and non-beginner talks because you really need to have both of those categories of people in the same room. Have socialization time after a structured talk so that you can have more knowledge transferred. Share the work among three, four, five, however many cool organizers you can get, the more, the better in our experience. Close videos and slides, including people from outside your community. We found that was helpful in finding venues and finding people to help in different ways that we didn't even necessarily realize we needed at the beginning. It was very valuable to have outside advice from people not in our kind of focused group. And then make sure you have good relationships with your day. Thank you very much. And if you're interested in this set of slides, they're available at this website and you can see the source for the slides on my GitHub. Question? So here, at least with the Singapore Haskell Meetup, it seems to me that we have this problem with frequent, I mean, regularly scheduled talks. And doing this kind of both having a beginner and an expert-reactive talk. We haven't been getting much expert-level talks lately. And I think that's simply because, you know, we want to keep this, not me, but the organizers want to keep the schedule. So there's going to be a meetup even if there's no expert-level content. What did you like to do about that? Because it seemed to me like this should be a general problem once you commit to a regular schedule. Yeah. I think you don't have to stick to it really, really strongly. I think that once you've set a precedent and the people that know about your meetup know that there's usually a beginner talk and an advanced talk, I think you can deviate from that. I think you can leave out beginner talks, which we have done. We've had Ed Camette come in and give a two-hour lens talk. We had been going for a while, so we already had built up a nice community, so that was fine. And I think if you have the other situation where you're giving beginner talks, if you've already established a community and you know that you have non-beginners experience people that are attending, then maybe that's not a huge issue. But I felt like it was an issue in our case because some of the previous meetups, I know I specifically looked at them and I said, oh, I don't want to go because I don't think it's worth my time. And maybe you could say, well, dug your exception because you're the organizer of this meetup. Maybe that's the case, but I still think it helps to at least set up pattern. And then once you've gotten your community healthy and you've gotten a good set of experienced people coming, then I think that experience, even if you don't have an advanced talk, experienced people will come to meet the other experienced people who they know are there. So that point of always having those two talks, I think that's more of a bootstrapping thing than a hard and fast rule that you have to do every single time. Does that answer your question? Any other questions? Can you give an example for someone outside of your community that helped you out? Yes. Kat was someone that we hired at Su Stone where I was working and she came in mostly focused on design and she really kind of clunged into the high school community and she has been a really big driving force behind the Composed Conference behind events for much more specifically targeted towards beginners to help people bootstrap and get like Haskell installed and things like that, which probably wouldn't have happened if we had only had our original five organizers who were all pretty experienced Haskell program. Any other questions? Thank you very much. I actually forgot. I had a question even though I know the answer but I think maybe some other people want the answer. Okay. How was the community growth? It was... Well, I think that can actually pull up a slide here. Let me see. It hasn't been like any consistent pattern the whole time. Yeah, I'll put it back in just a second. Group members, joins. So I would say it's kind of trended towards a fairly constant level of growth as you can see here. Last year we had this exponential spike for like the first half of the year and I don't exactly know what caused that. It was kind of exciting to see. But as you can see, we're back down now to like the rough level of 2025 new members joining the F Group per month, I guess. In spite of this big spike in joins, we did not see a corresponding big spike in people attending the talks. I don't know exactly why that is. It could be because our venue is limited and there's only so many RSVPs. So that could have been part of it. I'm not sure. Is that answer your question? So I wonder... Did it statistic, I understand, from RSVPs? And... No, this is... There are new people joining the meetup. They go to meetup.com and they say, they're joining the Haskell Meetup. This doesn't tell me whether they come at all. But what it is, is a measure of how big our mailing list is. So... And having a mailing list that people see when you want to send something out, has it out? Yeah. Might not be people coming, but I think it still has some around about it. They're at least seeing the announcements that we send out about what talks were happening. So they may be just interested in announcements, for example, because they don't know... Yeah, I don't know. It's really hard to say. Some of these spikes, like this big spike here, I think might have corresponded to a more prominent speaker that we had gotten in that month. I'm not sure. It's really hard to say, and I don't... Maybe we should, like, do some effort to investigate a little bit of these statistics a little bit more, but thus far we haven't.