Archive for the ‘technology’ Category

3, Jun 2009

Define Wave

With google wave just around, I am sure wave will have a new definition soon.

It is highly appreciated for Google to release to public something that’s not even beta… But I am sure Google also understand the enormous potential this new revolution will have over generations to come. Release it under open source would even magnify the impact.

The way we communicate, is going to change…

18, Jan 2009

The new theme – dilemma of CSS

I have just updated new theme, if hope you like it!

I think I have been updating themes quite regularly. But lets see, what’s the process that I follow to update the theme.

1. Staging server

Play – play a lot with the staging server. Obviously the server is local on my PC. I am using DynDNS to make sure that the staging server, even if local, gets all the features of a full blown website. 

2. “hg ci” on the staging location.

The wordpress theme on the staging server is under hg (Mercurial Configuration management system). Its good to keep track of the changes! :) But this also helps to “merge” the changes! Go throught this post and you would understand what I mean by “merging

with “hg ci” the Commit command of mercurial the changes are frozen to be taken to live server.

3. Local replica

On the live server, I have 3 sites to maintain; purnank.in, fun.purnank.in, meera.purnank.in

I have to uploading the changes via ftp. (I still don’t know how to do that using command line. But it’s on my wishlist to do that with ./command rather than at the click of mouse.)

(more…)

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. :)