Wednesday, 13 November 2013

SWAP memory being used handling large datasets (Ubuntu 12.04)

I ran into an issue where SWAP memory was being used in moving around large files in Ubuntu 12.04. This slowed down my computer and I had to restart a couple of times a time. I found the solution at http://askubuntu.com/questions/157793/why-is-swap-being-used-even-though-i-have-plenty-of-free-ram. A similar solution probably works for other distributions.

Saturday, 1 June 2013

Installing AIPS on ubuntu 13.04

Just as installing AIPS earlier - you need

        libx11-dev and its dependancies
        x11proto-xext-dev
        libxext-dev
        libxpm-dev
        libncurses5-dev
        libncursesw5-dev
        libbsd-dev
        libedit-dev

I use gcc and gfortran to compile AIPS - you need to specify their location in the AIPS installer (/usr/bin/gfortran is both the fortran compiler and the linker for me, while /usr/bin/gcc compiles for C). I also have trouble with the fortran compiler flags -axWPT and -ip options, so I turn them off. XAS isn't built using these directives however, so you need to go to Y/SERVERS and edit XAS.SHR to remove the use of the axWPT and -ip flags when compiling the TV server.

The above was enough to install AIPS on Ubuntu 12.04 LTS, but for 13.04 you also need to specify the additional C compiler option -DHAVE_LINUX_GLIBC.

I doubt this is an optimal installation - it might be possible to compile with those flags on a different system (I use a sandybridge based laptop with 64-bit ubuntu 13.04 at the moment) and some of the dependencies might not be necessary (especially if you use the -DHAVE_LINUX_GLIBC the bsd dependencies may drop out). It does result in a working AIPS however!

Make sure to add

        sssin        5000/tcp    SSSIN        # AIPS TV
        ssslock        5002/tcp    SSSLOCK        # AIPS TV Lock
        msgserv        5008/tcp    MSGSERV        # AIPS Message Server
        tekserv        5009/tcp    TEKSERV        # AIPS TekServer
        aipsmt0        5010/tcp    AIPSMT0
        aipsmt1        5011/tcp    AIPSMT1
        aipsmt2        5012/tcp    AIPSMT2
        aipsmt3        5013/tcp    AIPSMT3
        aipsmt4        5014/tcp    AIPSMT4
        aipsmt5        5015/tcp    AIPSMT5
        aipsmt6        5016/tcp    AIPSMT6
        aipsmt7        5017/tcp    AIPSMT7

to /etc/services to get AIPS to run properly. To do this you may need to open the file as root.

One last thing - add the aips path to your profile so you can run it straight from the terminal. For me the line was ". /home/colm/aips/LOGIN.SH; $CDTST". The CDTST bit at the end is needed if you intend to compile custom AIPS tasks.


Sending an SMS via Intent in Android

Alchemy allows users to donate to their chose charities via text message, which it used to do automatically using Android's SmsManager ...