Thursday, January 20, 2011

Linux "mail"

From : http://lowfatlinux.com/linux-send-email.html

The most basic way to send email on a Linux system is with the mail command. The mail program is a command-line interface for sending and receiving electronic mail. It works, but it's not pretty. Later in this section, you'll learn about Pine, a much friendlier email interface, but you should know how to use mail since it's guaranteed to be available on any Unix system. Let's say you're logged in as root and you want to send a message to hermie. Start the process by typing

mail username@gmail.com

The system will respond with a Subject: prompt. Type the subject for your note, press enter, and then write your message, line by line. When you're done with your missive, press enter to get to a blank line, then ctrl-D to send it.

Here's a sample mail session. (The stuff you type is shown in bold, and the system prompts are normal intensity.)

# mail hermie
Subject: Gone Fishing
I've decided to kick back this afternoon and go fishing.
So if this crazy Linux system rolls over and dies,
I suggest you do likewise.
^D
EOT

After you press ctrl-D, the system responds with the cryptic EOT message, which could mean "End of Text," or "Eat Only Twinkies," or whatever you like.

You may notice an apparent contradiction in the preceding example, since the email address of the recipient does not contain an @ sign and a domain name. If the sender and recipient are on the same system, it's all right to give just the user name as the email address. You could just as well have addressed your mail to username@gmail.com since in this case, this is equivalent to username.


NOTS:

you need to do install mailutils on Ubuntu, then it will work correctly

sudo apt-get install mailutils

Wednesday, January 19, 2011

Intro to Computers For Everyone

FROM URL: http://www.cs.jhu.edu/~kchurch

1.       Scratch

a.       http://scratch.mit.edu/

b.      Keywords to try: Circle_Circus, Fold Symmetry, Rubik's Cube, Guitar Hero, BigPaw

c.       http://info.scratch.mit.edu/Support/Videos

d.      Homework: Suppose you have a 12-year-old kid sister.  Design a scratch project for her.  Ok to start with some other student's project and ask her to modify it in some interesting way.  The project should be fun (and educational), and make her want to learn more.

2.       Unix for Poets (Small is Beautiful)

a.       If you don't have access to Unix, try this: http://www.cygwin.com/

b.      https://jshare.johnshopkins.edu/kchurch4/public_html/wwwfiles/tutorials/unix_for_poets.ps

c.       http://people.sslmit.unibo.it/~baroni/compling04/UnixforPoets.pdf

d.      http://www.faqs.org/docs/artu/ch01s06.html

e.      http://en.wikipedia.org/wiki/Douglas_McIlroy

f.        Optional

                                                               i.      Ancestry of Linux - How the fun began presentation, Nov 2005 (presentation) (audio) (video)  

                                                             ii.      http://www.cs.dartmouth.edu/~sinclair/doug/

g.       Video Response: http://video.google.com/videoplay?docid=-8860158196198824415#

h.      http://www.cs.ucsb.edu/~ravenben/papers/coreos/Hoa81.pdf

i.         Homework: follow the links above.  Complete as much of the Unix for Poets that you can do in 2 hours (but save a third hour for the video response)

3.       Chomsky Hierarchy, Python & NLTK

a.       http://en.wikipedia.org/wiki/Chomsky_hierarchy

b.      Chomsky, Noam (1956). "Three models for the description of language". IRE Transactions on Information Theory (2): 113–124. http://www.chomsky.info/articles/195609--.pdf. 

4.       Web Programming

a.       HTML

b.      Javascript (with sound)

                                                               i.      http://www.webcodingtech.com/javascript/tablecell-colorchange.php

                                                             ii.      http://www.w3schools.com/HTML/html_colorvalues.asp

c.       Forms

d.      Tables

                                                               i.      http://www.w3schools.com/html/tryit.asp?filename=tryhtml_tables

                                                             ii.      Tables

                                                            iii.      Via Word

e.      Homework: Make a form that uses the following features: tables, input text box, drop down menu, radio buttons, submit button, HREFs, images & sounds.

f.        Hint:  If you don't know how to use one of these features…

                                                               i.      Textbooks/References (not recommended)

                                                             ii.      Google for documentation (such as this)

                                                            iii.      Learn by example: Google for a page that uses a feature and then view source

                                                           iv.      Word for Windows

                                                             v.      Word of mouth (don't be afraid to ask a friend for help)

5.       Facebook

a.       http://www.mathcs.emory.edu/~eugene/cs190/

6.       Search Engines & Crawling (wget)

7.       World Wide Telescope

8.       Databases (MySQL)

9.       Statistics Packages (R, Excel)

a.       R

                                                               i.      http://cran.r-project.org/

                                                             ii.      data = read.table(http://www.stat.umn.edu/geyer/5102/data/ex5-1.txt, header=T); plot(data); g = glm(data$y ~ data$x); abline(g); summary(g)

                                                            iii.      http://www.stat.umn.edu/geyer/5102/examp/reg.html

                                                           iv.      http://www.ats.ucla.edu/stat/r/dae/logit.htm

                                                             v.      http://www.cs.uiowa.edu/~jcryer/JSMTalk2001.pdf

10.   Symbolic Processing

a.       Numeric Series & Web Search

                                                               i.      http://www.wolframalpha.com/input/?i=derivative+of+x%5E2+%2B+x

                                                             ii.      http://www.wolframalpha.com/input/?i=integral+of+x%5E2+%2B+x

                                                            iii.      http://www.wolframalpha.com/screencast/introducingwolframalpha.html

                                                           iv.      http://www.research.att.com/~njas/sequences/index.html?q=1%2C2%2C3%2C5%2C8&language=english

                                                             v.      http://www.research.att.com/~njas/sequences/?q=catalan&sort=0&fmt=0&language=english

                                                           vi.      http://www.wolframalpha.com/input/?i=1%2C+2%2C+3%2C+5%2C+8%2C+13%2C+21

b.      Lisp & Symbolic Differentiation

                                                               i.      http://common-lisp.net/project/lispbox/

                                                             ii.      http://en.wikipedia.org/wiki/Read-eval-print_loop

                                                            iii.      http://www.paulgraham.com/rootsoflisp.html

                                                           iv.      http://mitpress.mit.edu/sicp/full-text/sicp/book/node39.html

c.       Homework: Expand the symbolic differentiation (using Lisp, or any other programming language)

11.   Lambda Calculus & Scheme

a.       http://en.wikipedia.org/wiki/Scheme_(programming_language)

b.      http://jscheme.sourceforge.net/jscheme/contrib/jswebapp/jscheme/demo/JSchemeEvaluator.html

c.       http://en.wikipedia.org/wiki/Lambda_calculus

d.      http://www.cs.bham.ac.uk/~axj/pub/papers/lambda-calculus.pdf

e.      http://www.allisons.org/ll/FP/Lambda/Introduction/

f.        http://www.mactech.com/articles/mactech/Vol.07/07.05/LambdaCalculus/

g.       http://www.jetcafe.org/jim/lambda.html

h.      Homework: http://worrydream.com/AlligatorEggs/

12.   C

a.       http://madison-project.wdfiles.com/local--files/tutorials/The_C_Programming_Language.pdf

b.      http://www.jetcafe.org/jim/highlowc.html

c.       http://home.earthlink.net/~momotuk/pointers.pdf

d.      Suffix Arrays

e.      http://www.research.att.com/~bs/hopl2.pdf

13.   Algol

a.       http://portal.acm.org/citation.cfm?id=356671

b.      Example of Design by Committee: http://www.masswerk.at/algol60/report.htm

14.   Cloud Computing (MapReduce, Google File System & Hadoop)

a.       http://labs.google.com/papers/mapreduce.html

b.      http://labs.google.com/papers/gfs.html

c.       http://labs.google.com/papers/bigtable.html

d.      http://aws.amazon.com/

e.      http://perspectives.mvdirona.com/2008/10/11/Hotnets2008Paper.aspx

f.        http://www.alphaworks.ibm.com/tech/mapreducetools

g.       http://hadoop.apache.org/common/docs/current/mapred_tutorial.html

h.      http://www.cloudera.com/hadoop-training-thinking-at-scale

Blist (B-Trees in Python)

http://pypi.python.org/pypi/blist

Blist_illustration.jpg

GSUtil Tool - Google Storage for Developers - Google Code

GSUtil Tool - Google Storage for Developers - Google Code

Tuesday, January 18, 2011

Conver doc to Latex

Some notes from the website, -- might try --- now for sure that it can work

Word2TeX ( www.word2tex.com ) does this job and it seems quite good,
although I haven't used it. You just Save As.. your .doc file in .TeX
format and it has plenty of options, including image convertion.

I don't recommend Word for writing papers - I prefer using MathType so
that you can see what you 're writing and then copy-paste the
equations to LaTeX using the tip bomba923 said. MathType has also
keyboard shortcuts for most of the symbols and customization
flexibility. But it 's worthwhile to spend a few hours learning LaTeX
- it's easier than general relativity anyway! :rolleyes:

Download a copy of technicenter (http://www.toolscenter.org/) or
miktex (http://www.miktex.org/ ) and use their guis. I used Word2TeX
and it is ok, better than retyping everything. The gui's have come a
long way to help speed and productivity, when I started using TeX back
in '88, there were none and you typed in everything from scratch and
spent hours and hours debugging and spell checking to get everything
to compile and run. forget getting a pdf file, they didn't exist and
you has to use postscript.

If you are using linux, try kile (http://kile.sourceforge.net/), it is
the best out there on that platform, but watch out, one of the
libraries will overwrite a library for Fedora Core 3 and you will not
be able to completely upgrade your system.

Using Latex in ECN

We found that there is no module for doing the Latex in RCAC, so transfer to ECN

In the shell:
$ ssh -X username@bridge.ecn.purdue.edu

Basically, 3 steps for writing a document in TeX or its variants (LaTeX, AmSTeX):

   * Create the "source file" (the tex document).
   * Compile the source file with tex or latex.
   * View or print the compiled file.

As with other programming languages, one usually has to go through this "edit-compile-run" cycle multiple times (a few dozen times or more in case of some longer documents) to fix any bugs and obtain the desired output. In detail the steps are:

-- Create
   * Editing: Use a text editor to create a text file containing the "tex source", and give the file a name with a ".tex" extension, say "paper.tex". The two standard editors on Unix system are emacs and vi. Pico, the editor in pine, is easy to learn, but its capabilities are very limited, and I would recommend that you learn emacs. Both emacs and vi (in the enhanced version "vim") are available in Windows versions.

-- Compiling: tex paper.tex ; latex paper.tex
   * Compiling: Assuming your tex file is "paper.tex", issue the command latex paper to run the file through the latex program. (You can leave off the extension ".tex" in "paper.tex".) (For plain tex or amstex documents, the corresponding commands would be "tex paper" and "amstex paper", though you will likely not need this.) Often there will be error messages, in which case you'll have to exit the compile stage (type "x" at the question mark prompt), re-edit the file, and try again. Once all bugs have been fixed, the latex program will complete its run without error messages and create a file named "paper.dvi" (and some auxiliary files). This is the file that can be viewed on the screen or sent to the printer.

-- Previewing: xdiv paper;  dvips paper -o paper.ps ; pdflatex paper -o paper.pdf
   * Previewing: To view the file on the screen, use xdvi paper. (Again the extension ".dvi" can be left off; be sure, however, not to use the name of the original file "paper.tex" - xdvi operates on the dvi file, not the tex file.)
   * Printing: To send the file to the printer (which, by default, is ah130, unless you have changed it to something else), issue the command dvips paper. In order not to waste paper, you should do this only at the very end of the process, or if there are a large number of errors. Most of the time, you can check a file by previewing it on the screen with xdvi. As the name suggests, dvips converts a dvi file to a postscript (ps) file; by default, the postscript output produced by this program is immediately sent to the printer. If instead, you want to save the postscript onto a file, use dvi with the "-o" option: e.g., dvips paper -o paper.ps saves the postscript output onto a file "paper.ps" (which you can view with "gv").
   * Generating a pdf file: To create a pdf version of your document (e.g., in order to post it on a website), use pdflatex instead of latex to compile the TeX file: pdflatex paper will generate paper.pdf in a single step, without an intermediate dvi file.

Install Sphinx

Sphinx website says:

easy_install -U Sphinx
If you want that installed in system python you'd probably need
elevated permissions with sudo:

sudo easy_install -U Sphinx
If you do not have easy_install yet, see
http://peak.telecommunity.com/DevCenter/EasyInstall

Monday, January 17, 2011

Linux Command

SUMMARY OF LESS COMMANDS

Commands marked with * may be preceded by a number, N.
Notes in parentheses indicate the behavior if N is given.

h H Display this help.
q :q Q :Q ZZ Exit.
---------------------------------------------------------------------------

MOVING

e ^E j ^N CR * Forward one line (or N lines).
y ^Y k ^K ^P * Backward one line (or N lines).
f ^F ^V SPACE * Forward one window (or N lines).
b ^B ESC-v * Backward one window (or N lines).
z * Forward one window (and set window to N).
w * Backward one window (and set window to N).
ESC-SPACE * Forward one window, but don't stop at end-of-file.
d ^D * Forward one half-window (and set half-window to N).
u ^U * Backward one half-window (and set half-window to N).
ESC-) RightArrow * Left one half screen width (or N positions).
ESC-( LeftArrow * Right one half screen width (or N positions).
F Forward forever; like "tail -f".
r ^R ^L Repaint screen.
R Repaint screen, discarding buffered input.
---------------------------------------------------
Default "window" is the screen height.
Default "half-window" is half of the screen height.
---------------------------------------------------------------------------

SEARCHING

/pattern * Search forward for (N-th) matching line.
?pattern * Search backward for (N-th) matching line.
n * Repeat previous search (for N-th occurrence).
N * Repeat previous search in reverse direction.
ESC-n * Repeat previous search, spanning files.
ESC-N * Repeat previous search, reverse dir. & spanning files.
ESC-u Undo (toggle) search highlighting.
&pattern * Display only matching lines
---------------------------------------------------
Search patterns may be modified by one or more of:
^N or ! Search for NON-matching lines.
^E or * Search multiple files (pass thru END OF FILE).
^F or @ Start search at FIRST file (for /) or last file (for ?).
^K Highlight matches, but don't move (KEEP position).
^R Don't use REGULAR EXPRESSIONS.
---------------------------------------------------------------------------

JUMPING

g < ESC-< * Go to first line in file (or line N).
G > ESC-> * Go to last line in file (or line N).
p % * Go to beginning of file (or N percent into file).
t * Go to the (N-th) next tag.
T * Go to the (N-th) previous tag.
{ ( [ * Find close bracket } ) ].
HELP -- Press RETURN for more, or q when done

SUMMARY OF LESS COMMANDS

Commands marked with * may be preceded by a number, N.
Notes in parentheses indicate the behavior if N is given.

h H Display this help.
q :q Q :Q ZZ Exit.
---------------------------------------------------------------------------

MOVING

e ^E j ^N CR * Forward one line (or N lines).
y ^Y k ^K ^P * Backward one line (or N lines).
f ^F ^V SPACE * Forward one window (or N lines).
b ^B ESC-v * Backward one window (or N lines).
z * Forward one window (and set window to N).
w * Backward one window (and set window to N).
ESC-SPACE * Forward one window, but don't stop at end-of-file.
d ^D * Forward one half-window (and set half-window to N).
u ^U * Backward one half-window (and set half-window to N).
ESC-) RightArrow * Left one half screen width (or N positions).
ESC-( LeftArrow * Right one half screen width (or N positions).
F Forward forever; like "tail -f".
r ^R ^L Repaint screen.
R Repaint screen, discarding buffered input.
---------------------------------------------------
Default "window" is the screen height.
Default "half-window" is half of the screen height.
---------------------------------------------------------------------------

SEARCHING

/pattern * Search forward for (N-th) matching line.
?pattern * Search backward for (N-th) matching line.
n * Repeat previous search (for N-th occurrence).
N * Repeat previous search in reverse direction.
ESC-n * Repeat previous search, spanning files.
ESC-N * Repeat previous search, reverse dir. & spanning files.
ESC-u Undo (toggle) search highlighting.
&pattern * Display only matching lines
---------------------------------------------------
Search patterns may be modified by one or more of:
^N or ! Search for NON-matching lines.
^E or * Search multiple files (pass thru END OF FILE).
^F or @ Start search at FIRST file (for /) or last file (for ?).
^K Highlight matches, but don't move (KEEP position).
^R Don't use REGULAR EXPRESSIONS.
---------------------------------------------------------------------------

JUMPING

g < ESC-< * Go to first line in file (or line N).
G > ESC-> * Go to last line in file (or line N).
p % * Go to beginning of file (or N percent into file).
t * Go to the (N-th) next tag.
T * Go to the (N-th) previous tag.
{ ( [ * Find close bracket } ) ].
} ) ] * Find open bracket { ( [.
ESC-^F <c1> <c2> * Find close bracket <c2>.
ESC-^B <c1> <c2> * Find open bracket <c1>
---------------------------------------------------
Each "find close bracket" command goes forward to the close bracket
matching the (N-th) open bracket in the top line.
Each "find open bracket" command goes backward to the open bracket
matching the (N-th) close bracket in the bottom line.

m<letter> Mark the current position with <letter>.
'<letter> Go to a previously marked position.
'' Go to the previous position.
^X^X Same as '.
---------------------------------------------------
A mark is any upper-case or lower-case letter.
Certain marks are predefined:
^ means beginning of the file
$ means end of the file
---------------------------------------------------------------------------

CHANGING FILES

:e [file] Examine a new file.
^X^V Same as :e.
:n * Examine the (N-th) next file from the command line.
:p * Examine the (N-th) previous file from the command line.
:x * Examine the first (or N-th) file from the command line.
:d Delete the current file from the command line list.
= ^G :f Print current file name.
---------------------------------------------------------------------------

MISCELLANEOUS COMMANDS

-<flag> Toggle a command line option [see OPTIONS below].
--<name> Toggle a command line option, by name.
_<flag> Display the setting of a command line option.
__<name> Display the setting of an option, by name.
+cmd Execute the less cmd each time a new file is examined.

!command Execute the shell command with $SHELL.
|Xcommand Pipe file between current pos & mark X to shell command.
v Edit the current file with $VISUAL or $EDITOR.
V Print version number of "less".
---------------------------------------------------------------------------

OPTIONS

Most options may be changed either on the command line,
or from within less by using the - or -- command.
Options may be given in one of two forms: either a single
character preceded by a -, or a name preceeded by --.

-? ........ --help
Display help (from command line).
-a ........ --search-skip-screen
Forward search skips current screen.
-b [N] .... --buffers=[N]
Number of buffers.
-B ........ --auto-buffers
Don't automatically allocate buffers for pipes.
-c ........ --clear-screen
Repaint by clearing rather than scrolling.
-d ........ --dumb
Dumb terminal.
-D [xn.n] . --color=xn.n
Set screen colors. (MS-DOS only)
-e -E .... --quit-at-eof --QUIT-AT-EOF
Quit at end of file.
-f ........ --force
Force open non-regular files.
-F ........ --quit-if-one-screen
Quit if entire file fits on first screen.
-g ........ --hilite-search
Highlight only last match for searches.
-G ........ --HILITE-SEARCH
Don't highlight any matches for searches.
-h [N] .... --max-back-scroll=[N]
Backward scroll limit.
-i ........ --ignore-case
Ignore case in searches that do not contain uppercase.
-I ........ --IGNORE-CASE
Ignore case in all searches.
-j [N] .... --jump-target=[N]
Screen position of target lines.
-J ........ --status-column
Display a status column at left edge of screen.
-k [file] . --lesskey-file=[file]
Use a lesskey file.
-L ........ --no-lessopen
Ignore the LESSOPEN environment variable.
-m -M .... --long-prompt --LONG-PROMPT
Set prompt style.
-n -N .... --line-numbers --LINE-NUMBERS
Don't use line numbers.
-o [file] . --log-file=[file]
Copy to log file (standard input only).
-O [file] . --LOG-FILE=[file]
Copy to log file (unconditionally overwrite).
-p [pattern] --pattern=[pattern]
Start at pattern (from command line).
-P [prompt] --prompt=[prompt]
Define new prompt.
-q -Q .... --quiet --QUIET --silent --SILENT
Quiet the terminal bell.
-r -R .... --raw-control-chars --RAW-CONTROL-CHARS
Output "raw" control characters.
-s ........ --squeeze-blank-lines
Squeeze multiple blank lines.
-S ........ --chop-long-lines
Chop long lines.
-t [tag] .. --tag=[tag]
Find a tag.
-T [tagsfile] --tag-file=[tagsfile]
Use an alternate tags file.
-u -U .... --underline-special --UNDERLINE-SPECIAL
Change handling of backspaces.
-V ........ --version
Display the version number of "less".
-w ........ --hilite-unread
Highlight first new line after forward-screen.
-W ........ --HILITE-UNREAD
Highlight first new line after any forward movement.
-x [N[,...]] --tabs=[N[,...]]
Set tab stops.
-X ........ --no-init
Don't use termcap init/deinit strings.
--no-keypad
Don't use termcap keypad init/deinit strings.
-y [N] .... --max-forw-scroll=[N]
Forward scroll limit.
-z [N] .... --window=[N]
Set size of window.
-" [c[c]] . --quotes=[c[c]]
Set shell quote characters.
-~ ........ --tilde
Don't display tildes after end of file.
-# [N] .... --shift=[N]
Horizontal scroll amount (0 = one half screen width)

---------------------------------------------------------------------------

LINE EDITING

These keys can be used to edit text being entered
on the "command line" at the bottom of the screen.

RightArrow ESC-l Move cursor right one character.
LeftArrow ESC-h Move cursor left one character.
CNTL-RightArrow ESC-RightArrow ESC-w Move cursor right one word.
CNTL-LeftArrow ESC-LeftArrow ESC-b Move cursor left one word.
HOME ESC-0 Move cursor to start of line.
END ESC-$ Move cursor to end of line.
BACKSPACE Delete char to left of cursor.
DELETE ESC-x Delete char under cursor.
CNTL-BACKSPACE ESC-BACKSPACE Delete word to left of cursor.
CNTL-DELETE ESC-DELETE ESC-X Delete word under cursor.
CNTL-U ESC (MS-DOS only) Delete entire line.
UpArrow ESC-k Retrieve previous command line.
DownArrow ESC-j Retrieve next command line.
TAB Complete filename & cycle.
SHIFT-TAB ESC-TAB Complete filename & reverse cycle.
CNTL-L Complete filename, list all.

迅雷/快车/旋风专用链转换 ―― Private Link Support

https://chrome.google.com/extensions/detail/gmpllenfapkfpdkahamlbmbichihpmmg

功能概述:自动转换迅雷/快车/旋风专用链为真实地址
如今到处都是各种专用链接,什么快车专用、迅雷专用、旋风专用
……,难道上个网也要装这么多下载软件?为了不再遭受专用链的逼迫,笔者找到了这么一款小插件。它的使用很简单,每当遇到专用链时,只需点击地址栏右侧
"Show Virtual Link"菜单中对应的相关按钮,眨眼间插件便会自动将链接替换为真实地址。当然如果你嫌麻烦,也可以直接勾选最下方的"Auto
convert"复选框,从而实现链接自动转换一劳永逸!

ICML Program Chairs

Lise Getoor :   University of Maryland
Tobias Scheffer :  University of Potsdam

Area Chairs

Yasemin Altun: Max Planck Institute for Biological Cybernetics ----
Semi-supervised Learning
Xiaojin Zhu: University of Wisconsin-Madison ---- Semi-supervised Learning
Ulf Brefeld:   Yahoo! Research -----  Structured Output Prediction
Thorsten Joachims: Cornell University ---- Structured Output Prediction
Thomas Gaertner: University of Bonn & Fraunhofer IAIS ---- Graph Mining
Stefan Wrobel: Fraunhofer IAIS --- Data Streams
Shie Mannor: Technion ---- Reinforcement Learning
Shai Shalev-Schwartz: Hebrew University of Jerusalem --- Optimization Algorithms
Sathiya Keerthi: Yahoo! Research ---- Optimization Algorithms
Sally Goldman: Washington University ---- Learning theory
Ruslan Salakhutdinov: University of Toronto --- Neural networks, Deep Learning
Olivier Chapelle: Yahoo! Research ---- Applications
Nathan Srebro: University of Chicago --- Statistical Methods
Dale Schuurmans: University of Alberta --- Unsupervised Learning and
Outlier Detection
Csaba Szepesvari: University of Alberta --- Partially observable
Markov Decision Processes
Corinna Cortes: Google --- Kernel Methods
Charles Elkan: UC San Diego --- Cost-sensitive Learning
Carla Brodley: Tufts University ---  Active Learning
Bernhard Pfahringer: University of Waikato--- Empirical Insights into ML
Ben Taskar: University of Pennsylvania --- Supervised Learning
Arthur Gretton: Max Planck Institute for Biological Cybernetics ---
Causal Inference
Alexandru Niculescu-Mizil: NEC Labs America --- Time-series analysis
Michelle Sebag: Universite Paris Sud --- Evolutionary Computation
Mattias Seeger: University of Saarland --- Gaussian Processes
Martin Zinkevich: University of Alberta --- Game Theory
Kurt Driessens: KU Leuven --- Reinforcement Learning
Kristian Kersting: Fraunhofer IAIS and Univeristy of Bonn
---Statistical Relational Learning
Kiri Wagstaff: JPL, Caltech -- Clustering
Kilian Weinberger: Washington University in St Louis -- Transfer and
multi-task learning
Katharina Morik: University of Dortmund --- Feature selection and
dimensionality reduction
Kai Yu: NEC Labs --- Bayesian inference
John Langford: Yahoo! Research --- Active Learning
Johannes Fuernkranz: University of Darmstadt --- Ranking and preference learning
Joelle Pineau: McGill University --- Reinforcement Learning
Jennifer Neville: Purdue University --- Social Network Analysis
Hal Daume III: University of Maryland --- Natural Language Processing
Guy Lebanon: Georgia Tech --- Geometric Approaches
Francis Bach: INRIA --- Sparsity and Compressed Sensing
Filip Radlinski: Microsoft Research, Cambridge --- Information Retrieval
Fei Sha: University of Southern California ---  Feature Selection &
Dimensionality Reduction
Eric Xing: Carnegie-Mellon University ---Graph-Based Learning Methods
David McAllester: Toyota Tech Institute Chicago --- Latent Variable
and Topic Models
David Blei: Princeton University --- Latent Variable and Topic Models

NOTK- Chapter 1, Summary

  • Texts are represented in Python using lists: ['Monty', 'Python']. We can use indexing, slicing, and the len() function on lists.
  • A word "token" is a particular appearance of a given word in a text; a word "type" is the unique form of the word as a particular sequence of letters. We count word tokens using len(text) and word types using len(set(text)).
  • We obtain the vocabulary of a text t using sorted(set(t)).
  • We operate on each item of a text using [f(x) for x in text].
  • To derive the vocabulary, collapsing case distinctions and ignoring punctuation, we can write set([w.lower() for w in text if w.isalpha()]).
  • We process each word in a text using a for statement, such as for w in t: or for word in text:. This must be followed by the colon character and an indented block of code, to be executed each time through the loop.
  • We test a condition using an if statement: if len(word) < 5:. This must be followed by the colon character and an indented block of code, to be executed only if the condition is true.
  • A frequency distribution is a collection of items along with their frequency counts (e.g., the words of a text and their frequency of appearance).
  • A function is a block of code that has been assigned a name and can be reused. Functions are defined using the def keyword, as in def mult(x, y); x and y are parameters of the function, and act as placeholders for actual data values.
  • A function is called by specifying its name followed by one or more arguments inside parentheses, like this: mult(3, 4), e.g., len(text1).

How do I connect to PAL2.0 with Linux (Ubuntu)?

This post is from the Purdue Gold-Ansowers:
Content: This article provides instructions for configuring connection of PAL2.0 on Linux/ Ubuntu 


Introduction Let Ubuntu to work with PAL2.0.
  1. Click on the Network Connection icon in the upper-right corner of the screen.

     Ubuntu 1

  2. Choose the option to Connect to Hidden Wireless Network...

  3. Enter 'PAL2.0' into the Network Name field.

  4. For Wireless Security, choose WPA & WPA2 Enterprise.

  5. For Authentication, choose Protected EAP (PEAP).

  6. The Anonymous Identity field should remain blank.

     Ubuntu 2

  7. In the CA certificate field, click the drop-down menu to open a search window.

  8. In the search window that appears, navigate to File System/etc/ssl/ and choose Thawte_Premium_Server_CA.pem, and then click Open.

     Ubuntu 3

  9. For PEAP version, choose Version 0.

  10. For Inner authentication, choose MSCHAPv2.

  11. Provide your Purdue career account username and password in the respective fields.

  12. Click Connect.

  13. The network connection icon will show that you are connected to the PAL2.0 network.

     Ubuntu 4
Keywords: network, configuration, pal, linux, pal2.0, wireless, airlink, ubuntu
Solution ID:040967644925237
Last Modified Date:05/25/2010 08:55:42 AM
Taxonomy Path:
West Lafayette Content//Connectivity / Networks//Wireless Service / Purdue Airlink////
Author:ljohanni

Some c for interview

eff c++
more eff c++
eff stl
exceptional c++
c++ object model
imperfect c++

Creating a "Virtual" Python

Creating a "Virtual" Python
http://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python
If you are on a Linux, BSD, Cygwin, or other similar Unix-like operating system, but don't have root access, you can create your own "virtual" Python installation, which uses its own library directories and some symlinks to the site-wide Python.

In the simplest case, your virtual Python installation will live under the ~/lib/python2.x, ~/include/python2.x, and ~/bin directories. Just download virtual-python.py and run it using the site-wide Python. If you want to customize the location, you can use the --prefix option to specify an installation base directory in place of ~. (Use --help to get the complete list of options.)

When you're done, you'll have a ~/bin/python executable that's linked to the local Python installation and inherits all its current libraries, but which allows you to add as many new libraries as you want. Simply use this new Python in place of your system-defined one, and you can modify it as you like without breaking anything that relies on the system Python. You'll also still need to follow the standard installation instructions to install setuptools and EasyInstall, using your new ~/bin/python executable in place of the system Python.

Note that if you were previously setting a PYTHONPATH and/or had other special configuration options in your ~/.pydistutils.cfg, you may need to remove these settings before running virtual-python.py. This is because your new Python executable will not need any custom configuration for the distutils or EasyInstall; everything will go to the correct ~/lib and ~/bin directories automatically.

You should, however, also make sure that the bin subdirectory of your installation prefix (e.g. ~/bin) is on your PATH, because that is where EasyInstall and the distutils will install new Python scripts.


http://pypi.python.org/packages/2.5/S/Sphinx/Sphinx-1.0.6-py2.5.egg#md5=72f4365e790eda127234257646232451

========================
-bash-3.2$ module load python
-bash-3.2$ python virtual-python.py
Creating /home/ba01/u117/wdi/lib/python2.5
Creating /home/ba01/u117/wdi/lib/python2.5/site-packages
Creating /home/ba01/u117/wdi/include/python2.5
Creating /home/ba01/u117/wdi/bin

Copying /apps/coates/Python-2.5.2/bin/python to /home/ba01/u117/wdi/bin
You're now ready to download ez_setup.py, and run

/home/ba01/u117/wdi/bin/python ez_setup.py
-bash-3.2$ which python
/apps/coates/Python-2.5.2/bin/python

-bash-3.2$ which python
/apps/coates/Python-2.5.2/bin/python


-bash-3.2$ /home/ba01/u117/wdi/bin/python ez_setup.py
Processing setuptools-0.6c11-py2.5.egg
Copying setuptools-0.6c11-py2.5.egg to /autohome/u117/wdi/lib/python2.5/site-packages
Removing setuptools 0.6c9 from easy-install.pth file
Adding setuptools 0.6c11 to easy-install.pth file
Installing easy_install script to /home/ba01/u117/wdi/bin
Installing easy_install-2.5 script to /home/ba01/u117/wdi/bin

Installed /autohome/u117/wdi/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11

===
notes: a better one which is an extention of virtual-python is "virtualenv.py"
http://pypi.python.org/pypi/virtualenv#downloads

when Easy-instal now work ==> to use the virtual-python

easy_install-2.5 Sphinx-1.0.6-py2.5.egg --prefix="\home\ba01\u117\wdi\"
 1180  easy_install Sphinx-1.0.6-py2.5.egg --prefix="\home\ba01\u117\wdi"

 1186  cd Imaging-1.1.7/
 1196  /home/ba01/u117/wdi/bin/python setup.py install
 
 1201  gunzip -c PyYAML-3.09.tar.gz | tar xvf -
 1203  cd PyYAML-3.09
 1205  /home/ba01/u117/wdi/bin/python setup.py install
 
 1213  cd nltk-2.0b9/
 1215  /home/ba01/u117/wdi/bin/python setup.py install
 
 1222  gunzip -c docutils-0.7.tar.gz | tar xvf -
 1226  gunzip -c Sphinx-1.0.6.tar.gz | tar xvf -
  
 1228  cd Sphinx-1.0.6
 1230  /home/ba01/u117/wdi/bin/python setup.py install
 

use the easy_install for python


> easy_install –install-dir=~/dev/lib/python2.5/site-packages/ matplotlib-0.99.0.rc1-py2.5-macosx-10.5-i386.egg

http://matplotlib.sourceforge.net/users/customizing.html#customizing-matplotlib

Some Python Tips

=========================
Some Python Tips
=========================

Print the list
~~~~~~~~~~~~~~~~~
- we should print list like this
>>> print "%s" % '\n '.join(sys.path)

Floating Division
~~~~~~~~~~~~~~~~~
>>> from __future__ import division
>>> 5/2
2.5

Say I want to map and filter a list at the same time. In other words, I'd like to see the square of each element in the list where said element is under 4. Once more, the Python neophyte way:

# 's

1numbers = [1,2,3,4,5]
2squares = []
3for number in numbers:
4    if number < 4:
5        squares.append(number*number)
6# squares is now [1,4,9]

The code is starting to expand in the horizontal direction now! Alas, what could we possibly do to simplify the code? We could try using map and filter, but I don't have a good feeling about this...

# 's

1numbers = [1,2,3,4,5]
2squares = map(lambda x: x*x, filter(lambda x: x < 4, numbers))
3# squares is now [1,4,9]

While map and filter were ugly before, now they're just unreadable. Obviously this isn't a good idea. Once more, list comprehensions save the day:

# 's

1numbers = [1,2,3,4,5]
2squares = [number*number for number in numbers if number < 4]
3# square is now [1,4,9]

This is a bit longer than the earlier list comprehension examples, but in my opinion still very readable. It's definitely better than a for loop or using map and filter.

As you can see, a list comprehension filters then maps. If you absoulutely need to map then filter, things can get more complicated. You might even have to use nested list comprehensions, the map and filterfor loop, depending on what is cleanest. That discussion, though, is outside the scope of this article. commands, or a regular old

Syntax: List Comprehensions and Generator Expressions

A list comprehension has the syntax: [ element for variable(s) in list if condition ]

A generator expression has the syntax: ( element for variable(s) in list if condition )

list anything that can be treated as a list or iterator
variable(s) variable or variables to assign the current list element to, just like in a regular for loop
condition an inline python expression. Scope again includes local scope and variable(s). If this evaluates to true, item will be included in result.
element an inline python expression. Scope includes the local scope and variable(s). This is the actual element that will be included in the result.

The for variable(s) in list bit can be repeated indefinitely.

Using the Lambda Function

~~~~~~~~~~~~~~~~~~~~~

Syntax: Lambda Functions

A lambda function has the syntax: lambda variable(s) : expression

variable(s) a comma-separated list variable or variables that the function can receive. You can't use keywords, and you don't want these to be in parentheses (a mistake I started making for a couple of months and wondered why my lambdas never worked).
expression an inline python expression. Scope includes local scope and variable(s). This is what the function returns

Sunday, January 16, 2011

ubuntu10.10安装fcitx4.0正式版教程


小企鹅fcitx的(免费中文输入的X玩具)是一种简化的Linux中文输入方法的集合。 它支持拼音,QuWei和表为基础的输入法。
2010年11月19日 发布fcitx4.0.0 主页下载http://code.google.com/p/fcitx/

很早很早以前接触UBUNTU的时候就听说了这个fcitx输入法,不过当初一直没有捣鼓出来,今天看到了fcitx更新的消息,性质匆匆的跑到 google code去下载了一个,结果下载下来后跟着网上教程编译安装无果,最后按照添加PPA源的方式安装成功,分享一下。

sudo add-apt-repository ppa:wengxt/fcitx-nightly
sudo apt-get update
sudo apt-get install fcitx (此步可以选择使用
su
do apt-get install fcitx fcitx-config fcitx-sunpinyin命令安装)

通过上述三步,即可安装到最新版的fcitx4.0,方便快捷。

注:系统环境为Ubuntu10.04或10.10均可。其他地方说的需要现卸载 IBUS(sudo apt-get remove ibus)我没卸载目前还没出现问题。

安装完毕后重启,如果没有输入法请 系统-系统管理-语言支持-键盘输入法方式系统-选择fcitx

―�

说明:其实可以直接从软件中心搜索了安装,但是目前还不是最新版本。

从google code下载下来的文件跟着网上现有教程我没有成功,如果有高手会的希望给俺一个教程指引,3Q!

另外默认的输入法我觉得也挺好用的,如果用着习惯可以不安装这个。

Notes about the virtual python

Notes about the virtual python
===============================
Function: double a mirror of the system python to your own,
such that you can further use it to creat your own Lib (especially
for site-pages

Usage: we test it on the coates:

-$module load python
-$ which python
/apps/coates/Python-2.5.2/bin/python         # this is the system python

# To install the virtual-python

-$ module load python
-$ python virtual-python.py
-$ which python
-$ /home/ba01/u117/usename/bin/python

# go ahead to download the pages you need: unzip it and find each setup.py
# dirct to the local folder of that page, then lunch::

-$ /home/ba01/u117/usename/bin/python setup.py install

# Now test:
-bash-3.2$ python
Python 2.5.2 (r252:60911, Apr  8 2010, 10:22:54)
[GCC 4.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named nltk
>>> exit()
-bash-3.2$ /home/ba01/u117/usename/bin/python                
Python 2.5.2 (r252:60911, Apr  8 2010, 10:22:54)
[GCC 4.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> dir(nltk)

usename: your user login name

Tips on Interviewing

From: http://www.cis.upenn.edu/~zives/tips_on_interviewing.htm

If you're planning on interviewing soon (or even in the distant future), here are some articles and web pages that might be of interest to you.