Sunday, February 26, 2012

My changes aren't appearing, why?!

Today I was working on maps with gwt again.
I managed to separate the map functions into a single class and run the map api without using the load method as I was when I first started. There was something wrong with my xml file and it turned out I was missing a semicolon ;_;. Aside from that, after getting maps to work, I needed to add my changes to my team's project.

I needed to change the html file so I could incorporate the map into our app and while I was doing that I ran into some difficulty! I had no idea why my changes were not being reflected in development mode. I changed the title and it did not change. I restarted eclipse and nothing happened. I checked the source code on the browser and I did not see my changes. Then I thought, Chrome was probably caching the page! I tried it in incognito mode and I immediately saw my changes. So lesson learned today, when writing web applications and you're working on the UI, run it in incognito mode, if not, clear your web cache.

If I haven't mentioned before, my team and I decided to use Github and I was really excited to use it since a lot of people in the tech industry were talking about it. I wanted to know how great it was. :) Other source control systems I used were TortiseSVN and Visual Studio Team Foundation Server. I used TortiseSVN for one of my school projects in which we built a Library Database System. I can't remember having too much trouble with Tortise but maybe because it was a relatively small project. I used TFS at my old co-op work place and worked on a project with one other co-op. There would be times when we were pulling out our hairs but I thought the functions (merging, branching etc) were pretty intuitive. Back to Github, I'm using eGit - Git with Eclipse. Our team decided not to work with branches and just commit and push changes into the main branch as we work. (I'm not sure if that's a wise decision or not..?) I'm wondering if I should make my own branch and merge changes as I code. That's what I did with TFS. I shall look into that. Today when I was merging in my changes, I realized it was not as intuitive. I could not merge my changes without a massive migraine. Perhaps this is due to my lack of knowledge of how to use this plugin. I had to delete and re-import the project to solve my problem because egit refused to push my changes upstream. (It was due to me not pulling the most recent changes from my other group members, but even after I did, I could not push my changes..).

I'm sure I will have more hair pulling coding stories to tell in the following weeks! :)
<3 Bess



Friday, February 24, 2012

Google maps api with GWT and GAE


Today I continued exploring google maps api with GWT. After playing for a while, running the application in dev mode suddenly gives me an error with the server. I thought maybe something went wrong after I deployed the application, but I was wrong! Even after reverting changes, I was still getting the same eerie error message. The solution was actually to restart Eclipse. So.. I have reconfirmed my previous post's recomendation. If you get an error but you didn't do much to change the code, restart eclipse.



Also, one thing I realized while working with GAE (google app engine) is that it is extremely slow in dev mode! When testing, I run the application in dev mode in Chrome. I get at least two messages saying that the browser was not responding. Solution to this is be patient and continue waiting. It will load eventually. Im wondering if it's just my laptop that's getting old.



Google map exploration progress:

Tuesday, February 21, 2012

Project setup blues


Today, (or rather, yesterday) I started working on my part for my cpsc 310 group project (introduction to software engineering). I was assigned the task of working with another member to develop the GUI and I, specifically to learna about Google maps and make sure that a map appears in our application. Briefly, our application pulls property tax data from dataVancouver and displays filtered information in the form of a map or table. I thought it would be a pretty neat idea to see how property taxes are distributed in the region of Vancouver, so we'll see how this turns out! If successful, I hope that our application will show some kind of pattern in property taxes in different regions of Vancouver visually on a map. I began the other night, looking for ways to get the google maps into our application. I began a new project and everything was a-okay until I looked at a few introductory applications in google code... Turns out there was a Google Maps API version 2 and 3. Let's say I spent a little too much time trying to get v3 working because I didn't know like they were calling v2 a deprecated API... So I spent the whole night (and the next night) scratching my head and pulling out chunks of hair trying to figure out why the sample application wasn't working out. I moved the jar file around my project, downloaded different versions of the jar file and moved those around.. Tried different tutorials and internally cried blood. I later on, in a nutshell managed to finally get the map to appear in dev mode. *phew*

Lesson learned: In software engineering, dealing with project setup - a tedious task that all programmers have to deal with is inevitable. It's part of the process of software development. I wouldn't believe it if anyone was able to start with an errorless project in which build paths are correct, the correct jars are installed, and everything's compatible. Everyday, new software is shared, old software is updated. Compatibility issues are bound to arise due to these software updates and improvements.
Now, I think I've come to the point where I realize that if I'm not experienced enough, I should be prepared to spend hours searching up solutions on google to see what the problem is with my project and why certain errors occur. I'm prepared to spend the ENTIRE day searching for a solution. The next day even. Distractions are a big nono.  ( I should've realized this before though, this definitely wasn't the first time I ran into project setup pains )

Some of the solutions to my project setup problems:
- restart IDE (if you're using one.. Eclipse in my case)
- start afresh. (delete the entire project and start the setup process again)
- check and ensure that you have the right versions of everything - Jars -- libraries, APIs...
- ask someone, they might have a clue. Otherwise, they serve as someone to keep me sane for the duration of my hair-pulling project setup experience. -- good reminder that everyone (computer scientists..developers) goes through the same painful experience.