MountainWest RubyConf 2014

Summarized using AI

Nerd Party, v3.1

Ryan Davis • March 17, 2014 • Earth

In his talk titled "Nerd Party, v3.1" at the MountainWest RubyConf 2014, Ryan Davis discusses the evolution and dynamics of user groups, particularly focusing on Seattle.rb, the oldest Ruby group in the world, which he co-founded in 2002. The main theme of the presentation is to share insights and best practices for running successful user and study groups based on his experience with Seattle.rb.

Key Points Discussed:
- Group Evolution: Ryan categorizes the evolution of Seattle.rb into three main stages:
- Version 1.0 (Plain Vanilla Meetup): Monthly meetings with inconsistent locations, leading to challenges in organization and speaker recruitment.
- Version 2.0 (Nerd Party Era): Transition to weekly, informal hacking sessions at a consistent cafe, fostering a more relaxed and accessible environment.
- Version 3.0 (Nerd Party Plus Monthly Social): A hybrid model combining weekly meetups with monthly social events that incorporate talks, increasing engagement and attracting a wider audience.
- Version 3.1 introduces study groups that meet weekly prior to regular sessions, focusing on challenging programming materials to deepen participant knowledge.

  • Importance of Structure and Accessibility: Davis emphasizes the value of having a consistent meeting structure and location, which enhances attendance and participation. He also discusses the balance between structure and flexibility to cater to various participant needs.

  • Case Studies and Anecdotes: Ryan shares stories about individuals inspired by CLRB's format, such as the creation of the Fraser Valley Ruby Brigade by a Canadian attendee, which highlights the impact of sharing effective practices. He also refers to the establishment of local groups in San Francisco that aimed for a similar informal style.

  • Community Engagement: Successful groups cultivate an environment that encourages contributions from all members. Davis encourages hosting varied events like hack nights and 'show-and-tell' sessions to promote engagement.

  • Learning Materials: He advocates for selecting challenging books for study groups, sharing details of works such as 'Structure and Interpretation of Computer Programs' (SICP) and 'Realm of Racket', which help participants solidify their programming skills through hands-on projects.

Conclusions/Takeaways:
- Groups should establish their identity, catering to the interests of their members while promoting engagement.
- Using local resources such as mailing lists for coordination is crucial for maintaining communication and involvement.
- The evolution of user groups can lead to richer learning experiences, as demonstrated through the various formats and structures employed by Seattle.rb. Overall, the insights shared by Ryan serve to guide others in building and enhancing their own tech communities effectively.

Nerd Party, v3.1
Ryan Davis • March 17, 2014 • Earth

Founded in 2002, Seattle.rb is the first and oldest ruby group in the world. We've evolved a lot over the years and have found a balance that I think works very well for many, if not most, groups. Seattle.rb has also had a study group off-and-on for a few years. We've tackled doozies like SICP but also programmed games in Racket (scheme). I will share the recipe for our user group and study group as well as the trade-offs we've made over the years and what they meant to us.

Help us caption & translate this video!

http://amara.org/v/FG2N/

MountainWest RubyConf 2014

00:00:27.199 Ugh. All right, well, thank you for dealing with that delay, and thank you everyone for making it to the end of this conference. I know there's been a lot of content shoved into your brains, and I want to give thanks to Pat, Mike, and everyone else involved in this effort for making it look so easy. Can we give them a round of applause, please?
00:00:55.760 I'll start the timer. Setting expectations: I'll be doing 180 slides, which is roughly six slides a minute. This is a fluffy, non-technical talk. I seem to alternate between the two. My last talk here was how to write an interpreter in 30 minutes, so this will not be that.
00:01:03.680 This is not a history talk; this is meant to be informative, not necessarily inspirational. So, this is about information, and my slides are already published at the URL below. Um, quick introduction. This is me doing this without notes, and damn, this is tough.
00:01:31.759 I'm going to talk about user groups today and study groups. One of the things I learned while talking to people around here is that there are about six user groups in the Salt Lake City area and the surrounding area alone. One of them caught my attention; it's the Downtown Ruby Users Group. Apparently, they refer to themselves as 'druggies', and being a graduate of Evergreen State College, I felt really at home talking to these people.
00:01:43.600 Just a quick shout-out to that group. I co-founded CLRB in February of 2002. Pat Eiler was at the first meeting with me, so he is a co-founder of Seattle.rb. We were the first group to meet in the world for Ruby, but an important thing about us is that we're constantly evolving. We're a dynamic group; we're not static. We have worked to find the right balance for our attendees.
00:02:10.160 As I mentioned before, I find history talks dreadfully boring, so this is not one of those. Instead, I'm going to talk about the evolution of our group—not about dates, times, or who met when, all of which I find boring. I'm hoping to share a recipe for what works for our group and discuss the pros and cons and trade-offs that those decisions have made for us.
00:02:37.120 Every type of group has different flavors. Some groups are really into doing presentations, while others, like ours, focus more on hacking. For example, San Francisco's Ruby group is known for their strong networking and business aspects. Each group operates in its own way, and our development came in three main stages. Currently, we are roughly three-quarters hacking and one-quarter talking or sharing.
00:03:08.400 Now, let me share a quick digression. Once upon a time, there was a Canadian named Miles who showed up to our group. The first time he introduced himself, I noticed his distinct 'round o's' and wondered what he was doing in Seattle since he was Canadian. It turns out, he had needs; he really needed to be around other nerds and hacking.
00:03:29.440 He saw what we were doing and realized he didn't have anything similar where he came from. Notably, he lived quite a bit north of the Canadian border. He drove after work to join us on Tuesdays for our meetings, which was quite a commitment, especially after 9/11 with heightened border patrol. This need to be around fellow nerds shows how deep-seated his desire was.
00:03:58.080 Miles and I talked about the CLRB recipe and what worked for us. I shared what I thought was the right approach at the time, and he then took that information back with him to create the Fraser Valley Ruby Brigade. Despite being in a small town outside of Vancouver, it worked perfectly for them, and they meet every week. They absolutely love it.
00:04:25.280 Hopefully, what I'm sharing with you today will help you establish a group that works for you or help shape your group into what you really want for your community. While I was researching this topic, I discovered several groups that attribute their styles of meetings to CLRB's influence.
00:04:56.480 One story besides Fraser Valley that stood out to me was about a small neighborhood in San Francisco called Paterao Hill. In San Francisco, with its focus on business and networking, some individuals felt disconnected. They decided they wanted to create a group in their neighborhood that operated in a 'hack style,' similar to how CLRB does things.
00:05:14.000 I love that fact that there is this overlap—this Venn diagram of the types of Ruby meetings you can have in San Francisco, and there are perhaps six circles for Salt Lake City. I would love to see a map of those things and how they work out.
00:05:37.760 Let's talk about CLRB version 1.0, which I refer to as the plain vanilla meetup era. It was a period where meetings happened monthly at ad hoc locations. We met in various cafes, the first of which was aptly named 'Orifice'. We also had meetings in various offices, such as Robot Co-op, Omni Group, and Amazon. Given Seattle's weather, we only met outdoors in parks three times due to inclement weather.
00:06:02.399 The format of these meetings often consisted of presentations, and I want to note that I had 'shrink to fit' turned on for Keynote 6. For some reason, it breaks words in strange ways, which is evident in the shriveled display of the word 'presentations.' The pros of this setup included having a lovely group of people who just wanted to get together and meet.
00:06:38.639 We didn’t realize it at the time, but we were paving the way for others to start their own groups. It was rewarding to see that, but there were definitely some cons. Monthly meetings meant scheduling mattered deeply; if you missed one, you could go two-plus months without a meeting.
00:07:20.480 Inconsistent locations made it harder to organize and prepare. Attendees had to rely on mailing lists for updates rather than simply knowing they could show up at a time and place and find others there. Getting speakers was particularly challenging back then as Ruby was new, and there wasn't much to share other than projects we were learning on.
00:07:43.279 It was also tough to keep speakers with such a small group. It became repetitive with the same people talking over and over, leading to my belief that making the meetings interesting was key for our evolution from 1.0.
00:08:04.320 As such, we transitioned into version 2.0—what I call the Nerd Party era—coined by Shane Becker’s girlfriend back then. The name stuck because it absolutely fit our vibe. This stage was characterized by weekly meetings at a consistent cafe, and we have been doing this long enough that we've spanned two cafes. Currently, we meet at Vivace in downtown Seattle, which you can visit to attest it has great coffee.
00:08:42.080 The format of these meetings is unstructured hacking. There is no leader, no set format; you simply show up, hack with others, and drink coffee if you choose—it's very informal. The advantage of meeting weekly is that you can miss as many as you want without feeling like you're missing out on too much.
00:09:05.519 The reduced pressure of having a structured meeting has been key to our success. Meeting centrally makes it more accessible, and the low-maintenance nature keeps it easy; I just need to show up, buy my coffee, open my laptop and start hacking. It works similarly for everyone else who attends.
00:09:34.560 Some people might feel intimidated by this informal format, seeing everyone tapping on their laptops and possibly feeling lost about how to participate. What they don't realize is that by simply being there, they are part of the group. This can be challenging for some who expect interaction or presentations, which isn't the focus of this meetup.
00:10:01.440 I also discovered that some people just don't see the value in informal meetings without presentations. Our group is oriented toward doers and makers, while attendees who are looking to consume talks might not fit in well. That's perfectly fine, as different participants seek different experiences.
00:10:29.680 Time check; I know I should probably ring the alarm now. Last year, I would have done more to segment the talk, but I didn't bring any notes, so this is where we're at today. Let's continue.
00:11:06.239 We moved to version 3.0 due to enough participants disliking the presentation format. This is now the Nerd Party Plus Monthly Social Era, which combines our usual weekly hacking in a cafe with a social gathering on the first Tuesday of each month. The location remains our regular cafe, while the monthly social takes place at an office named 'Substantial'.
00:11:43.440 These social gatherings are about one-quarter socializing, one-half talks, where we generally feature two half-hour talks and a quarter of lightning talks. However, I put quotes around 'lightning talks' since we've renamed them to 'show-and-tell' after observing that if you're new to Ruby, the term 'lightning talk' tends to invoke fear.
00:12:13.760 By renaming it to show-and-tell, we have made it more accessible and actually attracted more contributors, allowing our meetings to thrive as a result.
00:12:40.960 This hybrid approach is a nice balance between the previous versions, opening us up to reaching different learning types and promoting various formats for engagement. However, the cons are that we actually have to organize, recruit people to share talks, and get everyone networking in advance.
00:13:06.880 We need to coordinate efforts with sponsors for food and drinks. Fortunately, we've been lucky to have great support across the board, and we’re now large enough that some people enjoy organizing. I personally prefer to show up, grab my coffee, and hack.
00:13:30.199 As we lead into 3.1, we've introduced study groups into our usual agenda. Study groups meet weekly before the Nerd Party and do not overlap. We're following an Evergreen-style seminar format, minus any distractions. Together, we pick a challenging book; we've tackled SICP, which I believe is a vital resource.
00:14:04.480 In chapter one, you find out how to calculate square roots using Newton's method and functional programming. One of the highlights from Jim's presentation at Goguruko is how he pointed out that square roots are seldom directly mentioned, forming an approximation through functional calls.
00:14:29.760 From there, we implement a metacircular interpreter in four concise chapters. The fifth chapter involves writing a compiler for that interpreter. This area has always been my favorite, and we tackled another book called Realm of Racket last fall.
00:14:54.639 In that session, we wrote a keyboard-controlled spaceship and crafted multi-player games, all done in Scheme—specifically in Racket, because it's an excellent way to solidify functional programming concepts. Currently, we have started working on a project titled Nand Tetris, using the book titled The Elements of Computing Systems by Nisan and Shoken.
00:15:14.399 This revolves around constructing a computer from foundational logic gates, starting from a simple NAND gate, which is a universal circuit, through various logical constructs, ultimately leading up to creating logic that underpins a functional computer.
00:15:39.920 We use mailing lists for non-face-to-face communication and generally meet in the same location—except during our monthly socials, which occur at Substantial. The mailing list is essential for disseminating homework and creating structure within the program.
00:16:05.760 We are self-organized and have multiple groups operating independently across the city. Each group has its leader to manage homework and communicate essential details to new members or absentees.
00:16:26.720 Moreover, it's important to accept that not everyone will complete the program due to life circumstances. People will fade away, but that is perfectly fine; it reflects the natural ebb and flow of a cooperative learning environment.
00:16:52.720 So, what constitutes a successful Ruby Brigade? First, select your participants. Figure out the type of group you're trying to cultivate and the activities they will embrace. Food and drinks often make a significant difference; if you promote pizza and beer, attendance will likely increase.
00:17:34.239 That being said, it's crucial to recognize that these offerings will attract certain types of individuals, possibly those looking to watch us present rather than participate. Ensure that the group stays centered around the right audience.
00:17:52.559 Be passionate about your vision for the group and be supportive. We've had many newcomers walk through our doors over the years, and one memorable instance involved a person who had just picked up Chris Pine's book on programming. They sat down, read through two pages, and asked us about text editors. That's exactly the kind of engagement we want.
00:18:29.440 It's essential to have participants bring projects, questions, or issues they wish to resolve. For the right balance in the group dynamic, organizing at multiple levels is beneficial. We host hack nights, show-and-tell sessions, and regular presentations.
00:18:53.920 Central to our approach is the understanding that having fun ensures success. The right location can considerably enhance accessibility, so meeting downtown or in a central area opens participation to more individuals.
00:19:13.920 However, consistency matters even more. Meet every week without lengthy breaks; that way, missing meetings won't feel significant, and over time, attendance generally grows.
00:19:35.680 Regarding successful study groups, choose a book that challenges attendees. Although I prefer physical copies, providing accessibility in digital formats is equally vital since not everyone is an experienced software engineer.
00:19:53.280 It's crucial that the material is challenging, evoking enthusiasm. Ensure group meetings are loosely organized but should have enough structure to avoid chaos.
00:20:16.160 Using a mailing list for ongoing communication helps keep everyone in the loop. I suggest groups meet weekly to maintain continuity in studying, especially for coordinating homework.
00:20:37.520 Self-organization is critical: multiple parallel groups can co-exist. Each group can operate independently, setting their homework, solidifying their unique identity.
00:20:57.440 Ultimately, it's imperative to allow people to drop in and out at their own pace, as life has a tendency to interrupt plans.
00:21:18.080 Thank you for your time! I find it amazing that I actually managed to keep this consecutive talk, maybe even giving all of you a surprise.
00:21:31.680 As you might have gathered, I love this book—it’s outstanding for pedagogy and sheds light on how our computers operate. I also appreciated the previous talk's points, drawing parallels between our work and the monumental efforts behind the moon landing.
00:21:52.920 For instance, it begins with the simple NAND gate—a fundamental circuit from which you can construct all types of logic gates. Alongside understanding these concepts, we learn to build complex electronic systems layer by layer, crafting substantial devices merely from what appears as simple gates.
00:22:32.560 Each component contributes uniquely until you can grasp how a functioning computer operates, often simplifying intricate processes down to mere components. The learning curve here is manageable—even enjoyable.
00:23:02.640 I’d recommend both books to anyone looking for a fun yet challenging journey into programming and computing fundamentals. Based on the dynamics of our community and what we offer, I’m hopeful that anyone can find parallels in their learning.
00:23:48.320 So thank you yet again, and I look forward to seeing how these insights can empower your efforts in building, engaging, and evolving tech communities.
00:24:11.440 And I appreciate everyone's patience and attention through this talk, as well as a special thanks once more to those who've helped coordinate this experience.
00:24:33.679 I don't want to overstay my welcome, so take it easy, everyone. I’ll stop before it gets too late—thank you!
00:25:22.880 That's it!
Explore all talks recorded at MountainWest RubyConf 2014
+12