Kanidm[0]

Google Summer of Code with Kanidm

I’m super excited this summer to be working on Kanidm through Google Summer of Code! This post is here to provide some logistics, discuss how I will track my progress, and outline my goals for the summer.

Asynchronous Work Schedule

One of the challenges going into this project is the 14 hour time difference between me and my mentor, so I’m tasked with working almost entirely asynchronously. However, I think this could be a potential benefit. I think that when people have a mentor by their side to answer any question at any time, they don’t take time to seriously consider problems before reaching for help, and I’ve fallen victim to this in the past. Thus, I believe that the time difference will encourage me to think more critically on problems before asking for help, and develop a stronger problem solving mindset.

Weekly Blog Posts

As William has told me many times, my overall objective for the project is to investigate and learn about the project, so I will be keeping an active journal of my Kanidm-related activities to compile into weekly blog posts. These will consist of daily goals, questions, roadblocks I run into, research findings, and other comments. Since lines of code aren’t a great indicator of effort and time, I’m hoping these blog posts will give insight for how I’m spending my time.

Summer Goals

I have two big-picture goals that I want to make progress towards this summer.

The first is to expand my Rust knowledge. Coming into the project, I don’t have much in-depth experience using Rust, especially in real-world applications. I’m hoping to gain more experience in different corners of the language, and become a more well-rounded Rustacean. This includes becoming more confident using libraries, getting more familiar with idiomatic Rust, and gaining a deeper understanding of what goes on under the hood.

More significantly, my second goal is to improve my confidence as an open source contributor. This consists of a few milestones:

  1. I think knowing how to take in a lot of information and determining the best questions to develop an understanding is extremely important as an open source contributor, and is something I want to improve on.

  2. Being a good contributor means reading others’ code, so I want to improve my ability to give quality, concise feedback on PR’s. Furthermore, I want to get better at asking for feedback.

  3. I also want to become more familiar with GitHub, since I believe it has many amazing QOL features that I’ve never been introduced to. This will help me build confidence in contributing to projects in the future.

  4. Lastly, I want to implement some significant feature so I have something cool to show for my time spent this summer!

Concluding thoughts

I didn’t have the idea to do weekly blog posts until this week (when I started), so this post is technically a week late and I’ve already began making progress towards some of these goals. Oops. Pretend I wrote it a week ago :)

Written on June 4, 2021