Friday, 25 September 2020

New Issue -> PR, New Issue -> PR, New Issue -> PR ... Hold Your Horses

 


OK!... 

Now I know I am no expert or even come close to it, but how do you find issues in my code?
Not to boost my ego or anything but I have been programming in Java pretty much since "Day 1", and consider my knowledge slightly above average than the regular newbie acceptable. 

This week we were tasked with finding a person on slack to work with and I did just that, Chris - Bald (🦲) dude with a bad attitude. We had to fork, analyze and create new issues on their (Chris') repository.

OH BOY!

So I began forking, cloning, analyzing/ reviewing, fixing... the whole nice yards.

Chris did his 0.1 release on python EW. If you guys should know something about me, it is that I absolutely from the bottom of my heart despise python and anything built with python... but Chris looks like a smart dude and I figured looking at his code might not give me a brain aneurysm. P.S. it did not.

Anyways, it was time to begin. upon cloning his repo locally I began to read the README file he had provided with instructions on how to setup the tool and get it running. That is where I ran into the first issue. Since I hate python (as mentioned above) I had no idea which version I needed to install on my machine to get it running. I suggested he add a download link in the readme. The rest of the setup went pretty smooth.

Time to analyze

This was fun! Looking at how someone else handles the same exact problem is fascinating. Chris did a great job on his code, I did notice some exceptions that could be handled a little better but with my knowledge in python (basically none) I could not make a PR for that. Instead, I found something small that was confusing at first glance. His variable naming conventions, although fine for such a small tool, were not to my liking. So... I made what any other sensible person would have done. My first PR BABEEH. He actually merged it. I felt a sense of accomplishment, a sense of contribution. 

Likewise, Chris found several issues on my 0.1 release. They were not anything ground breaking but he did help me clean up my code a bit. He edited my instructional README quite a lot, which was a punch in the gut I thought was clear enough but with the edits it looks and sounds more clear. Thanks bud.

All in all, this experience with communicating, reviewing, and fixing other's "mistakes" was a very insightful experience on how the real world operates. 

Chris was an awesome partner and I agree with his words (some) "We Learned", however I would say...

We didn't grow, We didn't laugh, I definitely hate him.

Till later,

XOXO,
Gossip Plamen

P.S. I don't actually hate you that much Chris

Thursday, 24 September 2020

Release 0.1 AKA anxiety attacks every 0.5 second

 



WHAT A WEEK! This week was a rough one for your boy. 

I am the type of person who looks forward to new challenges.
Someone who enjoys spending time and learning about new things.
Someone who gets some sort of euphoria when something is completed.

BUT OMG! This week had me banging my head on my desk my anxiety levels through the roof.

I say this because this week we were tasked with completing our very first OSD600 release.

Release 0.1:
This annoying little program was to be a CLI tool to check for broken links on a specified URL or a local html file.

Naturally, when starting these types of projects I think to myself. What would be the best approach to do this with as little effort and least time consumed.

BUT, since this is Open Source Development, I wanted, NAY!, I had to be unique from all the python and JavaScript plebs coders. So, what did I choose... Java with the Selenium framework.

OK. Perfect I knew what I was going to do.
Time to start.

Starting was the easy step. Reading up on Selenium and how to use the chrome web driver was not so easy.
At this point there was a lot of this...

When I finally had an understanding of what I needed to do and how to implement the code I ran into an issue with the chromedriver.exe which quickly turned from (look above) to...

After talking to my professor (and me having my IDE open for the whole day) about why it was not working he pointed me in the right direction. 
The issue was solved but the terminal on my IDE had to restarted in order for the environment variables to take effect. Easy fix. Restart Intellij. HORRAH! It worked.

Anyways, this is the ending result for my 0.1 release which bares the creative name of "Dead Linkage".

Getting started:
There are a couple requirement in order to get the tool setup and ready to go.
Excellent onto the usages.

First thing you want to do is open the windows terminal and navigate (using cd) to where you saved the jar file.

Once inside the directory you can run the tool using the following commands:

Thursday, 17 September 2020

Who am I?

Wag-wan people?!

My name is Plamen Velkov. I am an aspiring software developer. I am currently in my third and final year at Seneca college. I am enrolled in the Computer Programming and Analysis (CPA) program. This is going to be my blog for the OSD600-NSB course. I live in Canada in the "small" city of Toronto.

First off I would like to welcome you to this blog.

I want to start off by saying I enjoy problem solving and programming in general. I would say that at a very early age I was fascinated by technology and most, if not all, aspects of it. I enjoy learning about how and why something is working and or made. My interests involve a lot of gaming, specifically how games and game engines are made and optimized. With that being said, I have recently found a new passion that occupies my time. I bought an Oculus Quest to introduce me into the virtual reality community. I was blown away by how far VR has come since it's early stages. About 8 months ago I started dabbling in some VR programs and scripting and ever since then it has been a hobby of mine. With openVR becoming a more popular thing, I wanted to take a course which would give me the guidance and prosperity to start getting involved in open source projects such as this discord presence application for the quest. Since the Oculus Quest is a stand-alone Head Mounted Display (HMD) there is no requirement for a gaming PC, thus making discord and other similar applications not know what the user is doing right now. This application allows the user's discord status to be updated over LAN and display their current game and/ or application as the status message.

I picked this repo because it seemed interesting and a step in the direction of truly making the Oculus Quest a stand-alone monster which offers various kinds of functionality besides gaming.

This semester I am hoping to gain understanding of how the open source community thinks and works. The different ways I can contribute to projects, big or small. Most of all I am seeking the confidence I need to contribute something meaningful to the Mixed Reality Toolkit (MRTK) for the Unity game engine. The repo for that can be found here. I want to fully learn how to contribute and use the MRTK because I think it would be neat to have a functional IDE inside a Virtual/Mixed Reality world.

Well, that is enough about me and my plans for the near future (before the world ends).

I hope you liked this blog and stick around, at least until the next one. For future blogs, I am planning on taking you through my process of entering the open source community, and hopefully show you some interesting contributions I make.

Stay safe and take care of each other in these trying times,

Plamen

Release 0.4.3 - The End of Something Great

  Hello my wonderful followers! It is here... It is finally here. The end of this nightmarish semester is finally here. I have to say the pa...