dimitris kalamaras

mathematics, social network analysis, free software…

Category: C++ (Page 2 of 4)

SocNetV version 1.2 released with lots of goodies!

A new version of SocNetV, the cross-platform tool for social network analysis and visualization, has been released. Version 1.2 brings a major GUI overhaul, a new conceptualization of “prominence” measures, new importance and reachability measures, many new visualization layouts based on the new indices, and fixes a slew of bugs (see below).

Read More

SocNetV 1.0 Qt5 is out! RPMs included :)

If you’re interested in Social Networks Analysis and Visualization (I’m not talking about FB/Twitter here!), check out our latest and greatest release of SocNetV, version 1.0.

SocNetV (Social Networks Visualizer) is now based on Qt5/C++ framework and has new great features, such as PageRank network analysis and, of course, layouts. At the moment, there is only source code and Fedora/openSUSE packages available from our project page in SourceForge. Soon, Debian/Ubuntu packages will be released as well. Warning: There are SocNetV packages in the official Debian/Ubuntu repositories, but it’s a very old version. Maybe a brave debian developer (serzan?) could fix this soon 🙂

Needless to say: SocNetV is a GPL3 application. It is free software (free as in freedom). You can copy it, modify it and redistribute it as long as any derivative work remains free software. Enjoy.

SocNetV on Maemo-N900?

Easy. Short of.

I did this ‘experiment’ to test how much cross-platform Qt really is. I wanted to see if SocNetV can run on Maemo with no modifications whatsoever. These are the steps I followed:

1. Downloaded and installed the Xephyr X11 server (this is a small X11 server that runs inside ‘normal’ X and provides a virtual device screen where you see all the Maemo applications running):

sudo apt-get install xserver-xephyr

2. Downloaded and installed  Scratchbox and  Maemo SDK  in my laptop (Kubuntu x86/lucid).  I followed the straightforward instructions from the Maemo wiki and especially “Installing Maemo 5 SDK on x86-32 Debian based distribution“. It’s only seven steps and circa 100MBs of total downloads…

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? 😛

Qt (Μέρος IV): Φτιάξτε παιχνίδια

Στα τρία προηγούμενα μέρη αυτού του tutorial, μάθαμε τα βασικά κόλπα της Qt, και την αξιοποιήσαμε στη δημιουργία διαχειριστικών εργαλείων για βάσεις δεδομένων. Καλά όλα αυτά, αλλά πως χειριζόμαστε γραφικά με την Qt; Λοιπόν, δεν υπάρχει τίποτε πιο εύκολο από αυτό! Για να σας το αποδείξουμε, θα φτιάξουμε ένα μικρό παιχνίδι σκοποβολής, το MouseShooter.

Το παιχνίδι θα αποτελείται από ένα μοναδικό παράθυρο, πάνω στο οποίο θα τοποθετήσουμε δύο κουμπιά (για Εναρξη και Τερματισμό του παιχνιδιού) και από κάτω ένα καμβά, όπου θα εμφανίζονται τα γραφικά. Είναι πρωτόγονο, αλλά ο στόχος είναι να δούμε τις βασικές έννοιες, όχι να ξαναφτιάξουμε το …DOOM! Αυτή τη φορά, δεν θα χρησιμοποιήσουμε το QtDesigner για να σχεδιάσουμε κάποια φόρμα για το MouseShooter. Το παιχνίδι μας θα έχει ένα πολύ απλοικό interface, οπότε θα είναι εύκολο να του στήσουμε το περιβάλλον κατευθείαν από τον κώδικα – για να δείτε πως γίνεται κι αυτό…

Η ιδέα για το γραφικό θέμα του MouseShooter είναι απλή μέχρι αηδίας: τα ποντίκια έχουν πέσει πάνω στο τυρί, και εμείς τα πιάνουμε στα πράσα και τα …πυροβολούμε. Αυτά πανικοβάλλονται και αρχίζουν να τρέχουν αριστερά και δεξιά. Τα γραφικά, δηλαδή το spite του ποντικιού και το φόντο του τυριού, τα “δανειστήκαμε” από ένα απλοικό παράδειγμα της Qt. Εμείς όμως θα φτιάξουμε κάτι πολύ πιο σύνθετο…Ας ξεκινήσουμε λοιπόν!

Εικόνα 1: Το εκπληκτικό shooter μας σε όλο του το μεγαλείο! Τα ποντίκια δεν μένουν ακίνητα βέβαια…

Read More

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. 🙁

Qt (Μέρος IIΙ): Αρχειοθέτης άρθρων

Στο προηγούμενο tutorial φτιάξαμε μια γραφική εφαρμογή, το BookAdmin, για να διαχειρίζεστε τη συλλογή των βιβλίων σας χρησιμοποιώντας μια βάση δεδομένων MySQL. Δεν ήταν κάτι ιδιαίτερο, βέβαια, και η αλήθεια είναι ότι θα έπρεπε ίσως να συνεχίζαμε την ανάπτυξή της (βάζοντας π.χ. φίλτρα για τις εγγραφές). Ωστόσο, πολλοί αναγνώστες του “LF” μας ζήτησαν με ευγενικό τρόπο (μας δωροδόκησαν καλά!) να τους δώσουμε έναν τρόπο αρχειοθέτησης των άρθρων του περιοδικού για όλα τα μέχρι σήμερα τεύχη. Οπότε σκεφτήκαμε: “τι καλύτερο από το να γράψουμε ένα μικρό tutorial γι’ αυτό βασιζόμενοι σε ότι κάναμε στο BookAdmin;” Έτσι, αυτή τη φορά, θα φτιάξουμε μια τέτοια εφαρμογούλα για να τηρείτε το “αρχείο” σας, αλλά και για να δείτε πως φτιάχνεται κάτι τέτοιο στην πράξη. Τέτοιο …making of ούτε στο Holywood δεν θα βρείτε! 😛 Σημείωση: μπορείτε να κατεβάσετε όλον τον κώδικα του άρθρου από εδώ.

Το σχέδιο έχει ως εξής. Η εφαρμογή, ας την βαφτίσουμε ArtAdmin, θα πρέπει να έχει ένα γραφικό περιβάλλον αντίστοιχο του BookAdmin, δηλαδή με πεδία για προβολή και αναζήτηση κάποιων εγγραφών (δηλαδή άρθρων) και ένα TableView σε ξεχωριστή καρτέλα για να βλέπετε όλα τα άρθρα μαζί. Συνεχίζοντας με αυταπάρνηση την παράδοση που θέλει κάθε προγραμματιστή …τεμπέλη, θα βασιστούμε στη φόρμα του BookAdmin αλλάζοντας ελαφρώς την πρώτη καρτέλα της για να φτιάξουμε το ολοκαίνουριο ArticlesAdmin – φασόν δηλαδή 🙂 Αυτή τη φορά, όμως θα προσθέσουμε και μερικά νέα κόλπα…

Read More

Page 2 of 4

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