Pages

Thursday, November 24, 2011

Latex và các công cụ hỗ trợ

Khi sử dụng Latex, có một số đối tượng như table rất khó để chúng ta canh chỉnh độ rộng của các hàng, cột. Xuất phát từ tình huống này, nhiều người muốn tạo bảng trong spreadsheet (Excel của Microsoft Office hoặc Calc của OpenOffice) sau đó chuyển đổi sang mã lệnh latex.

Có thể lấy một ví dụ khác: quản lý bibliographies như thế nào là hiệu quả nhất. May thay đã có nhiều tools hỗ trợ để bạn có thể thống nhất 1 file .bib mà không sợ bị trùng lắp thông tin.

Trong bài này tôi trình bày một số tools quan trọng đi kèm với Latex.

Chuyển bảng trong spreadsheet sang mã Latex
Làm việc với bảng trong Latex khá khó khăn và rối rắm. Đã có Calc2Latex là một công cụ dùng để convert những bảng biểu trong LibreOffice Calc sang mã Latex.

Thursday, November 17, 2011

Slime và Emacs

Slime là công cụ để bạn giao tiếp SBCL với Emacs.

Cách thoát hoàn hảo slime khỏi emacs
http://stackoverflow.com/questions/2337573/how-to-gracefully-exit-slime-and-emacs

Kênh trao đổi trực tuyến

ERC và IRC là những công cụ giúp bạn chat trực tuyến, hỗ trợ tốt khi trao đổi công việc.

Xem ở đây cách thức cài đặt và cấu hình, sử dụng chung với Emacs
http://www.emacswiki.org/emacs/ERC
và http://searchirc.com/help/beforeyouconnect.php

Wednesday, October 5, 2011

Latex for the beginners (Part 1)


Mục đích của bài này là ghi lại cách sử dụng Latex để làm một báo cáo (report) thực tập tốt nghiệp master của tôi. Là người mới bắt đầu sử dụng Latex, tôi hiểu chúng ta cần chuẩn bị những gì để soạn thảo một báo cáo đúng chuẩn và đẹp. Cách làm các báo cáo thực tập cũng như (hoặc) bài báo khoa học (article, journal) thì tương tự.
Phần 0: GIỚI THIỆU SƠ LƯỢC
Latex được xem như là một ngôn ngữ đánh dấu và hệ thống chuẩn bị tài liệu cho các chương trình gõ theo kiểu TeX. Nếu bạn nào đã soạn thảo một trang web thì cách làm trong LaTeX cũng tương tự như vậy. Nghĩa là thế nào:
Bạn muốn tạo một tài liệu theo chuẩn nào đó, bạn phải
Phần 1: CHUẨN BỊ
Linux
Nếu bạn dùng Linux thì những thứ sau bạn phải có:
- latex
- một editor để soạn thảo văn bản trong latex: texmaker hoặc kile, bạn cũng có thể dùng emacs
Windows
- làm sao để có bộ dịch latex
- cũng cần một editor


Tham khảo
[1] LaTeX

Tạo bài trình diễn dùng gói beamer trong Latex (Phần 1)

Bài này giới thiệu cơ bản về gói beamer để tạo bài trình diễn (presentation) trong Latex.

Cài đặt Beamer:
Trong Ubuntu, chỉ cần chạy lệnh:
sudo apt-get install latex-beamer
hoặc download từ trang chủ của Beamer: https://bitbucket.org/rivanvx/beamer/wiki/Home

Cấu trúc chung một tài liệu beamer:
Chính yếu một bài trình bày là các frames.

\documentclass{beamer}
\mode{theme info etc.} 
regular LaTeX title/author info
\AtBeginSection[]{} % for optional outline or other recurrent slide
\begin{document}
optional title frame
frame
frame
...
frame
\end{document}

Friday, September 16, 2011

Cách cấu hình thư mục ảo (Virtual Directory - như trên IIS) trong XAMPP

Có hai vấn đề mà tôi thấy cần phải viết bài này:
  1. Với những ai đã quen dùng Windows chắc cũng sẽ thao tác dễ dàng với IIS thì việc cấu hình một thư mục ảo (Virtual Directory - VD) thật sự đơn giản và chưa đầy 30 giây. Tuy nhiên, nếu bạn muốn chạy các ứng dụng viết trên nền PHP hoặc những nền tảng khác (thường thì chạy ổn định trên các máy chủ web lấy Apache làm nhân như Tomcat, XAMPP, JBoss...) trong môi trường Windows thì tôi nghĩ là nên cài thêm XAMPP hoặc Apache. Có rất nhiều bài viết trên mạng bàn luận lý do của điều này. Ở bài viết này, tôi không đi chi tiết vào vấn đề đó.
  2. Rõ ràng, nếu chúng ta tập trung các ứng dụng web vào cùng một thư mục cho dễ dàng quản lý là điều mà nhiều người muốn. Ngay cả IIS, tôi cũng rất ít đặt các websites vào thư mục Inetpub vì sợ rằng tính năng hay tò mò của mình mà đôi khi làm hỏng cả Windows thì việc cứu lấy các website cũng vất vả. Với XAMPP, các bạn lập trình web quá quen với thư mục htdocs chứa tất cả các ứng dụng web. Được một cái hay là XAMPP cho phép bạn cài đặt trên thư mục gốc của ổ đĩa khác với ổ hệ thống (C:). Khi đó, chúng ta cũng không quá lo lắng trong trường hợp Windows bị đột tử. Tuy nhiên, trong trường hợp mà bạn phát triển các project mà resources muốn đặt trong cùng một thư mục với specification và resources khác thì bài viết này lại có ý nghĩa hơn (vì cách quản lý thông thường là ít ai để những tài liệu phân tích trong thư mục web cả).
Phần tiếp theo tôi hướng dẫn cách cấu hình một VD trong XAMPP khi chạy trong hệ điều hành Windows.

Giả sử tôi có một thư mục D:\WebApps chứa hầu hết các ứng dụng web, và có một web site tên thư muc là: jQuery. Giả sử XAMPP được cài trên ổ D:, tức đường dẫn là: D:\xampp. Thông thường, nếu jQuery nằm trong thư mục D:\xampp\htdocs\jQuery thì khi gõ vào trình duyệt: http://localhost/jQuery, nó sẽ vào thẳng web site. Nhưng ở đây, nếu bạn chưa cấu hình VD cho jQuery mà chạy url trên thì chắc chắn lỗi. Do đó, chúng ta chỉ cần làm một thao tác nhỏ sau:

Chỉ cần copy và paste vài thẻ XML trên vào file: D:\xampp\apache\conf\extra\httpd-xampp.conf, nhớ đặt vào giữa thẻ IfModule.

Tái bút:
Nếu chạy XAMPP trên Ubuntu thì việt tạo một VD không cần thiết. Bạn có thể đặt thư mục của web site ở bất cứ đâu (ngoài htdocs) vẫn chấp nhận. Chỉ thêm một lệnh tạo một static link là xong:

Giả sử thư mục web: it4bus có đường dẫn đầy đủ như sau: /media/Data/WebApps/it4bus. Vào thư mục htdocs, gõ lệnh: ln -s /media/Data/WebApps/it4bus. Nếu có yêu cầu sudo thì bạn nhớ kèm nó vào nhé.

Trên Windows Vista/7 có lệnh mklink để tạo một symbolic link nhưng nó không cho phép thao tác chỉnh sửa trên thư mục đó như một web site thông thường.

Tips tricks with the terminal in Ubuntu [Phần 2]

Lệnh grep, egrep (extend grep)

http://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/
http://www.debian-administration.org/articles/460

Bật cửa sổ chỉnh sửa thông tin các thiết bị kết nối
nm-connection-editor

Lệnh chmod, chown
Muốn set quyền thao tác lên một thư mục (hay tập tin) cho một người dùng nào đó, chúng ta dùng lệnh chown (Change Owner). Cú pháp: chown nvntung:nvntung these, trong đó: nvntung là tên của nhóm, và nvntung là tên của owner và these là tên thư mục. Nếu muốn set cho các thư mục con bên trong these thì thêm options -R (giống như lệnh cp -r để copy tất cả các nội dung bên trong một thư mục, kể cả các thư mục con).

Trong khi đó lệnh chmod là change mode (w: writable, r: readble và x: excutable). Cú pháp: chmod 775 thư mục. Và nhớ là các macro 755, 775...

Thay đổi ngôn ngữ hệ điều hành
Nếu trong chúng ta ai sử dụng hệ điều hành Windows sẽ thấy việc đổi các ngôn ngữ khác nhau cho hệ điều hành khó khăn đến nhường nào. Tôi đã từng giúp đỡ anh bạn chuyển giao diện tiếng Pháp của Windows 7 Home Basic thành tiếng anh hoặc tiếng Việt. Một yêu cầu trợ giúp không dễ tý nào vì ngay trên trang của Microsoft, họ chỉ hỗ trợ việc chuyển ngôn ngữ cho những phiên bản Ultimate hoặc Enterprise của hệ điều hành Windows 7. Chỉ còn cách là phá bỏ bản quyền win 7 home basic để cài bản lậu Win7 Professional hoặc bản nào khác.
Đây là điều mà Ubuntu (Linux) hỗ trợ khá dễ dàng. Bạn thao tác chưa đầy 5 phút. Tôi trình bày ngắn gọn 2 cách sau:
Cách 1: Đứng ở root hoặc user có quyền quản trị, bạn thực hiện các lệnh sau:
export LANG=en_US
export LANGUAGE=en_US
sudo dpkg-reconfigure locales
echo "export LANG=en_US" >> /home/user/.profile
Cách 2: Bạn xem như hình dưới
Chọn System > Administration > Language Support. Nếu Ubuntu hỏi cài đặt một vài gói thêm vào, nhấn INSTALL để cài đặt.
Bây giờ, bạn có thể chọn ngôn ngữ mà bạn muốn trong danh sách ngôn ngữ mà hệ thống hỗ trợ (Supported Language List). Nhấn Apply để cài đặ ngôn ngữ mới. Chọn ngôn ngữ ngầm định trong phần Default Language. Click OK để kết thúc thao tác.

Lưu ý: Việc cài đặ ngôn ngữ mới chỉ có tác dụng ở lần khởi động máy kế tiếp.

How To Count The Number Of Lines In A File In Linux Shell Command
http://www.wallpaperama.com/forums/how-to-count-the-number-of-lines-in-a-file-in-linux-shell-command-t1084.html

Thursday, April 21, 2011

Quản lý bibliographies

Nếu đã từng dùng latex để soạn văn bản khoa học, bạn chắc chắn sẽ gặp một số phiền phức với entry trong file .bib. Rõ ràng, với số lượng references trên 200 mẫu thì việc quản lý trở nên phức tạp hơn. Vì vậy, làm cách nào để associate giữa file .bib với một chương trình quản lý referenced entries. May mắn là có nhiều tiện ích hỗ trợ cho việc này:

Php Bibtex Database Manager
Đây là một ứng dụng viết trên nền web sử dụng PHP và MySQL. Rất dễ dùng nếu bạn nào quen với phát triển web. Sở dĩ tôi giới thiệu tool này vì rằng bây giờ có nhiều người sử dụng một lúc nhiều hệ điều hành. Có lúc dùng Windows nhưng cũng muốn làm việc để chỉnh sửa văn bản. Đôi khi dùng Ubuntu. Đo đó, nếu chúng ta đặt database trên một server nào đó thì việc tập trung bibliographies là một cách làm hiệu quả nhất.

JabRef reference manager
Tiện ích này phải viết trên nền tảng java nên bạn phải có Java để chạy chương trình. Bài này hướng dẫn cài đặt rõ ràng. Với công cụ này, chúng ta chỉ quan tâm đến file .bib đặt ở đâu mà thôi. Nên bạn vô tư để nó trong ổ cứng di động mà không quan tâm ta đang làm việc trên môi trường nào.

Tuesday, April 19, 2011

Toàn tập với CSS

Các bài hướng dẫn CSS trên Youtube:
Phần 1, 2, 3, 4, 5
XHTML Tips & Tricks: CSS Buttons

Các bộ soạn thảo html miễn phí mà hiệu quả trên Linux

Gom các editor soạn thảo web miễn phí cho ace nào thích thiết kế web cũng như tạo các trang html đơn giản trên hệ thống Linux.

Ngoài các anh truyền thống như gedit hay emacs, có thể dùng một trong các bạn sau đây:

ZendStudio: mình khoái anh này vì có thể tạo ra nhiều loại file từ html đến php.
Kompozer: anh chàng này cùng họ hàng với Nvu (nếu dùng trên Windows)

Ngoài ra, một số anh khác có thể xem thêm clip giới thiệu về các editor mà có đặc điểm WYSIWYG.

BlueGriffon - một trình duyệt web trên Ubuntu 10.10, được mệnh danh là bộ soạn thảo web thế hệ mới dựa trên rendering engine của Firefox.