Pages

Thursday, October 29, 2009

Clustering

jClust: A tool for clustering analysis

CircularLayout - Giai thich mot ty ve Clustered Graph

Compression and Decompression in Ubuntu

This is a presentation of tar:
Linux: File Compression and Archiving with gzip, zip, rar, tar, unzip...

Các file lưu trữ (đôi khi gọi là file nén) trên hệ thống UNIX/Linux (thường phần mở rộng là tar.gz hoặc .tgz) có thể được trích xuất (bung nén - extract) bằng một lệnh đơn giản.

Ví dụ: Để bung một file lưu trữ nén tên là target.tar.gz vào thư mục hiện hành, ta dùng lệnh:

gzip -dc target.tar.gz | tar xf -
tar xvzf target.tar.gz

Nếu file được nén với chuẩn bzip2 (i.e., .tar.bz2), chúng ta có thể thay thế gzip bằng lệnh bzip2.

Nếu file nén với lệnh nén của UNIX (phần mở rộng là .z) thì chúng ta dùng lệnh sau:

zcat target.tar.Z | tar xf -

Nếu nén ở dạng *.tar.xz thì:
tar Jxf *.tar.xz hoặc dùng unxz -z: để nén, và -d để giải nén.
Hy vọng với tóm tắt này sẽ là nơi để tham khảo quý báu.

Q. How do I extract tar.gz file under Linux / UNIX like operating systems?

A. tar.gz is nothing but compressed tar archive.
The tar program provides the ability to create tar archives, as well as various other kinds of manipulation. For example, you can use Tar on previously created archives to extract files, to store additional files, or to update or list files which were already stored.
Initially, tar archives were used to store files conveniently on magnetic tape. The name "Tar" comes from this use; it stands for tape archiver. Despite the utility's name, Tar can direct its output to available devices, files, or other programs (using pipes), it can even access remote devices or files (as archives).

Extract tr.gz. file

To extract one or more members from an archive, enter:
tar -zxvf {file.tar.gz}
If your tarball name is backup.tar.gz, enter the following at a shell prompt:
tar -zxvf backup.tar.gz

Extracting an Entire Archive

To extract an entire archive, specify the archive file name only, with no individual file names as arguments.
tar -zxvf backup.tar.gz

tar xjvf cornbread.tar.bz2

Nếu chỉ là .bz2 thôi thì:
bunzip2 spankythefish.bz2

Chuẩn nén 7z
Cài đặt: sudo apt-get install p7zip
Bung nén: p7zip -d filename.7z

Chuẩn nén rar
Dùng rar hoặc unrar

Chuẩn nén zip
zip và unzip

Cycle in Metabolic Network

Citrate cycle (TCA cycle) - Leishmania major







http://en.wikipedia.org/wiki/File:Citric_acid_cycle_with_aconitate_2.svg



Interactive animations: The Citric Acid Cycle

TCA Cycle

How to install FFmpeg with MP3 and AMR support

Mot bai viet hay ve dieu nay:
http://www.mattiouz.com/blog/2007/07/02/how-to-install-ffmpeg-with-mp3-and-amr-support
Va tren ubuntuforums
http://ubuntuforums.org/showthread.php?t=178455

Wednesday, October 28, 2009

Quản lý phiên bản phần mềm và source code (SVN)

Một vài lệnh căn bản:
svn ci -m "Updated the project": Cap nhat len respority
svn checkout+ssh
http://linux.byexamples.com/archives/255/svn-command-line-tutorial-for-beginners-1/
http://code.google.com/p/svnx/

Monday, October 26, 2009

Using gluUnProject

One introductory tutorial can be shared here.

Thursday, October 8, 2009

Drawing arrow in OpenGL

We have two points A and B in 3D. The problem is to find the way to draw a line that the started point is A and the later is B. We also want to have a little arrow at B.

One guy posted the guide in gamedev.net
Say: A = [x1, y1, z1] (start)
and B = [x2, y2, z2] (end)
and C = [x3, y3, z3] (arrow tip at one side)
and D = [x4, y4, z4] (tip at the other side)

if((z1-z2) != 0) {
first we make a normal vector:
x3 = 1
y3 = 1
z3 = (-(x1-x2)-(y1-y2))/(z1-z2)

adjusting the distance from the arrow axis to one fourth of the arrows lenght:
adj = sqrt((x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2)) / (4 * sqrt((x3^2)+(y3^2)+(z3^2)));
x3 *= adj
y3 *= adj
z3 *= adj

setting the other side:
x4 = -x3
y4 = -y3
z4 = -z3

gettin the point:
x3 = x1 + (3/4)*(x1-x2) + x3
y3 = y1 + (3/4)*(y1-y2) + y3
z3 = z1 + (3/4)*(z1-z2) + z3

x4 = x1 + (3/4)*(x1-x2) + x4
y4 = y1 + (3/4)*(y1-y2) + y4
z4 = z1 + (3/4)*(z1-z2) + z4
}

OK, I didn't double check this, but the clue is the "first we make a normal vector:" -section, the rest is fairly straight out. Oh and if you use float or double values, they rarely become zero, but if (z1-z2) should happen to be zero, then find the normal setting z3 = 1, y3 = 1, and x3 = (-(y1-y2)-(z1-z2))/(x1-x2), that should work work as well, and if (x1-x2) also is zero, just base it on y the same way.
Well, as I said, I didn't double check this, but I know it works, there might be simpler ways also, be sure to tell me if I made some stupid mistakes here.


I appreciate this explanation.

Saturday, October 3, 2009

Installing PHP5, MySQL and Apache on Ubuntu

Để lập trình web sử dụng PHP và MySQL trên Ubuntu, chúng ta nên sử dụng XAMPP. Xem trên trang này, chúng ta sẽ biết cách cài đặt. Khá đơn giản vì chúng ta chỉ cần cài gói XAMPP dành cho Linux nên việc cấu hình còn lại chỉ là sử dụng xampp như thế nào cho đúng.

Tuy nhiên, ngoài những bước kiểm tra như trong các trang cài đặt, chúng ta cần kiểm tra thêm một vài thứ như sau:

Rõ ràng, nếu chúng ta đã cài đặt XAMPP thì không cần thiết phải cài đặt riêng từng gói như PHP, MySQL hay Apache... Vì thế, từ bất kỳ vị trí nào ngoài /opt/lampp/bin, chúng ta gõ mysql -u root -p (sau đó yêu cầu password) thì có nghĩa là trên máy bạn đã có mysql.

Có vấn đề tôi gặp phải là:

  1. Tôi cài và dùng MySQL Query Browser và MySQL Administrator, mỗi khi khởi đội một trong hai chương trình này đều yêu cầu cung cấp Username và Password.
  2. Cấu hình phpmyadmin: mỗi lần đăng nhập hay hỏi mật khẩu. Lỗi cũng giống như trường hợp 3.
  3. Chạy mysql từ console, không cho root đăng nhập. Lỗi: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Các tình huống lỗi hay gặp:
Lỗi 01:
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)’
Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!


Xem cách giải quyết tình huống 1
Lỗi 02:
honey@honey:~$ mysqladmin create test
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘honey’@'localhost’ (using password: NO)’






Xem cách giải quyết tình huống 2,3






Giải quyết tình huống 1:
Hay báo lỗi là không khởi động được file mysqld.sock. Thế thì:
- Tạo thư mục mysqld: sudo mkdir /var/run/mysqld
- Chuyển đến thư mục trên: cd /var/run/mysqld
- Tạo một shortcut: sudo ln -s /opt/lampp/var/mysql/mysql.sock mysqld.sock

Giải quyết tình huống 2:
Cứ theo hướng dẫn và chỉnh sửa như sau:
This is What I did, assuming mysql server is already running 
and setup ok. 









edited the file /etc/my.cnf 
at the [mysqld] section
added this line: 
skip-grant-tables 
and restarted the server .... 
That worked great!!!
Giải quyết tình huống 3:
Nếu đã giải quyết tình huống 2 xong thì 3 ok. Hướng dẫn đầy đủ nhất xem trên trang này.
+================================================================+
SAU ĐÂY LÀ CÁC LỆNH ĐẦU TIÊN DÙNG TRÊN MYSQL
1. Tạo database:
a. Dùng: mysqladmin create Tên_CSDL
b. Đăng nhập vào mysql: mysql -u root (hoặc user khác có quyền tạo database) -p --> enter, sau đó nhập mật khẩu.
mysql>create database tasks;
Query OK, 1 row affected (0.00 sec)
2. Sửa mật khẩu user: xem trang này đầy đủ hơn.
===================================================================
Tham khảo:

Shared via AddThis