Along with with writing and the arts, I have always enjoyed languages. I like the patterns, the similarities, the differences, and the coincidences. During the past summer, I realized it was the first time in two years that I didn’t have anything to do. Four whole months where I could actually work on my hobbies without thinking about deadlines or grades. The perfect time, or so I thought, to give learning a language a shot.

Things got out of hand. Quickly.

To make a long story short, I added way too many languages to my Duolingo app. Among the many, I had Japanese and Russian. They were the only languages I chose that had an alphabet different from the Latin Alphabet, but was my experience with both quite the opposite!

The Japanese module started with you learning hiragana, one of the building blocks of the Japanese writing system. You would learn a character set, words you could make with that set, and then when it came to test your knowledge, you could click on the nice tiles and be done.

Image result for duolingo japanese
Duolingo Japanese Modules

Russian wasn’t like that.

When I decided to do Russian, it threw me right in, with no explanation of the Cyrillic alphabet. There are 33 letters in it, and not many of them sound the way you would expect.

Image result for cyrillic
See the P? It’s not our type of P

I did my best, but it is not easy to write something when you don’t know what each letter sounds like. Unlike the Japanese module, I actually had to type and spell. Which meant I had to get a Russian keyboard for my phone.

Eventually, I realized I could only get so far. Sure, I could wing certain words, auto-correct saved me a couple of times, but there was a lot of fundamental knowledge that I was missing. The more words I learned, the harder it was to remember them all. The more I tried to move forward, I would be stopped because I could not spell.

It was the realization that made me give up on Duolingo. That, and the fact it made the process into one about gaining points. Learning and understanding become secondary when there’s a number you need to gain.

You might be reading this, wondering what it has to do with my progress with Telescope, and well…

Much like I lack the Russian fundamentals, I lack the fundamentals of a big part of web development. I’m currently at a place where I am stuck, hacking away hoping something sticks. Up until recently, I dealt with problems everyone else had dealt with because they had been problems in our assignments. Now, working with Telescope, and all the stuff it interacts with, you can’t really go to stack overflow and find an answer.

It feels difficult asking for help, since I feel that I should know a lot of what I don’t. It doesn’t help that the more the project grows, the more daunting it becomes to learn. I didn’t exactly set myself up for success either, since I signed myself up to work on a complicated, for me, area in my capstone project for my first milestone. Too much research to do, too little time.

My first issue and pull request for 0.6 were very easy; adding a react version to the eslintrc file.

PR: Added react version to eslintrc file | Issue: React Version Warning

What I did:

  1. Added settings to the eslintrc file that specify the React version to
  2. Prevents the warning about React version not being specified

The code:

settings: {
    react: {
      version: require('./package.json').dependencies.react,
    },
  },

Where I got the fix:

Warning: React version not specified in eslint-plugin-react settings

My second pull request wasn’t.

Issues: Add static route to serve new GatsbyJS frontend | Add building frontend for staging and production deployment

Pull Request: Point / to the gatsby public folder

At first my issue was that my machine could not run docker. Well, it can, it just takes a toll. I can only have VSCode and one firefox tab open at the same time. Usually, when I’m coding, there are at least 7 tabs. It didn’t help that my capstone also had a milestone going on at the same time, and that I was working on the frontend. I couldn’t do all of them at the same time, and I tend to push projects to the side when I don’t feel confident.

Eventually I realized I could work on what I was doing without Docker – my capstone milestone was passed, Telescope’s design was frozen – so no more excuses. I read a lot, but it was more to rule out stuff than anything else. At the end, I ended up adding this code to the Gatsby side of things.

What this code does, its to create a proxy on localhost:3000, where our server is, and process requests.

My problem arose from the fact that I could only successful point the server to the public folder, which only appears once you build gatsby, which was not what we wanted. We wanted to be able to see the changes made to the frontend in development mode immediately. No matter how much I researched, I couldn’t find anything. I also didn’t know if I should change any of the routes or if I needed to make my own. This was probably my first time looking at Telescope’s server, and I’m still not quite sure at what a lot of it does.

Eventually, we decided to just point to the public folder and have docker build Gatsby automatically. I also added that code, with a lot of help from David and Josue, which you can see below.

This was my first time dealing with Docker, which was interesting.

Going forward, I want to do more work implementing the frontend. I feel that I will be able to work on more issues that way. I also have a better understanding and a better base, which will free up my time to review more pull requests. I feel like I need to do more reviews, and I’m often too busy working on my own issues to do reviews.

Despite the difficulty, I’m glad I decided to continue working on Telescope. The benefit of deadlines and grades, is that you need to do work. And in order to get things to work, sometimes you need to learn. At I’m still trying with web dev, even if the same can’t be said about Russian.

Speaking of Russians, turns out that while we were working hard for release 0.6, Telescope suffered an attack from a Russian and Ukrainian IP. Can’t say I expected that.

One thought on “непредвиденный

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s