Read this interesting post where the author sets up a wordpress blog with nginx on an Amazon EC2 instance. Author claims he could handle 10 million hits a day. I should explore nginx some day.
In the past, I’ve described how one could build multiarch (64 bit and 32 bit) versions of R on a 64 bit Ubuntu machine. The method based on this thread no longer works as of R 2.13 or 2.14 I believe. I received advice from someone on
#R over on
freenode (forgot who) a few months ago that suggested the chroot route (see this also). I recently tried it and wanted to document the procedures. Although the solution isn’t as nice as the previous multiarch route, it will suffice for now. With the
chroot method, first compile the 64 bit version of R the usual way. For the 32 bit version of R, do:
<pre class="src src-sh"><span style="color: #ff4500;">#### </span><span style="color: #ff4500;">change my.username to your username, or modify path per your taste</span>
### create chroot jail sudo apt-get install dchroot debootstrap sudo mkdir ~/chroot-R32 sudo emacs -q -nw /etc/schroot/schroot.conf ## paste the following in the file: (no quotes) “ [natty] description=Ubuntu Natty location=/home/my.username/chroot-R32 priority=3 users=my.username groups=sbuild root-groups=root “
## build a basic Ubuntu system in the chroot jail sudo debootstrap –variant=buildd –arch i386 natty /home/my.username/chroot-R32 http://ubuntu.cs.utah.edu/ubuntu/ ## pick a mirror from https://launchpad.net/ubuntu/+archivemirrors
## copy my source locations for apt sudo cp /etc/apt/sources.list /var/chroot/etc/apt/sources.list ## edit this new file if to reflect only the needed source
### do following steps whenever you need to access 32 bit R ## access to proc and dns sudo mount -o bind /proc /home/my.username/chroot-R32/proc sudo cp /etc/resolv.conf /home/my.username/chroot-R32/etc/resolv.conf ## go into jail; do this whenever you want sudo chroot /home/my.username/chroot-R32 dpkg-architecture ## make sure system is i386 ### now the root / location should reflect the jail
### following happens in jail ## tools needed to build R apt-get install gcc g++ gfortran libreadline-dev libx11-dev xorg-dev ## get svn to get latest r source code apt-get install git-core subversion
## compile 32 bit R cd home/ mkdir R32 cd R32 svn checkout https://svn.r-project.org/R/trunk/ r-devel cd r-devel/ apt-get install rsync ./tools/rsync-recommended ./configure make make install R
How big is my
/home/my.username/chroot-R32 folder? It is at 791 MB after the above steps. Let me know if you have suggestions for having both 32 bit or 64 concurrently on Linux. I believe Windows and Mac ships and compiles both 32 bit and 64 bit versions of R. I’m surprised this isn’t the case for Linux.
This post explains what happens when
sudo, and their variants are executed.
I recently had the need to encrypt zip files. Ubuntu’s default archive manager, File Roller, has a password option. However, I was not able to find documentation on what is its encryption algorithm. To be on the safe side, I opted for PeaZip per this post. It works natively with KDE, but I’m using Gnome. I followed these instructions to get a contextual menu (right-click).
This post is a good introduction to bash scripting/programming.
I toyed with Amazon EC2 last year by migrating my web server there. After issuing
shutdown -P in Ubuntu last week, my instance disappeared from the list in the AWS dashboard. I seeked help and found out that some AMI’s are set to terminate at shutdown. Unfortunately, the AMI I used was one of them. Files and settings are not recoverable after an instance is terminated. Luckily, I transferred most of my critical information out prior to the shutdown; I’m only missing one file. Note to self: for all future instances, the shutdown behavior to
stop (as opposed to
terminate) could be modified per these instructions. First, create and download the X.509 certificate and private key. To access the EC2 api, do the following on your computer:
<pre class="src src-sh">sudo apt-get install ec2-api-tools ec2-ami-tools <span style="color: #ff4500;">##</span><span style="color: #ff4500;">ec2-init</span>
Then, do the following to find out what behavior is currently set on your instance:
ec2-describe-instance-attribute i-AMAZON-INSTANCE-ID --instance-initiated-shutdown-behavior -K /path/to/x509-key.pem -C /path/to/x509-cert.pem
If the value is not
stop, then do
ec2-modify-instance-attribute i-AMAZON-INSTANCE-ID -K /path/to/x509-key.pem -C /path/to/x509-cert.pem --instance-initiated-shutdown-behavior stop
When setting up sshfs mounts and Linux samba servers, one can make it so that symbolic links are followed (so they aren’t broken). For sshfs, add the
follow_symlinks option. In
/etc/fstab/, the entry would look something like
sshfs#USERNAME@SERVERNAME: /mnt/acer fuse fsname=sshfs#USERNAME@SERVERNAME:,comment=sshfs,noauto,users,exec,uid=1000,gid=1000,allow_other,reconnect,transform_symlinks,follow_symlinks,BatchMode=yes 0 0
For samba, add the following to either the
[global] options or the individual location in
follow symlinks = yes wide symlinks = yes unix extensions = no
Make sure samba is restarted and the sshfs mount point is re-mounted.
I just installed Linux Mint on my Asus T101MT. As with all my computers, I prefer to have the caps lock key as a control key. Of these methods, only the
xkb command works. To have the key remapped every session, I followed these instructions and created the file
<pre class="example">[Desktop Entry]
Encoding=UTF-8 Name=nocaps Comment=Remap caps lock as control. Exec=setxkbmap -option ctrl:nocaps Terminal=true
I just discovered Voodoo OTA Rootkeeper, which makes a backup copy of root (
su) and could restore root after any OTA update. I guess this is useful for me since I haven’t installed any custom roms on these two devices (yet) and am able to do OTA updates. The app does not work with all devices, but it works on my HTC Evo 3D phone and Asus Transformer Prime tablet.