Django Chat

Google Summer of Code - Sage Abdullah

Episode Summary

Sage was a 2019 Google Summer of Code student and contributed cross-db JSONField support coming in Django 3.1. We discuss his background in programming and advice for future student contributors.

Episode Notes

Episode Transcription

Carlton Gibson  0:06  

Hi, welcome to another episode of Django chats weekly podcast on the Django web framework. I'm Carlton Gibson joined as ever by Will, Vincent. Hello, Will. How are you? I'm good. Hi, Carlton. Hello. And this week we have Sage Abdullah with us from Jakarta in Indonesia in Sage was Google Summer of Code student in 2019. And he's been responsible for the cross DB JSON field that we're hoping to land into 3.1 Django 3.1. Hi, sage, how are you?

 

Sage Abdullah  0:31  

Great. How about you?

 

Carlton Gibson  0:33  

You're marvelous. Thank you for joining us. So we just wanted to have a chat with you and find out about yourself and about what how you got into programming and about the work you did for Google Summer of Code on Django and your experience there and all the rest. So one thing we quite often start with is just how about you tell us about your background and how you got into programming and perhaps how you found Django.

 

Sage Abdullah  0:54  

I'm from Jakarta, Indonesia. I'm in my third year as a computer science student. at Ephesus, Indonesia. And as Carmen said, I was a participant in Google Summer of Code 2019 with Django, during which I implemented a process DB Jason field. how I got into programming. I think I first started recording. Sorry, I think I first started coding in the seventh grade. I believe it was Java. But I didn't get past basic input up. But

 

Will Vincent  1:31  

though, that's my experience with Java as well. Yeah, that's about

 

Carlton Gibson  1:35  

it. That's that's everyone's experience. Java. No,

 

Sage Abdullah  1:37  

I remember the book. jump straight to you. I after the over console, I think I don't know what that was. I don't remember. But I didn't continue after that. And in my ninth grade, I learned HTML and CSS, everyone and I was already familiar with XML in my sixth grade. I used to mod my Sony Ericsson phone back in the day. Oh, wow. Hacking some stuff, the layouts and stuff. And then I continued to the JavaScript course. Well, it hurt my brain at the time. I think it's still best actually. We've been working with the modern JavaScript stuff.

 

Will Vincent  2:27  

It's not it's not Python, for sure.

 

Sage Abdullah  2:30  

Yeah, it's not Python, for sure. And then in high school in 10th, grade and 11th grade, I learned Pascal, to prepare for the National Science Olympiad in informatics. problem sets use Haskell mostly. I know, it's quite ancient, but

 

Carlton Gibson  2:48  

that's what we do. That's kind of cool. Because I know, you know, I know people who know Haskell, but they're all quite a lot older.

 

Sage Abdullah  2:55  

Yeah. And the so I learned Pascoe for the National Olympiad. in informatics. It's basically describe maths and competitive programming. So I learned a bit of C and c++ do I have forgotten a lot about that? And I only got through the provincial level. While the national the national winners, they will be delegates for IOI, the International Olympian in informatics, but I didn't get past that. I only got through the provincial level.

 

So for bison,

 

it's quite a long story, but it's quite relevant to my use of experience. So if you don't mind,

 

Will Vincent  3:45  

yeah, we've got time we want to hear

 

Sage Abdullah  3:47  

Yeah. Okay. So in my 12th grade, the final year of high school, there is this competition by Wikimedia Indonesia called the zip code Korea is Indonesian fur coat. It's an open source software development competition for high school and university students to help prepare them for Google Code and and Google Summer of Code. So it's basically a mini vibe minified it's it's like a mini version of DCI and these are for students. It's divided into four high school and university students. During the competition, we were mentored by john Vandenberg. I don't know if you've heard that name is from Wikimedia Australia is currently a maintainer at koala the code for matter. Okay.

 

Will Vincent  4:50  

Okay, so we haven't heard it though. So yeah, there's so

 

Sage Abdullah  4:53  

somebody somebody, somebody suggested using koala instead of black in the middle. mailing lists. I think I remember reading that.

 

Carlton Gibson  5:02  

Don't miss that. I missed that. There was so many suggestions.

 

Will Vincent  5:05  

Okay. Okay.

 

Sage Abdullah  5:06  

Yeah. Anyway, so for the competition, we use GitHub classroom. And so how the competition work, basically, we fork public repos into our profit ones, and then we fix some bugs and code style issues there. And once our mentor approved our fixes, we get sent our DD real repository. Okay, that's

 

Will Vincent  5:35  

fantastic. It's

 

Carlton Gibson  5:36  

kind of nicer soccer sort of sandbox where you can,

 

Sage Abdullah  5:38  

yeah, I think our mentor was kind of afraid of, you know, letting the kids out there. We were basically under the we were minors, so yeah, he didn't want us to communicate directly, unless we actually have some real work. Yeah, fair enough. Okay, so during the competition, I learned how to use linters and ci surfaces to integrate them. And one of the posts I worked on was the media wiki parser from hell, it's, it's the name. You can look it up on GitHub, and it's built on Python. But during that time, I didn't know Python at all. And, I mean, I could make sense of things. I could read the code, but fixing the code style was quite tricky, because I didn't know if what I'm fixing, does not break anything. Yeah, right. Okay. So yeah, that was my first experience with Python. But ever since then, I

 

Carlton Gibson  6:47  

will. Can I ask Can I can I ask it like this? Okay, so you've you've mentioned Java. You've mentioned Pascal, you've mentioned c you've been right and then so you come to Python. And one of the Things You know, people sometimes use in textbooks and they say the reason we're using Python in this text, it's not that you have to do in Python, but because if you know any other programming language, you can read Python, you might, you know, you might not know every details, but it will make sense to you. And, yeah, like, for those who just kind of much harder languages, like they're much more pernickety, I think, like, was it not? Like, how was that first learning experience that first like, oh, okay, I see, you know,

 

Sage Abdullah  7:26  

okay, so reading Python code, was actually pretty easy with. I didn't have time to actually learn Python at the time. So it wasn't until my first semester at university in which we actually use Python and coming from Haskell and Java, Python is it's it's a breeze really, it's so much easier to learn, and I could, I don't know, it was such a relief. I mean, so before I got into university, I was actually not really sure if I want to go into the computer science path because of my experience with Pascal and Java, and I was like, no, it's it's not a very, it's not a very good experience. I mean, it's not very easy, you know? Yeah. But when I actually learn Python, I was like, Oh, I didn't know things could be so much easier. I mean, like,

 

sort of thing and stuff, you know,

 

Will Vincent  8:27  

but you got through it. I mean, because I came out, I learned how to code when I was quite a bit older than you are now. And Python was my first true probe, right programming languages, and then later I filled in a bit of Java and C, and C. And, you know, in comparison, I was just like, what am I doing? Like, why would I have, you know, as hard as it is to learn Python, you know, there to go the other way. I'm just like, No, I'm not going to learn ancient Greek. You know, it's like what Carlton spends his time on. So I'm always impressed that people can get through the end in the United States as well. There's still quite a bit there. at the high school level, if they have anything, which most don't it's in Java, I believe is what the AP exam that's like the advanced placement. So yeah, it's I'm not impressed anyone can get through those other languages. They're just they don't make any sense to me.

 

Sage Abdullah  9:15  

Yeah. And the thing I love about Python is that with the things I learned, in the first semester, I could actually build some pretty cool stuff that that's actually useful in real life. You know, in a short time, I built a chatbot on wine. It's a, an app we use. It's by never if you've heard about it, but I think it's not widely used outside Asia. But anyway, I basically built something like an IRC chat bot environment, and it was really cool because I was only in my first semester and seeing that can actually build some stuff that is actually useful is is really good.

 

Will Vincent  10:04  

Yeah, yeah, I think that's what it's all about, like you mean that in, in my books and tutorials, I generally try to get people to build something and then kind of backfill all the information rather than making them do it the hard way. Because most people aren't programming for the sake of programming or programming because you want to build stuff. Oh,

 

Sage Abdullah  10:22  

yeah, exactly. So did you So what?

 

Will Vincent  10:24  

How did you learn how to build like a, an IRC? I mean, how much mentoring did you have? Because that's something that it's easy to say, but like, Where did was there a person or a class that taught you how to do that? Did you Google around what was that process like as a beginner?

 

Sage Abdullah  10:40  

Okay, so what I built was a chatbot. I mean, you can use like flash something, I mean, I can connect my code with API's, like weather API, and then I can just flush whether Jakarta and then I would get the output I mean, if we are, I mean, in university we are only taught about, like string processing and using conditionals and loops. But I take it a step further by utilizing packages on pipey. I, with my experience during the competition in high school, the visit code competition, I learned how to use PIP and stuff. So, from there, it's basically just pip install something. I can just, I can connect to some web API is using request and just get some data. And then once I've got the string that I want to send to users, I just hook it up with the line API.

 

He basically it's,

 

if you've heard about telegram, just just imagine a telegram bot, just like that. I mean, it's a it's not very hard if you have experience. I mean, actually, it's not about experience. It's more about the fact that you want to read, you're not lazy to read the docs,

 

Will Vincent  12:23  

I think, yeah. Google around. Well, I'm impressed that you've, you know, you came into university at that point where you, you knew that you didn't have to write everything, yourself that there are these packages that it's the superpower of, of any language, especially Python, because I think that is, when people are because I deal with beginners, when they're just starting out. They think they have to write everything themselves. And there's no sense of, it's almost like I make the analogy of shopping at a grocery store. Like you can just pull things off the shelf that way smarter people have built like Django and you can just use it and you don't have to understand all of it yourself. You just need a teeny bit of understanding. But getting that point, that's what I'm, as a teacher always interested in. Because I think on some level, you just have to build a bunch of stuff to understand that request exists that, you know that, again, you don't have to do everything from scratch. And then he said, You know, when, because beginners will hear, oh, I prototype something in a weekend. And they think, well, how is that possible? But, you know, you pull down three packages from pi pi. And the actual code you had to write isn't that much, but it's a leap for people to get there. So that's great that you were at that point.

 

Sage Abdullah  13:34  

Yeah, that's that's actually what I what makes me love Python because like in high school, I was using Pascal and even to implement a sorting

 

method. I didn't know that.

 

There are also libraries I think I believe there should be a library for passports as well with Since I was learning, programming for computation, it was more like more about implementing the algorithm that is actually already built in and most programming languages by now. Yes, yeah. Programming felt hard in high school for me, because it wasn't about building stuff, but it's more like designing the algorithm. And that's way harder.

 

Will Vincent  14:32  

Yeah, I think they teach programming completely backwards. In I mean, everyone does, but they make you do all that hard foundational stuff first, with no context. And then in practice, you rarely use it in the times at which you would need to use it as when you're at Google or something and you're well into your career and you have huge challenges and so people think that programming is discrete math and memorizing and and it's it's really More playing and sandboxing I think, I don't know, Carlton will. But I do believe that

 

Sage Abdullah  15:05  

it's important to learn Yes, at some point, it's still important. But if you're learning, if you're starting to learn programming, it's, it can be intimidating, I guess.

 

Carlton Gibson  15:18  

I mean, in your so you're doing computer science. And so they you have to do all that right? You have to go through the algorithms course.

 

Sage Abdullah  15:25  

In my third semester,

 

Carlton Gibson  15:26  

yeah, you implement all these things, but in Python now.

 

Sage Abdullah  15:31  

Ah, so I'm in my second and third semester. We use Java for the object oriented programming, and data structures and algorithms, we use Java, but in the third semester, we learn web design and programming. We use Python and that's actually how I got into Django s. We use Django. Okay.

 

Will Vincent  15:58  

That's fantastic. Because many I'd say, I would say most universities in the United States don't teach web development as part of the core curriculum. So they just don't teach it. If they do, it's an elective, where there's really no resources. And so that's fine, too. But I think it's, you know, the web is pretty important. I think it should be part of the curriculum, but it really isn't in most American programs, as that I'm aware of. That's good. So did you do flask or they just jump right to Django for your course?

 

Sage Abdullah  16:24  

Oh, okay. They just jump right into Django. But since 2019, I think since last year, flask is being taught in the first semester, near the end of the semester, as a final project. Hmm. Yeah, there. The students are asked to write a simple web app using flask.

 

Will Vincent  16:48  

So I have so many questions about Google Summer of Code, because I don't know much about it. And I suspect most listeners don't either, though. You just went through it, Carlton. You've been mentoring it for quite a while.

 

Carlton Gibson  16:59  

We'll know what Last year was my first year now like so. Yeah. So I thought

 

Will Vincent  17:03  

you've been doing it for a while.

 

Carlton Gibson  17:04  

No, no, no, like last, like February before last Tim Graham put an email on going well, we're going to do Google Summer of Code now. You know, and lots of people's to prospective students said, Well, yeah, come on, we want to apply. We want to do it. So okay, I put in the application. It was my first year going through it. It was it was a bit like this year, I've had a bit more warning, so I was sort of mentally ready for it to come up. But yeah, it was it was like, oh, okay, let's let's put the application Let's review the review the applications. It's, you know,

 

Will Vincent  17:32  

what, from the from the mentor side, how many, like how many applications come in What's that? We have? and sage, I want to ask you because you were at a fantastic proposal. But you know, what it was like on your end because the deadline is coming up for this year. I think it's March 31. Yeah, yeah. So this week really, but so we we had like about, I know 50 or 60 people putting applications of which we had mentoring capacity for two

 

Carlton Gibson  17:59  

and you Because that's our biggest issue is like his mentors because the codebase is quite mature and there aren't that many people that know it super well and those people need to be available and have time and so you know we could we could take on more applicants but

 

Will Vincent  18:16  

it's it we just can't so you know, who was it was you Marius Adam Johnson and there's a fourth

 

Carlton Gibson  18:22  

Yeah. Raphael Raphael Yeah, so yeah, we just helped out with but yet so that's our issue and so this year I'm going to put an email on the list this week saying Come on. We've got some good projects we've got some good proposals coming in. Have we got the mentors to be able to an independent Django developers last year? Yeah, put that on. And depending on how many responses we get for that, and how many, you know, because, you know, I can help them you know, guide a student but you know, the depth of the migration framework. For instance, you know, I need Marcus or I need Solomon. To have the time and the capacity to do it, and if they can't, then we can't take on that project. It's just that's just the reality.

 

Will Vincent  19:07  

So where's was there? And again, I apologize. I'm so ignorant, but was there? Were there two students last year? Or is it just say?

 

Carlton Gibson  19:13  

Yes, a path that path as well. Patel did one on their form form sets.

 

Will Vincent  19:18  

So one thought, Okay, well, we'll link to that. So sage, what was your? What was the process? Like on your end? we've linked to your proposal. But what was the and I know you I think you mentioned this in the proposal, but why? Why cross database JSON field? Why what what made you think of that agenda?

 

Sage Abdullah  19:37  

Okay, so it was actually my idea. I think, cotton Did you write it? I mean, I believe it was in the mailing list. I read about it, discussion with them and some other folks. But so in Google Summer of Code, the origin also provide a list of ideas that students can. They can either pick one of those ideas or they can create their own idea and submit a proposal for that. But in jegos list of ideas for GSR 2019. the top of that list was the crafts DVDs. And I'm not sure if that was actually sorted by priority or something. But right,

 

Will Vincent  20:30  

yeah, what the sorting was, but but

 

Sage Abdullah  20:32  

so personally, in my experience, so during my web design and programming course, in the third semester, I came across the need of a JSON field to store some small data for the user to be fetched by JavaScript. And it's just, it wasn't worth it to storage into the model and I just want something quick that can be loaded. By JavaScript, and I thought that something like a JSON code would do the job. And I looked it up. It turns out that Django, Django has it, but it's only for posterous.

 

Will Vincent  21:13  

Right. And this is the case for a number of features like, yeah, search and a whole bunch of other ones Postgres has indeed more races. I feel Yeah. Yeah.

 

Sage Abdullah  21:24  

So

 

I was actually using Postgres. But okay, so let me just explain a bit. In the course, we were required to deploy our apps to Heroku. I think it didn't have to be here. Cool. But it was recommended because it was easy just to set up a small app and so that the teachers and the trading team can, you know, can assess the web app and we use skip lab and deploy our web app from there to Roku. On Heroku. We use Postgres because it's not possible to use SQL lite as Heroku has this ephemeral storage that basically gets rewritten if you deploy your app. And so the only, not the only but the recommended option was to use Heroku Postgres, so it was technically possible for me to use the Jason build on Heroku. But I use SQL lite on my local laptop. And I hadn't learned about databases at that point. And I only know that you can store data in it, but I, I didn't. I haven't installed Postgres on my machine. So I just wanted something that can work on both sequel lite and Postgres. So, seeing that the there is no such option unless I use something from third party packages like, Derek tons of well, not funds, but there are some decent build packages out there. But I think it didn't worth the effort because I just wanted something quick. So what I did was, I use a textfield. And then basically just Jason dumps and Jason loads to it using the built in Python library to serialize, dictionary, packing dictionaries into JSON strings. That's what I did. But so that was in my third semester. It was until September. And then I have been thinking about joining Google Summer of Code since the Actually, I have heard about Google Summer of Code since in high school during the competition with Wikimedia. So I was already aiming to participate paid in Google Summer of Code. Because, okay, so I've also participated in Google Code. And it's basically the high school version of Google Summer of Code. And I was in my final year as a high school student. And it was, there was a lot of exams and tryouts. So I didn't have time to fully commit into Google Code in and I didn't win the grand prize. And so I was like, well, they're still Google Summer of Code. I have to join it when I got into university. So in my first year, I actually signed up on the Google Summer of Code website, but I didn't write the proposal because I didn't know what organization and what project I could work on because I was only in my second semester. I only Learn about I just learned about object oriented programming during that time. It was the first time for me and I don't think I have the knowledge to participate in this or during my first year. So I didn't submit a proposal. I just wait for the next year. And then next year after finishing my third semester and entering my fourth, I read about the Jason field idea on the mailing list of Django. Okay, so I think I actually read about it in the I think Carlton has put up the G sockless of ideas way before that. And I read that page when it was still under development. It was I think some of the what this the Django who misses? Is it markdown?

 

Carlton Gibson  26:03  

Yeah, it's no it's not what markdown it's I don't know, there's probably some technical group. It's this weird wiki syntax thing, which I'm terrible at. Yeah. Always takes me like, like, like 10 minutes to type it up. And then like three hours getting the form. exactly correct. No, because it's particularly hard just because I don't know it. Yeah,

 

Sage Abdullah  26:21  

I saw that. There were still syntax or so that the formatting didn't show up properly. And I was like,

 

Carlton Gibson  26:31  

well, you must have been the first one there, though.

 

Sage Abdullah  26:35  

Because I was. I wanted to participate in Google Summer of Code so bad, but I didn't know what project I should work on. And after taking the web design and programming and use Django, I lost it. And I feel like maybe I can contribute. So I've been reading a lot. The past Google Summer of Code For Jango, there wasn't much information about that. I think Django didn't accept it in the previous year.

 

Carlton Gibson  27:08  

Yeah, there's been a one or two years without any students like, I mean, but, you know, there's been a long history where, you know, a few students each year, and then a couple of years off, and then, you know, I think that's more to do with people power than anything else.

 

Sage Abdullah  27:22  

Yeah. So I wanted to see if any projects were selected in the in the previous year, but it turns out that there wasn't any in the past two years, I think. And so I was skeptical at first, but when I saw that wiki page, wiki page that you

 

wrote,

 

I read about the Jason field idea and I was like, This is what I needed last semester.

 

Carlton Gibson  27:52  

And ya know, yeah, your story is so good as well because like to use a text field and just serialize the JSON into it like that's What third party packages out there have done for years and years Django JSON field and one. It's just a text field that uses JSON dump and JSON. And that's fine. And that was discussed

 

years ago. Yeah, I worked

 

on the on the issue tracker and it was closed. There's no field. That's not that's not good enough, you know, that can just be in a third party package. That's not going into court. But then in between that Postgres, Postgres got JSON field, and then like, my SQL, got it and Oracle got it, and SQL lite, got it. So all the supported databases had it. And so it was like right now, this is time and so it was perfect for Sage to come along.

 

Sage Abdullah  28:36  

Yeah, it was, it was. I don't know, probably, I mean, in my blog, I wrote it. It's probably destiny or something.

 

Will Vincent  28:45  

Yeah. I mean, it just so conveniently happened. And I don't know. It's just it's like a miracle. Allah. So in your proposal, you'd, I'm sure this is was part of why you were chosen. And beyond picking a good project is you'd already submitted some patches to Django itself. I'm curious if you could just talk about because I mean, Carlton, I spent a lot of time trying to make that easier for people, you were able to figure it out. What was that process? Like for us? figuring out how to submit I think there's at least two patches that were merged in. How did you? What was that process like?

 

Sage Abdullah  29:22  

Okay, so I may be a bit biased, because I have previously contributed to open source projects previously. And but however, I think that the most important part, if you want to contribute to open source is basically don't be lazy to read. Seriously. I mean, there's a lot of things to read, but it's actually some of them are actually pretty laid out that if you actually read it, maybe if you actually read it, you can actually contribute but I think one of the things that may be off putting to some people is that, yeah, it's pretty long. There's a lot of links. I mean, let's say you're reading the contributing guide. And then it says that if you want to learn more about this, you can go here, and then you read along. And then there's another link. And it's, it may be a bit overwhelming, because some people may have not be very familiar with all of the things that's put out in the guide. But

 

Carlton Gibson  30:37  

yeah, so it's like five or 6000. Yeah.

 

Will Vincent  30:40  

Yeah, which is I've always thought Carlton, I haven't mentioned this to you that if if there were a if you like froze Django 3.0, and you had like a dummy version, that people could fix a documentation ticket or something where they could, you know, feel like they merge something even though they didn't, just to get over that hump of this is a longer term project for me, but I, you know, to get some sort of quick win instead of it's a lot of words and will Django even take it? I don't know. I mean, as you said, sage Oh, it you know, because if someone hasn't contributed to open source before it is intimidating, for sure.

 

Sage Abdullah  31:17  

Last month, I reverse this event by one of the pandas maintainers. pandas, the Data Science Library. So pandas has this thing called documentation sprint in which you can contribute to their documentation. It's even small contributions, like fixing a missing period in their documentation. But the thing is, I think

 

it's easier for us because

 

the documentation is actually built into the code itself using the DOM strings. And then there was they use a lot of tools that can analyze whether which parts of the documentation need fixing, like what rules are broken, and the documentation for each functions. And for pandas documentation is mostly just descriptions of functions that are available. But for Django, we have the guide type of documentation, like tutorial types. And we also have the, I mean, it's more it needs more explanation. I mean, more examples of using I mean, it you can just call a function and expect what it returns like, what's in pandas or Django is a bit different. So the same approach for the document for I mean, if you're, if you want to do documentation For Django, it may have to use a slightly different format because of the way the Django documentation is designed.

 

And also probably

 

not a lot of people is familiar with rst.

 

Carlton Gibson  33:20  

Yeah, restructured text. It can be tricky. I've recently like, you know, a couple of years into following I'm coming around to it because you can do the cross linking between attributes and things like that. Whereas markdown doesn't have that. And I kind of like it. But yeah, it's there's a learning curve. Again, it's like another one of these markup formats you have to learn.

 

Sage Abdullah  33:43  

Yeah, but that's just for documentation, though. I mean, if you're talking about word about code, document, code contributions, I think okay, so before that, for the contribution guy, I think what can be improved is I saw that there is a another page that is specifically for new contributors. That's a good start. But I think if we can have something like a step by step guide that is more, no no more. What's the word more simple. And this, maybe we can have some screenshots, like describing the process of, for example, forking Django and then cloning it, installing it into your

 

photo environment and then

 

creating a comment and until you have this screenshot of a pull request, probably it's a bit more easy to understand because, you know, people can imagine it is more easily like Looking at the screenshots and seeing what is happening when you are contributing, probably I mean, I don't know about that.

 

Carlton Gibson  35:08  

No, I think that's that's fair. I mean, a couple of Django con Sprint's I've been at, were trying to get people up and running and you know, just working through that first tutorial is difficult. Yeah.

 

Sage Abdullah  35:18  

Also for track the ticket, the tickets, I think you can improve it by adding more labels for the difficulty. So it's not just easy pickings or not, but maybe easy, medium and hard. So, I mean, right now, it's basically just either it's easy, or it's not. And the not easy part is like, it can range from like, really hard or not far off from easy picking, actually. So

 

Carlton Gibson  35:54  

yeah, yeah, no, there's lots of tickets which are not rocket science, but then there's some which really

 

Will Vincent  36:01  

Exactly, yeah. While I was telling Sage that's, I mean, like, as we discussed with Mikey Ariel about a Doc's fellow or someone who can come in with fresh eyes and have that perspective on all this stuff.

 

Carlton Gibson  36:12  

Yeah, I mean, yeah, I mean, it's this big top. I mean, for instance, the advice to new contributors, I point people to that, but that's in a way that should be front and center. And isn't and that's the kind of information architecture problem that's it's not that the content isn't there. There's a tutorial on creating your first patch, where you know, you go through and you do a fake ticket and you kind of you fix a bug, and it's like, okay, that's that would be how it worked, but that needs to be brought out so it's easy to find.

 

Sage Abdullah  36:41  

There's also another program called season of ducks with jenko.

 

Carlton Gibson  36:46  

We applied but it was the first season and they said they had, you know, 300 applicants in 14 places or something so we didn't get in last year. But if it comes up again, I will apply again because I think it's a good it's something that giant like So you know, if you look at the track, the big the big things on the tickets, like the ORM, the admin and then documentation. There's lots of documentation tickets that we could fix. And there's lots of issues that perhaps we could resolve.

 

Sage Abdullah  37:13  

Also, some of my friends have asked me like, how to start because they were also interested in contributing. And some of them actually are looking to apply for Google Summer of Code with Django this year, and they were having troubles with finding tickets that they can work on because, yeah, it's, it's,

 

like I said,

 

between the easy things and not

 

we cannot really know which tickets are actually doable. Just by reading the description. Sometimes, we have to Actually, now the contracts.

 

Yeah,

 

Carlton Gibson  38:03  

yeah, yeah. No, it's tough. It's tough. Like I always say to people look, so I try the Django concept read try to run a sprint and workshop where we get people contributing. And I say looks Okay, so here's how you can filter and show people filtering the track. But then I say, look, find a ticket that kind of grabs your attention, then spend some time with it. And that's the difficulty is that you do actually have to spend the time digging into the ticket and finding out what it's all about in order to work out if you can address it

 

Will Vincent  38:33  

while we're coming up on time is, are there any projects or other things you want to talk about Sage?

 

Sage Abdullah  38:40  

Okay, can I have something more to say? I'm just it's, it's just an advice for students looking to participate in Google Summer of Code, or basically not to school Summer of Code, but more into open source in general. If you think You cannot do it. Well, the truth is you probably you, I think most likely you actually can. Because when I, when I wrote my proposal for Jason field, I haven't actually learned about databases and I had never executed an SQL statement into a DBMS terminal before. And it was actually, I was just reading the docs and just imagine how it would work but I didn't actually know what I was doing. But thankfully, Indian it work. So if you feel like you're not, you feel like you're, you don't have the capacity or you feel like your, your experience is not enough or something like that. It's basically just put those stones That's those thoughts away. And just, I don't know, belief in yourself, I guess

 

Will Vincent  40:04  

I hope this podcast in your experience helps even more people apply, you know, this year and going forward. Because if there are mentors like Carlton and the others who are generous with their time it, you know, makes a big impact on Django. And it's a good experience for people to get into the Django contributing world who maybe wouldn't have otherwise.

 

Carlton Gibson  40:23  

Yeah, no entirely. I mean, Google, I think Google Summer of Code has been a big boon for Django over the years. Big thanks to Sage for ya coming on. But beef your efforts putting together the cross BGP DB Jason field, because that should be going to Django 3.1. And it's going to be a great tool for everybody. Like, this exact example is the one that I have in mind of using SQL lite locally. Just quick development, I can just I don't have to spin up Postgres just to prototype something. And then yeah, okay, I'm going to move on to Postgres at a later date. So it's just super on. Yeah. And, you know, Oracle, my SQL as well.

 

Will Vincent  40:58  

Yeah. Great. Well, says thank you so much for taking the time to come on and, and your work. Yeah. Thanks so much.

 

Sage Abdullah  41:03  

Yeah, you're welcome. Thank you so much for having me.

 

Carlton Gibson  41:08  

That was Jango chat. Join us next time.