Wednesday, June 20, 2007

The Great Job Hunt

Ahh the good ole engineering log. More like my personal organizer and to-do list.

In preparation for the upcoming job interviews I thought it best to look over the following basic technologies just to ensure that I have answers to various questions, and to go over the things that I "supposedly" learned in 413.

Review List:
Servlets
Apache Tomcat
Apache Ant
Junit/Unit Testing
Rest API (via the Hackystat RestApiSpecification: http://code.google.com/p/hackystat-sensorbase-uh/wiki/RestApiSpecification)
Apache Struts
Ruby on Rails

Seems like a reasonable list to review for the present.

Friday, May 4, 2007

Zombie State

Yes well at least I got the demo working a little while afterwards the meeting. Didn't go as well as it should have, but I'm pretty close to being finished, should be completely done sometime next week. Hopefully.

Wanted to blog about the help I got from Hong Bing before I forget what he told me. Basically the data that the jstl buttons receive come from within the form declaration on the jsp page. If there is no data declared between the form tags then the button and subsequent java class will have no data to handle. This is leading to a single button implementation. Also of note is that the user emails will need some kind of remove functionality. There are still some bugs with the xml persistence mechanism and I want to be sure that its happening correctly before I try to break something else.

Thursday, May 3, 2007

Sleep Deprivation and H4's

Last night was the first time I slept in almost 4 days.

It's probably a good thing that I hadn't blogged during the interval since it would've been incoherent rambling (much like how I normally blog I guess).

Monday was the first H4 I had done and was with Hong Bing working on my TimerTask implementation. The TimerTask makes a call to its own generateEmailIfTriggered method, making a reference to whether the Alert associated with it is enabled or not. The unfortunate result of my fooling with the TimerTask was general email spam being sent out to myself, Philip, and possibly Aaron and Austen although they said that they were unaffected. Last night even though I had disabled all alerts for every registered user the server was still attempting to send emails to Philip. Good thing that Road Runner is registered on the RBL List as an untrusted source of spam. So I can't send emails to test the module from home, but I can see where it is attempting to send emails to. If you received any spam from me, I apologize.

The hardest thing I'm having to deal with now is the transfer of data from the CommandRequest classes, as any data entered into them seems to get wiped out every time the page gets reloaded. The solution to this I'm assuming is JDOM persistence which is the last thing I need to get done.

Today's H4 was with Robert Brewer and dealt with going through the Agile Web Development with Rails book and the tutorials found therein. It highlighted the Ruby's interfacing to a database, creating and validating data and formatting the data for display on the web. I really hope I have some time in the near future to begin programming Rails although the sense that so many things are hidden in the implementations is slightly unnerving. I think its the same with any new programming language you encounter since Java often does the same thing.

This friday is the final deadline for the project and I'll be visiting Referentia in the morning. I still need to write up a user and administrator guide tonight. So its time to make the last burst for the finish line.

Sunday, April 29, 2007

Tutorials bonanza

Some of us are graduating soon so I thought I'd put some stuff together for us to keep out collective hacking skills together. For the past year or so I've been amassing a collection of tutorials from digg, of which I have actually gone through very few. Some of them are general computer science knowledge, but most do represent technologies which we have touched upon this semester and I thought I should share them in order to provide those of us who will soon be having a lot of free time something to keep our technological chops in good condition.

Top 12 Ruby on Rails tutorials


5 books every programmer should read


The Ajax toolkit framework for Eclipse

Over 140 Ajax tutorials

Python Tutorials (only because I know absolutely nothing about Python)

Computer Science Cheat Sheet

54 general programming exercises

Keep those coding skills up to snuff graduating class no matter what you're doing from here on out.

Friday, April 27, 2007

Echo2 and the REST Architecture

I was really impressed with the REST architecture as outlined by Phillip today. Especially with the ease of the way in which modules interact via HTTP get, put, etc commands. Instead of the big black box program that it was before splitting up the system into smaller black boxes which communicate via such simple procedures seems infinitely easier than the hidden communication channels that you had to hunt down before. When I first started out developing for Hackystat I felt like it was this big black doorless house that I was stumbling around in the dark looking for a way in. Eventually some of the hidden doors revealed themselves through the wood paneling, or I jumped through some windows, but under the rest architecture its only a bunch of outhouse shaped buildings that have clearly defined paths between them. From a developer standpoint this is infinitely better than how it was before.

I'm have a probable entry point for my TimerTask to intrude upon the Hackystat architecture, and once its working will finish the alert portion of the module. I still need to find a way to set a different time interval at which the emails get triggered for testing purposes though.

Working on the UI as I write this.

Wednesday, April 25, 2007

Peer UI Programming

The data gathering bug, which resulted in me gathering data for only my single user instance instead of gathering data for every user and consolidating them in a single daily project data instance, was a result of me not being logged in as the administrator of the project over which I was trying to gather data.

When logged in as the owner of a project the mail and all its formatting seems to work fine, although I will need more data in order to verify this. Right now have switched all efforts onto working on the alert implementation of the emailer which includes its own timer task implementation because the default Alert interface was dependent upon the default timer task, and therefore the default emailer which does not support html emails. Speaking of which I still need to figure out why the email does not display properly when viewed in gmail. As Robert says it is probably the external stylesheet and .gif links embedded. I will have to find a way to circumvent this eventually. With the TimerTask I need to figure out: 1) How to implement a second differential instead of a single set hour each day, 2) Where the alert makes calls to the actual Java code.

So the final to do list for the remainder of the semester looks like this:
1) Alert
2) Resolve Email issues
3) Fix the UI data gathering issues
4) Persist the data gathered from the UI

Wow I might actually finish this thing on time.

I have no idea what I'm going to talk about tommorrow.

Yay.

Friday, April 20, 2007

Houses that Open and Ghosts in the Shell

The open house event was fun and informative since up until now I've never been privy to any of the products and services that they provide to the DoD. Models and Simulation, Autonomous Agent systems and Data Mining are all things that I love reading about and hope I have a chance to work on at some point later, if not for a company then certainly from a personal research perspective.

An autonomous agent system for Hackystat would be interesting. Sending the agents out into the web, to crawl and collect data, which they send back to the central Hackystat repository. Would be cool to see in action. I especially liked the microwave emitter demo and their dispersion algorithm. I still would like to do something modeling systems of objects in their relationship to one another. Like the swarming or flocking presentations I've given in other classes.

Would any of it work for Hackystat, who knows. I haven't even taken an AI course yet =\. Remind me to ask the guys in the lab for a good AI book.

Still still still trying to track down the dpd bug. I think it might have something to do with the fact that sending a single project instance to the data gatherer returns data, but iterating over all the projects owned by a user returns the indication that every project has zero data. Hmmm. The interface I don't think is a bug rather than I need to implement the request hooks instead of just trying to pull the data from the main UI java class. Should shoot for getting this done by this weekend.