This blog covers various topics from technical tweaks to latest in computational linguistics, Artificial Intelligence, Machine Learning and Wed Data Mining.
Friday, December 19, 2008
installing caml on ubuntu
http://caml.inria.fr/download.en.html
Gzipped file. decompress using tar xzvf
do ./configure
test with make world and make opt
install by
sudo make install
#if you want to install/compile MEGA
edit WITHCLIBS variable in Makefile and set this to /usr/lib/ocaml/3.10.0/caml
(replace with your version of caml)
Monday, November 24, 2008
Microsoft Outlook Web Access
Thursday, October 30, 2008
SAMBA Ubuntu Putty Windows Xp Tunneling Map Drive!
To achieve this goal, this post describes the following:
1. How to install/configure SAMBA on Ubuntu (file server)
2. How to install/configure a network adapater on windows (Windows connection)
3. How to install/configure Putty (SSH agent)
4. How to Map a network drive (Mapping a network drive)
Installing SAMBA on Ubuntu
sudo apt-get update
sudo apt-get install samba
sudo emacs -nw /etc/samba/smb.conf [open config file]
set the following line.
browsable = yes
writeable = yes
restart samba
sudo /etc/init.d/samba reload
share a folder.
right click the folder in nautilus and select "share options"...share over windows networks (SMB)
see this video and this site
Install a loopback network adapter
A loopback network adapter is kind of a “virtual network adapter”: it acts as a normal network adapter, but you don’t have to install any physical hardware to use it. It is only usable on the PC it’s installed on (other PCs can’t connect to it).
- Go to Control Panel - Add Hardware
- Click Next, then wait a while, choose “Yes, I have already connected to the hardware” and Next again.
- Choose the last option, “Add a new hardware device”, click Next.
- Choose “Install the hardware that I manually select from a list (Advanced)”, click Next.
- Choose “Network adapters”, click Next.
- Choose Microsoft, “Microsoft Loopback Adapter”, click Next and Next again.
- Click Finish.
Configure the Microsoft Loopback Adapter
Since the loopback adapter won’t have a DHCP server to ask for an IP address, we need to configure an IP address manually.
- Right click on “My Network Places” (on your desktop or in your Start Menu), click Properties.
- Find the network connection that is associated with the “Microsoft Loopback Adapter”. Usually it’s called “Local Area Connection 2″. For clarity, I renamed mine to “Loopback” (what’s in a name?). Right click the connection name, click Rename and change it.
- Right click the Loopback connection, click Properties.
- On the General tab: disable “Client for Microsoft Networks” and “File and Printer Sharing for Microsoft Networks” (only untick the checkboxes, DO NOT uninstall!).
- Click “Internet Protocol (TCP/IP)” and click Properties.
- On the General tab: click “Use the following IP address” and pick a private IP address on an unused subnet (I used 192.168.100.100 with subnet mask 255.255.255.0).
- Click Advanced.
- On the WINS tab: click “Disable NetBIOS over TCP/IP”, then click OK and again OK.
- Click Close.
Create or edit the LMHOSTS file
- Open the file “C:\WINDOWS\system32\drivers\etc\lmhosts” (create it if it doesn’t exist - note that the file should have no file extension).
- Add the following line to the end of the file:
192.168.100.100 servernamehere
- Save and close.
Configure PuTTY
At last, we have to tell PuTTY to create an SSH tunnel from the loopback connection to our home server. I assume you already have a PuTTY saved session to connect to your home server.
- Open PuTTY, click your saved session and click Load.
- Go to Connection - SSH - Tunnels.
- In Source port, type “192.168.100.100:139″ (I know, the field is quite small, but it will accept the value anyway).
- In Destination, type “localhost:139″.
- Click Add, and do not forget to resave your saved connection!
To confirm that everything is working, connect to your home server with the saved session in PuTTY. Click Start - Run and enter “\\servernamehere\sharenamehere”. Depending on your Samba setup, you may have to enter a username and password. Done!
Background information a.k.a. Frequently Asked Questions
Why do I have to install an extra loopback adapter? Can’t I use the adapter that’s already in my PC?
Yes, in fact you could use the adapter that’s already in your PC. But… you would still have to disable the Client for Microsoft Networks and File and Printer Sharing. That means you won’t be able to use any other shares besides your home shares. Not very practical. An extra adapter allows you to have Microsoft Networking enabled on your normal network connection and use your home shares simultaneously with other (work, school, …) shares.
Do I really need the LMHOSTS file?
No, you don’t. You could refer to the IP address as well (e.g. connect to “\\192.168.100.100\sharenamehere”). But I wanted the solution to be transparant, whether I’m at home or not. If I use “\\servernamehere\sharenamehere” at home, then I want to use it anywhere else as well (or else I have to remember too many things). That’s what the LMHOSTS file is for.
=============================================
Above post was copied from here just in case the original post get vanished!
To set putty access without passwords, copy your private key (id_dsa) from the remote machine to the local machine. Open puttygen and load this key. Save this key in putty format without a passphrase. In Putty select ssh->auth and specify this file. Also connection->auto-login name and specify the user.
Sunday, October 26, 2008
Double Spacing
\usepackage{setspace}
\doublespacing
Thursday, October 16, 2008
subversion
Refer this article to install subversion on Ubuntu and set up Apache to get web access to the repository. Following is a summary of the commands.
(using aptitude is better than apt-get because the former keeps a track of dependencies during uninstall time, and records a log)
installing subversion
sudo apt-get update
sudo apt-get install subversion
creating the repository
cd /var
sudo mkdir svn
sudo svnadmin create /var/svn/repos
add svn as a user
sudo adduser svn
sudo chown -R svn.svn svn
let a user access svn (add to svn group)
sudo vigr
admin:x:110:user_name
svn:x:1001:user_name
SSH access
sudo apt-get install openssh-server
svn co svn+ssh://username@machinename/var/svn/repos
chmod 0700 .ssh
chmod 0600 .ssh/authorized_keys2
Set up Apache Web Access to the repository
sudo apt-get install libapache2-svn
cd /etc/apache2/sites-enabled
sudo vi 000-default
<Location /svn >
DAV svn
SVNPath /var/svn/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/passwords
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
<Location\ >
sudo /etc/init.d/apache2 force-reloadAdd the following to the Location directive above to secure the repository.
AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/passwords Require valid-user set up BASIC authentication as follows. sudo htpasswd -cb /etc/apache2/passwords USERNAME PASSWD sudo /etc/init.d/apache2 force-reload To see whats on SVN do a list: svn list svn+ssh://user@server/home/svn/repos Tortoise SVN This tool provides a shell script in Windows explorer so that we can easily checkout, import, or update a folder with an SVN repository in a remote machine. I will describe how to use Tortoise with svn+ssh on Windows using Putty. download and install tortoise from here. http://tortoisesvn.tigris.org/ Installation is fairly simple. Requires a restart on Xp after installation. Create a tunnel using putty. First create a key using putty keygen. You can either convert an existing private key or create a private/public key pair from the scratch by doodling some random movements. Now load the private key by double clicking. This should load they key to putty agent and the agent should appear as an icon in the Windows system tray. Now open putty and create an SSH connection to the remote server as follows: Give the HOST name (alternatively the IP), specify a name in the saved sessions box, in the connection->Data provide your username in the "Auto-login username". Now save the session, load it and open it. Now right click on any windows explorer window (in a directory) and in the pop-up menu select TortoiseSVN->Repo-broweser and type the following the url box: svn+ssh://username@server/home/svn/repos This will show you all the modules uploaded to the SVN server. If you are in Linux, then when you try to use svn+ssh then it will always ask you to type your password. To avoid doing this add your id_dsa.pub and/or id_rsa.pub public keys to authorized_keys and authorized_keys2 files by doing cat id_rsa.pub >> authorized_keys2
Thursday, October 2, 2008
Wednesday, October 1, 2008
SQL
use
2. To show all tables in the database
show tables from
3. Describe a table
describe
4. print some rows
select * from
Saturday, August 16, 2008
ssh keys and permissions
ssh-keygen -t rsa
This will create two keys id_rsa and id_rsa.pub
In the remote machine, create a .ssh directory in your home directory
set permission to 700 by, chmod 700 .ssh
create an authorized_keys file in the .ssh directory by
touch authorized_keys
copy the public key into this file by,
cat id_rsa.pub >> authorized_keys
set the permission of authorized_keys to 640
Now you can access the remote machine without passwords!
Thursday, July 31, 2008
Do not display initia screen on emacs
add the following line to your .emacs file.
(modify-frame-parameters nil '((wait-for-wm . nil)))
Friday, July 11, 2008
screen command
sudo emacs -nw /etc/screenrc
and uncomment the line,
startup_message off
to enable scroll mode do Ctrl+A and ESC
Press ESC to return to normal mode.
To reattach a screen that is attached else where do:
screen -d
The following commands can be used for navigation purposes. Reference
By writing the following line to .screenrc in $HOME you can change number of lines that are stored in the scrolling buffer.
h - Move the cursor left by one character j - Move the cursor down by one line k - Move the cursor up by one line l - Move the cursor right by one character 0 - Move to the beginning of the current line $ - Move to the end of the current line. G - Moves to the specified line (defaults to the end of the buffer). C-u - Scrolls a half page up. C-b - Scrolls a full page up. C-d - Scrolls a half page down. C-f - Scrolls the full page down.
defscrollback 5000
Enable mouse wheel in Ubuntu VMWare guest
To fix this, open terminal and type the following:
$ sudo gedit /etc/X11/xorg.conf
Then find "InputDevice" section with Identifier "Configured Mouse"
Change Option "Protocol" "ps/2"
to
Option Option "Protocol" "IMPS/2"
Last restart X using Ctrl + Alt + Backspace
create user/grant permission
create user 'username'@'hostname' identified by 'passwd';
create database mydb;
grant all on mydb.* to 'username'@'hostname';
now login as the new user and create table etc in mydb.
mysql -u username -p
enter password
emacs
Add the followig to .emacs
(require 'tramp) (setq tramp-default-method "scp")
now you can open a remote file like this
/kin:~/re/test.py
Moving to buffers
Next : Ctrl+X+right arrow key
Previous : Ctrl+X+left arrow key
Word wrapping
To toggle the fill mode
M+x auto-fill-mode
If we are in the fill mode then "fill" will appear in the status bar.
At fill mode, line wrapping causes a new line char to be inserted.
(not good, have to reformat)
To format/wrap
M+q (do this on top of text)
Setting the scroll bar on the right
put the following two lines in the .emacs file
(setq scroll-bar-mode-explicit t)
(set-scroll-bar-mode 'right)
Enable backspace
(global-set-key "\C-h" 'backward-delete-char)
Markup/delete/insert
press Ctrl+space to start mark-up a region.
Now move the curser down/up left/right to mark a rectangle.
press Ctrl+x and then r then t now it will turn to
String-rectangle mode. Type what you want to insert
To delete,
markup the rectangle with Ctrl+space and then
Ctrl+x and r k
k is to kill
emacs fonts
To check all availabe font options run, xfontsel from the command line.You can try diiferent fonts and their options.
One example would be,
(set-frame-font "-adobe-helvetica-*-r-normal-*-14-*-75-75-*-77-*-u")
Add this line to your .emacs file.
To set the geometry of the window (size) add the following line
to ~/.Xresources
Emacs.geometry:31x48
Then run,
xrdb -merge ~/.Xresources
The next time you start emacs, things will be nice!!!
installing/reinstalling/removal
starting mysqld service... sudo /etc/init.d/mysqld start
to completely remove mysql do the following.
sudo apt-get --purge remove mysql-client mysql-server-5.0
you will loose all databases!!!
changing the directory in which mysql databases are stored
Because this is in the root partition you might quickly use up root
partition if you create large databases. If you want to change this
directory to, for example, /home/mysql do the following.
creating the new datadir
sudo mkdir /home/mysql
stop mysql.
sudo /etc/init.d/mysql stop
edit my.cnf (mysql config file)
sudo emacs -nw /etc/mysql/my.cnf
change datadir under [mysqld] from /var/lib/mysql to /home/mysql
edit apparmour (Ubuntu speciality)
sudo emacs -nw /etc/apparmour.d/usr.sbin.mysqld
change lines that contain /var/lib/mysql/ to /home/mysql/
copy the databases to new directory.
sudo mv /var/lib/mysql/* /home/mysql/.
change file ownership (should be owned by user mysql and group mysql)
sudo chown -R /home/mysql
restart apparmour
sudo /etc/init.d/apparmour restart
start mysql
sudo /etc/init.d/mysql start
GNUPLOT
set datafile separator ","
to print to eps:
set terminal postscript eps enhanced "Times-Roman" 18
set size 1.0, 1.0
set output 'histo.eps'
Here, size is relative to the box
to generate histograms:
(actually gnuplot cannot cumulate the data for you.
use a program to do that. gnuplot only draws the bar chart)
set style fill solid 1.00 border -1
set style data histograms
set style histogram clustered gap 1
set xtics border in scale 1,1 nomirror rotate by -45 offset character 0, 0, 0
set xlabel "xxx"
set ylabel "yyy"
set yrange [0.00:1.00] noreverse nowriteback
set nokey #off the legend
plot 'datafile' using 2:xticlabels(1) #column one contains labels
pause -1 #wait until enter is pressed
Setting up WinShell and dviout with pLatex
http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/
install ghost script, ghost view and dviout
install winshell
http://www.winshell.org/modules/ws_download/
configuration in winshell
options->program calls
1. Latex
C:\pTex\bin\platex.exe
cmdline: -src-specials -interaction=nonstopmode "%s.tex"
[-src "%s.tex" worked for me]
2. bibtex
C:\pTex\bin\jbibtex.exe
cmdline: "%s"
3. dviview
C:\pTex\dviout\dviout.exe
cmdline:-1 %s.dvi "# %l '%c.tex'"
4. dvips
C:\pTex\bin\dvipsk.exe
cmdline:-D600 "%s.dvi"
set font; ms gothic size 14 script Japanese encoding sjis
set colors in syntax-colors
In dviout set the following settings;
option->set up parameters->common
src: C:\Program Files\WinShell\WinShell.exe^s-c "%s" -l %d
This will jump to the position in winsell editior when you double click on a word in the dvi file
check, options->continuous review
to stop opening dviout window everytime you run dviout from winsell.
Moreover, it will instantly show any changes that you have made to tex file when you compile it.
LaTex PDF Generation from DVI
dvipdfm -p letter mypaper.dvi
Write XML from Python
then use saxutils.escape("raw_string")
will give all exceptions escaped!
Thursday, July 10, 2008
HTML tooltip texts
<HEAD>
<STYLE>
.popup
{
COLOR: #9F14A;
}
</STYLE>
<TITLE>Test Page</TITLE>
</HEAD>
<BODY>
<SPAN title="popup text" class="popup">display</SPAN>
</BODY>
</HTML>
Python CGI programming
/etc/httpd/conf/httpd.conf is the configuration file. Open this as root (sudo emacs -nw httpd.conf)
To enable cgis
ScriptAlias /cgi-bin/ "/var/www/cgi-bin"
<Directory "/var/www/cgi-bin">
Options FollowSymLinks ExecCGI
Order allow, deny
Allow from all
It is also possible to set per-user cgi-bin, html folders but this reveals the users in a machine.
public_httml settings are not good for this reason
/var/www/html html folder
/var/www/cgi-bin/ cgi-bin
Must have write permissions (root or su)
AddHandler cgi-script .cgi .pl .py
Now save and start httpd by,
sudo /etc/init.d/httpd restart
File permissions
cgi-bin should be 755 (4=read, 2=write, 1=exec)
scripts should be 705 (if this needs to write to a folder then set to 707)
chmod 705 my.py
#!/usr/bin/python
import cgi
import cgitb; cgitb.enable()
print "Content-Type: text/html \n"
print "<HTML> \n"
print "<HEAD> <TITLE> Results </TITLE> </HEAD> \n\n\n"
(At least two lines should be there after the header. If not we get Internal Server Error 500)
Python float string formatting
gives a 15 decimal precision float converted to a string.
It is possible to get more than 15 decimals using %.20f and
%.80g etc. But the decimals after 15th are not reliable.
****incrementing integers in python
i+=1
i*=5
i-=1
i/=2
all works. Note i**2 means i to the power 2
***********************
Python have private class and module methods. To make a method private
to a class or a module use __before the name.
Ex;
def __privateMethod():
If you try to call this method outside the module or outside the class
declaration, python will generate a 'method not found' exception.
Python 万æ³!!!
Symbolic links
If dvd5 is a directory then we must create a soft link using -s option.
Do not use a trailing back slash after the directory name
firefox remote
firefox -no-remote&
If there is already a firefox opened in the remote machine then you
will have to first close it.
find the pid of the currently running instance of firefox by,
ps -ax|grep 'firefox'
and kill it by
kill -9 pid
Logitec Keyboard
To turn the bar off altogether, since it is very sensitive, hold the 'FN' key and hit the 'X' next to it. To turn it back on, hold the 'FN' key and hit the flip-3d key next to it.
ssh X11 Forwarding not working!
ForwardX11 yes
do the same for secure tunneling X11 and agent forwarding.
Now delete all Xauthority file locks by
sudo rm .Xauthority*
Now log in again.
Add users set passwords and home directory
sudo passwd usrname
change the password
installing vmware tools on fetsity
sudo apt-get update
sudo apt-get install build-essential
howto
bashrc vs bash_profile
is invoked (e.g., starting terminal in Gnome or emacs shell)
bashrc is called when an interactive log-in shell is invoked
(e.g., ssh shells)
Add the following to .bash_profile and write all things that
you need to do in .bashrc so that even when a non-interactive
log-in shell is invoked, still .bashrc will get invoked.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
IE maximizing new windows
Now resize the new window (do not use maximize button) by dragging the edges to your
preference. Now close the first window by File->Exit
and do the same for the new window.
This works for IE7
Ubuntu Japanese IME/Emacs
sudo passwd root
Give a new root password
specify japanese ubuntu ring,
system->software sources->third-party software
Add the following two locations for feisty (7.04)
deb http://archive.ubuntulinux.jp/ubuntu-ja feisty/
deb http://archive.ubuntulinux.jp/ubuntu-ja feisty-ja/
close->reread
This will give an error because of public key mismatch, but
do not worry.
Install ubuntu-japanases-ring package
system->admin->synaptic package manager
ubuntu-ja-keyring
Apply->ok
This will download japanese packages and install.
To set up IME, first install Japanese language support by,
admin->language package
Now restart (logout X) and log in again, try
Ctrl+Space
If this does not trigger scim, then you need to add the following
to Xsession.d,
sudo touch /etc/X11/Xsession.d/74custom-scim_startup
sudo chmod 646 /etc/X11/Xsession.d/74custom-scim_startup
echo 'export XMODIFIERS="@im=SCIM"' >> /etc/X11/Xsession.d/74custom-scim_startup
echo 'export GTK_IM_MODULE="scim"' >> /etc/X11/Xsession.d/74custom-scim_startup
echo 'export XIM_PROGRAM="scim -d"' >> /etc/X11/Xsession.d/74custom-scim_startup
echo 'export QT_IM_MODULE="scim"' >> /etc/X11/Xsession.d/74custom-scim_startup
sudo chmod 644 /etc/X11/Xsession.d/74custom-scim_startup
You need to re-log-in to make the changes effective.
Now you can inset Japanese.
subversion control (SVN)
Some useful commands are:
When you have first created SVN and want to submit the initial version of a project use import command.
1. svn import hmm http://ppp.berlin.ghost.de/svn/
2.To check out for the first time, do
svn co http://pp.berlin.ghost.de/svn/hmm newhmm
Files will be downloaded and saved as newhmm
If http fails, use svn://...
3. After changing a file, if you want upload the changes, do commit.
svn commit
(Remember to go out to the appropriate parent directory. Otherwise, you
may get a 'work directory not found' kind of an error.
4. Once you have checked out, but want the latest version, do, update.
svn update (alternatively, svn up)
if svn breaks down, do
svnadmin recover /home/svn
chmod -R g+w /home/svn
file permission and groups
g=group
o=others
r=read w=write x=execute
+ add permissions
- remove permissions
= set permissions absolutely
Ex:
chmod go+rx mydir
separate multiple settings by a comma
chmod a=rx,u+w myhome
will set myhome to drwxr_xr_x
Continuously monitor GPU usage
For nvidia GPUs do the follwing: nvidia-smi -l 1
-
If you used Adobe acrobat to annotate a PDF file and you had Acrobat crashed or had to restart the computer abruptly during the annotation p...
-
By default when you install MacTex and use TexShop for writing and compiling latex you will get PDFs with page size A4. This is all fine for...
-
These three terms are explained below. Anaphora is a back ward reference. Ex: I gave a banana to the monkey which it ate. Here "it"...