Monday, January 27, 2014

Lab::Measurement 3.31 released

Since we came up with a few good ideas at the last moment, we're skipping the announcement of Lab::Measurement 3.30 and hereby directly announce a new and shiny Lab::Measurement 3.31!
So why a version number increase again? First of all, the structure of the XPRESS package has changed once more a bit, and with it the way your measurement scripts should look like. The "hub" package is gone, and the whole XPRESS functionality is now made available by a simple
use Lab::Measurement;
statement at the start of your file. The example scripts (also on the website) have been adapted accordingly.
In addition, we have implemented a generic support for so-called multichannel instruments, as for example multimeters with several input channels. This is a more generic solution compared to earlier multichannel sources, and also ties in with the device cache mechanisms. So far, the drivers for the Oxford Instruments ITC temperature control system and the Agilent 34420A nanovoltmeter are multichannel-aware.
Next, now at the start of any measurement the entire device configuration as far as accessible by the driver is saved into a file for your later perusal. Should you ever try to decipher mystery data months later...
Finally, a driver for the Andeen-Hagerling AH 2700A capacitance measurement bridge has been added, and of course also quite some bugfixes. Enjoy!

Wednesday, January 8, 2014

PRB accepted: Temperature dependence of Andreev spectra in a superconducting carbon nanotube quantum dot

The new year once more brings good news. Our manuscript "Temperature dependence of Andreev spectra in a superconducting carbon nanotube quantum dot" was finally accepted for publication by Physical Review B. So what's this about?
When you place a carbon nanotube at low temperature between contacts made from a superconducting metal, lots of interesting things happen. Strongly simplifying, currents in a superconductor are carried by Cooper pairs of two electrons each, while the localized electronic system in the carbon nanotube is normal-conducting and carries single electrons. One mechanism at a superconductor - normal conductor interface that mediates between these two types of charge transport is so-called  Andreev reflection. An electron from the normal conductor enters the superconductor, at the same time a "missing electron", i.e. a "hole where an electron should be", is sent back into the normal conductor. The total charge passing through the interface is 2e, just right to form a Cooper pair. The superconductor-nanotube-superconductor system consistis of two such interfaces back to back; analogous to box potential, multiple reflections on both sides lead to the formation of bound quantum states within the nanotube, the so-called Andeev bound states (ABS).
So far, all other observations of ABS involved aluminum, which has a fairly low critical temperature and critical field. What is new in our work is that we use niobium as superconducting material, with higher critical temperature and larger energy gap. We can increase the temperature to over 1K and still see the superconductivity plus the ABS in the transport spectrum. This way, we can observe how thermal population of an excited Andreev state takes place. Additionally we observe a second pair of Andreev states in the larger superconducting energy gap, and a surprising multi-loop behaviour. All these effects are successfully modelled by calculations based on the superconducting Anderson model, in a collaboration with Alfredo Levy Yeyati and Alvaro Martin-Rodero from Universidad Autonoma de Madrid.

"Temperature dependence of Andreev spectra in a superconducting carbon nanotube quantum dot"
A. Kumar, M. Gaim, D. Steininger, A. Levy Yeyati, A. Martin-Rodero, A. K. Hüttel, and C. Strunk
Physical Review B 89, 075428 (2014), arXiv:1308.1020 (PDF)

Monday, January 6, 2014

Git and MediaWiki

I'm again and again amazed at the modular archtecture of Git, the distributed version control system. One feature that I've just discovered is its MediaWiki integration. In short, you can clone the contents of a wiki into a local git repository, pull, make changes in the wikitext, commit them, and even push them back onto the wiki. Amazingly, this is all possible without any special server-side support; the normal MediaWiki API is sufficient.
If you want to try, you'll need dev-vcs/git-1.8.5.2 or later with the mediawiki useflag enabled. (Because of missing dependencies, at the moment the useflag is masked on all arches except amd64, but that will hopefully change soon.) The documentation for the module can be found on github.
Here's a small demonstration. Since cloning a whole wiki is timeconsuming and also (if done repeatedly) not very nice towards the wiki operators, let's clone only all pages of the "Desktop" category on the Gentoo wiki:
git clone -c remote.origin.categories='Desktop' \
       mediawiki::http://wiki.gentoo.org
This creates a directory wiki.gentoo.org, we change directory in there and call "git log --stat", and obtain a version history:
commit d10a150c78e743d1e62c39f5a7feadf81c552e28
Author: Tox2ik <Tox2ik@wiki.gentoo.org>
Date:   Wed Jan 1 14:52:24 2014 +0000

    Broke up a long sentence.

 Fontconfig.mw | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1da83052b8062239e265458c538b2efb32ca25a8
Author: El Salmon <El Salmon@wiki.gentoo.org>
Date:   Tue Dec 3 19:05:37 2013 +0000

    Checking configuration

 Fontconfig.mw | 4 ++++
 1 file changed, 4 insertions(+)

commit 9583e17c82508d166d9a30733765d3bdfd9d7f3e
Author: Emery <Emery@wiki.gentoo.org>
Date:   Fri Oct 25 04:53:35 2013 +0000

    Tense changes (changes to tense).

 Tallscreen_Monitor.mw | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

...
The files in the Git working copy are raw wikitext files, and can easily be edited by hand. So, we edit a file and commit that change locally into Git:
commit 6af2bfa0bba4cf825d4e52242709ffccfe341223
Author: Andreas K. Huettel (dilfridge) <dilfridge@gentoo.org>
Date:   Sat Jan 4 23:47:55 2014 +0100

    Add klayout to the scientific applications

 Recommended_applications.mw | 1 +
 1 file changed, 1 insertion(+)
To be able to push the change back into the wiki, we need to log in there. So, we tell Git our wiki username:
git config remote.origin.mwLogin Dilfridge
Afterwards, a simple "git push" is enough to publish our change; Git will ask for the wiki password.
While definitely a cool feature, there are some limitations. The most obvious one that I have come across is the following: if different people clone from the wiki, they obtain different git histories, i.e. the commits in their histories will have different hashes. This means sharing changesets via git is only possible if the cloning from MediaWiki takes place only once, and then the generated git repository is cloned in turn. In addition, I suspect the author of a change in the wiki is set by the username when pushing the change, not by the author of the git commit.
Anyway, I think this might be useful.