Outreachy week 3 - some things are harder than expected

Dec 23 2018

Outreachy has some lovely blog post prompts and tasks every couple of weeks and the one for week 3 is on "getting stuck"!

I can say for myself that the amount of code I'm actively writing is very far from being "enough" (enough being this very weird metric that I just can't ever seem to reach). I know that I can code for long hours, but I can't seem to code for long hours when everything is a battle... And getting acknowledged with a code base and all these new libraries is pretty hard and can be REALLY emotionally draining!

My first task on Fractal was building a - as simple as possible - video playing desktop app using Rust and GTK. The good news is that there is a lovely, pretty and very organized project that does just that and is called glide. The bad news is that the constraints for this task are pretty small and I ended up feeling a bit lost. Admittedly that was far from being my biggest problem during the beginning of this internship as I'm going through A LOT personally.

*** start of the life and feelings interlude on this blog post about internshippy things ***

I do say "interlude" half-jokingly because I don't think that experiences exist outside of context. But it seems nice to let people know.

That said, what is going on with my life? I was pretty aware that 2018 was going to be a hard year for me, I'm in the middle of career transition and not working is already one of those tricky things because it can mess up your sense of self-worth. Honestly, this is the first time since I was 17 that I have been jobless for more than 6 months and it is the first time that I actively chose to rely on someone else to pay for my necessities (and lend me a big chunk of money so I could attend the Recurse Center).

But 2018 is the year in which so much more happened... I'm very concerned about the political climate in Brazil, the far-right rise is scary in a way I have never experienced before and never thought would have to experience. And my partner cannot be my partner anymore, we have to break cohabitation, decide which cats stay with whom... I have to pay them back for all the money I own them and figure out how I'm going to be able to pay my bills again.

I was talking to people about timing... And it feels like my life is crumbling with novelistic timing... And I'm hardly sure of how any of this is going to play out. And it sucks even worse because it's hard to be productive when all these things are happening and Outreachy is such a great opportunity! That it can feel extra bad because maybe I'm not learning as much as I could.

That said, I did inform my mentor of my life partner breaking up with me. And my mentor was highly understanding <3

*** end of feelings interlude ***

So in general if you feel like your problem has too big of a domain and you are stuck on "how do I even start??", it's a good idea to put some constraints in :)

In my case, I started poking around the audio player that Fractal already has implemented and while trying to test its behavior, found a number of small and not so small things that could be fixed or improved :) I still have to add the issues to the tracker. But I have a merge request I'm working on that is way more constrained than my initial task and would have to be done eventually!

Every now an again I will get stuck on smaller technical problems and one of the things I have found with Rust in parts of its subdomains is that sometimes searching for answers online is not helpful at all. And if after trying a couple of different searches nothing that seems relevant pops to the eye, I probably should be asking the question to a knowledgeable person in the problem domain. For me, in this project, that means asking someone in a chat room in the matrix server.

  • The Matrix HQ chat is pretty good for doubts around the matrix api in general :)
  • The Rust <3 GNOME channel is amazing for things that I know should probably exist as far as bindings go, but was unable to find by myself
  • And of course, the Fractal channel, which is the project I'm working on has really kind helpful people that are also unusually fast to respond in general.

All of that said, I think one of the things I got stuck the most in these last couple of weeks (as in tried for a couple of days, gave up and picked up again after said couple of weeks) was implementing an rss/atom feed for this blog! Which sounds like something that shouldn't be hard at all to do, right?

Truth be told, it isn't. What I should have searched for is ways of implementing rss feeds using jinja templates, because my blog is a Rust blog that uses tera templates (that are based on jinja). The main reason it didn't work and I couldn't understand why, was because I forgot what I put in the systemd script in the deploy and just assumed it would recompile the project if I restarted the service and that was not the case at all (now it is)!

I guess this is it from me for this week ~