Programming, Researching, Engineering, Employing and Analyzing of Troubleshootings. In addition, we study Usability - HCI - GUI - OpenGL - Project Management.
Friday, October 30, 2009
Thursday, October 29, 2009
Compression and Decompression in Ubuntu
This is a presentation of tar:
Linux: File Compression and Archiving with gzip, zip, rar, tar, unzip...
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:
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).
If your tarball name is backup.tar.gz, enter the following at a shell prompt:
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
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
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
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/
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/
Labels:
Code Management,
Linux,
Project Management,
svn,
Ubuntu
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.
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.
Wednesday, October 7, 2009
Programming with SDL and OpenGL
Introduction and how to compile an simple program in SDL-OpenGL
Mouse coordinates SDL using UnProject and Project (glu). More detailed information here.
Mouse coordinates SDL using UnProject and Project (glu). More detailed information here.
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à:
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:
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à:
- 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.
- 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.
- 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)’
Giải quyết tình huống 1:
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!!!
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:
Install MySQL Server 5 on Ubuntu :: the How-To Geek
http://webdevcodex.com/tutorial-installing-apache2-php5-mysql5-phpmyadmin3-windows-7-vista/#configapache
http://webdevcodex.com/tutorial-installing-apache2-php5-mysql5-phpmyadmin3-windows-7-vista/#configapache
Shared via AddThis
Subscribe to:
Posts (Atom)