Internship Opportunity in Research of Dynamic Networks

If you are an undergraduate student in the United States, Canada or the UK and if you want to participate in current research as well as working on open source technology, maybe, this post has an interesting offer for you: The current application period for RISE (Research Internships in Science and Engineering) internships for summer 2013 has started. Within the offers, you can also find an internship that will be mentored by me, with a focus on experiments for the behavior of dynamic networks of autonomous peers. The central task in that internship will be working with Rocs: creating and evaluating experiments, extending Rocs’ logging and statistics features, and improving the simulation engine where needed. Using the experimental results that shall give us insights in how networks are formed by selfishly acting peers, we want to formulate new conjectures and approach them with a theoretical analysis, where applicable. The goal is to gain a better understanding on how networks of autonomous peers act. More details about the research questions we want to ask (and answer), you can find in the official internship offer (for this, you need to register first at the RISE website).

The internship will take place at the University of Paderborn and lasts 12 weeks (starting middle/end of May 2013). The internship includes a scholarship, funded by the Federal Foreign Office of Germany. Information on how to apply for this program and about the application requirements can be found at the official RISE program website. If you are interested in the internship and have any questions, please ask me by mail or find me on IRC (nick CoLa at

(Sorry for everyone who is interested but not enrolled in one of the stated countries: the funding organization has restricted the program to those.)

Face Lifting

In this post I will talk about the Rocs face lifting that we (Wagner, Frederik,and me) discussed and started at the awesome Randa sprint in late September. Since then the dust had time to settle down and we could also work at all the small rough edges that you get, when changing a lot.

The driving idea for the current UI iteration was to keep/make the interface simple. And with simple I mean two things:

  1. To think about what a user really needs, what he/she usually does, and what operations are used less frequently and could be put aside from the main interface.
  2. Hide complexity from the user to allow intuitively acting with the program.

An example: previously a user created a data structure by specifying a unique identifier and then clicking at “new”. Now, it is enough to click “new” and in the background we suggest an identifier for the data structure and set it. But if a user really wants to change the identifier, of cause, it is still possible to change it afterwards (though that is not a very common use case.)

Below you can see the main interface. If you recall how it looks previously, you see that it is much less cluttered:

Rocs 1.8 Screenshot

The main changes are:

  • the visual editor bar is now motivated by those toolbars that graphic editors provide; this should make handling of graphs much more intuitive
  • we created a new top-bar to get rid of the cluttered left idebar that only contained rarely used functionality
  • at the right you can find a fading side panel that provides documentation (access to handbook and scripting engine documentation), a journal for making notes about the current project, and a plane for additional plugins provided by the visual graph editor (well, currently there is exactly one plugin, but that will increase 🙂
  • the script output now has a toggle to show/hide debug messages (that helped to get rid of another combobox).

Beside these changes, a lot more happened (and the diff with the 4.9 branch has a shocking high number of changed lines of code) and I plan to write about that in the coming days/weeks.