Monday May 21st

GSoC and RustReach Day 8

It’s almost midnight

  • I just made an initial pull-request for the Arc and ThickArc constructor for my GSoC project. PR was approved and merged into codebase :D
  • I’m hoping I get to work a bit early so I can work on more. I really enjoy working on Haskell at all hours of the morning. That Stack Overflow survey is correct!
  • My next task is to split up Text and StyledText into two separate constructors.
  • I don’t know if anyone will ever pay me for it, but I’m really starting to enjoy the whole type-checking thing..even when I’m wrong, frustrated and think the compiler is lying to me.

I also got bored in class today

  • I was bored in class today and finished another chapter of Rustbook while my professor was jabbering on. So I’m on Chapter 10 now.
  • It’s really interesting!

So this week, I hope to be working on:

  • For GSoC:
    • The Arc and ThickArc constructors (DONE)
    • The Circle, SolidCircle and ThickCircle constructors
    • Text and StyledText constructors
    • Blank constructor
    • if I can, the Rectangle-is-not-a-Polygon Constructor :D
  • For Rust:
    • Chapters 10 through 15
  • For GSoC:
    • A weekly blog post on Medium!

I was also offered some kind words of advice

  • That my company for my part time gig should support me as I’m new
  • One of the team’s highest priorities should be to help me learn and get up to speed


  • I learned that PRs (pull requests) are also good as a form of knowledge-transfer, regardless of level or experience. I never thought about them that way before.
  • They help so that others can identify (via code review) whether your code is too complicated or unreadable.


  • In general, I want to get to the stage where I can express an idea in a particular language. So know it well enough to be able to do this. However, the language should be flexible and agile, so it doesn’t necessarily limit the way I think and how I express myself. Goodbye Java (just kidding!).

The importance of reviewing other people’s code

  • So two types of code were identified:
    • Greenfield, which is new code
    • Reading and refactoring code not written by yourself
  • These are two different skill-sets. It’s really true that in school, the first is focused on. But Gabe and Chris identified that you should be able to reason about, read and communicate about other people’s code as well.

A great tip

  • Chris and Gabe also identified that if something isn’t making sense and I’m trying to trouble-shoot, feel free to put a parenthesis around the expression. It helps not just with parsing but with my understanding. Great. My code is going to look like Lisp, guys! That’s actually great, considering I’m taking Summer Racket School! :D

I’m pretty tired

  • And I get up in a few hours…so that’s it!
Written on May 21, 2018