Saturday, February 21, 2015

Error 404: Project not found

Well, this week was a bit of a letdown in comparison to last week.

I came into work Tuesday morning and started learning about new capabilities of Selenium's script, specifically looking at the assert() function. It's a handy little tool that I can use to check on multiple items in a webpage, such as whether or not a graph is displaying the right statistics. This could improve my bot script in regards to a further investigation of the user's experience.

However, when I returned to work after a quick lunch break, I immediately ran into a server problem. Selenium was based off an external server in New Relic, so I had to run the script through the server every time I wanted to check for errors or mistakes in my code. Unfortunately, New Relic's Selenium servers went down for scripts, so I had to spend the rest of the day trying to find a fix or solution to this external server issue.

Wednesday morning was no better in regards to the external server problem. Stephane, on the other hand, found a way to keep me working: learning more programming languages, jQuery and, by extension, AJAX. He would put the Selenium bot project on hold while they tried to fix the server over at New Relic, but in the meantime, I could work on something else. So that was my whole morning spent, learning a new programming language.

In the afternoon, I began working on a new script on a new site, Github. It's a place where people can share scripts with one another in a very convenient matter, and a fantastic place to type up script. I managed to write about 150 lines of code as an experimental script and asked for some feedback. Then I learned just how busy the company was.

I'm not sure what exactly were the details, but it was apparent that there was a big deal going down. Being only an intern, I was understandably a lower priority and Stephane was far too busy to look at the script. In fact, he actually wanted me to shift to a new project again, using the same programming language I had learned but for a different purpose. I was fine with that and awaited for the email that would contain all the details of my new assignment. It never came.

Eventually, at the end of the day, Stephane explained to me that everybody on his end was just a little stressed out and assured me that next week would be better in terms of productivity. I hope so as well. See you all next week!

Saturday, February 14, 2015

Hello World!

This week, on February 9th, I've started my Senior Research Project. I began working at LoopLogic on Monday and Tuesday all day, from about 8:00 am to 5:00 pm. Already, I'm absolutely thrilled with what work I have done working with computers.

Mr. Legay has given me access to a program called New Relic, a tool used by companies to maintain and monitor various server and user activities. After exploring around a little bit, I was given my first job: learn a new programming language called Selenium. It's a derivative of Javascript and HTML, so understanding it was thankfully not tricky. I did have to learn few new tricks though, which certainly would help me in the future.

Using this Selenium programming language, I was tasked to write a script for New Relic's monitor function, which allows for homemade scripts to run. Specifically, I was to create a program that would automatically run through all of LoopLogic's basic functions, such as logging in and video uploading, so as to insure that everything was going well on the site.

Despite a few hitches in the plan, I managed to figure out a way to code an automatic login function for the site, which is an important step considering that login portals have to always be available if the site's basic mechanics are to work. While a few login portals such as MSN and Google have unfortunately trumped this bot by installing verification locks that a bot would have trouble figuring out, I have managed to create an automated process of logging in through Yahoo, Facebook, and Twitter.

Next was downloading a watching a Youtube video. I chose a short video and then had the program import its url into the LoopLogic site, allowing for automated downloads. Then, there was a problem when I attempted to get the downloaded Youtube video to play. The program simply didn't want to recognize the video! Even through a search function within the script, it refused to recognize the existence of it.

Thankfully, Mr. Legay helped me and told me that the video was in what we call an "iframe." It was a part of the browser, but at the same time, in a different part of it that had to be manually switched. I did research and eventually managed to play the video successfully, creating a bot that would check the Youtube operations on the LoopLogic site.

As of right now, the bot in question is still a work in development as more ideas about its capability are being developed. Who knows? Perhaps one day, it could fix any errors by itself!

See you all next week!
Alfred Shum