Tuesday, March 26, 2013

I am still learning GWT, CDI, Errai, and Errai Navigation. I also need to update my HTML skills to HTML5. One thing I worried about when I graduated was ending up in a routine job. Friends told me how much easier working was than school. The grad adviser seeing how tired I was from school suggested I get a job before I went on for a PhD. He said he had one student report back he was being paid not to do much of anything. I didn't want to sit around twiddling my thumbs.This internship has been so challenging that I didn't need to worry about any of that. This internship has been like being in grad school. There is always something new to learn.

Tuesday, March 19, 2013

I feel a little better. I'm not the only confused on how to use Errai. A customer just gave some constructive feedback about the Errai User Guide on Errai's irc.
I realized it has been 2 weeks since I have posted. Last Friday I got out of a rehab hospital for my fractured ankle. Fortunately, I had my computer with me so I could do some work. Now I have to work around home health care of nurses, doctors, physical and occupational therapists. I am in worse shape than before I fractured my ankle but I must press on. At the hospital they discover I was anemic, had a urinary tract infection, and was treated for my kidneys. The past year has been bad health wise but these problems will not stop me from working.

I tried writing a sample errai Navigational application based on the information on the website. Up until then I had used only simple errai CDI applications. Fiddling with code wasn't getting me anywhere so I decided to go back and read the reference guides on errat, GWT, and CDI. I realized I needed a better understanding of errai. GWT, and CDI before writing a Navigational app and modifying it.

Thursday, February 28, 2013

I realized it had been more than 2 weeks since I posted on my blog. Our originally project was to test the scalability of Errai. I first learned junit testing with an application my mentor wrote junit-4-prefrunner which I have discussed in earlier posts. My mentor had also built a testing application with an user interface.This application used time interval, message multiplier, and number of bytes to get the number of bytes that reached the server. He wanted the average, max, and min of the speed it took messages/bytes and bytes/message it took to reached the server. I modeled it using junit-4-prefrunner. My mentor thought I was just learning more about junit-4-perfrunner. He also wanted a test harness with an user interface similar to his other application. He said he doesn't know how to do this. That it was just exploratory. It meant learning GWT and Errai-bus really well. After spending a lot of time on this we decided to switch projects. I am working on allowing any class that implements IsWidget to be annotated with @Page.We'd like to be able to more easily implement MVP using Errai-UI Navigation. Having a Presenter implement IsWidget annotated as @Page would allow us to do that. This will still mean learning GWT better but the project also uses CSS. It also uses Errai- UI Navigation that starting in version 2.1, Errai offered a system for creating applications that have multiple bookmarkable pages. This navigation system has the following features:
  • Declarative, statically-analyzable configuration of pages and links
    • Compile time referential safety (i.e. “no broken links”)
    • Generates a storyboard of the application’s navigation flow at compile time
  • Decentralized configuration
    • Create a new page by creating a new annotated class. No need to edit a second file.
    • Make navigational changes in the natural place in the code.
  • Integrates cleanly with Errai UI templates, but also works well with other view technologies.
  • Builds on Errai IoC & CDI

After making this decision to change projects my work was interrupted. Because my legs were still weak from rhabomeolysis I fell getting into my car and fractured a bone in my ankle. Because I can't take care of myself I am presently in a rehab hospital. I am having to spend late morning and early afternoon in therapy. I brought my computer to the hospital so I can still work late afternoons, evenings, and some times early in the morning. I am always interrupted by doctors, nurses, case managers, X-ray technicians, and people to take my vital signs. Hopefully I'll be able to work more on the weekend. I don't know how long I'll have to stay here.

Friday, February 8, 2013

I need one of the marketing interns to market junit-4-perfrunner so more people are using it. That way I would have more people working with it than me and my mentor and I could get some help writing test cases. My mentor has been gone this week so I have been on my own. Testing errai is a lot more difficult than what I have done already. I was discussing some of the problems I was having with devchix. Their immediate response was to use jmeter since they had not heard of junit-4-perfrunner. Thus brings up the problem of having a new superior product but nobody knows about it. It gets lost in github and the internet. My mentor released junit-4-perfrunner last year. jmeter has been around longer and has established itself. Once people have a product they think works they are less likely to change. If the marketing interns have any tips I would be happy to hear them.

Thursday, January 31, 2013

The past week has been frustrating. Since the last release of Errai the updates and changes have made it so Errai won't run. We can't figure out where the bugs are that prevent Errai from running and we have been trying all week to figure it out. With something as complex as Errai, it is difficult to find the bugs right away. We had to give up on our plans of performance testing of Errai for now.. The complexity of a lot of projects is what has kept me out of FOSS up until now. Women from Systers and devchix kept telling me I needed to build my portfolio in FOSS to help me get a job. A couple of women sent me links from github of projects they thought I would be interested in based on my background. It's difficult to dive into complex projects when you are a beginner and haven't been there from the beginning of a project. My mentor has been on the Errai project since the beginning and he can't figure out all the bugs preventing Errai from running yet. I established an account on github back then but had no idea what I was doing. I was able to learn the basics of github but it wasn't until this internship that I learned any more details of github with the help of my mentor Jonathan. Hopefully, the details of our internships on our blogs will encourage other beginners to  give it a try.

Friday, January 25, 2013

Most software developers at some point find themselves Googling for help. One of my pet peeves is when developers use the same tired example to educate. If other people are using the example you probably don't need to repeat it. Come up with your own example! We are searching because we didn't find the tired example too helpful. My other pet peeve is when developers only give a few lines of code without giving a complete example demonstrating the concept in question. I ran into these problems when trying to look up ExecutorService which is finally why I had to get help from my mentor. That is why I made sure our example made it to my blog. I imagine if I kept searching through all the links I could have found something helpful but that takes time. Part of the reason for the FOSS movement is to help other developers. When you solve a particularly hard problem be sure to post it so others can learn.