Means of transportation

“Are you telling me that we’re going to travel on this?” Hiro is oddly annoyed. I rarely see him annoyed, and when I see him, I don’t understand very well why is he so. There is something different on the way he thinks. Maybe it’s the metagramatic brain he has, maybe it’s simply that I don’t have, and I will never have, his point of view. I try to calm him down.

“You have seen these devices.” I point to the mechanical car that just arrived from somewhere, without a driver, burping steam from his upper chimney. “It will allow us to transport our equipment through the empty neighborhoods, and we will be able to enjoy the trip. I think it’s a fantastic mean of transportation.”

“But it has no driver!” Hiro points out to the cabin, where the coordinate reader is.

“And? A human being can commit a mistake reading a map. A mechanism can not. What’s your problem with it? It’s pretty easy ” I get close to the coordinate reader ” you just need to set the coordinate on these dials ” I point out them ” and then press the start button. ” I point it also. ” The machine will do the rest, it will dodge obstacles, and so on. I don’t know how it does that, by the way, maybe it has some SSD parts with a hardcoded street map…”

“It’s a machine!” Hiro says it and it sounds like an insult. I look at the mecacar, with his funny cupola and the steam engine, and I get his point. “You can not trust a machine!”

“Don’t worry, I repeat. I used them before.” Yes I did. The System is using them quite frequently to impress the locals, those locals that have been disconnected or in another time flow for the last 50 years. I remember the heated discussion I was attending by chance on one of them over the management of the kernel Budapest… until the so called king of Budapest was kicked out of the vehicle when we were travelling on a fast path. But I will not tell Hiro about that part. Besides, it was another type of vehicle, more like a limousine of the old days. Being this one more a delivery van. “They are pretty safe. Besides, it will be only until we find a river. Once we find a river, I will ask for a ship.”

“Why don’t you ask for a ship now?” Hiro is not anymore looking directly at my face, so I can’t judge what’s going on. Does he know about the Budapest incident? Does he know I was there?

“Hiro.” I make one of my breaks, and I use it to go closer to him. I put my hands over his shoulders. He seems to react. “Calm down. Technology is not infallible here. I know. But the System knows what it does. They don’t want us to get lost in a fast path. They want us to find out what happened with the previous owners of this City ” I make a dramatic gesture and a soft turn, trying to theatrically cover all the ruins around us ” and why they built it this way. Are you with me in this adventure, or do you want to stay out of it?”

Posted in aliens, fantasy, new dreams, yellow earth | Leave a comment

How to go to kernel Rome

“Doctor Wolfgang?” I look at Hiro. Sometimes his politeness is annoying. “How do we go to kernel Rome? Last time we travelled barely a hundred kilometers it took us a day…”

“I understand your concerns, young Hiro.” I make a dramatic break. I know it’s not anymore the time of magistral classes, but I do enjoy teaching properly, even to a single person. Even if what I know can’t be called the type of science under my control. “You know as everybody else the wild nature of this Space. In contrast with our native space, the dimensions here are not homogeneous… they have these non-euclidean annoyances that we’re not able to locate with your naked eye.” I look at Hiro, that is at this moment deviating his attention to the box where we store the Watch. As a teacher, I also learned to read the signs of boredom, when the student is already aware of the subject, or is not understanding the approach I’m taking. “What you don’t know is that the System worked out a method to locate what they call the minimal paths from one point to the other. Did you hear to talk about the minimizers?”

“Yes.” He bows slightly, as ashamed. I read his face. He doesn’t seem to be lying, so I wait for more. “That day we went to the Market on the Seville kernel, to get some digging tools. I heard those thugs speaking about a machine that can tell you the best way to go from Seville to Berlin, without getting lost in the middle…I guess that was the same device you’re speaking about.” Also he’s telling the truth on this one. It does worth to report about it to the System, even if they know about an illegal minimizer, it could help us to gain credibility in front of them.

“Right. What you may not know is how they work. Actually, it’s pretty simple: if you know the origin and the destination, you just ask the minimizer to print you out the way. As a result, you get this. ” I show Hiro the route plan that came attached to the acceptance letter. I let him read the cryptic instructions: from our current coordinates, 36.50,-6.26 to 37.39,-5.95, marked as Seville, there is a list of at least 10 other coordinates. The paper is having more than 150 sets of numbers. Some are labelled, some are not.

“Nice. But how they really work?”

“This I can only guess: the System may have some kind of SSD probe that is able to scan the probable paths from point A to point B. The probe is able to work without being affected by the anomalies. You know, quantum systems work in total fine here. It’s only the classical component, the one affected by our constants, the part that fails. You know, decoherence, decay and collapse of wave functions, and all these shit we don’t need to care about.” Hiro smiles. “We’re archaeologist.  OK, I’m an archaeologist. In any case, you don’t need to care about it if it works, don’t you think so?”

Posted in aliens, fantasy, new dreams, yellow earth | Leave a comment

Install modeller with conda on Cent OS 7

It’s Friday after lunch here in Centreuropa so I’m going to be brief.  You may remember I previously built a Modeller 9.18 module on CentOS 7. Unfortunately it looks like the installation can’t be easily integrated with  CCP-EM. In this post, I will try an alternative installation method. Step 1 is to get Anaconda from the continuum repository:

wget http://repo.continuum.io/archive/Anaconda*-Linux-x86_64.sh

I will, as usual, show you the beginning and the end of the installation procedure, so you can cross-check it with your output. It starts here:

./Anaconda3-4.0.0-Linux-x86_64.sh
Welcome to Anaconda3 4.0.0 (by Continuum Analytics, Inc.)
In order to continue the installation process, 
please review the license
 agreement.
 Please, press ENTER to continue
 >>>
 ================
 Anaconda License
 ================

creating default environment...
 installation finished.
 Do you wish the installer to prepend the 
Anaconda3 install location
 to PATH in your /root/.bashrc ? [yes|no]
 [no] >>> yes
Prepending PATH=/usr/local/anaconda3/bin 
to PATH in /root/.bashrc
A backup will be made to: /root/.bashrc-anaconda3.bak
For this change to become active, 
you have to open a new terminal.
Thank you for installing Anaconda3!

And that was the end. Soft and sweet, as every professional product. Now we install modeller through it. It looks like the next:

> conda config --add channels salilab
> conda install modeller
 Using Anaconda Cloud api site https://api.anaconda.org
 Fetching package metadata: ......
 Solving package specifications: .........
Package plan for installation in environment 
/usr/local/anaconda3:

The following packages will be downloaded:

package              | build
---------------------|-----------------
 conda-env-2.6.0     | 0 502 B
 sqlite-3.13.0       | 0 4.0 MB
 xz-5.2.2            | 0 644 KB
 hdf5-1817-1.8.17    | 0 2.2 MB
 libtiff-4.0.6       | 2 1.5 MB
 python-3.5.3        | 1 15.9 MB
 anaconda-custom     | py35_0 3 KB
 modeller-9.18       | py35_1 17.5 MB
 requests-2.12.4     | py35_0 800 KB
 ruamel_yaml-0.11.14 | py35_1 395 KB
 cryptography-1.4    | py35_0 903 KB
 pyopenssl-16.2.0    | py35_0 70 KB
 conda-4.3.22        | py35_0 516 KB
 ---------------------------------
 Total: 44.3 MB

The following NEW packages will be INSTALLED:

hdf5-1817: 1.8.17-0
modeller: 9.18-py35_1
ruamel_yaml: 0.11.14-py35_1

The following packages will be UPDATED:

conda: 4.0.5-py35_0 --> 4.3.22-py35_0
conda-env: 2.4.5-py35_0 --> 2.6.0-0
cryptography: 1.3-py35_0 --> 1.4-py35_0
libtiff: 4.0.6-1 --> 4.0.6-2
pyopenssl: 0.15.1-py35_2 --> 16.2.0-py35_0
python: 3.5.1-0 --> 3.5.3-1
requests: 2.9.1-py35_0 --> 2.12.4-py35_0
sqlite: 3.9.2-0 --> 3.13.0-0
xz: 5.0.5-1 --> 5.2.2-0

The following packages will be DOWNGRADED:

anaconda: 4.0.0-np110py35_0 --> custom-py35_0

Proceed ([y]/n)? y

Fetching packages ...
 conda-env-2.6. 100% |#############| Time: 0:00:00 321.11 kB/s
...packages fetched! ...
 conda-4.3.22-p 100% |##########| Time: 0:00:00 26.19 MB/s
 Extracting packages ...
 [ COMPLETE ]|########################| 100%
 Unlinking packages ...
 [ COMPLETE ]|############################| 100%
 Linking packages ...
 [ COMPLETE ]|#############################| 100%

Edit /usr/local/
anaconda3/lib/modeller-9.18/modlib/modeller/config.py
and replace XXXX with your Modeller license key
(or set the KEY_MODELLER environment variable 
before running 'conda install').

On one side, it is nice that you have all the information. On the other side, now I have a custom conda installation, so if I need to install another package via conda, I will suffer. For ever. EVER. It’s either this or do a clean system install. Be warned!

Seriously, this is not easy. It’s like driving in the dark, blind folded, though a curvy road, in a country you don’t know, without driving license. You don’t know where you will end up. There you have it. Positive thinking to start with the weekend 😀

Posted in bits, centos, linux | Leave a comment

Install Simple-2.5 (therefore cmake-3.8 and gcc-4.9.2) on Cent OS 7

One could imagine to install a program called Simple should be simple. And I don’t doubt it, if you have exactly the system requirements that you can find described here. Maybe I need to read more papers, but it is definitely not so simple. Let’s go through it.

Single-particle IMage Processing Linux Engine can be downloaded here after filling up the corresponding information. Once I have it unzipped and in the location of choice, it’s time to check the requirements.  First, since I’m a busy man, I try “directly”:

/usr/local/simple2.5/build ## > cmake ../
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
 CMake 3.2 or higher is required. 
You are running version 2.8.12.2
-- Configuring incomplete, errors occurred!

I’m tempted to edit the function mentioned and force the program to compile. But since that is usually my last resource, I will go for an update of cmake first. My default cmake behavior is:

cmake --version
cmake version 2.8.12.2
which cmake
/bin/cmake

And that will be the goal of my installation. I download a conservative version from cmake.org and place it on the desired location. Then I follow more or less the nice HOWTO found on Xinyustudio blog: that is, untar,  ./bootstrap, gmake. At the end, instead of adding it to our bashrc or similar, I make a module. My module looks like:

#%Module1.0#######################################
## modules cmake-3.8.2
## modulefiles/cmake-3.8.2. Sample gcc module
##
proc ModulesHelp { } {
 global version modroot
puts stderr "cmake-3.8.2 - set cmake 3.8.2 "
}
module-whatis "Sets the environment for using cmake-3.8.2"
# for Tcl script use only
set topdir /usr/local/cmake-3.8.2
set version 3.8.2
set sys linux86
setenv CMAKE_V "3.8.2"
prepend-path PATH $topdir/bin
prepend-path MANPATH $topdir/man
prepend-path LD_LIBRARY_PATH $topdir/lib

And when I load it, I get what I want:

 > module load cmake-3.8.2 
 > cmake --version
cmake version 3.8.2
CMake suite maintained and supported by Kitware 
(kitware.com/cmake).
 > which cmake
/usr/local/cmake-3.8.2/bin/cmake

Let’s go ahead, load the module and compile simple.

/usr/local/simple2.5 ## > cd build/
/usr/local/simple2.5/build ## > module load cmake-3.8.2 
/usr/local/simple2.5/build ## > cmake ../
-- The Fortran compiler identification is GNU 4.8.5
-- The C compiler identification is GNU 4.8.5
...
CMake Error at cmake/SimpleFortranOptions.cmake:146 (message):
 SIMPLE requires gfortran 4.9 to 5.4

We need another gfortran also. I follow what we found on github, then I try to make a module that should overwrite the default gcc. But it doesn’t seem somehow to work, or I don’t manage to install it properly. When I type gcc –version or similar, I still get

gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)

So how can we get it? By enabling devtoolsets. As it is written on the post, we do:

yum install centos-release-scl-rh
yum install devtoolset-3-gcc devtoolset-3-gcc-c++  
yum install devtoolset-3-gcc-gfortran
scl enable devtoolset-3 bash
gcc --version
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
gfortran --version
GNU Fortran (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6

We got it! Now back to “simple”! I open a new shell,  load my module, load my devtoolset  (note that the order is important) and try to cmake it… without success. This seems to be because of the already partially compiled code. The fix is simple (JA JA): we remove the folder, unzip the program anew and place it again where the other was. So, once everything is in place, from the beginning:

module load cmake-3.8.2 
scl enable devtoolset-3 bash
tar -xvzf simple2.5.tgz 
mkdir build
cd build/
cmake ../
-- The Fortran compiler identification is GNU 4.9.2
-- The C compiler identification is GNU 4.9.2
... a lot of things going on here...
-- Configuring done
-- Generating done
-- Build files have been written to:
/usr/local/simple2.5/build
make -j install
Scanning dependencies of target simple_args
[ 0%] Built target simple_args
Scanning dependencies of target SIMPLE2.5
[ 0%] Building Fortran object ...
... a lot of building going on  here, 
....we skip them and go to the final message...
Installation complete.
=============================================
Please ensure the following variables are set 
properly in add2.*rc file: 
 SIMPLE_EMAIL SIMPLE_QSYS SIMPLE_PATH SIMPLE_SOURCE_PATH 
To use SIMPLE, append the relevant add2.* 
to your HOME shell rc file: 
 bash$ cat add2.bashrc >> ~/.bashrc 
 tcsh$ cat add2.tcshrc >> ~/.tcshrc 
==============================================
For minimal installation to work correctly add:
/usr/local/simple2.5/build/bin and
/usr/local/simple2.5/build/scripts
 to your PATH environment variable.
==============================================

Now we write a module for it, that looks like this:

%Module1.0####################################
##
## modules simple-2.5
##
## modulefiles/simple-2.5. Sample gcc module
##
proc ModulesHelp { } {
 global version modroot
puts stderr "simple-2.5 - sets simple 2.5"
}
module-whatis "Sets the environment for using simple-2.5 "
# for Tcl script use only
set topdir /usr/local/simple2.5 
set version 2.5
set sys linux86
setenv SIMPLE_V "2.5"
prepend-path PATH $topdir/build/scripts/
prepend-path PATH $topdir/build/bin/
prepend-path MANPATH $topdir/man
prepend-path LD_LIBRARY_PATH $topdir/lib

Or something on that line. Be careful with the paths, since they are tricky. As an user, I load the module and I run simple_test_install. And it works. We’ll see if I see any results from the users…

 

Posted in bits, centos, linux | Leave a comment

Modeller 9.18 module on CentOS 7

I’m back. I’m running a little low on inspiration lately, and it’s summertime here, so please be patient if you’re looking for more Yellow Earth stuff. This is about installing Modeller, a Program for Comparative Protein Structure Modeling by Satisfaction of Spatial Restraints. Yes, I also don’t understand the capital letters, but the name is catchy. I download the Linux (64-bit x86_64 RPM) as a first trial, and I try to install it on a specific location:

rpm -Uhv --prefix=/usr/local/modeller-9.18/ \
modeller-9.18-1.x86_64.rpm

Of course it doesn’t work. Why should somebody test that everything works? The error reads:

error: package modeller is not relocatable

I then go to the installation notes, get the source code an try to compile it, as described on “for generic Unix”, on our preferred software location, /usr/local/. So far so good. Note that you need to get a license (a word basically) and do something with the code before being able to run it. Once I can run mod9.18, I build my module, that looks like this:

#%Module1.0###################################
##
## modules modeller-9.18
##
## modulefiles/modeller-9.18 FOCUS 1.0.0 module
##
proc ModulesHelp { } {
 global version modroot
 puts stderr "modeller-9.18 - sets the Environment for modeller"
}

module-whatis "Sets the environment for modeller 9.18"

# for Tcl script use only
set topdir /usr/local/modeller
set version 9.18
set sys linux86

setenv MODELLER_V "9.18"

#prepend-path PATH $topdir/include
prepend-path PATH $topdir/bin
prepend-path MANPATH $topdir/man
prepend-path LD_LIBRARY_PATH $topdir/lib/x86_64-intel8

Note the special library path. Then I test, of course, as good as I can. And now, to distribute it. Victory! Programmers=1, Darkcode=0  😀

Posted in bits, centos, linux, slurm | 1 Comment

A Windows munin node

munin-node-running

I’m having since quite some time already (I don’t want to check the logs) a munin server running on Scientific Linux 7.2. I have like 50 Linux clients hanging on it, monitoring the CPU usage, RAM usage, and even the GPU usage with a custom plugin. It’s a fantastic tool that allows you to monitor the health of your network in a glance. Therefore when I decided to incorporate 2 more Windows servers to my network, munin for windows came to my mind as the natural monitoring tool. But Windows and Linux live apart one from the other. Of course first step is to Google the right thing. That I did.  And the first link you find that looks like the real thing is this one How To Monitor Windows.

I’m going to save you reading time. By having a look to the headers you know the information is already old (Using munin-node-win32). If you click on the download link to the GitHub repository you can clearly see that the project has not been touched since at least, 7 years. One can think that’s OK. If something works, why change it? So I get the zip ball and install it on my server, but already without so much hopes. And of course, it doesn’t work, since it looks like I need to compile it on my machine to get it to work.

What now? Funny enough, the link on munin to the Google Code page is directing you to munin nude win32, not to munin node. Back to square one, looking for some binaries I step over this thread and end up reaching this google code archive. I download the munin-node-win32-1.6.0.0-installer.exe. After running the installer, I end up with a nice folder on Program Files (x86) called Munin Node for Windows. So far so good. So I add the Windows machine to the list of clients of my munin-server, and start munin-node.exe. munin-node-explorer

Now we need to wait, at least 15 minutes, until the Windows machine plots appears on my munin server. If you’re impatient, you can check if there is a service running by starting the Windows task manager (see first picture) or check the munin server logs (in my case by tail /var/log/munin/munin-update.log).

I go to take a coffee and socialize a little and when I’m back, there I have them. My Windows munin plots. Am I happy? Not at all. It looks like despite it works, the plots are all looking empty, or not showing the thing in the same format I have my Linux clients. The colors are wrong, or the plots are not useful for me.

Next stop, Windows munin-node configuration. We’ll see how far we go.

Posted in bits, hardware, windows | Leave a comment

Approved

“Hiro!” I just finished reading the letter from the Planetary Science Agency. “Hiro?” He comes from the lab with a concerned expression. He looks at the paper on my hands, then to me, and I smile. He smiles also. His expression speaks of complete happiness.

He wears the lab robe and the goggles we use when we are cleaning samples. The excavation we’re working on is not giving us espectacular results, that is, we didn’t find another watch, but at least we found rotten wheels that appear to have inscriptions on the mysterious language we’re not able to decipher. Hiro is carefully copying all the signs on his notebook and on our blackboard. The blackboard is working as a statistical graph: we add a new symbol when we find it, but if it was already there, we make a mark below. So if the language is human, we may be able to infer some meaning from the frequency of the symbols. Yes, a human language can be reduced to patterns, as far as I know. Up to now, we found only 32 letters, that may mean that the alphabet, when finished, is not pictographic but fonetic, so we will, at one point, have it all. Pity that we don’t have the computers to process all the information on it. Or better said, we don’t have it here.

He comes to me, still without speaking, with calmed steps. When he’s by my side, goggles on his forehead, he tries politely to look over the paper. His movements are smooth, like flowing with hot air that surrounds us at this moment. He goes by my side, to a point he may be able to read it all. I show him the letter, and the stamp of the PSA, but I don’t hand it to him. A professor needs to keep his distance, despite of how good his student is. But Hiro knows how to keep the distances, he seems to be OK with them. I tell him the short version.

“We got it, Hiro. All of it. But we need to pick it up. Prepare your luggage and collect your money, son, we need to go to kernel Rome.”

Posted in aliens, fantasy, new dreams, yellow earth | Leave a comment