Wednesday, November 30, 2011

Issue driven project management

In our software engineering course, we have been given the task to construct a command line interface as 

a group effort with use of a unique tool to help us along with the project management.  This tool, an open 

source type of hosting application provided by google allows us to upload our code to a repository and post 

the updates that each group member chooses to be responsible for.  What is good about this type of 

"issue" driven project management system is that it continuously logs the contributions to the project as 

they are made and thus provides realtime feedback to the contributing members of what has been 

completed, is currently being worked on, and what still needs to be started.  The hosting interface is quite 

intuitive, and can be quite a powerful tool if used to its full potential and capability; however the tool is only 

as powerful as the one who uses it to its full potential.  I think that the all-encompassing lesson to learn 

from this assignment was to figure out how to work well with others, and that working in groups especially 

with a project such as this where individuals are responsible for certain pieces of the project, is that it

requires a certain amount of trust in your group to get their part done on time.  

I think that this project management tool helped exploit both our strengths and weaknesses as a group, 

and provides a source of feedback of what seems to work and what could potentially improve the efficiency 

of the group.  I think for our group, we may have not used the functionality of the project hosting to its full 

capability, and that at times it was hard to determine if there was any progress being made on the issues 

due to the lack of updates.  However, when there were updates and changes made, it was clear who had 

done what and what actions were performed for that update.  Another advantage to using a project hosting 

tool such as this is that it minimizes the need to physically meet with the other group members.  Everything 

can be done remotely through the repository, and in some ways makes the whole process of working with 

a group more efficient.   

Monday, November 7, 2011

Wattdepot Katas

Recently in the software engineering class, we had introduced to a custom built software called WattDepot.  This software 

was designed and built for a project to allow the university to monitor power and energy consumption of the school 

dormitories.  As a way to familiarize ourselves with this custom built software, we were instructed this week to develop a few 

short programs to perform basic data retrieval functions from the wattdepot server.    


Initially, the amount of information was a bit overwhelming, and took awhile to decipher how to user certain components 

correctly.  Some of the technical information provided by the javadocs were a bit sparse at times, and at times were not very 

helpful.  However, with that being said, when one spends enough time perusing through every possible document and 

fiddling around with the functions, it became familiar and easier once I got the hand of it.


In total, I probably spent around 8 to 10 hours working on these programs.  There was about a good hour or so just to 

read through the documentation and articles to get a good grasp on what this project was, and how to implement the code 

that would communicate with the wattdepot server.  I had to figure out a system of how to test my programs from the command 

line so that they would talk to the actual wattdepot server, and found an easy way to do this with a simple change to the 

jar.build.xml file that came with the wattdepot download.    
SourceListing:
The first “kata” called sourcelisting was quite simple and took about 5 minutes to write and test.  Using the simple application program that came with the source files as a basis for the program, it was a matter of changing a few things around.
SourceHierarchy:
This kata was a bit of a hassle due to some of the confusion induced by the methods of the classes.  At this point, I was 

still figuring out exactly how to use the methods correctly and so was unsure what to call for the class objects that I had 

created.  At first I had used the owner from the source class thinking that it would indicate some kind of network of the source 

hierarchy, but found that that was not correct when I printed out the results.  I am not certain that I used the correct methods to 

determine the source hierarchy, however I did receive results that looked promising with the isSetOwner method, which 

shows some form of ordering through inspection of the source name.  In the end, I probably spent about an hour to an hour 

and a half on this implementation.
SourceLatency:
This kata was pretty simple to do because it was a bit of a rehash of the simple application code.  However, I spent a 

good chunk of time wondering how to calculate the latency.  I actually skipped this problem and went on to the others, and 

came back and did this after.  After looking at the simple app code, it was quite easy to devise some code of how to do 

calculate the latency.  Including the amount of time I spent pondering how to do the problem, it took me about an hour or so to 

complete.
EnergyYesterday:
This kata was the one I probably spent the most time on.  It was the first problem that involved the energy retrieval and 

multiple timestamps.  After tinkering with the methods for awhile, and testing to see that I was actually implementing them 

correctly, the issue of how to sort and display the corresponding source name took some time to solve.  This was particularly 

time consuming because in the software package there is no inherent method for sorting or mapping.  So I actually 

implemented a hash map, which is probably not the most efficient process due to some lag time when the program executes, 

but it seemed to do the trick.  With all the hurdles and lessons learned from building this program I spent about 2 1/2 hours. 
MondayAverageEnergy:
After doing the EnergyYesterday program, this was a breeze because I had done all the work already for the previous 

program.  This was a simple matter of changing around the timestamps and averaging the values of the collection points.  

There were a few issues while debugging the program, but found most of the problems were syntax errors.  This took about 

hour to complete.
HighestRecordedPowerYesterday:
Unfortunately, I did not get this program to work correctly.  I did get some results from the power retrieval method, 

however, they don’t seem to make any sense.  I think the problem may be the time interval that it is collecting at. I assumed 

that the timestamp increment method was the only way to continuously change the hour, however when printing the results of 

the collection times, the data didn’t seem to change.  I actually worked on this program, but then moved on and came back to 

it later.  I spent a total of 2 hours on this problem.
    In conclusion, this was a very time consuming task, due to the fact that we were learning how to implement custom made 

software, and the extensive amount of parameters and collection processes.  All in all, it was a good learning experience and 

gives a sense of what it takes to develop software for a system.  There is obviously a whole lot more functionality built into the 

software, and for this assignment, it seems as though we’ve barely scraped the surface of manipulating the data. 

Thursday, November 3, 2011

Renewing our sights on Renewable Energy

        In most recent years, it has been quite astounding to witness such a collective shift of consciousness and awareness 

towards human effect on the natural environment.  In 2007, it seemed as though the whole world had been swept over with 

this newly coined term of “going green” to imply that people were now taking the initiative to be more environmentally 

conscious and responsible for their energy usage and lifestyles.  Although this has been a definitive step forward in the right 

direction, there is obviously a much larger need for action and attention on these issues from a societal/communal 

perspective, and that we should be allocating a lot more financial resources to the development of sustainable/renewable 

types of technology.  There is no doubt that as our societies continue the trend of consumption at their current rate, our global 

situation will continue to grow ever dire.


For the state of Hawaii, our solution for both economical as well as ecological stability seems to be staring us in the face.  

With our geographical location, we are a perfectly suited host for green technology development and implementation, and 

should be at the forefront of this movement, setting the bar for the rest of the country.  Being completely isolated on an 

independent energy grid should be all the more reason why we need to severe our dependence on imported oil.  Not only is 

our dependence on oil growing and negatively affecting our environment, it negatively affects our economy as well by 

sapping the infrastructure of money and jobs.  By locally developing technology to utilize renewable energy sources, we 

would not only ensure the protection the environment, but we would also be able to stimulate our local economy by retaining 

money locally, and creating meaningful technology jobs.


It is refreshing to see that, although however slowly, renewable technology development within Hawaii is  starting to 

come into focus.  Associations within the University of Hawaii such as HNEI (Hawaii Natural Environment Institute) are 

working with energy companies to develop metering devices to equip consumers with feedback tools so that the consumer 

will be able make more conscious and responsible consumption choices.  Things such as these metering devices could 

revolutionize the way we view and think about energy consumption in our households, and possibly spur a much greater 

awareness than itself.   


As the way our American culture goes, however, capitalization on consumerism by large corporations is what primarily 

drives or should I say puts a cap on our progress towards what we are actually capable of achieving as a country.  This is not 

a completely isolated pessimistic view because in line with some current events, there seem to be a lot of people who feel 

polarized on the idea of large corporations holding the balance of the nations economy.  Ultimately, there needs to be a 

corporate mind shift to focus on what is absolutely necessary, and what we should really be contributing our efforts and 

energy towards.