Monday, July 20, 2015

Week 4, Day 1

Today, we met our mentors, Alex and Chris. We discussed what we had done so far and the plan for the future. Chris began writing an API in Django for the server client communication. I am very interested in server-side computer science, and I checked out Chris' server side programs so far here.
https://github.com/cmhedrick/ourdictionary
I went through the Django, and as I have experience in python, I was able to get an idea of what was going on. However, Chris did not finish programming today, and so we did not have an opportunity to work on the client app for firefox OS. At this point, Alex said that one good activity would be to get a server to respond that ran node.js to an app. At this point I am working on that with the help of node school. I am working to get this finished by Wednesday, and that should be tough, but I think that if Liam, Ryan and I all work on it we might be able to get it done!

Tuesday, July 14, 2015

Week 3 Day 2

Today was tough. The lack of dependency I thought that the app Friendzy had on jquery mobile was wrong. The app acts strange, and Liam, Ryan and I are now working to clear the dependencies. In addition, the changes Liam made worked fine through a browser but were just a white screen when put on the emulator. The way that I had tested the app, since there was no server I just commented out the jquery mobile dependencies in the index.html, but did not do so in the usersetup.html. Now that I do, I see some weird layout changes. Anyway, I followed Mr. Elkner's (my mentor) instructions on his blog and his experience getting the server to run the node js part of the program, and was able to do it. However, now that I have the server running on students.gctaa.net, I get an error message either from when the client tries to send a message to the server or when the server tries to send a message to the client. I get an error that says:



Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource

I then began to research this problem, and saw that you needed a permission systemXHR. However, when I looked at the manifest file the app already had this permission. I then looked at a series of webpages that did not exactly meet what I was thinking about, as the app uses the socket support library to communicate.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
http://www.w3.org/wiki/CORS_Enabled
http://stackoverflow.com/questions/23053349/getting-cross-origin-block-request-cors-error-when-using-getjson-to-get-play
http://stackoverflow.com/questions/23053349/getting-cross-origin-block-request-cors-error-when-using-getjson-to-get-play

After discussing with Mr. Elkner that all of this work on the server side could probably be done reasonably easily by someone who knows what they are doing, I checked out the dictionary app for the career center. The app has an interface that you can click through but there does not seem to be persistance. I am excited to continue to work with this app!

Monday, July 13, 2015

Week 3, day 1

Today, I finally decided that I needed to switch from Windows. I have been struggling over the past couple of days with commands like pip or even just running a python program from command line. I tried this several times, with both versions 2.7 and 3.4 of python.
http://stackoverflow.com/questions/13596505/python-not-working-in-command-prompt
Still no luck.
The reason I am using Windows is that I am on my brother's laptop, and he partitioned most of the memory for Windows. However, there is enough memory on mac for me to work, and it is so much easier. I initially had a problem with the mac mouse not doing what I wanted, as for some reason it was able to get signal from the completely broken trackpad. I was then able to download BeautifulSoup for parsing with python, and then I continued my NodeJS tutorial.
http://nodeschool.io/
Unfortunately I had done it before on Windows so my progress was not remembered, but I began to understand the concept of modules more thoroughly. I would highly recommend nodeschool and look forward to putting what I have learned to use.

Tuesday, July 7, 2015

Week 2 Day 2

Today was my most challenging day yet. This morning, I installed a virtual machine using Virtual box in order to set up a server that I could test the Friendzy application on. I followed my mentor, Mr. Elkner's experience that went through a similar process. My biggest problem was that I could not putty into the server, as for some reason the IP address that my virtual machine had from ifconfig -a was not working. I then went on to spend the rest of the morning trying to figure out how to copy and paste my public key from my server into github so that I could access the nodeJS for the app. I was unsuccessful, but I learned a good amount and will try again next time. This afternoon I met Ryan, and spoke with Liam and Mr. Elkner about next steps for the app. I checked that app for jquery mobile dependencies and Liam added a textbox that allowed users to choose their own servers. Finally, I began the node JS tutorials on http://nodeschool.io/. I have had some success with these challenging tutorials, but I am having some trouble with the concept of modules, and am currently stuck on how to perform a task synchronously. This is ironic as node.js is supposed to be an asynchronous language. Anyway, I will pick up again next time. Overall a productive day.

Monday, July 6, 2015

Week 2 Day 1

Today was another good one! I started out by debugging and adding features to my application. I encountered several problems, mostly involved in event based programming, something that I have never really done before. I was able to add a delete player button and it now deletes the player. The edit button works and you cannot add two players with the same name anymore. As far as the change button, I was unable to get it to work perfectly, but it is working reasonably well, but my big problem is that the ID of the player revolves around a player's name, and that when I change the player name I am not sure what I should do. I will begin to assign a number ID and I think that will be easier to use. When I went to commit these changes to github, I ran into some issues with the GUI so I needed to use the command line to commit. I also got a version of Ubuntu on a virtual machine and so hopefully I will be able to work with sphinx in the near future. Finally I spoke with my mentor and began looking at the firefox app friendzy, an app that uses gps and node.js on a server, and so I began to try to deconstruct the app. I plan on learning some node.js next so that I can go on to apply it to the new app.

Wednesday, July 1, 2015

Week 1 Day 3

Today, I started out by putting my work up on github, and worked with a fellow student to try to get sphinx on my computer, however, I need to look into the issue more as Windows did not recognize the necessary command.
On my application, I mainly did bug fixes and worked to improve functionality. On the roster screen, you are now able to select a roster and add members to the roster. You can also clear a roster and delete a roster. No two rosters can have the same name and now, when you click edit, a textbox appears with an athletes name for editing. This feature is still buggy but I still feel that the program's progress is going along nicely, and I am learning a lot from doing this.
Until Next Time,
Eric

Tuesday, June 30, 2015

Week 1 Day 2

Today, I continued with my amateur sports app that I began yesterday. I chose this app idea because I thought that it would be less graphically challenging as it would just be a series of menus,  but it would have some interesting data concepts and many directions for expansion. Instead of talking about the app overall, I thought that I would talk about some of the problems I ran into because of my lack of experience in JavaScript. If nothing else, I have come to understand how webpage development can take a long time.
The first thing that I wanted to do today was to make my "rosters" persistent. The rosters are a key aspect to my program, as the whole point of the program is to track players and their progress over the season. For this task I decided to use local storage as I read about it in this tutorial. http://www.openbookproject.net/tutorials/fxos/. I store all of my rosters in a JavaScript object, and as soon as I implemented local storage, everything became undefined. I eventually realized that local storage did not store objects as objects, but as strings, so I had to use the stringify and parse methods to save the data.
Next I wanted to make my newly persistent rosters appear in an unordered list. As of now I have barely any css so keep in mind this is all pretty bare. I was able to do this fairly easily until I wanted to be able to delete rosters as well. I was having issues here until I realized that I was mutating a copy of my local storage roster object not the object itself. For a fix I just made a setter method that was easy to use.
By the end of today, I have a method to add and delete rosters, with the ability to add members to a current roster as well.
The next couple steps are:
Figure out the right way to switch pages using JavaScript and HTML, as currently I use the show and hide methods, and I am almost positive that this is one of the worst possible ways to do it, but it works for now.
Get the project up on github
Enable editing individual names and deleting individual names in a roster
Begin to add terms and scoring methods
Add styling to the app.
See you tomorrow.

Monday, June 29, 2015

Week 1 Day 1

Hello,

This is my first day learning about FXOS applications. I have limited knowledge of HTML and css, as I have taken a Codecademy class and started a Khan Academy class about JavaScript, HTML and css integration in web pages. I have programmed an application for android in Java, and followed along with an Artificial Intelligence class in python through the website EDX. I made a very simple connect four game using canvas and JavaScript, but have never officially made an HTML, css and JavaScript application. I am very excited to learn how to code on this emerging platform, as this experience will translate into experience in web app development as well. Today I started out going through a tutorial created by a fellow student about programming an application at http://www.openbookproject.net/tutorials/fxos/index.html. I had a little trouble understanding the end of the tutorial, however I plan to start to design an application that will allow me to apply what I learned to an application of my choosing. I am excited to start and I will see you next time,

Eric