Saturday, November 3, 2018

gp41 paper


Just came out : "Folding Molecular Dynamics Simulation of a gp41-Derived Peptide Reconcile Divergent Structure Determinations", ACS Omega, 3, 14746-14754 :






Thursday, October 18, 2018

Running dropbox on old linux machines


Dropbox recently changed the linux system requirements. This may be a meaningful choice from the company's perspective, but I am not prepared to give-up on some of my old machines which have software that I find it hard to move to newer hardware. So, I was looking for a software solution that could work with ubuntu 10.04, ubuntu 11.04 and a relatively new centos machine which uses xfs instead of ext4. First I will describe the technical steps for the procedure I'm currently using, then I will discuss the shortcomings.


Technical steps (based on rclone and inotifywait)

[1] Install rclone as described in https://rclone.org/downloads/ . Surpisingly, this may be the hardest part of the procedure due to old versions of curl not being compatible with the server-side ssl. On both of my machines I had to install openssl from source and then install curl again from source (using the newest ssl libraries). Expect suffering at this stage.

[2] Configure rclone as described in https://rclone.org/dropbox/ . This is easy.

[3] Do a dry run to confirm that rclone is working as expected (change 'mydropbox' and 'user'):

rclone --dry-run sync -u mydropbox: /home/user/Dropbox


[4] Install inotify-tools if you don't have them already.

[5] If you reached this stage, you are practically done :


(a) Prepare a hidden file in your home directory (for example /home/user/.dropboxwatch.sh) containing the following bash script :


#!/bin/bash
while true; do

inotifywait -e modify,create -r /home/user/Dropbox && \
 pgrep rclone > /dev/null || rclone copy -u /home/user/Dropbox mydropbox:

done
exit

Make this file executable (with chmod 755 /home/user/.dropboxwatch.sh).


(b) Edit your crontab and insert the following two lines :


@reboot      /home/user/.dropboxwatch.sh >& /dev/null
*/30 * * * * pgrep rclone > /dev/null || rclone sync -u mydropbox: /home/user/Dropbox


(c) Add the following to your .bashrc :

alias dropboxfetch='pgrep rclone > /dev/null || rclone copy -u mydropbox: /home/user/Dropbox'


(d) Reboot the machine and confirm that .dropboxwatch.sh is running.



What you get from all that

(a) When you add a file to the dropbox directory of the local (old) machine, it will be immediately transferred to the dropbox servers (and, thus, to all of your other machines).

(b) When you modify the dropbox directory from other (non-old) machines, the changes in the old machines will appear at the time interval defined in the crontab (every 30 minutes in the example above). If you want to immediately fetch new files from dropbox to the local (old) machines use the dropboxfetch alias.

(c) You can not push file deletions from the old machines to dropbox. Dropbox files can only be deleted from newer machines that run the real dropbox daemon. The deletions will appear at the crontab specified interval. Think what you may, but this is a great precaution (and do note that at no point do we do a sync from the old machine to dropbox, which is the definition of better-safe-than-sorry).

Things can definitely go wrong. Notice for example these pgrep's ? These are to avoid some obvious race conditions that arise if you end-up having two rclone jobs running simultaneously. But I bet (especially with dropboxfetch) you can still get artifacts. The thing is that in the absence of a sync from the old machine to dropbox, the worst case scenario is that some files you thought you deleted, may end-up being well and alive. (famous last words I hear you say).




Thursday, August 30, 2018

Gemini PDA review


I received the Gemini seven weeks ago, so this is possibly a bit too early for a review, but there you go. To my mind the basic question that has to be answered is this : If I could turn the clock back, would I still choose to buy this device? And the second (Gemini-specific) question is this: What is the Gemini ? Is it a phone with a physical keyboard or is it a mini laptop that can take phone calls ?

My answer to the first question is an unequivocal 'Yes, I would buy this device again'. This is the first device -in almost two decades of carrying with me a phone- that feels more like a proper computing machine (that I can do productive work with) than yet another smartphone. And yes, the previous statement about computing machines does gives me away : I humbly admit that I really do appreciate the ability to open a unix shell through termux and connect via ssh to the servers 900km away, check the jobs are running, plot a graph (through ssh/xsdl), edit a file with vim, save it, restart a job, logout and all that with all the special control characters readily and easily available. I do appreciate that I can properly compose an answer to an email without the distraction of fighting with the on-screen keyboard (and even send it properly signed with S/MIME). I do like the ability to open a unix shell and access all my dropbox files in mostly the same way as I do from my desktop machines. And I very much enjoy having all that, together with all the social media apps, calls, SMS, and a 4G connectivity. There are, of course, limitations. The Gemini is not the suitable device for writing your thesis, or your next 5,000 lines of code long program. It is possibly a device suitable for editing them, but not for creating them. 

So, do I consider the Gemini a mini-laptop ? "Well, I'm not sure" is probably an honest answer. Sometimes it does feel like a laptop, but keep in mind that I'm an old guy that works exclusively with GNU/linux, and then again, mostly from the terminal. I am a typist, and the physical keyboard is my natural working environment. On the other hand, when switching to the pure graphical android apps, the device feels mostly like a funny smartphone. I say funny because with apps like twitter, facebook, instagram, you have to turn the device in portrait mode and practically give-up the keyboard controls.  A natural question at this point is why haven't you install a proper linux distribution on the device and be done with it ? Two reasons. Actually three. The first was that I wanted the device to remain portable, I didn't want to have to carry with me a mouse. The second was that I would have to guess-estimate the needed partition sizes (and get them wrong). But the important reason is that I am conservative: I wanted to first test it in a pure android environment and then if needed become adventurous. After almost two months I believe that I can not see a real reason for messing with a dual boot setup. I would love to be able to do everything from the keyboard, but even in a linux environment I would have to either touch the screen or carry additional hardware with me.

As you almost certainly noticed, I haven't said anything about using the Gemini as my one and only phone. The reason is that I may misguide you on that one. I hardly speak on the phone for more than a 30 minutes per week, and I mostly don't really care about carefully examining who is calling (which means that normally I don't even open the device to accept the call). I understand that this is not the way things go these days, so I will just state for the record that my phone-related needs are served adequately by the device and leave it there.

To conclude. The Gemini is not -and was not meant to be- for the average, always in a hurry, smartphone user. It will not kill iphones or the other android devices. As another reviewer aptly said, it is a device for those that saw it and their heart skipped a beat. To paraphrase Thomas Scoville, the Gemini is for those users that love (instead of resent) typing. And for those users, the Gemini (like UNIX) will, in some sense, be literature to them.

Saturday, July 7, 2018

Gemini PDA


I'm hooked.

As a reviewer was saying, if you skipped a beat when you first saw it, then you belong to the target audience of the Gemini PDA :




The bloody thing can even dual boot into Debian. Expect a review to appear here soon (hopefully).



Wednesday, May 30, 2018

Primitive cluster monitoring for the desktop


Combine warewulf, a tiny cgi perl script and conky, and there it is, a primitive cluster monitoring tool for the desktop without ssh :





Tuesday, May 29, 2018

Renewing cluster hardware


After almost nine years, the hardware from the old norma cluster (circa 2009) is useless for all practical purposes. Have been thinking about the possibility of preserving its (still) functional part and only upgrade the GPUs. Given that the CPUs are weak (Q6600 Kentsfield 2.4 GHz quad processors) I thought I could try with a cheap GPU and see how it goes. Adding a GTX1070 wouldn't make sense, so the first attempt was a GTX1050. The golden standard for comparing the performance is scarlet (i7-6800K@3.4GHz + GTX-1070). The findings were not surprising (system with 9418 atoms and a 4 fs/step using HMR) :
  • Scarlet (i7-6800K @ 3.4GHz + GTX-1070)                 ==>  445 ns/day
  • Old AMD FX-8150, 8 cores @ 3.6 GHz + GTX 1050  ==>  195 ns/day
  • Old Q6600 @ 2.4GHz box + GTX 1050                      ==>  135 ns/day

Given the current price of a GTX1050 (~190 €) would it may make sense to order a handful of 1050s ? An additional test is to replace the boxes altogether with 8 core AMDs. Have ordered a relatively inexpensive box containing an AMD FX 8350 @ 4 GHz + a GTX 1050. The results were consistent with cost : at approximately a third of the price, you get half the performance (225 ns/day for a 9500 atom system on the new box, versus 445 ns/day on the i7+GTX-1070 box).



Saturday, December 23, 2017


Just came out :

«Folding Simulations of a Nuclear Receptor Box-Containing Peptide Demonstrate the Structural Persistence of the LxxLL Motif Even in the Absence of Its Cognate Receptor»