Tuesday April 24th

Google Summer of Code Mentorship 1st Meeting

I had my first meeting!

  • I had my first meeting tonight with my two mentors, Chris and Gabe.
  • We established a regular meeting time of about 2 to 3 days a week.
  • I came in with some questions about what was expected of me, and what I could do to help, and I got more than enough in terms of great feedback. Essentially, they both admitted that there are here to help me and that I shouldn’t be afraid to ask questions. That’s really a relief!
  • They’re really experienced and I had a bit of trepidation in terms of what would be expected of me, but they reassured me that they’re there to guide me through the process. That’s really exciting, so I’m not going to be left alone to flail. I don’t know why I had that thought initially. It seems silly in retrospect.

My goals

  • My first milestone will be to build the code and create a pull request for review.
  • Currently, I have an i686 machine, so my sid config options are not working with the build, but I’m pretty sure this is fixable. Right now, Gabe was able to guide me in the direction of getting it to work via brute force, because the link that routes the GHC download for my machine is broken. Then Chris also showed me how to grep and match specific cases of builds, so that mine should be mapped to the right download. I’m currently building it by brute force, but will try to rebuild it with the amended code as well. If we’re able to get it to run with the cases and match via grep, that should be fine for my build. However, later down the line, we would have to implement other solutions for different operation systems.
  • I learned how to check this without running the build by using wget.
  • I also think I should be able to set up a folder for ongoing documentation.

Great advice

  • I got great advice, including two articles that Gabe offered that I read.
  • My two mentors stressed that the best way is to learn one thing at a time, and learn to solve smaller, specific tasks.
  • The goal is also to have me contributing regularly and up to speed, so I don’t just view the timelines as check-boxes. I’m cool with that!
  • Also, to have the process be as hands-on as possible. That’s pretty awesome!
  • One great analogy that Chris made is that they’re not my employers, so I shouldn’t feel intimidated and they’re happy to help me with any questions. He said that often students adopt the mindset that mentors are employers, and they become intimidated, fail to ask questions and it isn’t the best experience. He also suggested (which was a great suggestion) that I play around with the actual project, and see what works and make documentation on how difficult it was to do certain things, as I am at the perfect stage for that (ie learning Haskell), as the product is intended for persons learning Haskell. I’m going to do that over the next few days.

Things that are good practice

  • Open communication. Get the most out of the process by communicating, asking questions, asking what I should/ could be working on.

Things I learned

  • The rule of thirds for software; it takes about 3x more than you anticipate. Be wary of timelines. It’s possible for this project to have it change over the time period. I really like that. So it’s not a bunch of checkboxes. It’s refactoring goals as we go along.
  • Being stuck is not a bad thing.
  • For larger code bases, I don’t need to understand everything. This is something I definitely have to learn, because I’m one of those rabbit-hole people.
  • One thing that is really outstanding is that I legitimately understand what they were talking about with respect to why the build wasn’t working once they explained it. I’ve had experiences in the past where another person would say “just run x y and z”. I seriously love this; I can’t even begin to imagine all the things I’m going to learn. I’m going to give this opportunity 100%. This is like a dream.

My plan

  • I’m going to try to build the code
  • I’m going to try to rewrite the case to include my build given Chris’s and Gabe’s guidance on how to modify the code
  • I’m going to go through and try to make a few pull requests
  • I’m going to work with CodeWorld and try to do a few projects

This is the coolest!

  • Okay, check me in a few months, winding down, but this is the coolest experience I’ve ever had!
  • Is this what software engineers do all day? Cause it’s pretty darned cool!
  • Everyone should do GSoC. I’m learning so much already! And I love Haskell! :D
Written on April 24, 2018