WEBVTT

1
00:00:04.639 --> 00:00:07.599
<v Speaker 1>Hey folks, Welcome back to another episode of the Ruby

2
00:00:07.679 --> 00:00:11.480
<v Speaker 1>Rogues podcast. This week, I'm your host, Charles Maxwood, and

3
00:00:11.599 --> 00:00:18.960
<v Speaker 1>I am talking to Ridwana Kahn from South Africa. Very cool.

4
00:00:19.399 --> 00:00:21.719
<v Speaker 1>I've always wanted to go down there and see different

5
00:00:21.760 --> 00:00:25.160
<v Speaker 1>areas down there. But anyway, you gave a talk at

6
00:00:25.239 --> 00:00:27.199
<v Speaker 1>Rails World. You talked about a whole bunch of the

7
00:00:27.239 --> 00:00:31.879
<v Speaker 1>internals on Ruby on Rails, and it looks like you

8
00:00:31.920 --> 00:00:34.880
<v Speaker 1>also help write the Rails guides, which is awesome. That's

9
00:00:34.960 --> 00:00:39.359
<v Speaker 1>one of the nicest things about rails is when I'm

10
00:00:39.359 --> 00:00:41.079
<v Speaker 1>talking to people and it's like, well, how do I

11
00:00:41.079 --> 00:00:43.479
<v Speaker 1>even get started? It's like, we've got these great guides.

12
00:00:43.679 --> 00:00:46.799
<v Speaker 1>Just go, you know, go spend a half hour or

13
00:00:46.840 --> 00:00:48.759
<v Speaker 1>so with them, and then you're pretty much off to

14
00:00:48.799 --> 00:00:52.159
<v Speaker 1>the races. So why don't you go ahead and introduce

15
00:00:52.159 --> 00:00:53.960
<v Speaker 1>yourself as far as anything else you want people to

16
00:00:54.000 --> 00:00:56.799
<v Speaker 1>know about you, why you're popular or famous and all

17
00:00:56.799 --> 00:00:57.359
<v Speaker 1>that stuff.

18
00:00:59.159 --> 00:01:03.439
<v Speaker 2>Yeah, So I'm Ridwana, like you mentioned, I'm a technical

19
00:01:03.479 --> 00:01:08.280
<v Speaker 2>writer for the Rails Foundation. I've been helping to improve

20
00:01:08.439 --> 00:01:11.200
<v Speaker 2>the official Ruby on Rails guides for the last year

21
00:01:11.319 --> 00:01:14.879
<v Speaker 2>or so. I'm also a lead engineer at a company

22
00:01:14.879 --> 00:01:18.840
<v Speaker 2>called Circle where I focus on building tools that empower

23
00:01:19.040 --> 00:01:25.400
<v Speaker 2>creators and communities, and I have about over a decade

24
00:01:25.439 --> 00:01:29.359
<v Speaker 2>of experience in software development. Over my career, I've worked

25
00:01:29.400 --> 00:01:33.560
<v Speaker 2>mostly within the Ruby and Rail space as well as JavaScript.

26
00:01:34.640 --> 00:01:36.480
<v Speaker 2>I think if I had to sum up the things

27
00:01:36.519 --> 00:01:39.719
<v Speaker 2>that I'm passionate about, it would be making code more

28
00:01:39.799 --> 00:01:43.040
<v Speaker 2>accessible through documentation, and that's why I write the Ruby

29
00:01:43.040 --> 00:01:48.680
<v Speaker 2>on Rails guides, thought for engineering, and just inclusive community building,

30
00:01:48.799 --> 00:01:52.280
<v Speaker 2>which is why I work at Circle because there are

31
00:01:52.760 --> 00:01:59.480
<v Speaker 2>community building platform and I've built many communities over my career.

32
00:01:59.640 --> 00:02:01.879
<v Speaker 2>I try to both communities where I see a gap.

33
00:02:02.000 --> 00:02:05.239
<v Speaker 2>So the most obvious one is sort of the woman

34
00:02:05.359 --> 00:02:09.599
<v Speaker 2>in Tech gap. So over my career I've both communities

35
00:02:09.759 --> 00:02:13.439
<v Speaker 2>like women in Tech. I've both Rails goals in South Africa,

36
00:02:13.680 --> 00:02:17.759
<v Speaker 2>Rails Bridge, Black Gull's Code Ladies that You Ax, which

37
00:02:17.800 --> 00:02:22.039
<v Speaker 2>is the intersection of a development and user experience. So

38
00:02:22.319 --> 00:02:26.919
<v Speaker 2>just really passionate in that space. And on a personal note,

39
00:02:27.039 --> 00:02:30.560
<v Speaker 2>if I'm not coding, I'm trying to keep an eye

40
00:02:30.639 --> 00:02:34.240
<v Speaker 2>on my ever growing collection of house plants and trying

41
00:02:34.240 --> 00:02:39.719
<v Speaker 2>to keep them alive. They're constantly dying. I also really

42
00:02:39.800 --> 00:02:43.520
<v Speaker 2>enjoy traveling and going to speak at conferences. It's one

43
00:02:43.560 --> 00:02:47.120
<v Speaker 2>of my favorite things to do. And finally, just hanging

44
00:02:47.159 --> 00:02:53.080
<v Speaker 2>out with my very opinionated feline peer programmers or per programmers,

45
00:02:53.159 --> 00:02:56.240
<v Speaker 2>Zoe and Zeus. If you watch my talk at Rails World,

46
00:02:56.360 --> 00:03:01.319
<v Speaker 2>you've seen some really goofy photos of them. Yeah, it's

47
00:03:01.360 --> 00:03:02.000
<v Speaker 2>basically me.

48
00:03:03.879 --> 00:03:10.360
<v Speaker 1>Very cool. So I have you Circle before? We used

49
00:03:10.360 --> 00:03:12.319
<v Speaker 1>it for I try to set up a community for

50
00:03:12.360 --> 00:03:17.719
<v Speaker 1>the podcasts, and I tried it out, so yeah, that's cool.

51
00:03:17.759 --> 00:03:19.000
<v Speaker 1>I didn't know they were a rail.

52
00:03:18.840 --> 00:03:23.280
<v Speaker 2>Shop, so yeah. And before Circle, I was at dev

53
00:03:23.319 --> 00:03:26.879
<v Speaker 2>dot two also known as Forum, also a community platform.

54
00:03:27.199 --> 00:03:31.000
<v Speaker 2>So I've just been moving around community platforms recently.

55
00:03:31.240 --> 00:03:34.120
<v Speaker 1>Right, Yeah, I was going to say I'm detecting a trend.

56
00:03:34.240 --> 00:03:37.639
<v Speaker 1>So I am curious as we dive in, right, because

57
00:03:37.680 --> 00:03:40.560
<v Speaker 1>I think a lot of times when we talk to people, it's, oh,

58
00:03:40.560 --> 00:03:44.520
<v Speaker 1>you're doing this very cool thing with code. And I'm

59
00:03:44.520 --> 00:03:46.560
<v Speaker 1>sure you do cool things with code. I'm not trying

60
00:03:46.599 --> 00:03:49.680
<v Speaker 1>to say you don't. But the thing that's interesting to

61
00:03:49.719 --> 00:03:52.560
<v Speaker 1>me is I think a lot of people don't really

62
00:03:52.560 --> 00:03:55.120
<v Speaker 1>think about, Okay, what goes into the documentation, what goes

63
00:03:55.159 --> 00:03:58.520
<v Speaker 1>into the rails guides and things like that, and I'm curious,

64
00:03:58.840 --> 00:04:02.439
<v Speaker 1>how did you get involved there? Did you just I

65
00:04:02.439 --> 00:04:05.199
<v Speaker 1>don't know, go tell the foundation, Hey, you need to

66
00:04:05.240 --> 00:04:08.639
<v Speaker 1>fix the easer. I don't know what will happen there.

67
00:04:09.800 --> 00:04:13.919
<v Speaker 2>No. I think around last year, I want to say

68
00:04:14.159 --> 00:04:19.040
<v Speaker 2>around January twenty twenty four, Amanda from the Rails Foundation

69
00:04:19.360 --> 00:04:24.480
<v Speaker 2>was actually looking for writers to work on the Rails

70
00:04:24.519 --> 00:04:28.519
<v Speaker 2>Foundation Ruby on Rails guides, and so they put out

71
00:04:28.519 --> 00:04:32.839
<v Speaker 2>a post to say they're looking for two freelance writers

72
00:04:32.879 --> 00:04:37.279
<v Speaker 2>to work on the Ruby on Rails guides. And during

73
00:04:37.319 --> 00:04:41.480
<v Speaker 2>that time, I was sort of between different gigs and

74
00:04:42.199 --> 00:04:45.319
<v Speaker 2>I'd been using the Ruby on Rails guides a lot,

75
00:04:45.480 --> 00:04:49.120
<v Speaker 2>and so I decided, why not let me apply and

76
00:04:49.160 --> 00:04:55.199
<v Speaker 2>see how it goes. And yeah, I started writing for

77
00:04:55.279 --> 00:05:00.639
<v Speaker 2>the Rails Foundation myself and another writer, Boomy. We started

78
00:05:00.680 --> 00:05:03.600
<v Speaker 2>off and we worked with a couple of other peoples

79
00:05:03.680 --> 00:05:07.240
<v Speaker 2>to people to review the guides, and that's how it

80
00:05:07.279 --> 00:05:08.079
<v Speaker 2>all got started.

81
00:05:10.879 --> 00:05:18.920
<v Speaker 1>Very cool. So is that paid or are you doing

82
00:05:18.920 --> 00:05:20.279
<v Speaker 1>it because you love us?

83
00:05:21.319 --> 00:05:24.160
<v Speaker 2>I mean, I'm doing it because I love y'all and

84
00:05:24.240 --> 00:05:27.199
<v Speaker 2>I love the guides and I love what I do.

85
00:05:27.399 --> 00:05:29.839
<v Speaker 2>But it is also paid, Okay?

86
00:05:29.839 --> 00:05:30.079
<v Speaker 1>Cool?

87
00:05:33.600 --> 00:05:33.800
<v Speaker 2>Yeah?

88
00:05:33.839 --> 00:05:35.879
<v Speaker 1>I mean I had I guess I hadn't really thought

89
00:05:35.920 --> 00:05:38.040
<v Speaker 1>too much about it, but now that I'm thinking about it,

90
00:05:38.079 --> 00:05:41.480
<v Speaker 1>I'm like, oh, wow, so are there because the guides

91
00:05:41.519 --> 00:05:43.680
<v Speaker 1>have been around for a while, are there any new

92
00:05:43.759 --> 00:05:46.480
<v Speaker 1>guides or is it mostly just updating what was already there?

93
00:05:47.839 --> 00:05:51.959
<v Speaker 2>So initially we started with updating what was there, but

94
00:05:52.319 --> 00:05:56.639
<v Speaker 2>when Rails eight got released, we had a couple of

95
00:05:56.720 --> 00:05:59.800
<v Speaker 2>new guys that we needed to implement, and we've done

96
00:05:59.839 --> 00:06:05.120
<v Speaker 2>that as with the release. So it's a combination of both.

97
00:06:05.240 --> 00:06:08.240
<v Speaker 2>We look at the old guides, we audit them, we

98
00:06:08.319 --> 00:06:11.439
<v Speaker 2>see what needs to be updated, and we update them.

99
00:06:11.480 --> 00:06:14.519
<v Speaker 2>But then we're also as Reels releases new features, we

100
00:06:14.639 --> 00:06:21.000
<v Speaker 2>go in and we create new guides. Also, if contributors

101
00:06:21.160 --> 00:06:25.040
<v Speaker 2>create prs for new features, sometimes that means we go

102
00:06:25.079 --> 00:06:28.879
<v Speaker 2>through the pull requests and we update the guides with

103
00:06:29.040 --> 00:06:30.879
<v Speaker 2>new information on new sections.

104
00:06:32.480 --> 00:06:35.759
<v Speaker 1>Gotcha, So how much time are you spending every week

105
00:06:35.800 --> 00:06:36.680
<v Speaker 1>working on the guides?

106
00:06:38.079 --> 00:06:42.560
<v Speaker 2>So we put a pause a little bit recently is

107
00:06:42.639 --> 00:06:44.920
<v Speaker 2>the new year started, but I'll be begin it up

108
00:06:44.959 --> 00:06:51.240
<v Speaker 2>again later this month. I spend around I want to say,

109
00:06:52.279 --> 00:06:55.480
<v Speaker 2>I forget the actual number of hours because we've put

110
00:06:55.480 --> 00:06:57.560
<v Speaker 2>a pause on it for the last three months and

111
00:06:57.600 --> 00:07:02.480
<v Speaker 2>we're just starting again, but I think it's around two

112
00:07:02.639 --> 00:07:06.160
<v Speaker 2>in two hours a week. I stand to be corrected.

113
00:07:06.759 --> 00:07:07.639
<v Speaker 2>It's been a while.

114
00:07:08.439 --> 00:07:12.959
<v Speaker 1>Uh huh, that makes sense. And what's the process. So,

115
00:07:13.360 --> 00:07:16.399
<v Speaker 1>I guess the process is different if you're auditing versus

116
00:07:16.519 --> 00:07:18.920
<v Speaker 1>writing new ones. But yeah, what does the process look like?

117
00:07:19.639 --> 00:07:22.680
<v Speaker 2>Yeah? So, I mean I don't do a lot of auditing.

118
00:07:23.279 --> 00:07:27.040
<v Speaker 2>We have a specific contributor that helps with the auditing,

119
00:07:27.319 --> 00:07:32.720
<v Speaker 2>so Patrick Patrick Hosh he does the auditing of the

120
00:07:32.759 --> 00:07:35.399
<v Speaker 2>guides and a lot of the reviewing of the guides.

121
00:07:36.680 --> 00:07:39.560
<v Speaker 2>But essentially what he does is he comes in, he

122
00:07:39.600 --> 00:07:44.439
<v Speaker 2>audits them, he checks which ones we need to update,

123
00:07:44.720 --> 00:07:48.079
<v Speaker 2>and then once he's audit audited it, we use base

124
00:07:48.160 --> 00:07:52.720
<v Speaker 2>camp and we basically keep track of which guides need updating.

125
00:07:53.079 --> 00:07:55.959
<v Speaker 2>Then one of the writers will go in and they'll

126
00:07:57.000 --> 00:08:01.079
<v Speaker 2>look at the existing guides. The trick will already have

127
00:08:01.199 --> 00:08:03.800
<v Speaker 2>some notes in on what he thinks can be improved.

128
00:08:04.120 --> 00:08:06.879
<v Speaker 2>We look at it with fresh eyes. We then decide

129
00:08:06.879 --> 00:08:10.759
<v Speaker 2>what can be improved from our side. Sometimes that's how

130
00:08:10.759 --> 00:08:13.759
<v Speaker 2>I started diving into the source code. I dive into

131
00:08:13.759 --> 00:08:16.240
<v Speaker 2>the source code see how the internals work, because I

132
00:08:16.279 --> 00:08:19.759
<v Speaker 2>feel that if you really understand how the internals of

133
00:08:19.839 --> 00:08:22.839
<v Speaker 2>Rails works. Then you're able to explain the things better.

134
00:08:24.360 --> 00:08:27.720
<v Speaker 2>Once that's done, we send out a PR. It goes

135
00:08:27.839 --> 00:08:32.399
<v Speaker 2>through internal review first within our team. Once internal review

136
00:08:32.480 --> 00:08:35.360
<v Speaker 2>is done, we then create a PR for the open

137
00:08:35.399 --> 00:08:38.519
<v Speaker 2>source community to be able to review the guides. Maybe

138
00:08:38.519 --> 00:08:41.759
<v Speaker 2>they pick up some areas or gaps that we may

139
00:08:41.799 --> 00:08:45.039
<v Speaker 2>have missed, and then finally we emerge it.

140
00:08:48.120 --> 00:08:53.679
<v Speaker 1>Very cool. So are they in the Rails repo or

141
00:08:53.720 --> 00:08:54.879
<v Speaker 1>are they somewhere else?

142
00:08:56.360 --> 00:08:59.200
<v Speaker 2>Yeah, so they're in the Rails repot and usually we

143
00:08:59.399 --> 00:09:03.360
<v Speaker 2>encourage which open source contributors to have a look through them.

144
00:09:03.799 --> 00:09:08.600
<v Speaker 2>The guides are marked with a label RF docs and

145
00:09:08.639 --> 00:09:12.080
<v Speaker 2>it has a label sorry in the title. We usually

146
00:09:12.240 --> 00:09:15.799
<v Speaker 2>have a prefix rf docs and then it has a

147
00:09:15.840 --> 00:09:19.200
<v Speaker 2>label Rails Foundation. So if you're trying to find any

148
00:09:19.240 --> 00:09:21.759
<v Speaker 2>of the docks, you can do that, and we really

149
00:09:21.879 --> 00:09:25.200
<v Speaker 2>encourage the Rails community to review them because it means

150
00:09:25.240 --> 00:09:28.519
<v Speaker 2>that if you're learning Rails, or even if you've been

151
00:09:28.600 --> 00:09:33.279
<v Speaker 2>using Rails for a long time, you basically know we

152
00:09:33.519 --> 00:09:36.320
<v Speaker 2>some of the gaps lie what you've struggled with, and

153
00:09:36.399 --> 00:09:38.600
<v Speaker 2>when you review them, you can bring some of their

154
00:09:38.639 --> 00:09:41.559
<v Speaker 2>fresh perspectives to our prs.

155
00:09:42.279 --> 00:09:48.200
<v Speaker 1>Right, makes sense. So yeah, I'm curious how deep into

156
00:09:48.200 --> 00:09:50.559
<v Speaker 1>the internals have you gotten, because I mean your talk

157
00:09:50.679 --> 00:09:53.399
<v Speaker 1>was a half hour, so you didn't get too deep

158
00:09:53.399 --> 00:09:56.919
<v Speaker 1>into things, But it sounds like you spend a bit

159
00:09:56.960 --> 00:09:59.960
<v Speaker 1>of time looking at how RAILS is actually put together

160
00:10:00.240 --> 00:10:00.799
<v Speaker 1>under the hood.

161
00:10:02.440 --> 00:10:06.399
<v Speaker 2>Yeah, I think. I mean, depending on what guide I'm

162
00:10:06.399 --> 00:10:10.320
<v Speaker 2>writing at the time, I then dive into the internals,

163
00:10:10.360 --> 00:10:13.559
<v Speaker 2>and sometimes it requires a deeper dive. Sometimes it doesn't.

164
00:10:14.840 --> 00:10:17.759
<v Speaker 2>I feel like when you're writing documentation, it's not really

165
00:10:17.919 --> 00:10:20.720
<v Speaker 2>enough just to describe what a method does in a surface.

166
00:10:20.879 --> 00:10:23.320
<v Speaker 2>You need to understand how it works, why it behaves

167
00:10:23.360 --> 00:10:26.480
<v Speaker 2>the way it does. And that's taken me to some

168
00:10:26.519 --> 00:10:29.799
<v Speaker 2>of the more complex parts of RAILS are code based.

169
00:10:30.279 --> 00:10:34.440
<v Speaker 2>So for example, in the talk I talk about mime types,

170
00:10:34.600 --> 00:10:37.600
<v Speaker 2>I've traced through how RAILS handles the different mind types

171
00:10:37.720 --> 00:10:41.879
<v Speaker 2>using math. Missing I've done. I've dug really deep into

172
00:10:41.919 --> 00:10:46.399
<v Speaker 2>active recorde associations because that's a very big part of

173
00:10:46.559 --> 00:10:51.240
<v Speaker 2>RAILS as well when you're writing applications, so things like

174
00:10:51.759 --> 00:10:55.960
<v Speaker 2>the definitions of the dynamic methods and so on, I've

175
00:10:56.039 --> 00:10:58.559
<v Speaker 2>looked at I think I mentioned in the talk, as

176
00:10:58.600 --> 00:11:02.519
<v Speaker 2>well as validations. So RAIL uses like the dynamic callbacks

177
00:11:02.600 --> 00:11:05.080
<v Speaker 2>things like that. I've dove into some parts like that,

178
00:11:07.039 --> 00:11:09.559
<v Speaker 2>and I think that the most common pattern is just

179
00:11:09.600 --> 00:11:12.919
<v Speaker 2>the meta programming aspect of it. Right, So trying to

180
00:11:13.039 --> 00:11:18.679
<v Speaker 2>find those patterns across the different parts of Rails or

181
00:11:18.720 --> 00:11:21.600
<v Speaker 2>components in Rails and then trying to understand it a

182
00:11:21.639 --> 00:11:24.720
<v Speaker 2>little bit better. The Rails codebase is really huge, and

183
00:11:24.799 --> 00:11:29.679
<v Speaker 2>there's like always more to learn, but the magic is

184
00:11:30.960 --> 00:11:34.000
<v Speaker 2>beginning to feel a little bit less like magic is

185
00:11:34.039 --> 00:11:36.039
<v Speaker 2>you start understanding more of it.

186
00:11:38.039 --> 00:11:42.480
<v Speaker 1>Yeah, I mean it seems like we've talked to different

187
00:11:42.519 --> 00:11:47.159
<v Speaker 1>people about metaprogramming on this podcast over the years, and

188
00:11:47.240 --> 00:11:50.240
<v Speaker 1>so yeah, a lot of what you put up there

189
00:11:50.399 --> 00:11:52.240
<v Speaker 1>was like I was like, oh, I see how that works,

190
00:11:53.840 --> 00:11:56.759
<v Speaker 1>and yeah, so I can kind of get the idea

191
00:11:56.799 --> 00:11:58.799
<v Speaker 1>that yeah, it feels a whole lot less magic and

192
00:11:58.840 --> 00:12:01.399
<v Speaker 1>a whole lot more. Oh. You know, this is a

193
00:12:01.440 --> 00:12:04.639
<v Speaker 1>tool that we used, and you know, and so it's

194
00:12:04.679 --> 00:12:07.080
<v Speaker 1>able to you know, for example, you know when it's

195
00:12:07.480 --> 00:12:11.600
<v Speaker 1>defining methods using defined method right, it just puts things

196
00:12:11.600 --> 00:12:14.879
<v Speaker 1>in place, It does the work. And one thing I

197
00:12:14.919 --> 00:12:17.240
<v Speaker 1>hadn't thought of with the mind type mind type is

198
00:12:17.600 --> 00:12:19.360
<v Speaker 1>you define the method and then you just call it.

199
00:12:19.440 --> 00:12:23.240
<v Speaker 1>I was like, oh, that that makes sense. So yeah,

200
00:12:23.519 --> 00:12:26.279
<v Speaker 1>I really liked that, and really liked just the clean

201
00:12:26.679 --> 00:12:29.600
<v Speaker 1>approach to explaining how all this stuff works.

202
00:12:31.399 --> 00:12:34.759
<v Speaker 2>Yeah, I think the main aspect really and again I

203
00:12:34.840 --> 00:12:38.320
<v Speaker 2>have to emphasize it's the patterns. Rails is a lot

204
00:12:38.320 --> 00:12:41.559
<v Speaker 2>of magic. But once you identify some of the patterns,

205
00:12:41.639 --> 00:12:44.759
<v Speaker 2>and once you understand how meta programming works, you sort

206
00:12:44.799 --> 00:12:49.600
<v Speaker 2>of start putting these puzzle pieces together and you're able

207
00:12:49.639 --> 00:12:53.720
<v Speaker 2>to understand the code a lot better. And then you'll

208
00:12:53.720 --> 00:12:56.799
<v Speaker 2>see with the different components, there'll be one pattern here,

209
00:12:56.879 --> 00:12:59.399
<v Speaker 2>and then it's applied in this different place. And what

210
00:12:59.519 --> 00:13:02.279
<v Speaker 2>I tried to also do within the talk is show

211
00:13:02.519 --> 00:13:07.159
<v Speaker 2>how those patterns are applied across the different components. So

212
00:13:07.200 --> 00:13:10.039
<v Speaker 2>if you understood it in one component, you can go

213
00:13:10.120 --> 00:13:12.879
<v Speaker 2>and dive into a different component and it has very

214
00:13:12.919 --> 00:13:16.679
<v Speaker 2>similar patterns. And once you think of it like that,

215
00:13:16.840 --> 00:13:20.960
<v Speaker 2>it feels a lot more approachable. Because when I started

216
00:13:20.960 --> 00:13:23.720
<v Speaker 2>off in rails, and even like up until a few

217
00:13:23.799 --> 00:13:27.879
<v Speaker 2>years ago, I there was all this magic happening in rails.

218
00:13:28.720 --> 00:13:32.960
<v Speaker 2>So when you reach a point of like, hey, I'm

219
00:13:33.000 --> 00:13:35.639
<v Speaker 2>doing this thing, but it's a little bit more complex,

220
00:13:35.759 --> 00:13:39.519
<v Speaker 2>and now Rails isn't playing nicely with me. You don't

221
00:13:39.639 --> 00:13:42.919
<v Speaker 2>really know where to go from there. But if you

222
00:13:43.279 --> 00:13:46.559
<v Speaker 2>try reading the source code or you try looking into

223
00:13:46.600 --> 00:13:50.519
<v Speaker 2>how Rails is actually working, you're able to move past

224
00:13:50.639 --> 00:13:56.039
<v Speaker 2>that blocking point and do more complex things. I mean,

225
00:13:56.080 --> 00:13:58.279
<v Speaker 2>ideally you don't want to break away from the magic,

226
00:13:58.600 --> 00:14:01.519
<v Speaker 2>but unfortunately there is real of it is when you

227
00:14:01.639 --> 00:14:07.360
<v Speaker 2>both complex applications, you end up needing more tools under

228
00:14:07.399 --> 00:14:10.279
<v Speaker 2>your belt, and I feel like understanding the code base

229
00:14:10.360 --> 00:14:11.639
<v Speaker 2>is a tool under your belt.

230
00:14:13.120 --> 00:14:16.039
<v Speaker 1>Yeah, that makes sense for me. What I found was,

231
00:14:16.240 --> 00:14:19.399
<v Speaker 1>as I've learned, I learned Rails first, and then they're

232
00:14:19.559 --> 00:14:23.679
<v Speaker 1>Ruby later. As far as like what all the other

233
00:14:23.720 --> 00:14:25.519
<v Speaker 1>things are that Rails kind of makes it so you

234
00:14:25.519 --> 00:14:29.399
<v Speaker 1>don't have to deal with right off the bat was

235
00:14:29.799 --> 00:14:32.679
<v Speaker 1>I would build stuff and then yeah, I would get

236
00:14:32.720 --> 00:14:34.919
<v Speaker 1>stuck on something right It'd be like, I don't know

237
00:14:34.960 --> 00:14:38.159
<v Speaker 1>why it is doing this, Why is it acting this way?

238
00:14:38.279 --> 00:14:41.759
<v Speaker 1>Why is it, you know, doing this thing to whatever

239
00:14:41.799 --> 00:14:45.960
<v Speaker 1>it is that I'm trying to work on. And it

240
00:14:45.960 --> 00:14:48.519
<v Speaker 1>it became pretty apparent once I started to learn Ruby.

241
00:14:48.559 --> 00:14:52.080
<v Speaker 1>It was like, oh, it's doing this because Ruby works

242
00:14:52.120 --> 00:14:55.759
<v Speaker 1>this way, and so it's just using the Ruby mechanism

243
00:14:55.799 --> 00:14:59.120
<v Speaker 1>to do the thing. And so yeah, I love that

244
00:14:59.240 --> 00:15:01.879
<v Speaker 1>idea of saying, Okay, look go look at the internals.

245
00:15:02.879 --> 00:15:05.159
<v Speaker 1>It may be something you haven't done before, but it's

246
00:15:05.919 --> 00:15:11.399
<v Speaker 1>it's not a mystery, it's not complicated or hard. It's just,

247
00:15:11.559 --> 00:15:14.320
<v Speaker 1>you know, it's something that maybe you need to learn

248
00:15:14.360 --> 00:15:15.919
<v Speaker 1>a little bit more about. And then you look at

249
00:15:15.919 --> 00:15:18.639
<v Speaker 1>it and you go, huh, Okay, this is where this

250
00:15:18.759 --> 00:15:20.559
<v Speaker 1>is coming from. This is why I have this the

251
00:15:20.600 --> 00:15:21.240
<v Speaker 1>way that it is.

252
00:15:23.200 --> 00:15:27.559
<v Speaker 2>Yeah, And another aspect of it is that when you

253
00:15:27.639 --> 00:15:31.000
<v Speaker 2>go through the Rails code base, you're also not only

254
00:15:31.080 --> 00:15:34.759
<v Speaker 2>learning about Rails itself, but you're potentially learning how to

255
00:15:34.840 --> 00:15:40.000
<v Speaker 2>solve problems elegantly. Right. So, Rails does solve problems elegantly

256
00:15:40.279 --> 00:15:45.759
<v Speaker 2>and very often when we're working on our features within

257
00:15:45.840 --> 00:15:51.320
<v Speaker 2>whatever application or companies were working for with you solving

258
00:15:51.799 --> 00:15:57.240
<v Speaker 2>similar problems in just different use cases or different forms.

259
00:15:57.879 --> 00:16:01.039
<v Speaker 2>And so by going through the Rails code base, you

260
00:16:01.080 --> 00:16:05.000
<v Speaker 2>were able to also learn problem solving skills.

261
00:16:05.960 --> 00:16:09.879
<v Speaker 1>Yep. Absolutely, So let's talk about some of those skills

262
00:16:09.960 --> 00:16:11.240
<v Speaker 1>or some of the things that you've seen in the

263
00:16:11.240 --> 00:16:16.240
<v Speaker 1>code base. You kind of went straight to metaprogramming, and

264
00:16:16.759 --> 00:16:19.240
<v Speaker 1>I've seen plenty of people over the years basically talk

265
00:16:19.279 --> 00:16:23.919
<v Speaker 1>about how metaprogramming is scary or you can get yourself

266
00:16:23.919 --> 00:16:28.240
<v Speaker 1>into trouble with it. I don't know how do you

267
00:16:28.279 --> 00:16:33.039
<v Speaker 1>feel about that argument about using metaprogramming or not.

268
00:16:36.639 --> 00:16:40.840
<v Speaker 2>I think that using meta programming, I think you're going

269
00:16:40.919 --> 00:16:43.639
<v Speaker 2>to have a lot of people saying meta programming is

270
00:16:43.799 --> 00:16:46.799
<v Speaker 2>the best, and some people saying that you shouldn't use

271
00:16:46.799 --> 00:16:51.639
<v Speaker 2>meta programming. I think that there's a use case for

272
00:16:51.720 --> 00:16:57.240
<v Speaker 2>meta programming. Meta programming is a superpower and it can

273
00:16:57.360 --> 00:17:01.639
<v Speaker 2>lead to really elegant, expressive code, but it also can

274
00:17:01.799 --> 00:17:06.440
<v Speaker 2>lead to very scary and intimidating code that's very hard

275
00:17:07.000 --> 00:17:12.480
<v Speaker 2>to follow. So I appreciate meta programming, but I also

276
00:17:12.640 --> 00:17:15.559
<v Speaker 2>respect that it has a lot of complexity and it

277
00:17:15.559 --> 00:17:19.039
<v Speaker 2>can make code harder to debug, especially if you're not

278
00:17:19.039 --> 00:17:22.279
<v Speaker 2>familiar with the patterns, or if it's overused without like

279
00:17:22.480 --> 00:17:27.480
<v Speaker 2>clear naming or clear direction. So I wouldn't say that

280
00:17:28.759 --> 00:17:33.079
<v Speaker 2>I feel strongly that everybody should use meta programming. I

281
00:17:33.160 --> 00:17:37.200
<v Speaker 2>think that meta programming needs to be used based. I

282
00:17:37.240 --> 00:17:40.799
<v Speaker 2>think metaprogramming has a place, and depending on your use case,

283
00:17:41.240 --> 00:17:44.319
<v Speaker 2>meta programming may be a good fit. But if you're

284
00:17:44.359 --> 00:17:48.240
<v Speaker 2>using metaprogramming for any for everything, you may just be

285
00:17:48.599 --> 00:17:50.480
<v Speaker 2>over complicating things.

286
00:17:51.119 --> 00:17:54.079
<v Speaker 1>M hm, yeah, I think that's I think that's a

287
00:17:54.119 --> 00:17:57.160
<v Speaker 1>fair way to put it. I do a lot of

288
00:17:57.160 --> 00:18:00.240
<v Speaker 1>work on my cars or my house or whatever, and

289
00:18:00.279 --> 00:18:04.720
<v Speaker 1>what I found is that most of the time, you know,

290
00:18:05.160 --> 00:18:08.359
<v Speaker 1>just just the regular tools work right, you know, and

291
00:18:08.440 --> 00:18:10.480
<v Speaker 1>even if I pull out the power to tools, right,

292
00:18:10.559 --> 00:18:13.200
<v Speaker 1>they work. But occasionally I've got to open up a

293
00:18:13.240 --> 00:18:17.640
<v Speaker 1>wall with a saw, or I've got to use some

294
00:18:17.799 --> 00:18:21.119
<v Speaker 1>other tool that, yeah, you know, may have some safety

295
00:18:21.160 --> 00:18:23.480
<v Speaker 1>hazard to it or something if you're not using it properly.

296
00:18:24.240 --> 00:18:28.359
<v Speaker 1>And that's the way I think about metaprogramming is is

297
00:18:28.880 --> 00:18:32.240
<v Speaker 1>you know, you don't want to take more out of

298
00:18:32.240 --> 00:18:34.519
<v Speaker 1>the wall than you have to, so to speak, you know,

299
00:18:34.559 --> 00:18:36.759
<v Speaker 1>you don't you have to be careful not to hurt

300
00:18:36.759 --> 00:18:40.599
<v Speaker 1>yourself with it. Sometimes the code can be hard to

301
00:18:40.640 --> 00:18:44.799
<v Speaker 1>debug when you're using metaprogramming, and so, yeah, you know,

302
00:18:45.720 --> 00:18:47.640
<v Speaker 1>what I find is most of the time when I'm

303
00:18:47.680 --> 00:18:50.839
<v Speaker 1>reaching for something like metaprogramming, I am doing something on

304
00:18:50.880 --> 00:18:53.279
<v Speaker 1>the level of rails, right, And so what I'm doing

305
00:18:53.319 --> 00:18:56.400
<v Speaker 1>is I'm actually using it to provide myself with the

306
00:18:56.440 --> 00:18:59.480
<v Speaker 1>pattern I want to see in my code, and so

307
00:18:59.720 --> 00:19:02.880
<v Speaker 1>that winds up being in like the lib folder, you know,

308
00:19:02.960 --> 00:19:05.720
<v Speaker 1>somewhere else where. It's it's not code that I'm going

309
00:19:05.759 --> 00:19:08.480
<v Speaker 1>to go touch all the time, and it's not code

310
00:19:08.519 --> 00:19:12.960
<v Speaker 1>that I'm using to solve all my major problems. What

311
00:19:13.000 --> 00:19:16.319
<v Speaker 1>I'm doing is I'm just basically using the metaprogramming to

312
00:19:16.400 --> 00:19:18.559
<v Speaker 1>create a better tool for me to solve the problem.

313
00:19:19.599 --> 00:19:24.119
<v Speaker 2>Yeah, and I think I think your example, by the way,

314
00:19:24.319 --> 00:19:27.319
<v Speaker 2>was great about how you do work around why I

315
00:19:27.400 --> 00:19:30.119
<v Speaker 2>work around the house, and sometimes you need to bring

316
00:19:30.160 --> 00:19:34.559
<v Speaker 2>out the right tools. In my talk, I talk about

317
00:19:34.559 --> 00:19:37.599
<v Speaker 2>like a real world use case where we use meta programming,

318
00:19:37.640 --> 00:19:39.920
<v Speaker 2>which I think is really valuable. So when I was

319
00:19:40.000 --> 00:19:44.480
<v Speaker 2>working at dev dot two or known as forum as well,

320
00:19:45.640 --> 00:19:48.880
<v Speaker 2>we were building of course community software, and we needed

321
00:19:48.960 --> 00:19:53.599
<v Speaker 2>a way during onboarding to letter from communities define custom

322
00:19:53.680 --> 00:19:58.480
<v Speaker 2>profile fields for their members. So, for example, in the talk,

323
00:19:58.599 --> 00:20:01.799
<v Speaker 2>I use the example of a go gardening community, and

324
00:20:01.960 --> 00:20:05.519
<v Speaker 2>for a gardening community, during onboarding, we may want a

325
00:20:05.559 --> 00:20:10.839
<v Speaker 2>profile field that a user can enter their favorite plant,

326
00:20:11.599 --> 00:20:15.240
<v Speaker 2>or a developer community might ask if you're available for hire.

327
00:20:15.799 --> 00:20:19.920
<v Speaker 2>So these fields need to be highly customizable, and they

328
00:20:20.079 --> 00:20:22.920
<v Speaker 2>might need to be dynamically edited at run time. They

329
00:20:23.000 --> 00:20:28.160
<v Speaker 2>also might support different data types like strings, booleans, dates, etc.

330
00:20:29.079 --> 00:20:32.680
<v Speaker 2>So rather than hard coding a bunch of different profile

331
00:20:32.799 --> 00:20:37.759
<v Speaker 2>attributes that are different for different communities, we use mata

332
00:20:37.839 --> 00:20:41.880
<v Speaker 2>programming to dynamically define gatters and setters for the custom

333
00:20:41.960 --> 00:20:46.000
<v Speaker 2>fields is the community has created them, and it meant

334
00:20:46.000 --> 00:20:49.200
<v Speaker 2>that communities could define as many custom fields as they

335
00:20:49.240 --> 00:20:51.640
<v Speaker 2>want and the system would just respond. There were no

336
00:20:52.200 --> 00:20:56.240
<v Speaker 2>migrations or extra model code or no like hardwired logic.

337
00:20:56.759 --> 00:20:59.559
<v Speaker 2>It just made the system really flexible. And I feel

338
00:20:59.599 --> 00:21:02.519
<v Speaker 2>like that's a great example of how meta programming is

339
00:21:02.640 --> 00:21:06.039
<v Speaker 2>used in a real practical way to solve a problem.

340
00:21:07.039 --> 00:21:10.359
<v Speaker 2>But like you say, I feel like they are very

341
00:21:11.119 --> 00:21:17.079
<v Speaker 2>like meta programming. In my career, I think that's probably

342
00:21:17.119 --> 00:21:20.559
<v Speaker 2>like one of the very few cases I've needed to

343
00:21:20.640 --> 00:21:23.680
<v Speaker 2>use metaprogramming, And maybe there's like one or two others,

344
00:21:24.440 --> 00:21:30.000
<v Speaker 2>But over ten years you're mostly building standard applications that

345
00:21:30.079 --> 00:21:34.319
<v Speaker 2>don't necessarily require that level of customization, right.

346
00:21:35.480 --> 00:21:41.160
<v Speaker 1>Yep, absolutely, So what other things have you found going

347
00:21:41.200 --> 00:21:43.400
<v Speaker 1>back to rails internals, What other things have you found

348
00:21:43.440 --> 00:21:46.079
<v Speaker 1>that maybe you wanted to add to the talk but

349
00:21:46.119 --> 00:21:49.200
<v Speaker 1>didn't have time or have thought were interesting that people

350
00:21:49.279 --> 00:21:51.640
<v Speaker 1>don't really see or know in the Rails codebase.

351
00:21:54.799 --> 00:21:59.440
<v Speaker 2>I think there's so many gems no pun intended in

352
00:21:59.480 --> 00:22:02.400
<v Speaker 2>the Rails hood base. One of the things that I

353
00:22:02.440 --> 00:22:05.759
<v Speaker 2>really enjoy about, like exploring the rail's internals, is seeing

354
00:22:05.759 --> 00:22:12.160
<v Speaker 2>how thoughtfully things are architected. So when you like how

355
00:22:12.160 --> 00:22:17.960
<v Speaker 2>it gives you a whole ecosystem of dynamic methods. How

356
00:22:19.000 --> 00:22:24.759
<v Speaker 2>things are named really well, such as very thoughtful processes,

357
00:22:24.880 --> 00:22:29.920
<v Speaker 2>how things sorry very thoughtful naming. Also how the different

358
00:22:29.960 --> 00:22:35.920
<v Speaker 2>components are well separated, things like how well the code

359
00:22:36.000 --> 00:22:40.559
<v Speaker 2>is documented. I think that's really a superpower. If you

360
00:22:40.759 --> 00:22:43.799
<v Speaker 2>go through the Rail's code base, you'll find sort of

361
00:22:43.880 --> 00:22:52.359
<v Speaker 2>method definitions, you'll find how the Rails API documentation is

362
00:22:52.440 --> 00:22:54.720
<v Speaker 2>within the code base, and you can see what the

363
00:22:54.759 --> 00:22:58.559
<v Speaker 2>different methods are doing. So I think there's a lot

364
00:22:58.599 --> 00:23:04.519
<v Speaker 2>of sort of other practices that the Rails team uses

365
00:23:04.640 --> 00:23:10.480
<v Speaker 2>within their sort of actual development, and I found a

366
00:23:10.480 --> 00:23:15.359
<v Speaker 2>lot of those useful alongside the matter programming aspect and

367
00:23:16.519 --> 00:23:21.799
<v Speaker 2>the great architecture. I also think so may one more

368
00:23:21.839 --> 00:23:25.640
<v Speaker 2>thing to air the like the PR. I found that

369
00:23:26.960 --> 00:23:31.640
<v Speaker 2>when I'm writing documentation, I also sometimes tend to go

370
00:23:31.759 --> 00:23:35.160
<v Speaker 2>through like the open issues or poor requests to see

371
00:23:35.799 --> 00:23:38.400
<v Speaker 2>did someone touch on this. Maybe there's something I don't

372
00:23:38.440 --> 00:23:41.480
<v Speaker 2>really understand and I want to understand it better, but

373
00:23:41.559 --> 00:23:44.920
<v Speaker 2>maybe the rail's code base doesn't provide as much information.

374
00:23:45.599 --> 00:23:49.880
<v Speaker 2>I find that when I go through poor request reviews

375
00:23:50.000 --> 00:23:55.759
<v Speaker 2>or even issues, contributors and the core team are very

376
00:23:56.519 --> 00:24:00.599
<v Speaker 2>for both about explaining things. They do a really great

377
00:24:00.680 --> 00:24:07.559
<v Speaker 2>job about articulating themselves and working together to form a solution.

378
00:24:08.480 --> 00:24:11.640
<v Speaker 2>So it's really nice to go through poor requests, to

379
00:24:11.680 --> 00:24:15.319
<v Speaker 2>go through issues, and I really encourage people to just

380
00:24:15.640 --> 00:24:18.559
<v Speaker 2>if you're not contributing to rails, or you're not reviewing

381
00:24:19.079 --> 00:24:22.920
<v Speaker 2>documentation prs or even just normal rails code, like just

382
00:24:23.200 --> 00:24:27.960
<v Speaker 2>browsing the issues and the poor requests casually can provide

383
00:24:28.000 --> 00:24:32.279
<v Speaker 2>a ton of information and useful knowledge.

384
00:24:35.799 --> 00:24:40.720
<v Speaker 1>Makes sense. So do you have any advice for people?

385
00:24:40.799 --> 00:24:43.880
<v Speaker 1>Let's say that you know somebody. I mean, I have

386
00:24:43.960 --> 00:24:46.759
<v Speaker 1>to admit I haven't really contributed to rails. I think

387
00:24:46.799 --> 00:24:51.240
<v Speaker 1>I've I've filed bugs. I think I've maybe put in

388
00:24:51.279 --> 00:24:55.119
<v Speaker 1>one poor request in my whole life against rails. So

389
00:24:55.160 --> 00:24:57.119
<v Speaker 1>if somebody wants to get involved and they're sitting there

390
00:24:57.119 --> 00:24:59.839
<v Speaker 1>and they're thinking, okay, well, I just want to understand it,

391
00:25:00.000 --> 00:25:02.200
<v Speaker 1>you know, and maybe they want to contribute to the docs,

392
00:25:02.319 --> 00:25:04.799
<v Speaker 1>or maybe they you know, just want to understand things

393
00:25:04.799 --> 00:25:08.359
<v Speaker 1>better and you know, maybe help with some little thing

394
00:25:08.400 --> 00:25:10.799
<v Speaker 1>here or there. Like where do you recommend that people

395
00:25:10.920 --> 00:25:13.319
<v Speaker 1>start with the RAILS code based to just understand what's

396
00:25:13.319 --> 00:25:15.799
<v Speaker 1>going on in there? Yeah?

397
00:25:16.119 --> 00:25:18.960
<v Speaker 2>I feel like I am so I get so excited

398
00:25:19.000 --> 00:25:24.759
<v Speaker 2>when someone asks me this question. I'm biased, but I

399
00:25:24.839 --> 00:25:29.160
<v Speaker 2>feel like starting with documentation is a really good way

400
00:25:29.200 --> 00:25:33.640
<v Speaker 2>to get into contributing to RAILS or just understanding things better.

401
00:25:34.759 --> 00:25:38.759
<v Speaker 2>Rails places a lot of value on clear, accessible documentation.

402
00:25:39.039 --> 00:25:42.039
<v Speaker 2>So if you're reading a guide or an API document

403
00:25:42.240 --> 00:25:46.480
<v Speaker 2>and something's confusing or missing, just open up a pr

404
00:25:46.680 --> 00:25:51.000
<v Speaker 2>to improve it to add value to the next person.

405
00:25:51.680 --> 00:25:53.759
<v Speaker 2>You don't need to be a core contributor to that.

406
00:25:53.880 --> 00:25:56.680
<v Speaker 2>You don't need to be writing the guide to do that.

407
00:25:56.839 --> 00:25:59.599
<v Speaker 2>You just need to be someone who wants to make

408
00:25:59.640 --> 00:26:03.720
<v Speaker 2>it clear for the next person reading the guides. And

409
00:26:03.920 --> 00:26:06.279
<v Speaker 2>especially I feel like a lot of people that are

410
00:26:06.400 --> 00:26:09.640
<v Speaker 2>new to the industry or that feel they feel they

411
00:26:09.680 --> 00:26:16.000
<v Speaker 2>don't have enough knowledge to contribute to RAILS or something

412
00:26:16.119 --> 00:26:18.200
<v Speaker 2>or the other. That's how I felt for a long time.

413
00:26:18.559 --> 00:26:23.960
<v Speaker 2>I feel like documentation is a clear way to contribute

414
00:26:24.000 --> 00:26:27.480
<v Speaker 2>because if you're not understanding something in the documentation, I

415
00:26:27.519 --> 00:26:30.799
<v Speaker 2>can guarantee you there's hundreds of other people that are

416
00:26:30.799 --> 00:26:35.599
<v Speaker 2>not understanding it as well. Another way to get yourself

417
00:26:35.640 --> 00:26:38.079
<v Speaker 2>familiar with the rail's code based if you're looking to

418
00:26:38.119 --> 00:26:40.880
<v Speaker 2>just dive a little bit deeper, I think read the tests.

419
00:26:41.599 --> 00:26:45.920
<v Speaker 2>They incredibly instructive. So the Rail's test suite is massive,

420
00:26:46.039 --> 00:26:49.599
<v Speaker 2>but it's very descriptive. It shows you how methods are

421
00:26:49.599 --> 00:26:53.000
<v Speaker 2>supposed to behave. It often gives you breadcrumbs to trace

422
00:26:53.079 --> 00:26:55.920
<v Speaker 2>back to the source code. And when you're trying to

423
00:26:55.960 --> 00:26:59.200
<v Speaker 2>understand something or if you think you know fixing a bug,

424
00:26:59.680 --> 00:27:03.759
<v Speaker 2>test are often the best entry point, and writing or

425
00:27:03.759 --> 00:27:07.000
<v Speaker 2>improving tests or just reading the test is a fantastic

426
00:27:07.079 --> 00:27:11.599
<v Speaker 2>way to start. And then if you're looking actively to contribute,

427
00:27:12.279 --> 00:27:14.440
<v Speaker 2>you can look for a good first issue or you

428
00:27:14.480 --> 00:27:17.559
<v Speaker 2>can look, like I mentioned, the docs, TIG the rails

429
00:27:17.599 --> 00:27:20.839
<v Speaker 2>getthub repots very well organized, so there's very often open

430
00:27:20.920 --> 00:27:24.440
<v Speaker 2>issues that are labeled as like a good first issue

431
00:27:24.839 --> 00:27:31.720
<v Speaker 2>or where we need contributions on the documentations. And finally,

432
00:27:31.839 --> 00:27:33.960
<v Speaker 2>like don't be afraid to read this was called Even

433
00:27:33.960 --> 00:27:36.640
<v Speaker 2>if you don't understand it, that's fine. Just a lot

434
00:27:36.640 --> 00:27:41.519
<v Speaker 2>of reading of it. Eventually your mind starts to put

435
00:27:41.799 --> 00:27:45.079
<v Speaker 2>the pieces together. It's like the more you read, the

436
00:27:45.160 --> 00:27:48.920
<v Speaker 2>more somehow your mind just like connects different parts of it.

437
00:27:49.160 --> 00:27:53.000
<v Speaker 2>You start seeing patterns emerge. There's lots of tools as

438
00:27:53.039 --> 00:27:57.519
<v Speaker 2>well that I mentioned in my talk unlike things that

439
00:27:57.799 --> 00:28:01.920
<v Speaker 2>will help you to navigate the rails scode better. So

440
00:28:02.160 --> 00:28:05.559
<v Speaker 2>use some of those tools to navigate the rail source code.

441
00:28:06.319 --> 00:28:08.440
<v Speaker 2>And finally, you don't have to do it alone. There

442
00:28:08.440 --> 00:28:10.759
<v Speaker 2>are so many people in the rail's community who are

443
00:28:10.839 --> 00:28:15.440
<v Speaker 2>so kind and supportive and willing to help. So whether

444
00:28:15.480 --> 00:28:18.839
<v Speaker 2>it's in rail slack or discord or get up discussions,

445
00:28:18.880 --> 00:28:22.599
<v Speaker 2>you can ask questions and you can get unstuck. I

446
00:28:22.599 --> 00:28:25.640
<v Speaker 2>think the main thing, finally, to wrap it all up,

447
00:28:25.880 --> 00:28:28.799
<v Speaker 2>is that rail's contributing to rails isn't really about being

448
00:28:28.839 --> 00:28:33.799
<v Speaker 2>perfect or knowing everything. It's about just being curious and

449
00:28:34.079 --> 00:28:37.640
<v Speaker 2>wanting to make rails better, even if it's in small ways.

450
00:28:40.559 --> 00:28:48.279
<v Speaker 1>Awesome, All right, Well, I'm just trying to think where

451
00:28:48.279 --> 00:28:56.119
<v Speaker 1>else we go from here? Are there are there things

452
00:28:56.160 --> 00:29:01.200
<v Speaker 1>that you want to add or change or bring forward

453
00:29:01.240 --> 00:29:04.279
<v Speaker 1>with the rails documentation or areas that we should dove

454
00:29:04.359 --> 00:29:05.759
<v Speaker 1>into that it doesn't.

455
00:29:09.839 --> 00:29:11.960
<v Speaker 2>I think, yeah, I think there's there's a couple of

456
00:29:12.039 --> 00:29:18.279
<v Speaker 2>places or where or we could improve the documentation. There's

457
00:29:18.319 --> 00:29:21.839
<v Speaker 2>a couple of guides and I'm whipping up the guys

458
00:29:22.119 --> 00:29:25.799
<v Speaker 2>is we speak, so bear with me as I do this.

459
00:29:28.160 --> 00:29:31.279
<v Speaker 2>There's a couple of guides which I think could really

460
00:29:31.480 --> 00:29:35.039
<v Speaker 2>use some improvement, and we've got them noted. So. For instance,

461
00:29:35.119 --> 00:29:37.359
<v Speaker 2>one of the ones that I'm hoping to work on

462
00:29:38.599 --> 00:29:42.680
<v Speaker 2>within this year is the active record query interface. It's

463
00:29:42.720 --> 00:29:45.559
<v Speaker 2>a really big guide. I think it's in a good start,

464
00:29:45.680 --> 00:29:47.759
<v Speaker 2>it's in a good place, but I think they could

465
00:29:47.839 --> 00:29:51.640
<v Speaker 2>also be a lot of improvements. We could explain things

466
00:29:51.680 --> 00:29:56.079
<v Speaker 2>a lot better. We could maybe move out sections, make

467
00:29:56.160 --> 00:29:59.400
<v Speaker 2>them smaller, more approachable sections. I think it's one of

468
00:29:59.440 --> 00:30:04.640
<v Speaker 2>the biggest guides, and so I think just breaking it

469
00:30:04.759 --> 00:30:09.680
<v Speaker 2>up into smaller, more digestible pieces will make it a

470
00:30:09.720 --> 00:30:13.920
<v Speaker 2>little bit more approachable. There's also some other sections that

471
00:30:14.839 --> 00:30:17.319
<v Speaker 2>could use some improvement. I think we're already in a

472
00:30:17.880 --> 00:30:20.400
<v Speaker 2>I think the Rails Guides in general is one of

473
00:30:20.440 --> 00:30:23.839
<v Speaker 2>the better guides we have out there across languages. I

474
00:30:23.880 --> 00:30:27.519
<v Speaker 2>think the Rails Foundation has been doing an amazing job,

475
00:30:28.480 --> 00:30:31.640
<v Speaker 2>but there are just individual ones that are working progress.

476
00:30:31.680 --> 00:30:36.240
<v Speaker 2>So like the rails initialization process that's a work in progress,

477
00:30:36.319 --> 00:30:41.279
<v Speaker 2>as well as the active support instrumentation things like active

478
00:30:41.359 --> 00:30:44.680
<v Speaker 2>record encryption. So the first thing we want to do

479
00:30:45.079 --> 00:30:51.359
<v Speaker 2>is we want to finalize those working progress guides because

480
00:30:51.839 --> 00:30:55.240
<v Speaker 2>they may consider they may have right now not like

481
00:30:55.319 --> 00:31:00.559
<v Speaker 2>the full picture picture of what their topic income. So

482
00:31:00.640 --> 00:31:03.799
<v Speaker 2>we just want to fill out that information and cover

483
00:31:03.920 --> 00:31:06.920
<v Speaker 2>the bases, and then we'll go about improving some of

484
00:31:06.960 --> 00:31:10.480
<v Speaker 2>the other guys and breaking them down. But we're hoping

485
00:31:10.519 --> 00:31:15.960
<v Speaker 2>to achieve a lot this yeah, and improve it significantly,

486
00:31:16.920 --> 00:31:20.640
<v Speaker 2>as well as create some new guys that haven't been

487
00:31:20.680 --> 00:31:21.759
<v Speaker 2>covered with RAILS eight.

488
00:31:24.680 --> 00:31:26.599
<v Speaker 1>Yeah, there are a lot of things that I see

489
00:31:26.640 --> 00:31:29.200
<v Speaker 1>you can do with RAILS eight or I mean even

490
00:31:29.200 --> 00:31:30.799
<v Speaker 1>some of the stuff that came out in Rail seven

491
00:31:31.559 --> 00:31:35.640
<v Speaker 1>that aren't super well documented, right, and I see people

492
00:31:35.759 --> 00:31:40.160
<v Speaker 1>use them and they do amazing things with them, and

493
00:31:40.200 --> 00:31:43.559
<v Speaker 1>it's like, man, why hasn't anyone really just broken this down?

494
00:31:43.640 --> 00:31:50.559
<v Speaker 1>So yeah, I'm looking forward to some of that. Yeah,

495
00:31:50.640 --> 00:31:52.720
<v Speaker 1>So I'm a little curious. I want to kind of

496
00:31:52.720 --> 00:31:58.160
<v Speaker 1>switch over to both Cape Town and to Circle. So

497
00:31:58.359 --> 00:32:01.079
<v Speaker 1>what do you do at Circle exactly, Like, do you

498
00:32:01.119 --> 00:32:04.759
<v Speaker 1>work on a specific part of the platform or do

499
00:32:04.799 --> 00:32:06.880
<v Speaker 1>you just kind of hit whatever needs to be hit.

500
00:32:07.200 --> 00:32:09.480
<v Speaker 1>And by the way, I'll just explain because I've used

501
00:32:09.519 --> 00:32:12.039
<v Speaker 1>Circle and what I find is if you work at

502
00:32:12.079 --> 00:32:13.720
<v Speaker 1>a place, you kind of look at it differently from

503
00:32:13.720 --> 00:32:16.119
<v Speaker 1>the way that people use it look at it sometimes.

504
00:32:16.839 --> 00:32:20.279
<v Speaker 1>So Circle is essentially a forum. You can think of

505
00:32:20.279 --> 00:32:23.720
<v Speaker 1>it as kind of a focused Facebook. It kind of

506
00:32:23.720 --> 00:32:28.559
<v Speaker 1>feels like that Facebook group. And then on top of

507
00:32:28.640 --> 00:32:32.200
<v Speaker 1>that you can add like courses and other things to

508
00:32:32.240 --> 00:32:35.440
<v Speaker 1>your community. You can set it up as a paid

509
00:32:35.440 --> 00:32:39.240
<v Speaker 1>community or a free community. And yeah, it's a really

510
00:32:39.279 --> 00:32:42.000
<v Speaker 1>well put together system. So yeah, so what kinds of

511
00:32:42.039 --> 00:32:45.319
<v Speaker 1>things do you work on there? And yeah, what kinds

512
00:32:45.319 --> 00:32:48.920
<v Speaker 1>of concerns or improvements do you find at work?

513
00:32:50.839 --> 00:32:59.720
<v Speaker 2>Yeah? So Circle is really established, well written product. We

514
00:33:00.079 --> 00:33:06.079
<v Speaker 2>have some really big communities using it, and it's one

515
00:33:06.079 --> 00:33:11.559
<v Speaker 2>of the It's one of the companies that I've worked

516
00:33:11.599 --> 00:33:17.079
<v Speaker 2>for that is constantly improving and always looking to batter

517
00:33:17.160 --> 00:33:22.599
<v Speaker 2>the product. And it's very exciting because they constantly building

518
00:33:22.640 --> 00:33:26.799
<v Speaker 2>new features but also improving the features that exist in

519
00:33:26.880 --> 00:33:32.200
<v Speaker 2>the application itself. So specifically, I work on what we

520
00:33:32.319 --> 00:33:37.720
<v Speaker 2>call the Email Hub or marketing Hub team at Circle,

521
00:33:38.839 --> 00:33:44.920
<v Speaker 2>and we're basically responsible for things like email broadcasting and

522
00:33:46.799 --> 00:33:52.200
<v Speaker 2>sort of that domain whereby you able to send our

523
00:33:52.240 --> 00:33:55.880
<v Speaker 2>broadcasts to either community members or what we call contacts

524
00:33:55.920 --> 00:33:59.680
<v Speaker 2>within the system or leads. And there's just a lot

525
00:33:59.720 --> 00:34:02.519
<v Speaker 2>of are things that tie into it, so for example,

526
00:34:02.599 --> 00:34:08.719
<v Speaker 2>analytics and that ties into things like workflows where for instance,

527
00:34:08.760 --> 00:34:11.280
<v Speaker 2>when you're onboard a community, you might want to send

528
00:34:11.800 --> 00:34:14.519
<v Speaker 2>a broadcast and then we might want to wait for

529
00:34:14.559 --> 00:34:17.440
<v Speaker 2>five days and send them a follow up things like that.

530
00:34:18.199 --> 00:34:21.559
<v Speaker 2>It's a relatively new team at Circle. I think we

531
00:34:21.679 --> 00:34:29.960
<v Speaker 2>launched the email hub slash marketing hub feature last year.

532
00:34:30.599 --> 00:34:32.960
<v Speaker 2>I want to say around September October. It was around

533
00:34:33.000 --> 00:34:38.320
<v Speaker 2>Rails world time, so it's relatively new. We're actually hiring

534
00:34:39.079 --> 00:34:41.960
<v Speaker 2>for the team at the moment, so I'm leading the

535
00:34:42.000 --> 00:34:45.199
<v Speaker 2>team and we have our two engineers and we're looking

536
00:34:45.239 --> 00:34:47.840
<v Speaker 2>to hire another two engineers for the team. So I've

537
00:34:47.880 --> 00:34:51.199
<v Speaker 2>been doing lots of interviews and hiring at the moment.

538
00:34:52.639 --> 00:34:55.679
<v Speaker 2>Our tax stack is Ruby on Rails and we use

539
00:34:55.800 --> 00:35:00.400
<v Speaker 2>JavaScript as well. It's a pretty big engineering team, so

540
00:35:01.039 --> 00:35:06.239
<v Speaker 2>each sort of sub engineering team is focused on a

541
00:35:06.360 --> 00:35:10.800
<v Speaker 2>particular part of the platform. So we have like a

542
00:35:10.800 --> 00:35:14.440
<v Speaker 2>CRM team and a CMS team and you sort of

543
00:35:14.440 --> 00:35:16.079
<v Speaker 2>focus on a specific domain.

544
00:35:18.760 --> 00:35:21.559
<v Speaker 1>Very cool. Yeah, I just got hired at Price Picks

545
00:35:21.559 --> 00:35:24.639
<v Speaker 1>and so I've been got you know, we're seeing some

546
00:35:24.760 --> 00:35:26.480
<v Speaker 1>of this stuff, and I'm on the growth team where

547
00:35:26.480 --> 00:35:29.639
<v Speaker 1>we it's kind of your traditional R and D where

548
00:35:29.679 --> 00:35:32.199
<v Speaker 1>we come up with ideas on what we could do

549
00:35:32.239 --> 00:35:35.280
<v Speaker 1>better and then go and invent it and see if

550
00:35:35.320 --> 00:35:38.360
<v Speaker 1>it works. But yeah, I love what you're talking about

551
00:35:38.400 --> 00:35:41.519
<v Speaker 1>where it's yeah, the growth. That's always exciting to see

552
00:35:41.559 --> 00:35:46.840
<v Speaker 1>companies growing and then yeah, just yeah, constantly looking for

553
00:35:46.840 --> 00:35:48.800
<v Speaker 1>that level of improvement. Those are the best companies to

554
00:35:48.880 --> 00:35:52.719
<v Speaker 1>work at. So if people want to apply, how do

555
00:35:52.719 --> 00:35:53.199
<v Speaker 1>they do it?

556
00:35:55.320 --> 00:35:58.719
<v Speaker 2>We are on we have If you go on the

557
00:35:58.719 --> 00:36:04.039
<v Speaker 2>so called website, you should see a careers Yes, a

558
00:36:04.119 --> 00:36:08.880
<v Speaker 2>careers link and you can view the open roles and

559
00:36:09.440 --> 00:36:12.880
<v Speaker 2>you can find the roles. They're role for a senior

560
00:36:12.920 --> 00:36:15.960
<v Speaker 2>full stack engineer on the Marketing Hub team and you

561
00:36:15.960 --> 00:36:20.360
<v Speaker 2>can apply through this. It's very exciting you'll be working

562
00:36:20.400 --> 00:36:25.599
<v Speaker 2>with me, so please apply. It's also a fully remote opportunity,

563
00:36:25.960 --> 00:36:29.199
<v Speaker 2>which is nice. Those are real and few nowadays.

564
00:36:30.039 --> 00:36:33.960
<v Speaker 1>Yeah, So you're based in Cape Town. Is your team

565
00:36:34.000 --> 00:36:34.599
<v Speaker 1>like all over the.

566
00:36:34.519 --> 00:36:41.800
<v Speaker 2>World or yeah, so we have developers from pretty much

567
00:36:42.519 --> 00:36:46.760
<v Speaker 2>all over the world. We in the marketing Hub team

568
00:36:46.880 --> 00:36:50.679
<v Speaker 2>right now, it's myself and then we have two developers

569
00:36:50.679 --> 00:36:54.800
<v Speaker 2>in India, and we're hoping to hire someone in a

570
00:36:54.920 --> 00:37:00.639
<v Speaker 2>European time zone and then maybe sort of North America,

571
00:37:00.960 --> 00:37:04.440
<v Speaker 2>just so that we have that full time zone support,

572
00:37:04.480 --> 00:37:07.639
<v Speaker 2>but also ensuring that we're not too far apart that

573
00:37:07.679 --> 00:37:11.159
<v Speaker 2>we can't collaborate when we need to. So maybe like

574
00:37:11.199 --> 00:37:14.679
<v Speaker 2>with a one hour two hour overlap just in case

575
00:37:14.719 --> 00:37:18.440
<v Speaker 2>we need some sink time, so that gives us sort

576
00:37:18.440 --> 00:37:21.719
<v Speaker 2>of good collaboration across the board. But for the most part,

577
00:37:21.760 --> 00:37:26.440
<v Speaker 2>we use as in tools like Slack and Notion. We

578
00:37:26.559 --> 00:37:28.199
<v Speaker 2>document things very well.

579
00:37:29.840 --> 00:37:35.079
<v Speaker 1>And yeah, nice, Where where's the company based out of?

580
00:37:38.519 --> 00:37:42.000
<v Speaker 2>To be honest, I guess since there isn't actually a

581
00:37:42.000 --> 00:37:48.639
<v Speaker 2>head office, No, there's I guess. Yeah, I mean on

582
00:37:48.679 --> 00:37:51.559
<v Speaker 2>the on the on the invoices and stuff. You're probably

583
00:37:51.599 --> 00:37:54.199
<v Speaker 2>it's I think I stand to be corrected. I want

584
00:37:54.239 --> 00:37:58.000
<v Speaker 2>to say the US New York, but again that may

585
00:37:58.039 --> 00:37:59.400
<v Speaker 2>not be actual.

586
00:38:01.280 --> 00:38:06.960
<v Speaker 1>Sounds good. So, so what's the community like in Cape Town?

587
00:38:07.400 --> 00:38:09.679
<v Speaker 1>I mean Are there a lot of rails developers out there?

588
00:38:09.920 --> 00:38:15.320
<v Speaker 2>Or yeah they are. We used to have, I want

589
00:38:15.320 --> 00:38:18.639
<v Speaker 2>to say, a well known conference, because when I went

590
00:38:18.679 --> 00:38:23.039
<v Speaker 2>to Rails World and a couple of other conferences, people

591
00:38:23.079 --> 00:38:26.119
<v Speaker 2>have asked me about this conference. It's called Ruby FUSA,

592
00:38:27.039 --> 00:38:30.599
<v Speaker 2>and we ran it in South Africa for a couple

593
00:38:30.599 --> 00:38:34.360
<v Speaker 2>of years. But we haven't run it, I think since COVID.

594
00:38:35.039 --> 00:38:38.840
<v Speaker 2>But there's a really big Ruby community here. There used

595
00:38:38.840 --> 00:38:42.960
<v Speaker 2>to be a lot of meetups previously. I want to

596
00:38:43.000 --> 00:38:46.079
<v Speaker 2>say that since COVID, that's sort of when things slowed

597
00:38:46.079 --> 00:38:49.199
<v Speaker 2>down a little bit. I'm also not originally from Cape Town.

598
00:38:49.559 --> 00:38:53.960
<v Speaker 2>I was based in I was living in Joburg, Johannesburg,

599
00:38:54.559 --> 00:38:57.039
<v Speaker 2>and then moved to Cape Town only like five years ago.

600
00:38:57.880 --> 00:39:00.840
<v Speaker 2>Johanna's Burg also has a really big Ruby community. Is

601
00:39:00.920 --> 00:39:06.119
<v Speaker 2>to have constant meetups every couple of weeks, and yeah,

602
00:39:06.280 --> 00:39:09.519
<v Speaker 2>it's really good. I will say though, because I work

603
00:39:09.639 --> 00:39:13.400
<v Speaker 2>for a lot of US Over my career, I've worked

604
00:39:13.440 --> 00:39:16.519
<v Speaker 2>for a lot of US companies, my community tends to

605
00:39:16.559 --> 00:39:22.440
<v Speaker 2>be more sort of global. I tend to attend conferences

606
00:39:23.000 --> 00:39:27.639
<v Speaker 2>where I'm sort of traveling, and so it's been a

607
00:39:27.719 --> 00:39:30.400
<v Speaker 2>little bit more difficult to keep in touch with the

608
00:39:31.079 --> 00:39:36.679
<v Speaker 2>rails community within Cape Town. But I'd like to see

609
00:39:36.800 --> 00:39:40.639
<v Speaker 2>Ruby Fuza hit the ground running again. That would be

610
00:39:40.679 --> 00:39:41.280
<v Speaker 2>really cool.

611
00:39:42.679 --> 00:39:49.119
<v Speaker 1>That would be cool. Yeah, So are there any other

612
00:39:49.280 --> 00:39:51.519
<v Speaker 1>personal projects or anything else that you're working on or

613
00:39:52.280 --> 00:39:53.719
<v Speaker 1>is it mostly the Rails Guides?

614
00:39:54.960 --> 00:39:57.400
<v Speaker 2>So between the Rails Guides and then I like to

615
00:39:57.440 --> 00:40:03.800
<v Speaker 2>tinker on just personal tracks, I've been trying to tinker

616
00:40:03.960 --> 00:40:09.440
<v Speaker 2>with arduinos and connecting that with sort of Yeah, it's

617
00:40:09.559 --> 00:40:12.159
<v Speaker 2>really cool. I've really been enjoying it. I like seeing

618
00:40:12.199 --> 00:40:15.159
<v Speaker 2>like the physical aspect of like things working. So I've

619
00:40:15.199 --> 00:40:20.079
<v Speaker 2>been working on this like sort of with moisturee detectors

620
00:40:20.440 --> 00:40:24.159
<v Speaker 2>and sort of like a like merging my passion for

621
00:40:24.280 --> 00:40:27.280
<v Speaker 2>keeping my house plants alive together with like a little

622
00:40:27.280 --> 00:40:31.119
<v Speaker 2>gardening system. So I've been tinkering with that and it's

623
00:40:31.119 --> 00:40:37.119
<v Speaker 2>been really fun. But between writing code the Rails Guides

624
00:40:37.480 --> 00:40:40.760
<v Speaker 2>and then are doing some of the tinkering, and then

625
00:40:40.800 --> 00:40:44.960
<v Speaker 2>also speaking at conferences, I've been very busy over the

626
00:40:45.079 --> 00:40:50.400
<v Speaker 2>last few months. My next conference is I'm really excited

627
00:40:50.440 --> 00:40:58.920
<v Speaker 2>about is Ruby kontailiand and that's next huge January. One

628
00:40:58.960 --> 00:41:02.639
<v Speaker 2>of the keynotes speakers, So I'm really excited about that.

629
00:41:03.239 --> 00:41:04.920
<v Speaker 1>Oh nice, that would be so fun.

630
00:41:06.599 --> 00:41:09.760
<v Speaker 2>Yeah. I've never been to Thailand as well, so super

631
00:41:09.800 --> 00:41:10.719
<v Speaker 2>excited about that.

632
00:41:12.159 --> 00:41:14.239
<v Speaker 1>Yeah. So do you have any I guess you've been

633
00:41:14.280 --> 00:41:15.800
<v Speaker 1>on the conference circuit for a while. I think I

634
00:41:15.840 --> 00:41:18.239
<v Speaker 1>went and looked at your website and it listed a

635
00:41:18.280 --> 00:41:20.039
<v Speaker 1>whole bunch and I was like, oh, wow, she's been

636
00:41:20.119 --> 00:41:23.119
<v Speaker 1>to quite a few. Do you have any advice for

637
00:41:23.159 --> 00:41:25.400
<v Speaker 1>people who are thinking they want to speak at conferences?

638
00:41:26.199 --> 00:41:27.920
<v Speaker 1>It seems like a lot of people decide they want

639
00:41:27.920 --> 00:41:32.519
<v Speaker 1>to speak, they put in a CFP, and yeah, they

640
00:41:32.599 --> 00:41:35.239
<v Speaker 1>get rejected at the first bunch and then they give up.

641
00:41:35.559 --> 00:41:44.760
<v Speaker 2>So yeah, I think that I'd say just go for it,

642
00:41:44.800 --> 00:41:49.719
<v Speaker 2>like even if it feels scary at first, Like I think,

643
00:41:50.199 --> 00:41:52.440
<v Speaker 2>if you have a passion for it and you want

644
00:41:52.519 --> 00:41:54.800
<v Speaker 2>to do it, you should. I think the main thing

645
00:41:55.239 --> 00:41:56.840
<v Speaker 2>that I have to say is you don't have to

646
00:41:56.840 --> 00:41:59.320
<v Speaker 2>be an expert. You just need to be curious and

647
00:41:59.360 --> 00:42:03.719
<v Speaker 2>willing to People sometimes assume that conference speakers know everything

648
00:42:03.760 --> 00:42:08.559
<v Speaker 2>about a topic. That's not true. I very often I

649
00:42:08.639 --> 00:42:13.800
<v Speaker 2>will put together ACFP about something that I know nothing

650
00:42:13.840 --> 00:42:18.000
<v Speaker 2>about but want to learn more about, and those make

651
00:42:18.039 --> 00:42:22.320
<v Speaker 2>for the most interesting talks. So things that you're interested in,

652
00:42:22.639 --> 00:42:26.719
<v Speaker 2>things that you may have learned that you think others

653
00:42:26.800 --> 00:42:31.639
<v Speaker 2>might find useful. And especially I find that the cfps

654
00:42:31.679 --> 00:42:34.639
<v Speaker 2>that have the most success rate, at least from my

655
00:42:34.760 --> 00:42:42.440
<v Speaker 2>personal experience, is the cfps that talk about that have

656
00:42:42.519 --> 00:42:48.079
<v Speaker 2>a story that is something that you've experienced and you

657
00:42:48.199 --> 00:42:51.719
<v Speaker 2>want to share with the world. So, for instance, my

658
00:42:51.840 --> 00:42:54.599
<v Speaker 2>reals will talk demystify in the rails code base that

659
00:42:54.760 --> 00:43:00.400
<v Speaker 2>came from a storyline of being a technical writer and

660
00:43:00.559 --> 00:43:05.280
<v Speaker 2>diving into the documentation and some of the difficulties that

661
00:43:05.320 --> 00:43:08.880
<v Speaker 2>I experienced and then sort of what I did in

662
00:43:09.079 --> 00:43:13.840
<v Speaker 2>order to be able to learn how to demastify the

663
00:43:13.920 --> 00:43:16.840
<v Speaker 2>rail's code base. So a lot of the time it's

664
00:43:16.960 --> 00:43:22.079
<v Speaker 2>things that you know, sorry, things that you've experienced, and

665
00:43:22.119 --> 00:43:25.920
<v Speaker 2>you want to tell that story. I feel like writing

666
00:43:25.920 --> 00:43:29.039
<v Speaker 2>an abstract first, even before you have like a full

667
00:43:29.159 --> 00:43:34.199
<v Speaker 2>idea of the talk, that's okay. Sometimes people write their

668
00:43:34.239 --> 00:43:38.639
<v Speaker 2>talks first, or they try to have every not necessarily

669
00:43:38.639 --> 00:43:40.719
<v Speaker 2>to write their talks, but they try to have every

670
00:43:41.239 --> 00:43:44.559
<v Speaker 2>aspect ined out first before you're submitting. They feel that

671
00:43:44.639 --> 00:43:47.960
<v Speaker 2>they need to know everything before submitting. You really don't

672
00:43:47.960 --> 00:43:50.639
<v Speaker 2>have to. It just needs to be a pitch and

673
00:43:50.679 --> 00:43:54.440
<v Speaker 2>then just ensure that you have enough time before the

674
00:43:54.519 --> 00:43:57.480
<v Speaker 2>conference talk of course, and then you can learn on

675
00:43:57.559 --> 00:44:02.320
<v Speaker 2>the way, right, Yeah, and start small and then grow.

676
00:44:02.480 --> 00:44:05.480
<v Speaker 2>So if you've never spoken before, a good opportunity. I

677
00:44:05.519 --> 00:44:11.639
<v Speaker 2>remember when I started talking, the first kind of places

678
00:44:11.639 --> 00:44:15.320
<v Speaker 2>that I submitted my talks to were like local rails

679
00:44:15.400 --> 00:44:19.119
<v Speaker 2>communities that meetups that I went to and I would

680
00:44:19.280 --> 00:44:23.360
<v Speaker 2>talk there. I would get a little bit more confident

681
00:44:23.480 --> 00:44:26.480
<v Speaker 2>in front of people, I would get feedback on a talk,

682
00:44:26.599 --> 00:44:30.360
<v Speaker 2>and then I started applying to the bigger ones. And

683
00:44:30.400 --> 00:44:33.800
<v Speaker 2>that way, you can also put in your cfps that like, hey,

684
00:44:33.840 --> 00:44:37.280
<v Speaker 2>I have spoken at these different communities, I have experienced

685
00:44:37.280 --> 00:44:38.599
<v Speaker 2>speaking things like that.

686
00:44:40.360 --> 00:44:47.519
<v Speaker 1>Yep, makes sense. All right, Well, I think I'm going

687
00:44:47.599 --> 00:44:54.199
<v Speaker 1>to start leading us toward toward the end of the

688
00:44:54.199 --> 00:44:56.960
<v Speaker 1>show and picks. But before we do that, like, where

689
00:44:57.000 --> 00:44:58.760
<v Speaker 1>do people find you? If they're looking for you on

690
00:44:58.800 --> 00:45:00.559
<v Speaker 1>the internet and they want to.

691
00:45:00.519 --> 00:45:05.360
<v Speaker 2>Connect, So you can find me on Twitter? What do

692
00:45:05.400 --> 00:45:07.719
<v Speaker 2>we call it? X It's been a few years, but

693
00:45:07.800 --> 00:45:08.880
<v Speaker 2>I still say Twitter.

694
00:45:09.079 --> 00:45:09.639
<v Speaker 1>I still call it.

695
00:45:10.000 --> 00:45:14.360
<v Speaker 2>You can find me on AX. My username is Redwana

696
00:45:14.519 --> 00:45:17.840
<v Speaker 2>under school K. My name has a silent age, so

697
00:45:17.880 --> 00:45:21.360
<v Speaker 2>it's our id H w a n a under school k.

698
00:45:21.679 --> 00:45:23.679
<v Speaker 2>You can find me on LinkedIn as well. Sometimes I

699
00:45:23.800 --> 00:45:28.360
<v Speaker 2>post the and I username is Redwuana, but mostly on X.

700
00:45:30.559 --> 00:45:34.039
<v Speaker 1>Very cool. All right, well let's go ahead and do

701
00:45:34.119 --> 00:45:37.079
<v Speaker 1>the picks. Then I'll start it out and just kind

702
00:45:37.119 --> 00:45:39.360
<v Speaker 1>of show you how we do it, and then you

703
00:45:39.360 --> 00:45:42.360
<v Speaker 1>can shout out about whatever you want. Uh So, the

704
00:45:42.400 --> 00:45:47.639
<v Speaker 1>first pick that I have is it's a board game,

705
00:45:47.880 --> 00:45:50.119
<v Speaker 1>and I almost always do a board game of some

706
00:45:50.199 --> 00:45:52.360
<v Speaker 1>kind if I haven't played anything new, I'll just pick

707
00:45:52.559 --> 00:45:54.800
<v Speaker 1>one that I like that I've played that I probably

708
00:45:54.800 --> 00:46:00.159
<v Speaker 1>picked before. But we played a new one yesterday with

709
00:46:00.239 --> 00:46:03.840
<v Speaker 1>my So I played board games every Wednesday night with

710
00:46:03.880 --> 00:46:08.039
<v Speaker 1>my friends, and we played a game called Colt Express

711
00:46:09.159 --> 00:46:13.480
<v Speaker 1>and it's a train robbery game board game. Geek waits

712
00:46:13.480 --> 00:46:17.079
<v Speaker 1>it at one point eight four, which is kind of

713
00:46:17.599 --> 00:46:20.840
<v Speaker 1>So two is what is about where I tell people

714
00:46:21.239 --> 00:46:24.079
<v Speaker 1>the casual gamers are kind kind of going to go, Okay,

715
00:46:24.119 --> 00:46:27.519
<v Speaker 1>this was a little bit complicated, but not so complicated

716
00:46:27.519 --> 00:46:29.760
<v Speaker 1>that I didn't like it, and it was fun, right.

717
00:46:30.320 --> 00:46:33.960
<v Speaker 1>A one is like the game should play with your kids, right,

718
00:46:35.559 --> 00:46:38.519
<v Speaker 1>so you know, and so it's got enough to it

719
00:46:38.639 --> 00:46:40.920
<v Speaker 1>to where there's some competition and stuff, and some of

720
00:46:40.920 --> 00:46:43.760
<v Speaker 1>the ones are really fun, right, there's simple dynamics you

721
00:46:43.960 --> 00:46:46.519
<v Speaker 1>just but anyway, so this one's one point eight four,

722
00:46:46.639 --> 00:46:51.119
<v Speaker 1>so it's almost a two. It's called Cult Express and

723
00:46:51.519 --> 00:46:54.159
<v Speaker 1>uh it plays two to six players. My friend has

724
00:46:54.280 --> 00:47:00.719
<v Speaker 1>the the Cult Express Big Box Edition, which has two

725
00:47:00.760 --> 00:47:03.679
<v Speaker 1>of the expansions in it, so his will play up

726
00:47:03.679 --> 00:47:06.840
<v Speaker 1>to nine. And apparently there's another expansion that adds another

727
00:47:06.880 --> 00:47:09.320
<v Speaker 1>player too as well, so you can play with a

728
00:47:09.360 --> 00:47:13.199
<v Speaker 1>lot of people. Came out twenty fourteen, and what it

729
00:47:13.280 --> 00:47:16.920
<v Speaker 1>is is it actually has a little train cars that

730
00:47:17.719 --> 00:47:21.280
<v Speaker 1>you put together for your game board, and so you

731
00:47:21.320 --> 00:47:24.199
<v Speaker 1>have the locomotive and then you have one train car

732
00:47:24.320 --> 00:47:28.480
<v Speaker 1>per player, and there's loot on the floor of the

733
00:47:28.559 --> 00:47:31.400
<v Speaker 1>train cars, and so then what you wind up doing

734
00:47:31.480 --> 00:47:36.400
<v Speaker 1>is you have a deck of cards, and the cards

735
00:47:36.440 --> 00:47:40.280
<v Speaker 1>allow you to shoot at the other players. You can

736
00:47:40.719 --> 00:47:44.159
<v Speaker 1>punch the other players. You can move up to the

737
00:47:44.239 --> 00:47:46.800
<v Speaker 1>roof of the car or back into the main part

738
00:47:46.800 --> 00:47:49.880
<v Speaker 1>of the car, and you can move across the car,

739
00:47:49.920 --> 00:47:51.440
<v Speaker 1>so you can move from one car to the next.

740
00:47:51.679 --> 00:47:53.639
<v Speaker 1>And there's a marshal and if you wind up in

741
00:47:53.679 --> 00:47:57.760
<v Speaker 1>the car with the marshal, then then he shoots you

742
00:47:57.800 --> 00:48:00.079
<v Speaker 1>and you move to the roof of the car. The

743
00:48:00.119 --> 00:48:03.039
<v Speaker 1>marshal doesn't go on the roof, and so then the

744
00:48:03.079 --> 00:48:05.159
<v Speaker 1>rest of it is when you owe, and then you

745
00:48:05.159 --> 00:48:09.719
<v Speaker 1>can pick up loot, you can move the marshal. I

746
00:48:09.719 --> 00:48:12.920
<v Speaker 1>think that's it. So if you shoot another player, you

747
00:48:12.960 --> 00:48:15.920
<v Speaker 1>put the shot card in their deck, right, and it's

748
00:48:15.960 --> 00:48:19.480
<v Speaker 1>a no op card, so it dilutes their deck. It

749
00:48:19.519 --> 00:48:21.199
<v Speaker 1>makes them harder, It makes it harder for them to

750
00:48:21.199 --> 00:48:23.679
<v Speaker 1>get what they want. If you punch a player, then

751
00:48:23.719 --> 00:48:26.840
<v Speaker 1>you make them drop a piece of loot. You know,

752
00:48:27.159 --> 00:48:30.239
<v Speaker 1>picking up loot's worth anywhere from two hundred and fifty

753
00:48:30.280 --> 00:48:33.320
<v Speaker 1>to five hundred dollars. There are gems that are worth

754
00:48:33.320 --> 00:48:35.239
<v Speaker 1>five hundred dollars. And there's a lock box or a

755
00:48:35.280 --> 00:48:38.679
<v Speaker 1>strong box on the locomotive where the Marshal starts that's

756
00:48:38.679 --> 00:48:41.440
<v Speaker 1>worth a thousand dollars. And so you just move around

757
00:48:41.480 --> 00:48:43.760
<v Speaker 1>the train and try and get as much money as

758
00:48:43.760 --> 00:48:46.960
<v Speaker 1>possible in five turns. And the way you play the

759
00:48:47.000 --> 00:48:51.400
<v Speaker 1>turn is whoever's first, they put a card on the pile,

760
00:48:52.119 --> 00:48:55.400
<v Speaker 1>and then you go around the circle and everyone else

761
00:48:55.400 --> 00:48:57.599
<v Speaker 1>plays a card right, and so you can see what

762
00:48:57.679 --> 00:48:59.960
<v Speaker 1>they're playing. On the turns where you play face up,

763
00:49:00.320 --> 00:49:02.559
<v Speaker 1>but there there's sometimes there are twists where you go

764
00:49:02.960 --> 00:49:05.039
<v Speaker 1>you go around the circle the other direction right, and

765
00:49:05.119 --> 00:49:09.840
<v Speaker 1>so you may get If you're first, you know you're

766
00:49:10.079 --> 00:49:12.360
<v Speaker 1>it doesn't change a lot for you. But if you're set,

767
00:49:12.440 --> 00:49:15.639
<v Speaker 1>if your last and it changes the direction, you get

768
00:49:15.639 --> 00:49:17.559
<v Speaker 1>to play, the first player plays and then you get

769
00:49:17.559 --> 00:49:20.400
<v Speaker 1>to play again, and so you know that that may

770
00:49:20.480 --> 00:49:24.239
<v Speaker 1>change the dynamics. There's others where you play and face down,

771
00:49:24.360 --> 00:49:27.920
<v Speaker 1>so for for those cards on that on that round,

772
00:49:29.760 --> 00:49:31.400
<v Speaker 1>you don't you don't see what the other players did,

773
00:49:31.440 --> 00:49:35.519
<v Speaker 1>so you can't react to it. There's another where you

774
00:49:35.559 --> 00:49:38.960
<v Speaker 1>play two cards at a time and so you play

775
00:49:39.400 --> 00:49:41.800
<v Speaker 1>twice right, and so you can move and then pick

776
00:49:41.880 --> 00:49:44.119
<v Speaker 1>up loot because you know that you're gonna be able

777
00:49:44.119 --> 00:49:46.519
<v Speaker 1>to get there before anyone else. Or you move and

778
00:49:46.559 --> 00:49:48.880
<v Speaker 1>you punch another player and make them drop loot because

779
00:49:48.920 --> 00:49:51.960
<v Speaker 1>you know that they're going to be there. And then

780
00:49:52.119 --> 00:49:55.960
<v Speaker 1>if you shoot the most shots then you you get

781
00:49:55.960 --> 00:49:58.920
<v Speaker 1>a thousand dollars. So anyway, then you tally it all

782
00:49:59.000 --> 00:50:02.199
<v Speaker 1>up at the end, and and anyway, it was a

783
00:50:02.239 --> 00:50:04.960
<v Speaker 1>lot of fun, a lot of fun. So and the

784
00:50:05.239 --> 00:50:08.280
<v Speaker 1>game board is really unique because it is it's actually

785
00:50:08.320 --> 00:50:10.400
<v Speaker 1>a train that you just set up on the table

786
00:50:11.320 --> 00:50:14.679
<v Speaker 1>and so, you know, I mean it's real small. But anyway,

787
00:50:14.679 --> 00:50:16.719
<v Speaker 1>it was a lot of fun, really really enjoyed that.

788
00:50:17.639 --> 00:50:19.679
<v Speaker 1>It took us about an hour and fifteen minutes to play,

789
00:50:20.760 --> 00:50:23.480
<v Speaker 1>but we were learning how to play, so I think

790
00:50:23.519 --> 00:50:25.920
<v Speaker 1>you could probably play it. We played it with five people.

791
00:50:26.440 --> 00:50:28.920
<v Speaker 1>We probably play it in forty five minutes, I think.

792
00:50:30.760 --> 00:50:33.400
<v Speaker 1>So anyway, very very fun. So I'm gonna pick Cult

793
00:50:33.440 --> 00:50:37.960
<v Speaker 1>Express and then I'm going to shout out about a

794
00:50:38.000 --> 00:50:42.719
<v Speaker 1>few others. So yesterday we had a team lunch with

795
00:50:42.760 --> 00:50:47.360
<v Speaker 1>my team and basically we got sent gift cards for

796
00:50:48.199 --> 00:50:50.719
<v Speaker 1>door Dash, right, so I had food show up at

797
00:50:50.719 --> 00:50:58.360
<v Speaker 1>my house and then we played wiki race and that's

798
00:50:58.400 --> 00:51:01.920
<v Speaker 1>at wikidashrace dot com. And the way that wiki race

799
00:51:02.000 --> 00:51:04.599
<v Speaker 1>works is you and you could put in your own

800
00:51:04.719 --> 00:51:07.440
<v Speaker 1>things that that you start at and end at, but

801
00:51:08.119 --> 00:51:11.159
<v Speaker 1>it starts you on a page on Wikipedia and then

802
00:51:11.199 --> 00:51:14.880
<v Speaker 1>you have to click links to get to the other page. Right,

803
00:51:15.639 --> 00:51:19.840
<v Speaker 1>And so one of the ones we played that it

804
00:51:19.920 --> 00:51:24.559
<v Speaker 1>was like some soccer player from like the nineteen fifties

805
00:51:24.679 --> 00:51:28.239
<v Speaker 1>that you know, there were probably like four links that

806
00:51:28.320 --> 00:51:31.639
<v Speaker 1>went there, right, and so, and I can't remember we

807
00:51:31.679 --> 00:51:34.039
<v Speaker 1>started at but it was something like completely weird, right,

808
00:51:34.079 --> 00:51:36.519
<v Speaker 1>and so you start figuring out some of the tricks

809
00:51:36.599 --> 00:51:39.280
<v Speaker 1>right where it's okay, well, I know this guy's from England,

810
00:51:39.800 --> 00:51:42.480
<v Speaker 1>and so I'm going to get to England, right, and

811
00:51:42.519 --> 00:51:45.719
<v Speaker 1>so I click some of the links that take me

812
00:51:45.800 --> 00:51:48.679
<v Speaker 1>to the world and then countries and then England right,

813
00:51:48.719 --> 00:51:50.440
<v Speaker 1>and then I know he played on these teams, so

814
00:51:50.480 --> 00:51:53.679
<v Speaker 1>I go to the soccer leagues and then England right,

815
00:51:53.719 --> 00:51:56.639
<v Speaker 1>and so anyway, it was It's very, very fun, and

816
00:51:56.679 --> 00:51:59.480
<v Speaker 1>it's basically a race, so whoever gets their first wins,

817
00:52:01.360 --> 00:52:04.960
<v Speaker 1>you know, and then when somebody wins, it shows their

818
00:52:05.039 --> 00:52:09.920
<v Speaker 1>progression through Wiki Wikipedia. There was one that we got

819
00:52:10.119 --> 00:52:14.480
<v Speaker 1>that everybody eventually just gave up on. So it is

820
00:52:14.679 --> 00:52:17.119
<v Speaker 1>possible to get some that just are hard to figure out.

821
00:52:17.519 --> 00:52:21.360
<v Speaker 1>I'm sure, well I'm not sure it was possible. I

822
00:52:21.400 --> 00:52:23.320
<v Speaker 1>just think it was really, really, really tough to figure

823
00:52:23.320 --> 00:52:27.119
<v Speaker 1>that one out. But anyway, it was really fun, and

824
00:52:27.159 --> 00:52:31.679
<v Speaker 1>they picked some really obscure Wikipedia articles sometimes, and so

825
00:52:32.320 --> 00:52:35.000
<v Speaker 1>that's fun too, because part of the game that we

826
00:52:35.119 --> 00:52:39.559
<v Speaker 1>figured out pretty fast was Okay, the first step to

827
00:52:39.639 --> 00:52:42.800
<v Speaker 1>figuring out how to complete this chain is to open

828
00:52:42.800 --> 00:52:44.880
<v Speaker 1>another tab in my browser and go look up the

829
00:52:44.920 --> 00:52:46.599
<v Speaker 1>thing that I'm trying to get to because I have

830
00:52:46.679 --> 00:52:49.639
<v Speaker 1>no idea who this person is or what this thing is, right,

831
00:52:49.840 --> 00:52:51.360
<v Speaker 1>and so you go look it up and it's like

832
00:52:51.559 --> 00:52:55.119
<v Speaker 1>it's like, oh, it's a plant South America, right, all right,

833
00:52:55.199 --> 00:52:58.480
<v Speaker 1>so you know, then you start figuring it out. So anyway,

834
00:52:58.719 --> 00:53:03.239
<v Speaker 1>tons of fun and so I'm gonna pick Wiki Race

835
00:53:03.800 --> 00:53:09.519
<v Speaker 1>and then I'm just trying to think through things because

836
00:53:09.519 --> 00:53:10.639
<v Speaker 1>there was something else I wanted to pick and I

837
00:53:10.679 --> 00:53:14.800
<v Speaker 1>can't remember what it was, but anyway, I'll just say

838
00:53:14.840 --> 00:53:16.559
<v Speaker 1>it for next time. Do you have some stuff you

839
00:53:16.559 --> 00:53:17.480
<v Speaker 1>want to shout out about?

840
00:53:18.559 --> 00:53:22.639
<v Speaker 2>Yeah? So that also very cool. I'm very into games

841
00:53:22.679 --> 00:53:26.440
<v Speaker 2>and so I'm definitely going to check them out. So

842
00:53:26.800 --> 00:53:32.320
<v Speaker 2>a problem that I've been having recently is just being

843
00:53:32.360 --> 00:53:36.440
<v Speaker 2>able to, I guess, document meetings a little bit better.

844
00:53:37.599 --> 00:53:41.079
<v Speaker 2>So having to write down notes from every meeting and

845
00:53:41.119 --> 00:53:44.079
<v Speaker 2>then consolidate it all together has been a really big

846
00:53:44.199 --> 00:53:50.119
<v Speaker 2>pet peeve of mine. That's very tiring and sometimes really

847
00:53:50.199 --> 00:53:53.760
<v Speaker 2>unnecessary to have to take things from different places and

848
00:53:53.760 --> 00:53:56.239
<v Speaker 2>then put it together. So I've been looking for a

849
00:53:56.280 --> 00:53:58.719
<v Speaker 2>good tool that will be able to help me a

850
00:53:58.760 --> 00:54:04.039
<v Speaker 2>little bit with no taking, especially with AI and its advancements.

851
00:54:04.079 --> 00:54:08.079
<v Speaker 2>So recently I've been exploring a few of these. So

852
00:54:08.239 --> 00:54:11.760
<v Speaker 2>the one that I've been using has been CRISP dot AI.

853
00:54:12.880 --> 00:54:14.719
<v Speaker 2>I don't know if you've part of it, but it's

854
00:54:14.760 --> 00:54:21.440
<v Speaker 2>basically an AI assistant for collaborative meetings. So some of

855
00:54:21.519 --> 00:54:27.320
<v Speaker 2>the team meetings are basically enable CRISP and it will

856
00:54:27.800 --> 00:54:30.840
<v Speaker 2>It does recording if you want it to, or it

857
00:54:30.880 --> 00:54:35.159
<v Speaker 2>can do transcribing, so it will give you the entire

858
00:54:35.480 --> 00:54:39.119
<v Speaker 2>sort of transcribed version as well as the audio recording

859
00:54:39.199 --> 00:54:43.440
<v Speaker 2>of the meeting. But that's not the coolest part. The

860
00:54:43.480 --> 00:54:45.960
<v Speaker 2>coolest part is that it will give you a summary,

861
00:54:46.159 --> 00:54:49.199
<v Speaker 2>It will give you the action items from the meeting.

862
00:54:49.760 --> 00:54:52.079
<v Speaker 2>It will give you a detailed outline if you ask

863
00:54:52.159 --> 00:54:56.159
<v Speaker 2>it to. But then also it has this AI chat

864
00:54:56.639 --> 00:55:01.039
<v Speaker 2>that is attached to sort of every meeting once it's

865
00:55:01.039 --> 00:55:04.920
<v Speaker 2>been uploaded, and with the AI chat you can get

866
00:55:04.960 --> 00:55:09.280
<v Speaker 2>pretty specific. So if there's a specific part of the

867
00:55:09.360 --> 00:55:13.519
<v Speaker 2>meeting that you want to dive into, you can just

868
00:55:13.639 --> 00:55:18.159
<v Speaker 2>ask the AI chat to summarize or detail certain parts

869
00:55:18.239 --> 00:55:21.800
<v Speaker 2>of the meeting, which is really nice. Sometimes the output

870
00:55:21.800 --> 00:55:25.679
<v Speaker 2>of the meeting is I maybe need to I have

871
00:55:25.760 --> 00:55:32.440
<v Speaker 2>specific questions and I just want to summarize these, summarize

872
00:55:32.480 --> 00:55:37.599
<v Speaker 2>the meeting, and answer these by answering these specific questions.

873
00:55:38.079 --> 00:55:40.000
<v Speaker 2>And so I just go in and I put in

874
00:55:40.000 --> 00:55:42.840
<v Speaker 2>the questions in the AI chat and it will basically

875
00:55:42.880 --> 00:55:46.920
<v Speaker 2>spit out the solutions that we came up with in

876
00:55:46.960 --> 00:55:52.039
<v Speaker 2>the meeting. So really really cool. I've been exploring that

877
00:55:52.360 --> 00:55:58.079
<v Speaker 2>against a different AI too, which is Granola AI, and

878
00:55:58.119 --> 00:56:02.440
<v Speaker 2>that's like an AI note piered people in meetings. So

879
00:56:02.800 --> 00:56:07.639
<v Speaker 2>the difference being is that CRIS will transcribe the entire

880
00:56:07.719 --> 00:56:11.440
<v Speaker 2>meeting and potentially if you wanted to record as well,

881
00:56:12.000 --> 00:56:17.159
<v Speaker 2>whereas Granola will simply just provide you with sort of

882
00:56:17.360 --> 00:56:21.800
<v Speaker 2>notes for the meetings, so it will take your raw

883
00:56:21.880 --> 00:56:26.119
<v Speaker 2>meeting notes and make them into something more legible. So

884
00:56:26.159 --> 00:56:30.000
<v Speaker 2>both those tools have been pretty interesting, and I found

885
00:56:30.000 --> 00:56:36.000
<v Speaker 2>that it's made meetings a lot easier, especially like team meetings.

886
00:56:36.039 --> 00:56:38.960
<v Speaker 2>We'll be making big decisions and I just want to

887
00:56:39.000 --> 00:56:44.039
<v Speaker 2>summarize it. I also find myself sometimes so focused on

888
00:56:44.480 --> 00:56:48.800
<v Speaker 2>taking notes that I'm not processing what someone's saying in

889
00:56:48.840 --> 00:56:52.599
<v Speaker 2>real time. So the fact that I can just give

890
00:56:52.679 --> 00:56:55.800
<v Speaker 2>my notes over to a tool and let the tool

891
00:56:55.880 --> 00:56:58.519
<v Speaker 2>handle the note take in and I can be present

892
00:56:58.719 --> 00:57:01.639
<v Speaker 2>and process. What people are saying makes it a lot

893
00:57:01.719 --> 00:57:04.400
<v Speaker 2>easier and a lot more efficient for me personally.

894
00:57:06.599 --> 00:57:09.400
<v Speaker 1>Nice. So one thing I'm going to clarify for folks,

895
00:57:09.480 --> 00:57:12.559
<v Speaker 1>crisp Ai is billed with a K. It took me

896
00:57:12.599 --> 00:57:16.519
<v Speaker 1>a second to find it. But yeah, very cool, very

897
00:57:16.639 --> 00:57:22.559
<v Speaker 1>very cool. All right, Well, I don't think there's anything else.

898
00:57:22.559 --> 00:57:24.840
<v Speaker 1>I'm gonna go ahead and wrap it up. Thank you

899
00:57:24.840 --> 00:57:25.760
<v Speaker 1>for coming. This is fun.

900
00:57:27.320 --> 00:57:30.719
<v Speaker 2>Yeah, thank you for inviting me. And I hope that

901
00:57:30.800 --> 00:57:33.679
<v Speaker 2>you will end up visiting Cape Town one day because

902
00:57:33.679 --> 00:57:34.880
<v Speaker 2>it really is beautiful.

903
00:57:35.719 --> 00:57:39.679
<v Speaker 1>Yeah, I've I have to admit, so I'm going to

904
00:57:39.800 --> 00:57:41.599
<v Speaker 1>leave this on the recording, but I'm curious, you know,

905
00:57:41.800 --> 00:57:43.920
<v Speaker 1>I'll just bring it up. So, my wife is a

906
00:57:44.039 --> 00:57:48.760
<v Speaker 1>huge Shark Week person. Right, So every year in the summer,

907
00:57:49.159 --> 00:57:52.760
<v Speaker 1>Discovery Channel does Shark Week and they have a ton

908
00:57:52.960 --> 00:57:56.440
<v Speaker 1>of documentaries out in Cape Town, right where they're have

909
00:57:56.559 --> 00:58:00.519
<v Speaker 1>the sharks jumping out of the water or you know,

910
00:58:00.679 --> 00:58:03.199
<v Speaker 1>they're they're just out there kind of filming them doing

911
00:58:03.239 --> 00:58:07.880
<v Speaker 1>their thing and you know, chasing seals and whatever. And

912
00:58:07.920 --> 00:58:10.599
<v Speaker 1>then you know, sometimes they do show part of the

913
00:58:10.639 --> 00:58:13.800
<v Speaker 1>town or at least the coast and it just looks amazing.

914
00:58:13.840 --> 00:58:15.360
<v Speaker 1>It just looks like, oh wow, this would be a

915
00:58:15.400 --> 00:58:18.960
<v Speaker 1>really cool place to visit. And I don't know that

916
00:58:19.000 --> 00:58:20.920
<v Speaker 1>I would necessarily want to go out on a boat

917
00:58:20.960 --> 00:58:26.599
<v Speaker 1>looking for sharks, but you know, I think it would

918
00:58:26.639 --> 00:58:29.199
<v Speaker 1>be a blast. And I have to say that my wife,

919
00:58:29.239 --> 00:58:31.199
<v Speaker 1>after watching some of these shows, she might be the

920
00:58:31.239 --> 00:58:33.159
<v Speaker 1>one going, I want to go out on the boat

921
00:58:33.599 --> 00:58:34.480
<v Speaker 1>looking for sharks.

922
00:58:34.559 --> 00:58:39.119
<v Speaker 2>Yeah, but well, there's other there's other there's other animals

923
00:58:39.159 --> 00:58:42.440
<v Speaker 2>that you can go looking for, like dolphins. And we

924
00:58:42.559 --> 00:58:46.159
<v Speaker 2>have a penguin beach Corboulders Beach when you can intacte Oh,

925
00:58:46.159 --> 00:58:50.119
<v Speaker 2>there you go penguins, Yeah, you can. You can interact

926
00:58:50.199 --> 00:58:51.679
<v Speaker 2>with the fun cute ones.

927
00:58:52.960 --> 00:58:55.840
<v Speaker 1>Yeah. So, so what's the best part of living in

928
00:58:55.920 --> 00:58:57.000
<v Speaker 1>Cape Town. I'm just curious.

929
00:58:59.400 --> 00:59:02.480
<v Speaker 2>I think the nature is the best part. It's along

930
00:59:02.559 --> 00:59:08.719
<v Speaker 2>the coast. It's absolutely gorgeous. There's this drive called Chapman's Peak.

931
00:59:08.840 --> 00:59:12.360
<v Speaker 2>If you look it up on the internet, it's just

932
00:59:13.239 --> 00:59:16.559
<v Speaker 2>beautiful scenery along the coast. On the one side, you

933
00:59:16.679 --> 00:59:20.920
<v Speaker 2>see the sea, on the other side you see the

934
00:59:21.000 --> 00:59:25.880
<v Speaker 2>mountains and it's just absolutely gorgeous. We have Table Mountain,

935
00:59:26.079 --> 00:59:29.320
<v Speaker 2>which I mean, based on the name, it's basically like

936
00:59:29.360 --> 00:59:33.559
<v Speaker 2>a table top. There's lots of hiking opportunities in Cape Town.

937
00:59:35.199 --> 00:59:38.199
<v Speaker 2>There's a lot of if you're an outdoor person, there's

938
00:59:38.239 --> 00:59:42.440
<v Speaker 2>a lot of things to do, lots of like diving, swimming,

939
00:59:43.440 --> 00:59:49.280
<v Speaker 2>lots of long drives, lots of good sunset views, and

940
00:59:49.360 --> 00:59:52.920
<v Speaker 2>I think people here are just very relaxed and laid back.

941
00:59:53.199 --> 00:59:55.800
<v Speaker 2>I will say that took me a long time to

942
00:59:55.840 --> 00:59:58.280
<v Speaker 2>get used to. I'm still I'm five years in Cape

943
00:59:58.280 --> 01:00:01.679
<v Speaker 2>Town and I'm still not used to that because from Johannesburg,

944
01:00:01.760 --> 01:00:06.679
<v Speaker 2>we're very like hustle and very serious about things hand.

945
01:00:06.679 --> 01:00:09.800
<v Speaker 2>Cape Town is just a vibe that's a real's that's

946
01:00:09.840 --> 01:00:12.760
<v Speaker 2>the way I can describe it, a very child vibe.

947
01:00:14.280 --> 01:00:18.000
<v Speaker 2>So yeah, lots of fun things to do in Cape Town.

948
01:00:19.360 --> 01:00:23.360
<v Speaker 2>People are very friendly as well. I find South Africa

949
01:00:23.519 --> 01:00:30.519
<v Speaker 2>to be one of like the friendliest people around. Like

950
01:00:30.639 --> 01:00:32.960
<v Speaker 2>you'll walk in the street and you'll say hello to

951
01:00:33.039 --> 01:00:36.280
<v Speaker 2>people and you'll smile at them. Not every city is

952
01:00:36.400 --> 01:00:41.280
<v Speaker 2>like that in the world, but South Africans are really

953
01:00:41.360 --> 01:00:43.320
<v Speaker 2>friendly people.

954
01:00:44.920 --> 01:00:47.880
<v Speaker 1>Nice. So I think a lot of people if they

955
01:00:47.960 --> 01:00:52.440
<v Speaker 1>pay attention to South Africa, you know, they've probably heard

956
01:00:52.440 --> 01:00:55.719
<v Speaker 1>of Cape Town. I think most people are I think

957
01:00:55.800 --> 01:01:01.559
<v Speaker 1>Johannesburg's the biggest city in South Africa, and so yeah,

958
01:01:01.559 --> 01:01:03.760
<v Speaker 1>I mean how accessible is it. I'm assuming you have

959
01:01:03.840 --> 01:01:06.360
<v Speaker 1>direct flights in and out of there because it's not

960
01:01:06.440 --> 01:01:07.480
<v Speaker 1>a small city.

961
01:01:08.119 --> 01:01:15.320
<v Speaker 2>But yeah, so my family lives in Johannesburg, so I

962
01:01:15.400 --> 01:01:19.360
<v Speaker 2>basically fly up to Johannesburg, I want to say, every

963
01:01:19.440 --> 01:01:21.960
<v Speaker 2>four to six weeks to see them and just spend

964
01:01:22.000 --> 01:01:26.079
<v Speaker 2>some time with them. It helps that I work remotely,

965
01:01:26.280 --> 01:01:28.800
<v Speaker 2>so it means that I am I'm just able to

966
01:01:28.840 --> 01:01:32.360
<v Speaker 2>walk out of any of the city. My husband's family

967
01:01:32.440 --> 01:01:35.880
<v Speaker 2>stays in Delbin, so we fly in and out of

968
01:01:36.199 --> 01:01:40.079
<v Speaker 2>Delbin pretty often as well. Yeah, it's very easy to

969
01:01:40.119 --> 01:01:43.480
<v Speaker 2>get to the different cities, and each city offers something different.

970
01:01:44.280 --> 01:01:47.519
<v Speaker 2>So Cape Town is I don't know if you know this,

971
01:01:47.599 --> 01:01:50.760
<v Speaker 2>but Cape Town has a part of Cape Town and

972
01:01:50.800 --> 01:01:54.239
<v Speaker 2>we call it Cape of Good Hope or Cape Point.

973
01:01:54.639 --> 01:01:58.119
<v Speaker 2>It's where the Atlantic and the Indian Ocean meet, and

974
01:01:58.199 --> 01:02:01.079
<v Speaker 2>so you can actually see a some point of the

975
01:02:01.159 --> 01:02:03.480
<v Speaker 2>year where you can see like the different colors of

976
01:02:03.519 --> 01:02:06.679
<v Speaker 2>the ocean and they sort of meeting at that point.

977
01:02:06.719 --> 01:02:11.119
<v Speaker 2>It's really beautiful. But unfortunately you're not really able or

978
01:02:11.360 --> 01:02:14.280
<v Speaker 2>I personally don't swim in the in the ocean. Here,

979
01:02:14.880 --> 01:02:18.559
<v Speaker 2>the Atlantic Ocean is really cold and just not for me.

980
01:02:19.880 --> 01:02:22.400
<v Speaker 2>But if you travel to Dlbin, that's the Indian Ocean,

981
01:02:22.639 --> 01:02:27.039
<v Speaker 2>and the Indian Ocean is just beautifully warm and really

982
01:02:27.159 --> 01:02:30.280
<v Speaker 2>nice to swim in. So very often we'd cop over

983
01:02:30.440 --> 01:02:34.239
<v Speaker 2>to Durbin and go swimming at the beach and things

984
01:02:34.320 --> 01:02:37.639
<v Speaker 2>like that. And then in Johannesburg you'd mostly like do

985
01:02:37.719 --> 01:02:40.519
<v Speaker 2>a lot of shopping there. There's a lot of big buildings,

986
01:02:41.239 --> 01:02:45.440
<v Speaker 2>a lot of corporates there as well, so higher earning potential,

987
01:02:46.280 --> 01:02:50.280
<v Speaker 2>a lot of people that are just very busy doing things,

988
01:02:50.320 --> 01:02:54.280
<v Speaker 2>a lot of good takeouts, yeah, and just a lot

989
01:02:54.320 --> 01:02:57.400
<v Speaker 2>of shopping malls. And then we have the Kruger National

990
01:02:57.440 --> 01:02:59.199
<v Speaker 2>Park as well. So if you want to see what

991
01:02:59.239 --> 01:03:04.880
<v Speaker 2>we call the Big five in South Africa, which is

992
01:03:05.239 --> 01:03:10.679
<v Speaker 2>the lion, leopard, elephant, rhino in Buffalo, you'd basically go

993
01:03:10.800 --> 01:03:15.159
<v Speaker 2>to Kuruga National Park and you could do a safari

994
01:03:15.239 --> 01:03:18.199
<v Speaker 2>and see them. No, we do not have animals walking

995
01:03:18.239 --> 01:03:21.400
<v Speaker 2>around the streets of South Africa. I know, sometimes I

996
01:03:21.440 --> 01:03:25.159
<v Speaker 2>can ask the question, now, really that's not the case.

997
01:03:25.639 --> 01:03:28.119
<v Speaker 2>I mean sometimes we have had a tiger on the

998
01:03:28.199 --> 01:03:32.440
<v Speaker 2>loose once or twice, but not on a daily basis.

999
01:03:33.480 --> 01:03:37.719
<v Speaker 2>So yeah, really good safaris as well. Lots of very

1000
01:03:37.800 --> 01:03:38.599
<v Speaker 2>cool things to.

1001
01:03:38.559 --> 01:03:44.599
<v Speaker 1>Do, cool, very cool. All right, well, I'll I'll stop

1002
01:03:44.639 --> 01:03:48.280
<v Speaker 1>asking you questions about South Africa. But thanks for coming.

1003
01:03:48.519 --> 01:03:51.199
<v Speaker 1>Was this is awesome, no problem.

1004
01:03:51.280 --> 01:03:53.320
<v Speaker 2>I had so much fun. Thank you for inviting me.
