dimitris kalamaras

mathematics, social network analysis, free software…

Tag: SocNetV (Page 2 of 2)

SocNetV – 80% completed

Last Friday, it was high time to release a new SocNetV version. The brand new v0.80, the first after six months, marked what I think the start of a more mature period for this tiny little project of mine.

What started as a personal desire to create a simple drawing tool for social networks has become a quite sophisticated tool for social network analysis (spare me, I am talking about mathematical sociology here, not facebook etc):

  • It can read all major network file formats (GraphML, pajek, GraphViz, UCINET, csv, or adjacency matrix) and save the network in GraphML. In the next version, I plan to even add support for the older GML format.
  • It can swiftly compute centrality measures (closeness, betweeness, eccentricity, etc) and layout the network actors accordingly, in radial or layered style, at least for small to medium sized networks (i.e. < 3000 edges). Moreover, it implements one of the fastest known betweeness centrality calculation algorithms. For the 0.90 release, I want to add a couple or more new centrality algorithms (i.e. power centrality by Gil-Mendieta and Schmid).
  • Since 0.70, it can even crawl a given website and create the network of its outLinks. Later, I plan to add support for mailing list archives crawling…

In the new version, I added some social capital features. The software can compute a ‘triad census’, namely it counts all the different types (classes) of observed triads within a network. The triad types are coded and labeled according to their number of mutual, asymmetric and non-existent (null) dyads (this labeling scheme is called M-A-N). This new feature is complimented by a simple, naive (please note, this is a NP-complete problem) clique counting alrorithm.

Also, the speed of the network parser has been improved somewhat by removing some unnecessary checks and adding a simple control variable. And the GraphViz load method is a lot better now. I think. 🙂

As usual, at least a dozen of bugs have been reported and fixed. Of course, it’s not perfect, and certainly many improvements can be made, but the code is there, and is constantly evolving. I think that it deserves to be named 0.80. I am not sure though how easy will be to reach the other 0.20 to the first 1.0 release… If you have an idea about a possible feature, feel free to submit a blueprint.

As usual, source code and binaries for all major distros are available from the project website at SourceForge.

SocNetV 0.70 – the web crawler release :)

It’s been only one month since the release of 0.60, but Social Network Visualizer version 0.70 is here! This summertime release justifies its existence with two new features, a built-in web crawler and multiple node selection.

The web crawler, based on some older tutorial code I had, is pretty simple software (don’t expect Google power here!), which automatically creates mathematical graphs starting with a given URL, called the seed. As the algorithm crawls that seed webpage, it identifies all the links inside the page and adds them to a list of URLs (called frontier). Then, all the URLs from the frontier are recursively visited. In this process, a network of pages (nodes) and links (edges) is being developed allowing the researcher to study and visualize network properties, such as centralities, etc.

At the moment, the web crawler code is quite immature (i.e. doesn’t recognize framesets) but I hope it will evolve in the future. To test it, go to menu Network > Web Crawler (keyboard junkies, press Shift+C). A dialog will appear – enter the initial web address (seed), the maximum recursion level (how many URLs from the frontier will be visited) and the maximum running time and press OK. Here’s a screenshot of SocNetV crawling http://socnetv.org with betweenness centrality radial layout:

Read More

SocNetV version 0.60 says hi!

Happy to report that we released version 0.60 of Social Networks Visualizer (SocNetV) on May 27, 2009. This is a major release bringing:

  • native support for GraphML (this becomes out default load/save format for networks),
  • edge filtering by their weights,
  • new node shapes,
  • lots of bugfixes
  • fresh iconset
  • and a bit of geek cream on top: custom background images.

Read More

SocNetV 0.51: changes, new logo, and RPM packages

Last Friday, I released version 0.50 of Social Networks Visualiser (SocNetV) and version 0.51 followed already (yesterday), fixing an important (and yet embarrassing) bug in Graph::createDistanceMatrix() method.

IMHO, this new version is the first really usable version of this little application. With it you can draw mathematical graphs (social networks, to be precise, since the focus is more on Social Network Analysis than on Graph Theory), by pointing and clicking, load existing networks of most popular formats (Pajek, GraphML, GraphViz, UCINET, etc), create random networks (Small Worlds, Erdos-Renyi, Ring Lattices, etc), compute actor centralities (Betweeness, Closeness, Graph, etc) and clustering coefficients, select a different network layout based on these centralities (or Spring-Embedder models), and finally export your work to PDF, BMP or PNG file formats, without crashes (unlike earlier releases). A complete workflow, that is!

I am really proud of this progress (if not amazed) since I didn’t expect it to come this far 5 winters ago when I was playing with Qt toolkit while I was on army service in Evros 🙂 Yet, this application has really evolved in my spare time, and seems to be useful to some people (mostly academia).

To celebrate this new release, I prepared RPMs for both Fedora 10 and openSUSE 11.1 distros. Serafeim Zanikolas maintains already an older .deb package in Debian ‘experimental’ (and soon in Sid), while Markos Chandras just added SocNetV to qting-edge overlay, which also houses all new Qt4 and KDE4 software. Ubuntu users may add my Launchpad PPA (older version) to their repos or opt to compile from source (it’s really easy!). Meanwhile, 0.51 is the first version for which we provide a Windows zipped archive with executables (although I cant say I really tested it :P)…Oh, and we now have a much more polished and ad hoc logo (handmade with Gimp/Inkscape of course):

Nice, isn’t it? 😛

SocNetV 0.49 & Ubuntu packaging

Found some time today to finish another SocNetV release — after three months of development, SocNetV 0.49 sports a redesigned dock with tabs (statistics, edit, layout), new supported social network formats, weight numbers on edges and, as usual A LOT of bug fixes :P… But, the funkier feature of this release is that I finally managed to build decent SocNetV packages for Ubuntu Intrepid Ibex. Thanks to Canonical’s Launchpad, my very own PPA (Personal Package Archive) can be used as a third-party repository in your Ubuntu installation. All you have to do is to add these two lines in your /etc/apt/sources.list file:

deb http://ppa.launchpad.net/dimitris-kalamaras/ubuntu intrepid main
deb-src http://ppa.launchpad.net/dimitris-kalamaras/ubuntu intrepid main

Then, update your package list and install SocNetV with this single-line:

sudo apt-get update && sudo apt-get install socnetv

To run it, just go to Applications > Education > SocNetV,  et voila!

SocNetV 0.49 in Ubuntu 8.10

SocNetV 0.49 in Ubuntu 8.10

Unfortunately, it seems I can’t figure out what is going on with my older RPM .spec file, although I did try some mods, which is why the openSUSE Build Service refuses to build even plain openSUSE 11.1 packages. The funny thing is that the same .spec file builds the RPM ok in my local openSUSE install… And, unfortunately I have no more time to spend on it. 🙁

SocNetV gets a review (not bad one :))

I started this SocNetV thing as a learning exercise: to deepen my knowledge of Qt/C++, to familiarize myself with tools like svn, mercurial, etc, and, above all, to build something that I needed back then in my Linux box (was it Mandriva 2005?): a simple application to help me draw social graphs and compute some statistics (centralities) about them. After three years of development, Social Networks Visualiser is nowhere near complete, but it is quite usable and it’s getting better (I think).

Today, a friend called me to comment on the “review”… I was, “what review?”…Well, it seems that somehow, Mihai Mircea, the Softpedia Linux Editor was convinced that SocNetV deserves a review on Softpedia. So, there it is: we got 3 stars out of 5. Not bad — actually it was more positive than I would expect. Anyway, thanks for the review and the thoughtful comments, Mihai.

RPM .specs, for a Qt4 application

Been busy the last few days; mostly reading math but occasionally I would steal some time (preferably late at night or in the afternoons) to hack on SocNetV — btw, I released a bugfix 0.47 a couple of days ago.

Today, I decided to check on SUSE Build Service. This is a complete distribution development platform that provides the means to build packages for openSUSE distributions as well as most other Linux distributions. The whole idea seemed to be “upload your source tarball and a spec, and we’ll make binary packages for you for every distro you name”. This is just awesome, if you think about it, cause it takes all the trouble from the developer. Well, I was reading their manual, trying to understand which-is-which and what-to-do-to-build-my-great-package, when I realized that I could easily make an RPM for SocNetV with no hassles, and no Build Service at all. You see, we had a very nice tutorial on building RPM packages in the Greek edition of Linux Format magazine. At the time, I hadn’t test the instructions in real world examples, but hey ..it couldn’t be that hard! And it wasn’t. Actually, it was far easier than I thought in the first place…

Read More

Page 2 of 2

Creative Commons License
Licensed under a Creative Commons Attribution-ShareAlike 4.0 International License - Powered by Linux