using graphical software on Ubuntu as root after you’ve logged in remotely


Sometimes I find myself in the situation of having to lauch some graphical software like synaptic, gedit, baobab while already using the server as root from the command line. I do not want to ‘exit’ my session and use the previous methods of which I’ve written in the past.

This is how I did it.

koolinus@localhost:~$ ssh -Y
koolinus@remote:~$ sudo -i
root@remote:~# touch .Xauthority
root@remote:~# xauth merge /home/koolinus/.Xauthority 

And that’s all. Now I can launch the needed program without interrupting my root session, for example:

root@remote:~# baobab &

The homogenization of scientific computing, or why Python is steadily eating other languages’ lunch


Speaking only for myself, I’ve now arrived at the point where around 90 – 95% of what I do can be done comfortably in Python. So the major consideration for me, when determining what language to use for a new project, has shifted from what’s the best tool for the job that I’m willing to learn and/or tolerate using? to is there really no way to do this in Python? By and large, this mentality is a good thing, though I won’t deny that it occasionally has its downsides. For example, back when I did most of my data analysis in R, I would frequently play around with random statistics packages just to see what they did. I don’t do that much any more, because the pain of having to refresh my R knowledge and deal with that thing again usually outweighs the perceived benefits of aimless statistical exploration.

Conversely, sometimes I end up using Python packages that I don’t like quite as much as comparable packages in other languages, simply for the sake of preserving language purity. For example, I prefer Rails’ ActiveRecord ORM to the much more explicit SQLAlchemy ORM for Python–but I don’t prefer to it enough to justify mixing Ruby and Python objects in the same application. So, clearly, there are costs. But they’re pretty small costs, and for me personally, the scales have now clearly tipped in favor of using Python for almost everything. I know many other researchers who’ve had the same experience, and I don’t think it’s entirely unfair to suggest that, at this point, Python has become the de facto language of scientific computing in many domains. If you’re reading this and haven’t had much prior exposure to Python, now’s a great time to come on board!

Tal Yarkoni ☞ [citation needed]

getting packages info on Ubuntu


Recently we’ve decided to move all our CentOS 5 server installations to a more modern, and bioinformatics friendly, environment. So the choose was on Ubuntu, in it’s 12.04 LTS version.

Some commands are different, especially those for exploring packages, their releases and such.

For example to see what packages install $something now I do a:

sudo apt-file search $package

while to see a package’s details, for example nano, I give a:

sudo apt-cache show nano

Package: nano
Priority: standard
Section: editors
Installed-Size: 604
Maintainer: Ubuntu Developers 
Original-Maintainer: Jordi Mallach 
Architecture: amd64
Version: 2.2.6-1
Replaces: pico
Provides: editor
Depends: libc6 (>= 2.11), libncursesw5 (>= 5.7+20100313), dpkg (>= 1.15.4) | install-info
Suggests: spell
Conflicts: pico
Breaks: alpine-pico (<= 2.00+dfsg-5)
Filename: pool/main/n/nano/nano_2.2.6-1_amd64.deb
Size: 194014
MD5sum: ce845269d2dac9b74ab02bd4f874beed
SHA1: 79a41964d1b14a2a0eb700b54e474e00b9d5de08
SHA256: a8dba08696a1ffdfbb15b617880b2b7bbe05ac9f7d690574000fe569b2298efa
Description-en: small, friendly text editor inspired by Pico
 GNU nano is an easy-to-use text editor originally designed as a replacement
 for Pico, the ncurses-based editor from the non-free mailer package Pine
 (itself now available under the Apache License as Alpine).
 However, nano also implements many features missing in pico, including:
  - feature toggles;
  - interactive search and replace (with regular expression support);
  - go to line (and column) command;
  - auto-indentation and color syntax-highlighting;
  - filename tab-completion and support for multiple buffers;
  - full internationalization support.
Description-md5: b7e1d8c3d831118724cfe8ea3996b595
Origin: Ubuntu
Supported: 5y
Task: standard, kubuntu-active

That’s all (for now).