Archive for September, 2008

23, Sep 2008

Developing HackyStat on your PC

Another Sequel! This one to Run HackyStat on your PC

HackyStat depends on many tools! If you want to build them
on your PC, you need to have all of them and the correct versions! :(  

By the way,  you need to set many environment variables also! :(

Here is what I did to over come that trouble some process… Wrote a batch script!

This is my directory structure!
 

C:\HackyStat\development\tools\ANT_HOME
C:\HackyStat\development\tools\APACHE_COMMONS_LOGGING_HOME
C:\HackyStat\development\tools\APACHE_JCS_HOME
...
C:\HackyStat\development\tools\SLF4J_HOME
C:\HackyStat\development\tools\SVNKIT_HOME
C:\HackyStat\development\tools\WICKET_HOME
C:\HackyStat\development\source\hackystat-analysis-dailyprojectdata
C:\HackyStat\development\source\hackystat-analysis-telemetry
C:\HackyStat\development\source\hackystat-sensor-ant
...
C:\HackyStat\development\source\hackystat-sensorbase-simdata
C:\HackyStat\development\source\hackystat-sensorbase-uh

Necessary external tools in tools directory, and the actual HackyStat
source code in source directory. :) How intuitive! :)

Some thing very interesting to be noted is tools\*_HOME
If HackyStat needs that environment variable, i have the required
files put in there! 

This is my SET_ENV.bat located at C:\HackyStat\development.

i.e. C:\HackyStat\development\SET_ENV.bat

@REM echo off
pushd %~dp0
SET JAVA_HOME=D:\JAVA_HOME
for /d %%d in ( tools\*_HOME ) DO (
    SET %%~nd=%%~fd
)

set PATH=%PATH%;%~dp0tools\ANT_HOME\bin
set HACKYSTAT_SENSORBASE_HOME=%~dp0source\hackystat-sensorbase-uh
set HACKYSTAT_DAILYPROJECTDATA_HOME=%~dp0source\hackystat-analysis-dailyprojectdata
set HACKYSTAT_TELEMETRY_HOME=%~dp0source\hackystat-analysis-telemetry
popd

So, before any development work, i run set_env.bat and all necessary
environment variables are set.

What if a new tool is added/removed? Just add/delete it from
the tools. Everything else would be taken care of.

By the way, I also wrote a shell script!

# To be sourced
for dir in  `pwd`/*_HOME ; do
    if [ -d $dir ]; then
        echo `basename $dir`=$dir
        export `basename $dir`=$dir
    fi
done

I hope this saves some time for the new HackyStat developers.

21, Sep 2008

Run HackyStat on your PC

A step by step guide to start HackyStat on your PC. A sequel to Diving into HackyStat

I hope this will help you quickly start running HackyStat on your PC. Feel free to provide
any feedback in case my explanation is wrong or ambiguous.

Pre-requisites.

  • Java. It works with Java 1.5 but JAXB library needs to be installed separately.
  • Why have the worry? Install java 1.6

Download HackyStat

  1. Go to the download page. The latest binaries would be available at http://code.google.com/p/hackystat/downloads/list
  2. Download both, hackystat-8.X.YYY-sensors-bin.zip hackystat-8.X.YYY-services-bin.zip
  3. Unzip both files to the same directory. e.g. C:\HackyStat.server
  4. You should get a directory structure like this 
C:\Hackystat.server\hackystat-analysis-dailyprojectdata
C:\Hackystat.server\hackystat-analysis-telemetry
C:\Hackystat.server\hackystat-sensor-ant
C:\Hackystat.server\hackystat-sensor-emacs
...
C:\Hackystat.server\hackystat-sensor-example
C:\Hackystat.server\hackystat-sensor-shell
C:\Hackystat.server\hackystat-sensor-xmldata
C:\Hackystat.server\hackystat-sensorbase-uh
C:\Hackystat.server\hackystat-ui-wicket
C:\Hackystat.server\hackystat-utilities

Configure server (on next page)

21, Sep 2008

Diving into HackyStat

What is HackyStat?

  • Hacky – Something definitely related to Software.
  • Stat – Statistics. Software Statistics. Software Telemetry.

HackyStat is a framework for advanced software telemetry.  When you can monitor many chronological aspects of the software, you can have a fine grained view about where the project is proceeding! The idea is to, non intrusively, collect as much data as possible about various matrices in software development.

How old is the project?

It has been under development since 2001. But just went a major re-write. Presently at Generation 8.

What does it do.

Here is a simple explanation.

  • Many Tools collect various data.
    • Your code coverage report.
    • Unit testing report.
    • Code Churn
  • Sensors collect this data from client installation. send over to sensor base at a server.
  • There are other servers, that talk through RESTful APIs to this sensor base.
  • You can create/design your own web/service to have further insight into the collected data.

The Architecture

  • This is not a basic client server technology.
  • This is a RESTful architecture.
  • Many servers. Many Clients.
  • Everything doing just “a small plain simple job” but together many things.

What can it do for you?

(Copied directly from http://code.google.com/p/hackystat/ )

Hackystat is an open source framework for collection, analysis, visualization, interpretation, annotation, and dissemination of software development process and product data. The Hackystat Framework supports three software development communities:

  • Researchers. Hackystat can be used to support empirical software engineering experimentation, metrics validation, and more long range research initiatives such as collective intelligence.
  • Practitioners. Hackystat can be used as infrastructure to support professional development, either proprietary or open source, by facilitating the collection and analysis of information useful for quality assurance, project planning, and resource management.
  • Educators. Hackystat is actively used in software engineering courses at the undergraduate and graduate levels to introduce students to software measurement and empirically guided software project management.
More to follow. :)
Comments awaited. :)
2, Sep 2008

Google Chrome – Traces of Firefox3 within

In my previous post,  Google – Ready to take over the web, about Google launching a Brand new browser, based on other already existing open source technologies.

I just tried it. (This post is being written from Google Chrome). The UI is the same as described in the Comic book. People who have used FireFox 3, would be pleased to see the “refreshed” bookmarking facility, that also shows google quick search results.

Update: Official Google video (1Hour)
Google announcement

2, Sep 2008

Google – Ready to take over the web

Google had a focus/vision to collect all the data that is out there (on the web)
But now they would also control the look-and feel of the web.

If not taking over, this would surely hamper the efforts of microsoft silverlight and adobe for the web applications. This initiative of Google would make sure that silverlight does not become a monopoly on the web.

Here is an excellent comic book on Goolgle’s new web browser – Chrome.

They seem to say that it is being started from scratch – with some mozilla firefox code.