Recent posts from Soren Harner

Soren Harner

Terence Parr is presenting ANTLR this evening Wednesday 20 June at our new office here in Sydney:

173-185 Sussex Street
Sydney, NSW, 2000
Australia

Google Map reference is http://tinyurl.com/yu9hh8

The time is 6:00pm for beer and pizza, 6:30 start.

The Sydney Java Users Group (SJUG) has organised this lecture:

"Our speaker is Terence Parr, a professor of computer science and
graduate program director at the University of San Francisco where he
builds programming language tools such as ANTLR and StringTemplate.
Terence has consulted for and held various technical positions at
companies such as IBM, Lockheed Missiles and Space, NeXT, and Renault
Automation. Terence holds a Ph.D. in Computer Engineering from
Purdue University and was a postdoctoral fellow at the Army High-
Performance Computing Research Center at the University of Minnesota
where he built parallelizing FORTRAN source-to-source translators.

ANTLR is a popular public domain parser generator built in Java.
ANTLR is used internally by many open source projects including
Hibernate, JBoss, Checkstyle and many more. It is also used in many
commercial tools such as IntelliJ IDEA, Clover, FishEye, BEA/
Weblogic, Apples iWeb, Tivoli and others.

Terence will give a brief introduction to ANTLR and the new features
in the recently released v3. He'll then demonstrate ANTLR's ease of
use in solving common parsing problems, including processing config
file formats, designing and parsing DSLs, and processing/translating
programming language source files. He'll also demonstrate ANTLRWorks,
a sophisticated GUI development environment for writing and debugging
ANTLR grammars."

Soren Harner

For my Fedex Day project, I wrote an application to extract social interaction data from internal Atlassian blog posts and perform several types of Social Network Analysis. Social Network Analysis uses graph theory algorithms to study social relationships among individuals.

I compared the Atlassian blogging community to three other datasets, which can be downloaded for research: interactions among a group of 62 dolphins; social interactions in a Karate club at a US University; and co-appearances among characters in Victor Hugo's Les Miserables. I wrote the program for building the social network graph in Ruby, and I used the R Statistical System and the SNA package to do the social network analysis computations.

The social network graph for blog posts looks like this, where individuals are nodes in the graph and edges are interactions.
Atlassian100_.png

I calculated several social network analysis metrics: I calculated "betweenness", which identifies people who bridge various parts of the network; I calculated "closeness", which indicates the strength of someone's "grapevine", for being plugged into information; and I calculated "eigenvector centrality", which is often interpreted to indicated the "power" of a node in the network.

I found distribution of the "betweenness" scores most useful (i.e. discriminating) in comparing the Atlassian community with the other groups. The Atlassian "betweenness" scores were distributed like this:
atlassian100.rescaled_.png

At the end of the analysis, it was clear that the Atlassian blogging community resembled (you guessed it!) the dolphin community most closely. In the Atlassian and Dolphins graphs, different regions of the graph had many "bridges" between them. In the social network graphs for Les Miserables and the Karate Club, different regions of the graph depended on just a couple of people to "bridge" them. I interpret this as meaning that communication is less "siloed" for the Dolphins and for Atlassian.