Hey folks, Welcome back to another episode of the Ruby Rogues podcast. This week, I'm your host, Charles Maxwood, and I am talking to Ridwana Kahn from South Africa. Very cool. I've always wanted to go down there and see different areas down there. But anyway, you gave a talk at Rails World. You talked about a whole bunch of the internals on Ruby on Rails, and it looks like you
also help write the Rails guides, which is awesome. That's one of the nicest things about rails is when I'm talking to people and it's like, well, how do I even get started? It's like, we've got these great guides. Just go, you know, go spend a half hour or so with them, and then you're pretty much off to the races. So why don't you go ahead and introduce yourself as far as anything else you want people to know about you, why you're popular or famous and all that stuff.
Yeah, So I'm Ridwana, like you mentioned, I'm a technical writer for the Rails Foundation. I've been helping to improve the official Ruby on Rails guides for the last year or so. I'm also a lead engineer at a company called Circle where I focus on building tools that empower creators and communities, and I have about over a decade of experience in software development. Over my career, I've worked mostly within the Ruby and Rail space as well as JavaScript.
I think if I had to sum up the things that I'm passionate about, it would be making code more accessible through documentation, and that's why I write the Ruby on Rails guides, thought for engineering, and just inclusive community building, which is why I work at Circle because there are community building platform and I've built many communities over my career. I try to both communities where I see a gap. So the most obvious one is sort of the woman
in Tech gap. So over my career I've both communities like women in Tech. I've both Rails goals in South Africa, Rails Bridge, Black Gull's Code Ladies that You Ax, which is the intersection of a development and user experience. So just really passionate in that space. And on a personal note, if I'm not coding, I'm trying to keep an eye on my ever growing collection of house plants and trying to keep them alive. They're constantly dying. I also really
enjoy traveling and going to speak at conferences. It's one of my favorite things to do. And finally, just hanging out with my very opinionated feline peer programmers or per programmers, Zoe and Zeus. If you watch my talk at Rails World, you've seen some really goofy photos of them. Yeah, it's basically me.
Very cool. So I have you Circle before? We used it for I try to set up a community for the podcasts, and I tried it out, so yeah, that's cool. I didn't know they were a rail.
Shop, so yeah. And before Circle, I was at dev dot two also known as Forum, also a community platform. So I've just been moving around community platforms recently.
Right, Yeah, I was going to say I'm detecting a trend. So I am curious as we dive in, right, because I think a lot of times when we talk to people, it's, oh, you're doing this very cool thing with code. And I'm sure you do cool things with code. I'm not trying to say you don't. But the thing that's interesting to me is I think a lot of people don't really think about, Okay, what goes into the documentation, what goes into the rails guides and things like that, and I'm curious,
how did you get involved there? Did you just I don't know, go tell the foundation, Hey, you need to fix the easer. I don't know what will happen there.
No. I think around last year, I want to say around January twenty twenty four, Amanda from the Rails Foundation was actually looking for writers to work on the Rails Foundation Ruby on Rails guides, and so they put out a post to say they're looking for two freelance writers to work on the Ruby on Rails guides. And during that time, I was sort of between different gigs and I'd been using the Ruby on Rails guides a lot, and so I decided, why not let me apply and
see how it goes. And yeah, I started writing for the Rails Foundation myself and another writer, Boomy. We started off and we worked with a couple of other peoples to people to review the guides, and that's how it all got started.
Very cool. So is that paid or are you doing it because you love us?
I mean, I'm doing it because I love y'all and I love the guides and I love what I do. But it is also paid, Okay?
Cool?
Yeah?
I mean I had I guess I hadn't really thought too much about it, but now that I'm thinking about it, I'm like, oh, wow, so are there because the guides have been around for a while, are there any new guides or is it mostly just updating what was already there?
So initially we started with updating what was there, but when Rails eight got released, we had a couple of new guys that we needed to implement, and we've done that as with the release. So it's a combination of both. We look at the old guides, we audit them, we see what needs to be updated, and we update them. But then we're also as Reels releases new features, we
go in and we create new guides. Also, if contributors create prs for new features, sometimes that means we go through the pull requests and we update the guides with new information on new sections.
Gotcha, So how much time are you spending every week working on the guides?
So we put a pause a little bit recently is the new year started, but I'll be begin it up again later this month. I spend around I want to say, I forget the actual number of hours because we've put a pause on it for the last three months and we're just starting again, but I think it's around two in two hours a week. I stand to be corrected. It's been a while.
Uh huh, that makes sense. And what's the process. So, I guess the process is different if you're auditing versus writing new ones. But yeah, what does the process look like?
Yeah? So, I mean I don't do a lot of auditing. We have a specific contributor that helps with the auditing, so Patrick Patrick Hosh he does the auditing of the guides and a lot of the reviewing of the guides. But essentially what he does is he comes in, he audits them, he checks which ones we need to update, and then once he's audit audited it, we use base camp and we basically keep track of which guides need updating. Then one of the writers will go in and they'll
look at the existing guides. The trick will already have some notes in on what he thinks can be improved. We look at it with fresh eyes. We then decide what can be improved from our side. Sometimes that's how I started diving into the source code. I dive into the source code see how the internals work, because I feel that if you really understand how the internals of Rails works. Then you're able to explain the things better. Once that's done, we send out a PR. It goes
through internal review first within our team. Once internal review is done, we then create a PR for the open source community to be able to review the guides. Maybe they pick up some areas or gaps that we may have missed, and then finally we emerge it.
Very cool. So are they in the Rails repo or are they somewhere else?
Yeah, so they're in the Rails repot and usually we encourage which open source contributors to have a look through them. The guides are marked with a label RF docs and it has a label sorry in the title. We usually have a prefix rf docs and then it has a
label Rails Foundation. So if you're trying to find any of the docks, you can do that, and we really encourage the Rails community to review them because it means that if you're learning Rails, or even if you've been using Rails for a long time, you basically know we some of the gaps lie what you've struggled with, and when you review them, you can bring some of their fresh perspectives to our prs.
Right, makes sense. So yeah, I'm curious how deep into the internals have you gotten, because I mean your talk was a half hour, so you didn't get too deep into things, But it sounds like you spend a bit of time looking at how RAILS is actually put together under the hood.
Yeah, I think. I mean, depending on what guide I'm writing at the time, I then dive into the internals, and sometimes it requires a deeper dive. Sometimes it doesn't. I feel like when you're writing documentation, it's not really enough just to describe what a method does in a surface. You need to understand how it works, why it behaves the way it does. And that's taken me to some of the more complex parts of RAILS are code based.
So for example, in the talk I talk about mime types, I've traced through how RAILS handles the different mind types using math. Missing I've done. I've dug really deep into active recorde associations because that's a very big part of RAILS as well when you're writing applications, so things like the definitions of the dynamic methods and so on, I've looked at I think I mentioned in the talk, as well as validations. So RAIL uses like the dynamic callbacks
things like that. I've dove into some parts like that, and I think that the most common pattern is just the meta programming aspect of it. Right, So trying to find those patterns across the different parts of Rails or components in Rails and then trying to understand it a little bit better. The Rails codebase is really huge, and there's like always more to learn, but the magic is beginning to feel a little bit less like magic is you start understanding more of it.
Yeah, I mean it seems like we've talked to different people about metaprogramming on this podcast over the years, and so yeah, a lot of what you put up there was like I was like, oh, I see how that works, and yeah, so I can kind of get the idea that yeah, it feels a whole lot less magic and a whole lot more. Oh. You know, this is a tool that we used, and you know, and so it's able to you know, for example, you know when it's defining methods using defined method right, it just puts things
in place, It does the work. And one thing I hadn't thought of with the mind type mind type is you define the method and then you just call it. I was like, oh, that that makes sense. So yeah, I really liked that, and really liked just the clean approach to explaining how all this stuff works.
Yeah, I think the main aspect really and again I have to emphasize it's the patterns. Rails is a lot of magic. But once you identify some of the patterns, and once you understand how meta programming works, you sort of start putting these puzzle pieces together and you're able to understand the code a lot better. And then you'll see with the different components, there'll be one pattern here, and then it's applied in this different place. And what I tried to also do within the talk is show
how those patterns are applied across the different components. So if you understood it in one component, you can go and dive into a different component and it has very similar patterns. And once you think of it like that, it feels a lot more approachable. Because when I started off in rails, and even like up until a few years ago, I there was all this magic happening in rails. So when you reach a point of like, hey, I'm doing this thing, but it's a little bit more complex,
and now Rails isn't playing nicely with me. You don't really know where to go from there. But if you try reading the source code or you try looking into how Rails is actually working, you're able to move past
that blocking point and do more complex things. I mean, ideally you don't want to break away from the magic, but unfortunately there is real of it is when you both complex applications, you end up needing more tools under your belt, and I feel like understanding the code base is a tool under your belt.
Yeah, that makes sense for me. What I found was, as I've learned, I learned Rails first, and then they're Ruby later. As far as like what all the other things are that Rails kind of makes it so you don't have to deal with right off the bat was I would build stuff and then yeah, I would get stuck on something right It'd be like, I don't know why it is doing this, Why is it acting this way? Why is it, you know, doing this thing to whatever
it is that I'm trying to work on. And it it became pretty apparent once I started to learn Ruby. It was like, oh, it's doing this because Ruby works this way, and so it's just using the Ruby mechanism to do the thing. And so yeah, I love that idea of saying, Okay, look go look at the internals. It may be something you haven't done before, but it's it's not a mystery, it's not complicated or hard. It's just, you know, it's something that maybe you need to learn
a little bit more about. And then you look at it and you go, huh, Okay, this is where this is coming from. This is why I have this the way that it is.
Yeah, And another aspect of it is that when you go through the Rails code base, you're also not only learning about Rails itself, but you're potentially learning how to solve problems elegantly. Right. So, Rails does solve problems elegantly and very often when we're working on our features within whatever application or companies were working for with you solving similar problems in just different use cases or different forms.
And so by going through the Rails code base, you were able to also learn problem solving skills.
Yep. Absolutely, So let's talk about some of those skills or some of the things that you've seen in the code base. You kind of went straight to metaprogramming, and I've seen plenty of people over the years basically talk about how metaprogramming is scary or you can get yourself into trouble with it. I don't know how do you feel about that argument about using metaprogramming or not.
I think that using meta programming, I think you're going to have a lot of people saying meta programming is the best, and some people saying that you shouldn't use meta programming. I think that there's a use case for meta programming. Meta programming is a superpower and it can lead to really elegant, expressive code, but it also can lead to very scary and intimidating code that's very hard
to follow. So I appreciate meta programming, but I also respect that it has a lot of complexity and it can make code harder to debug, especially if you're not familiar with the patterns, or if it's overused without like clear naming or clear direction. So I wouldn't say that I feel strongly that everybody should use meta programming. I think that meta programming needs to be used based. I think metaprogramming has a place, and depending on your use case,
meta programming may be a good fit. But if you're using metaprogramming for any for everything, you may just be over complicating things.
M hm, yeah, I think that's I think that's a fair way to put it. I do a lot of work on my cars or my house or whatever, and what I found is that most of the time, you know, just just the regular tools work right, you know, and even if I pull out the power to tools, right, they work. But occasionally I've got to open up a wall with a saw, or I've got to use some other tool that, yeah, you know, may have some safety hazard to it or something if you're not using it properly.
And that's the way I think about metaprogramming is is you know, you don't want to take more out of the wall than you have to, so to speak, you know, you don't you have to be careful not to hurt
yourself with it. Sometimes the code can be hard to debug when you're using metaprogramming, and so, yeah, you know, what I find is most of the time when I'm reaching for something like metaprogramming, I am doing something on the level of rails, right, And so what I'm doing is I'm actually using it to provide myself with the pattern I want to see in my code, and so that winds up being in like the lib folder, you know,
somewhere else where. It's it's not code that I'm going to go touch all the time, and it's not code that I'm using to solve all my major problems. What I'm doing is I'm just basically using the metaprogramming to create a better tool for me to solve the problem.
Yeah, and I think I think your example, by the way, was great about how you do work around why I work around the house, and sometimes you need to bring out the right tools. In my talk, I talk about like a real world use case where we use meta programming, which I think is really valuable. So when I was working at dev dot two or known as forum as well, we were building of course community software, and we needed a way during onboarding to letter from communities define custom
profile fields for their members. So, for example, in the talk, I use the example of a go gardening community, and for a gardening community, during onboarding, we may want a profile field that a user can enter their favorite plant, or a developer community might ask if you're available for hire. So these fields need to be highly customizable, and they
might need to be dynamically edited at run time. They also might support different data types like strings, booleans, dates, etc. So rather than hard coding a bunch of different profile attributes that are different for different communities, we use mata programming to dynamically define gatters and setters for the custom fields is the community has created them, and it meant that communities could define as many custom fields as they
want and the system would just respond. There were no migrations or extra model code or no like hardwired logic. It just made the system really flexible. And I feel like that's a great example of how meta programming is used in a real practical way to solve a problem. But like you say, I feel like they are very
like meta programming. In my career, I think that's probably like one of the very few cases I've needed to use metaprogramming, And maybe there's like one or two others, But over ten years you're mostly building standard applications that don't necessarily require that level of customization, right.
Yep, absolutely, So what other things have you found going back to rails internals, What other things have you found that maybe you wanted to add to the talk but didn't have time or have thought were interesting that people don't really see or know in the Rails codebase.
I think there's so many gems no pun intended in the Rails hood base. One of the things that I really enjoy about, like exploring the rail's internals, is seeing how thoughtfully things are architected. So when you like how it gives you a whole ecosystem of dynamic methods. How things are named really well, such as very thoughtful processes, how things sorry very thoughtful naming. Also how the different components are well separated, things like how well the code
is documented. I think that's really a superpower. If you go through the Rail's code base, you'll find sort of method definitions, you'll find how the Rails API documentation is within the code base, and you can see what the different methods are doing. So I think there's a lot of sort of other practices that the Rails team uses within their sort of actual development, and I found a lot of those useful alongside the matter programming aspect and
the great architecture. I also think so may one more thing to air the like the PR. I found that when I'm writing documentation, I also sometimes tend to go through like the open issues or poor requests to see did someone touch on this. Maybe there's something I don't really understand and I want to understand it better, but maybe the rail's code base doesn't provide as much information. I find that when I go through poor request reviews or even issues, contributors and the core team are very
for both about explaining things. They do a really great job about articulating themselves and working together to form a solution. So it's really nice to go through poor requests, to go through issues, and I really encourage people to just if you're not contributing to rails, or you're not reviewing documentation prs or even just normal rails code, like just browsing the issues and the poor requests casually can provide a ton of information and useful knowledge.
Makes sense. So do you have any advice for people? Let's say that you know somebody. I mean, I have to admit I haven't really contributed to rails. I think I've I've filed bugs. I think I've maybe put in
one poor request in my whole life against rails. So if somebody wants to get involved and they're sitting there and they're thinking, okay, well, I just want to understand it, you know, and maybe they want to contribute to the docs, or maybe they you know, just want to understand things better and you know, maybe help with some little thing here or there. Like where do you recommend that people start with the RAILS code based to just understand what's going on in there? Yeah?
I feel like I am so I get so excited when someone asks me this question. I'm biased, but I feel like starting with documentation is a really good way to get into contributing to RAILS or just understanding things better. Rails places a lot of value on clear, accessible documentation. So if you're reading a guide or an API document and something's confusing or missing, just open up a pr to improve it to add value to the next person. You don't need to be a core contributor to that.
You don't need to be writing the guide to do that. You just need to be someone who wants to make it clear for the next person reading the guides. And especially I feel like a lot of people that are new to the industry or that feel they feel they don't have enough knowledge to contribute to RAILS or something or the other. That's how I felt for a long time.
I feel like documentation is a clear way to contribute because if you're not understanding something in the documentation, I can guarantee you there's hundreds of other people that are not understanding it as well. Another way to get yourself familiar with the rail's code based if you're looking to just dive a little bit deeper, I think read the tests. They incredibly instructive. So the Rail's test suite is massive, but it's very descriptive. It shows you how methods are
supposed to behave. It often gives you breadcrumbs to trace back to the source code. And when you're trying to understand something or if you think you know fixing a bug, test are often the best entry point, and writing or improving tests or just reading the test is a fantastic
way to start. And then if you're looking actively to contribute, you can look for a good first issue or you can look, like I mentioned, the docs, TIG the rails getthub repots very well organized, so there's very often open issues that are labeled as like a good first issue or where we need contributions on the documentations. And finally, like don't be afraid to read this was called Even if you don't understand it, that's fine. Just a lot of reading of it. Eventually your mind starts to put
the pieces together. It's like the more you read, the more somehow your mind just like connects different parts of it. You start seeing patterns emerge. There's lots of tools as well that I mentioned in my talk unlike things that will help you to navigate the rails scode better. So use some of those tools to navigate the rail source code. And finally, you don't have to do it alone. There are so many people in the rail's community who are
so kind and supportive and willing to help. So whether it's in rail slack or discord or get up discussions, you can ask questions and you can get unstuck. I think the main thing, finally, to wrap it all up, is that rail's contributing to rails isn't really about being perfect or knowing everything. It's about just being curious and wanting to make rails better, even if it's in small ways.
Awesome, All right, Well, I'm just trying to think where else we go from here? Are there are there things that you want to add or change or bring forward with the rails documentation or areas that we should dove into that it doesn't.
I think, yeah, I think there's there's a couple of places or where or we could improve the documentation. There's a couple of guides and I'm whipping up the guys is we speak, so bear with me as I do this. There's a couple of guides which I think could really use some improvement, and we've got them noted. So. For instance, one of the ones that I'm hoping to work on within this year is the active record query interface. It's
a really big guide. I think it's in a good start, it's in a good place, but I think they could also be a lot of improvements. We could explain things a lot better. We could maybe move out sections, make them smaller, more approachable sections. I think it's one of the biggest guides, and so I think just breaking it up into smaller, more digestible pieces will make it a little bit more approachable. There's also some other sections that
could use some improvement. I think we're already in a I think the Rails Guides in general is one of the better guides we have out there across languages. I think the Rails Foundation has been doing an amazing job, but there are just individual ones that are working progress. So like the rails initialization process that's a work in progress, as well as the active support instrumentation things like active
record encryption. So the first thing we want to do is we want to finalize those working progress guides because they may consider they may have right now not like the full picture picture of what their topic income. So we just want to fill out that information and cover the bases, and then we'll go about improving some of
the other guys and breaking them down. But we're hoping to achieve a lot this yeah, and improve it significantly, as well as create some new guys that haven't been covered with RAILS eight.
Yeah, there are a lot of things that I see you can do with RAILS eight or I mean even some of the stuff that came out in Rail seven that aren't super well documented, right, and I see people use them and they do amazing things with them, and it's like, man, why hasn't anyone really just broken this down? So yeah, I'm looking forward to some of that. Yeah, So I'm a little curious. I want to kind of
switch over to both Cape Town and to Circle. So what do you do at Circle exactly, Like, do you work on a specific part of the platform or do you just kind of hit whatever needs to be hit. And by the way, I'll just explain because I've used Circle and what I find is if you work at a place, you kind of look at it differently from the way that people use it look at it sometimes. So Circle is essentially a forum. You can think of it as kind of a focused Facebook. It kind of
feels like that Facebook group. And then on top of that you can add like courses and other things to your community. You can set it up as a paid community or a free community. And yeah, it's a really well put together system. So yeah, so what kinds of things do you work on there? And yeah, what kinds of concerns or improvements do you find at work?
Yeah? So Circle is really established, well written product. We have some really big communities using it, and it's one of the It's one of the companies that I've worked for that is constantly improving and always looking to batter the product. And it's very exciting because they constantly building new features but also improving the features that exist in
the application itself. So specifically, I work on what we call the Email Hub or marketing Hub team at Circle, and we're basically responsible for things like email broadcasting and sort of that domain whereby you able to send our broadcasts to either community members or what we call contacts
within the system or leads. And there's just a lot of are things that tie into it, so for example, analytics and that ties into things like workflows where for instance, when you're onboard a community, you might want to send a broadcast and then we might want to wait for five days and send them a follow up things like that. It's a relatively new team at Circle. I think we launched the email hub slash marketing hub feature last year. I want to say around September October. It was around
Rails world time, so it's relatively new. We're actually hiring for the team at the moment, so I'm leading the team and we have our two engineers and we're looking to hire another two engineers for the team. So I've been doing lots of interviews and hiring at the moment. Our tax stack is Ruby on Rails and we use JavaScript as well. It's a pretty big engineering team, so each sort of sub engineering team is focused on a
particular part of the platform. So we have like a CRM team and a CMS team and you sort of focus on a specific domain.
Very cool. Yeah, I just got hired at Price Picks and so I've been got you know, we're seeing some of this stuff, and I'm on the growth team where we it's kind of your traditional R and D where we come up with ideas on what we could do better and then go and invent it and see if it works. But yeah, I love what you're talking about where it's yeah, the growth. That's always exciting to see companies growing and then yeah, just yeah, constantly looking for
that level of improvement. Those are the best companies to work at. So if people want to apply, how do they do it?
We are on we have If you go on the so called website, you should see a careers Yes, a careers link and you can view the open roles and you can find the roles. They're role for a senior full stack engineer on the Marketing Hub team and you can apply through this. It's very exciting you'll be working with me, so please apply. It's also a fully remote opportunity, which is nice. Those are real and few nowadays.
Yeah, So you're based in Cape Town. Is your team like all over the.
World or yeah, so we have developers from pretty much all over the world. We in the marketing Hub team right now, it's myself and then we have two developers in India, and we're hoping to hire someone in a European time zone and then maybe sort of North America, just so that we have that full time zone support, but also ensuring that we're not too far apart that
we can't collaborate when we need to. So maybe like with a one hour two hour overlap just in case we need some sink time, so that gives us sort of good collaboration across the board. But for the most part, we use as in tools like Slack and Notion. We document things very well.
And yeah, nice, Where where's the company based out of?
To be honest, I guess since there isn't actually a head office, No, there's I guess. Yeah, I mean on the on the on the invoices and stuff. You're probably it's I think I stand to be corrected. I want to say the US New York, but again that may not be actual.
Sounds good. So, so what's the community like in Cape Town? I mean Are there a lot of rails developers out there?
Or yeah they are. We used to have, I want to say, a well known conference, because when I went to Rails World and a couple of other conferences, people have asked me about this conference. It's called Ruby FUSA, and we ran it in South Africa for a couple of years. But we haven't run it, I think since COVID. But there's a really big Ruby community here. There used to be a lot of meetups previously. I want to say that since COVID, that's sort of when things slowed
down a little bit. I'm also not originally from Cape Town. I was based in I was living in Joburg, Johannesburg, and then moved to Cape Town only like five years ago. Johanna's Burg also has a really big Ruby community. Is to have constant meetups every couple of weeks, and yeah, it's really good. I will say though, because I work for a lot of US Over my career, I've worked for a lot of US companies, my community tends to
be more sort of global. I tend to attend conferences where I'm sort of traveling, and so it's been a little bit more difficult to keep in touch with the rails community within Cape Town. But I'd like to see Ruby Fuza hit the ground running again. That would be really cool.
That would be cool. Yeah, So are there any other personal projects or anything else that you're working on or is it mostly the Rails Guides?
So between the Rails Guides and then I like to tinker on just personal tracks, I've been trying to tinker with arduinos and connecting that with sort of Yeah, it's really cool. I've really been enjoying it. I like seeing like the physical aspect of like things working. So I've been working on this like sort of with moisturee detectors and sort of like a like merging my passion for keeping my house plants alive together with like a little
gardening system. So I've been tinkering with that and it's been really fun. But between writing code the Rails Guides and then are doing some of the tinkering, and then also speaking at conferences, I've been very busy over the last few months. My next conference is I'm really excited about is Ruby kontailiand and that's next huge January. One of the keynotes speakers, So I'm really excited about that.
Oh nice, that would be so fun.
Yeah. I've never been to Thailand as well, so super excited about that.
Yeah. So do you have any I guess you've been on the conference circuit for a while. I think I went and looked at your website and it listed a whole bunch and I was like, oh, wow, she's been to quite a few. Do you have any advice for people who are thinking they want to speak at conferences? It seems like a lot of people decide they want to speak, they put in a CFP, and yeah, they get rejected at the first bunch and then they give up.
So yeah, I think that I'd say just go for it, like even if it feels scary at first, Like I think, if you have a passion for it and you want to do it, you should. I think the main thing that I have to say is you don't have to be an expert. You just need to be curious and willing to People sometimes assume that conference speakers know everything
about a topic. That's not true. I very often I will put together ACFP about something that I know nothing about but want to learn more about, and those make for the most interesting talks. So things that you're interested in, things that you may have learned that you think others
might find useful. And especially I find that the cfps that have the most success rate, at least from my personal experience, is the cfps that talk about that have a story that is something that you've experienced and you
want to share with the world. So, for instance, my reals will talk demystify in the rails code base that came from a storyline of being a technical writer and diving into the documentation and some of the difficulties that I experienced and then sort of what I did in order to be able to learn how to demastify the rail's code base. So a lot of the time it's things that you know, sorry, things that you've experienced, and
you want to tell that story. I feel like writing an abstract first, even before you have like a full idea of the talk, that's okay. Sometimes people write their talks first, or they try to have every not necessarily to write their talks, but they try to have every aspect ined out first before you're submitting. They feel that they need to know everything before submitting. You really don't
have to. It just needs to be a pitch and then just ensure that you have enough time before the conference talk of course, and then you can learn on the way, right, Yeah, and start small and then grow. So if you've never spoken before, a good opportunity. I remember when I started talking, the first kind of places that I submitted my talks to were like local rails communities that meetups that I went to and I would
talk there. I would get a little bit more confident in front of people, I would get feedback on a talk, and then I started applying to the bigger ones. And that way, you can also put in your cfps that like, hey, I have spoken at these different communities, I have experienced speaking things like that.
Yep, makes sense. All right, Well, I think I'm going to start leading us toward toward the end of the show and picks. But before we do that, like, where do people find you? If they're looking for you on the internet and they want to.
Connect, So you can find me on Twitter? What do we call it? X It's been a few years, but I still say Twitter.
I still call it.
You can find me on AX. My username is Redwana under school K. My name has a silent age, so it's our id H w a n a under school k. You can find me on LinkedIn as well. Sometimes I post the and I username is Redwuana, but mostly on X.
Very cool. All right, well let's go ahead and do the picks. Then I'll start it out and just kind of show you how we do it, and then you can shout out about whatever you want. Uh So, the first pick that I have is it's a board game, and I almost always do a board game of some kind if I haven't played anything new, I'll just pick one that I like that I've played that I probably
picked before. But we played a new one yesterday with my So I played board games every Wednesday night with my friends, and we played a game called Colt Express and it's a train robbery game board game. Geek waits it at one point eight four, which is kind of So two is what is about where I tell people the casual gamers are kind kind of going to go, Okay, this was a little bit complicated, but not so complicated that I didn't like it, and it was fun, right.
A one is like the game should play with your kids, right, so you know, and so it's got enough to it to where there's some competition and stuff, and some of the ones are really fun, right, there's simple dynamics you just but anyway, so this one's one point eight four, so it's almost a two. It's called Cult Express and uh it plays two to six players. My friend has the the Cult Express Big Box Edition, which has two of the expansions in it, so his will play up
to nine. And apparently there's another expansion that adds another player too as well, so you can play with a lot of people. Came out twenty fourteen, and what it is is it actually has a little train cars that you put together for your game board, and so you have the locomotive and then you have one train car per player, and there's loot on the floor of the train cars, and so then what you wind up doing is you have a deck of cards, and the cards allow you to shoot at the other players. You can
punch the other players. You can move up to the roof of the car or back into the main part of the car, and you can move across the car, so you can move from one car to the next. And there's a marshal and if you wind up in the car with the marshal, then then he shoots you and you move to the roof of the car. The marshal doesn't go on the roof, and so then the rest of it is when you owe, and then you can pick up loot, you can move the marshal. I
think that's it. So if you shoot another player, you put the shot card in their deck, right, and it's a no op card, so it dilutes their deck. It makes them harder, It makes it harder for them to get what they want. If you punch a player, then you make them drop a piece of loot. You know, picking up loot's worth anywhere from two hundred and fifty to five hundred dollars. There are gems that are worth
five hundred dollars. And there's a lock box or a strong box on the locomotive where the Marshal starts that's worth a thousand dollars. And so you just move around the train and try and get as much money as possible in five turns. And the way you play the turn is whoever's first, they put a card on the pile, and then you go around the circle and everyone else plays a card right, and so you can see what
they're playing. On the turns where you play face up, but there there's sometimes there are twists where you go you go around the circle the other direction right, and so you may get If you're first, you know you're it doesn't change a lot for you. But if you're set, if your last and it changes the direction, you get to play, the first player plays and then you get to play again, and so you know that that may
change the dynamics. There's others where you play and face down, so for for those cards on that on that round, you don't you don't see what the other players did, so you can't react to it. There's another where you play two cards at a time and so you play twice right, and so you can move and then pick up loot because you know that you're gonna be able to get there before anyone else. Or you move and you punch another player and make them drop loot because
you know that they're going to be there. And then if you shoot the most shots then you you get a thousand dollars. So anyway, then you tally it all up at the end, and and anyway, it was a lot of fun, a lot of fun. So and the game board is really unique because it is it's actually a train that you just set up on the table and so, you know, I mean it's real small. But anyway, it was a lot of fun, really really enjoyed that.
It took us about an hour and fifteen minutes to play, but we were learning how to play, so I think you could probably play it. We played it with five people. We probably play it in forty five minutes, I think. So anyway, very very fun. So I'm gonna pick Cult Express and then I'm going to shout out about a few others. So yesterday we had a team lunch with my team and basically we got sent gift cards for door Dash, right, so I had food show up at my house and then we played wiki race and that's
at wikidashrace dot com. And the way that wiki race works is you and you could put in your own things that that you start at and end at, but it starts you on a page on Wikipedia and then
you have to click links to get to the other page. Right, And so one of the ones we played that it was like some soccer player from like the nineteen fifties that you know, there were probably like four links that went there, right, and so, and I can't remember we started at but it was something like completely weird, right, and so you start figuring out some of the tricks right where it's okay, well, I know this guy's from England, and so I'm going to get to England, right, and
so I click some of the links that take me to the world and then countries and then England right, and then I know he played on these teams, so I go to the soccer leagues and then England right, and so anyway, it was It's very, very fun, and it's basically a race, so whoever gets their first wins, you know, and then when somebody wins, it shows their progression through Wiki Wikipedia. There was one that we got
that everybody eventually just gave up on. So it is possible to get some that just are hard to figure out. I'm sure, well I'm not sure it was possible. I just think it was really, really, really tough to figure
that one out. But anyway, it was really fun, and they picked some really obscure Wikipedia articles sometimes, and so that's fun too, because part of the game that we figured out pretty fast was Okay, the first step to figuring out how to complete this chain is to open another tab in my browser and go look up the thing that I'm trying to get to because I have no idea who this person is or what this thing is, right, and so you go look it up and it's like
it's like, oh, it's a plant South America, right, all right, so you know, then you start figuring it out. So anyway, tons of fun and so I'm gonna pick Wiki Race and then I'm just trying to think through things because there was something else I wanted to pick and I can't remember what it was, but anyway, I'll just say it for next time. Do you have some stuff you want to shout out about?
Yeah? So that also very cool. I'm very into games and so I'm definitely going to check them out. So a problem that I've been having recently is just being able to, I guess, document meetings a little bit better. So having to write down notes from every meeting and then consolidate it all together has been a really big pet peeve of mine. That's very tiring and sometimes really unnecessary to have to take things from different places and
then put it together. So I've been looking for a good tool that will be able to help me a little bit with no taking, especially with AI and its advancements. So recently I've been exploring a few of these. So the one that I've been using has been CRISP dot AI. I don't know if you've part of it, but it's
basically an AI assistant for collaborative meetings. So some of the team meetings are basically enable CRISP and it will It does recording if you want it to, or it can do transcribing, so it will give you the entire sort of transcribed version as well as the audio recording of the meeting. But that's not the coolest part. The coolest part is that it will give you a summary, It will give you the action items from the meeting. It will give you a detailed outline if you ask
it to. But then also it has this AI chat that is attached to sort of every meeting once it's been uploaded, and with the AI chat you can get pretty specific. So if there's a specific part of the meeting that you want to dive into, you can just ask the AI chat to summarize or detail certain parts
of the meeting, which is really nice. Sometimes the output of the meeting is I maybe need to I have specific questions and I just want to summarize these, summarize the meeting, and answer these by answering these specific questions. And so I just go in and I put in the questions in the AI chat and it will basically spit out the solutions that we came up with in the meeting. So really really cool. I've been exploring that against a different AI too, which is Granola AI, and
that's like an AI note piered people in meetings. So the difference being is that CRIS will transcribe the entire meeting and potentially if you wanted to record as well, whereas Granola will simply just provide you with sort of notes for the meetings, so it will take your raw meeting notes and make them into something more legible. So both those tools have been pretty interesting, and I found that it's made meetings a lot easier, especially like team meetings.
We'll be making big decisions and I just want to summarize it. I also find myself sometimes so focused on taking notes that I'm not processing what someone's saying in real time. So the fact that I can just give my notes over to a tool and let the tool handle the note take in and I can be present and process. What people are saying makes it a lot easier and a lot more efficient for me personally.
Nice. So one thing I'm going to clarify for folks, crisp Ai is billed with a K. It took me a second to find it. But yeah, very cool, very very cool. All right, Well, I don't think there's anything else. I'm gonna go ahead and wrap it up. Thank you for coming. This is fun.
Yeah, thank you for inviting me. And I hope that you will end up visiting Cape Town one day because it really is beautiful.
Yeah, I've I have to admit, so I'm going to leave this on the recording, but I'm curious, you know, I'll just bring it up. So, my wife is a huge Shark Week person. Right, So every year in the summer, Discovery Channel does Shark Week and they have a ton of documentaries out in Cape Town, right where they're have the sharks jumping out of the water or you know, they're they're just out there kind of filming them doing
their thing and you know, chasing seals and whatever. And then you know, sometimes they do show part of the town or at least the coast and it just looks amazing. It just looks like, oh wow, this would be a really cool place to visit. And I don't know that I would necessarily want to go out on a boat looking for sharks, but you know, I think it would
be a blast. And I have to say that my wife, after watching some of these shows, she might be the one going, I want to go out on the boat looking for sharks.
Yeah, but well, there's other there's other there's other animals that you can go looking for, like dolphins. And we have a penguin beach Corboulders Beach when you can intacte Oh, there you go penguins, Yeah, you can. You can interact with the fun cute ones.
Yeah. So, so what's the best part of living in Cape Town. I'm just curious.
I think the nature is the best part. It's along the coast. It's absolutely gorgeous. There's this drive called Chapman's Peak. If you look it up on the internet, it's just beautiful scenery along the coast. On the one side, you see the sea, on the other side you see the mountains and it's just absolutely gorgeous. We have Table Mountain, which I mean, based on the name, it's basically like a table top. There's lots of hiking opportunities in Cape Town.
There's a lot of if you're an outdoor person, there's a lot of things to do, lots of like diving, swimming, lots of long drives, lots of good sunset views, and I think people here are just very relaxed and laid back. I will say that took me a long time to get used to. I'm still I'm five years in Cape Town and I'm still not used to that because from Johannesburg, we're very like hustle and very serious about things hand.
Cape Town is just a vibe that's a real's that's the way I can describe it, a very child vibe. So yeah, lots of fun things to do in Cape Town. People are very friendly as well. I find South Africa to be one of like the friendliest people around. Like you'll walk in the street and you'll say hello to people and you'll smile at them. Not every city is like that in the world, but South Africans are really friendly people.
Nice. So I think a lot of people if they pay attention to South Africa, you know, they've probably heard of Cape Town. I think most people are I think Johannesburg's the biggest city in South Africa, and so yeah, I mean how accessible is it. I'm assuming you have direct flights in and out of there because it's not a small city.
But yeah, so my family lives in Johannesburg, so I basically fly up to Johannesburg, I want to say, every four to six weeks to see them and just spend some time with them. It helps that I work remotely, so it means that I am I'm just able to walk out of any of the city. My husband's family stays in Delbin, so we fly in and out of Delbin pretty often as well. Yeah, it's very easy to get to the different cities, and each city offers something different.
So Cape Town is I don't know if you know this, but Cape Town has a part of Cape Town and we call it Cape of Good Hope or Cape Point. It's where the Atlantic and the Indian Ocean meet, and so you can actually see a some point of the year where you can see like the different colors of the ocean and they sort of meeting at that point. It's really beautiful. But unfortunately you're not really able or
I personally don't swim in the in the ocean. Here, the Atlantic Ocean is really cold and just not for me. But if you travel to Dlbin, that's the Indian Ocean, and the Indian Ocean is just beautifully warm and really nice to swim in. So very often we'd cop over to Durbin and go swimming at the beach and things like that. And then in Johannesburg you'd mostly like do
a lot of shopping there. There's a lot of big buildings, a lot of corporates there as well, so higher earning potential, a lot of people that are just very busy doing things, a lot of good takeouts, yeah, and just a lot of shopping malls. And then we have the Kruger National Park as well. So if you want to see what we call the Big five in South Africa, which is the lion, leopard, elephant, rhino in Buffalo, you'd basically go to Kuruga National Park and you could do a safari
and see them. No, we do not have animals walking around the streets of South Africa. I know, sometimes I can ask the question, now, really that's not the case. I mean sometimes we have had a tiger on the loose once or twice, but not on a daily basis. So yeah, really good safaris as well. Lots of very cool things to.
Do, cool, very cool. All right, well, I'll I'll stop asking you questions about South Africa. But thanks for coming. Was this is awesome, no problem.
I had so much fun. Thank you for inviting me.
