Category: English

Github project support soon?

It seems github will be supporting project accounts soon:

This would be very cool. Right now Neuronvisio is hosted under my account name, something not personal, but project centric make a lot of sense. Especially when you have more than one developer.

On top of this there is this amazing plugin for mercurial, which will make git user very easy if they want to collaborate with those.

Maybe Sumatra is going in this direction, maybe not. Back on this soon.

Sumatra and git support

Sumatra is very cool idea which I felt the need from a long time. Andrew started the development of it and released the version 0.1 few days ago. The idea was great: record all the details about your simulation, storing the parameters, why you have launched it, what was the outcome. Tagging on top for categorization as well.

There was only one problem: Sumatra was not supporting git so I was unable to use it. Therefore, giving the fact was opensource I just baked a series of patches which were integrated in the tool and now sumatra has a git support 🙂

If you want to have a feel about it and want to try with git there is an example repository on github which you can use.

This is the results of the webinterface (sumatra stores everything in the django ORM system) showing the tables of the simulations:

If you click on the single record you can access the details of the simulation:

Using sumatra you will be able to:

  • search your simulations’ results
  • describe the results of the simulation on the simulation record itself, keeping everything very compact and ordered.
  • retrieve all the tiny details when you will need (papers hopefully..)

Storing all this informations is done automatically for you (except the analysis’ results of course), so you can focus more on your science, without worrrying on loosing your results.

Soon I’ll integrate sumatra in Neuronvisio.

P.S.: The patch for git integration (second part) is on its own way and it should be integrated soon in the tree, so you will need to run the bleeding edge and integrate the patch yourself if it’s not yet there (and you can’t wait 🙂 )

Have Fun

Neuronvisio 0.4.4 in the wild

Today I released Neuronvisio 0.4.4 .

This release fix quite a lot of the doc and change the API to load the sqlite database. There are a lot of changes under the hood.

There is a lot of work going on on the plotting, and if you are interested to have a modularity (so you can plot anykind of variables and integrate is with Neuronvisio just let me know.

Have a look at the plot_vector() method in the Control class

I think it will be possible to refactor the code, creating a Plotter obj where the x and y are for the plot and how to create the legend. Then just pass this object to the plot routine, which will have no idea what is plotting, but is able to extract this info from the plot obj. This need a bit of thinking and use cases
What’s next:

There is an ongoing process to integrate Neuronvisio with sumatra. Sumatra is very handy software however it supports only hg and subversion for now, while I’m really based on git. For this reason there is a patch sent to Andrew to start to work on this. Hopefully Sumatra will support git soon and then I will start to see how to integrate that on Neuronvisio and TimeScale.
One problem I need to solve is how to save the geomtery of the model when I save the results of a simulation.

Using the NEURON ability to export the model in NeuroML and to reload it would be the way to go, but more investigation on this are required.

In the mean time..

.. enjoy Neuronvisio

Making patch with mercurial

Just mirroring the solution I found here to find it later on.

How to make patch with git and with mercurial

git log
git log HEAD^ -p
git format-patch HEAD^
git send-email 001-patchname.patch
git send-email HEAD^ # alternatively

Doing the same w/ HG:

hg log # note this isn't paginated, a feature git has over hg imo
hg log -r tip -p
hg email -r tip

Who owns science?

Who owns science

Patents, research driven by the market, blue sky research and other issues will be touched at the EMBL-EBI symposium this incoming Friday (19th).

I think the debate will be very interesting and the level of speakers is very high. Will be streamed on ustream so you can follow from home if you’re not in Cambridge.

How to delete a submodule from a git repo

I found the answer here:

Let’s say that you have a submodule in your project called ’submodule1? and it’s in the following path: ‘vendors/submodule1?. In git there are 3 traces of this this submodule:
1) .gitmodules
2) .git/config
3) the submodule entry in the index/commit itself.

To remove the first two, is really simple, you just edit those files and remove the lines that specify the submdoule. In order to delete the third and last trace of the submodule in git, you need to type the following command:
git rm --cached path/to/submodule
Note: Do not put a trailing slash at the end of path. If you put a trailing slash at the end of the command, it will fail.

In the example above, we would type (do not include trailing slash after submodule1):
git rm --cached vendors/submodule1

I’ll put here, so I hope to find it easily later on.

Panton Principle launched

Scientific data must be open. Everyone should be able to check them, reuse them. More over they should be always available in a easy way.

That’s why the panthon principle have been launched:

Science is based on building on, reusing and openly criticising the published body of scientific knowledge.

For science to effectively function, and for society to reap the full benefits from scientific endeavours, it is crucial that science data be made open.

Data is not code and data is not artistic work. This means all the classic licence that we love and we always use like the GNU Public Licence or the Creative Commons (except CCZero) are not good enough for data. Data does not belong to anybody in particular but belongs to everybody. That’s why it’s really important to use the right license. A list is available here .

Ask if isopendata.

Attention. The one we lack

Attention is finite, time is finite. With an increasing number of stimuli how do you discriminate within important and not relevant informations?

Anything that is not important falls back into the noise category. For example, within all the inputs you can collect from facebook/reader/twitter and now also buzz, how do you discriminate?

In this post attention is compared to a currency.

In this other post (ita) attention is compared to energy.

Instead I like to think about attention more like a rack of spotlights. (Yeah I know it doesn’t make any sense, but follow me for a bit more).

Spotlights rack

From Rissygirl16 @ deviantart.com

It’s a rack of spotlights, which you can direct to illuminate a black sky. Everything is under your attention is illuminated, all the other stuff is in a gray or black area.

It’s a rack, and not just one, because focus comes into play as well. When you concentrate on something is like if you are beaming your current interest with more then one spotlight. This of course requires a lot of energy and it’s very difficult. Why?

Let’s broad  the view a bit.

The brain has evolved a very efficient system to discriminate within different kind of stimuli. Basically anything which can be a direct danger for your survival takes the priority, reshuffling any previous priority list.

To do that your brain is always processing all the signals coming from the environment around you. This is a background process, which does not cost fatigue, or at least not the on you are fully aware. I think this is the key point.

While you need to use a bit of your attention (remember the spotlights rack?) to process the inputs that maybe will be interesting for you, you still need to get the job done, so a big amount of the spotlights should beaming to the current activity you are doing.

Now, think about this scenario: you have a finite amount of spotlights (let’s say ten for clarity) and then you are doing one activity (let’s say reading this post). How many free spotlights do you have to take care of your current activity? One? Two? Where are my other spotlights?

Your other spotlights are taking care of something else. The main difference with sensory inputs is you need to be aware of that, and you need to “drive” them in a conscious way.

This require a lot of energy. More over keeping the focus sharp with only one spotlight there takes a lot of energy more.

The question is: do you want to spend all that energy to that? Are you hitting an overhead problem, which is taking care of things which are just noise for you? Can you keep your focus sharp on your “primary” activity? This is not a multitasking problem, because we are still in the deciding period, when you think if that hings is interesting or not. So the action is not yet in itinere.

Let’s say you can do that. You need only a bit of your spotlights to illuminate your current activity and to be aware of what is going on around you. Now you find something interesting.

In which way you switch the attention? There are any difference from children which grew up with internet and all the stimuli in full swing and people who were never exposed to that? We follow some kind of rule to reshuffle our priority list?

This is a big field of investigation, in the mean time use a strategy. Or don’t.