Thursday, April 24, 2014

VIM useful commands

:sort
to sort all the lines in the current file

:sort u
to sort and then unique all the lines in the current file

:%!sort -R
to shuffle all the lines in the current file

:%!xxd
to view the current file in hex mode


Friday, March 7, 2014

How to combine combine images/pdfs on Ubuntu?

1. Ubuntu 12.04 pdf printer
sudo apt-get install cups-pdf

2. Combine images into a pdf file
imagemagick is a command line toolkit to modify image files
sudo apt-get install imagemagick
convert 1.png 2.jpg output.pdf


3. Combine pdfs into a single pdf file
pdfshuffler is a GUI toolkit for your use
sudo apt-get install pdfshuffler
pdfshuffler

Wednesday, December 18, 2013

Chrome: the World Clock app installs malware with it


I just found that the World Clock app in Chrome installs a malware with it which pops up ads when you browse webpages. The link of the malware is:
 http://intext.nav-links.com

If you want to get rid of the malware, just uninstall the World Clock app.

Saturday, December 7, 2013

MAC OS: compile Megam for Moses

Megam is a machine learning tool which can be found at:
http://www.umiacs.umd.edu/~hal/megam/

It is required by the pair-wise ranking optimization (PRO, which is a replacement of MERT) of Moses.
It releases its binary executable version on Linux which can run on most Linux systems, but it does not have a binary executable version for MAC OS. We have to compile it by ourselves.

MAC OS version: 10.8.5
Port version: MacPorts 2.2.1
Megam version: 0.92 (Fifth Release 17 August 2007)
Moses version: 1.0

1. install ocaml using port on MAC OS:
sudo port install ocaml

2. go to the MERT directory of Moses:
cd mosesdecoder-RELEASE-1.0/mert

3. download Megam:
wget http://hal3.name/megam/megam_src.tgz
tar -xzvf megam_src.tgz (creating a directory megam_0.92)
cd megam_0.92

4. change megam's Makefile:
(1) replace "WITHSTR =str.cma -cclib -lstr" with:
WITHSTR =str.cma -cclib -lcamlstr
(2) replace "WITHCLIBS =-I /usr/lib/ocaml/caml" with:
WITHCLIBS =-I /opt/local/lib/ocaml/caml/

5. compile:
make opt

6. link:
cd .. (to mosesdecoder-RELEASE-1.0/mert)
ln -sf megam_0.92/megam.opt megam_i686.opt

Now you can run mert-moses.pl with PRO tuning.


Saturday, November 30, 2013

VIM: open file at previous position

add the following to your ~/.vimrc:
set viminfo='10,\"100,:20,%,n~/.viminfo

if it still does not work, the problem is likely to be that the ~/.viminfo does not belong to your account. Use the following command to fix it:
sudo chown YourUserName:YourGroup ~/.viminfo

Wednesday, November 27, 2013

MAC OS: use GNU tools instead of BSD ones

The default tools of MAC OS are the BSD tools unfortunately, e.g., ls, head, etc.
I would say BSD tools are really less advanced than GNU tools, e.g., you can use "head -n -100" with GNU head, but not with BSD head, and the BSD ls is less colorful than the GNU ls.

How can we use GNU tools instead of BSD ones:
(1) install GNU tools using port:
sudo port install coreutils findutils
(2) append the following line to your ~/.bash_profile
export PATH=/opt/local/libexec/gnubin:$PATH