Kho tháng 2/2007

Thứ bảy, 24 Tháng hai năm 2007 20:02:22 ICT

Vim vs Emacs

Tóm tắt một số cảm nhận sau khi quay về dùng lại GNU Emacs. Như mọi người hay nói đùa: "Emacs is a great operating system, if only it had a decent editor" :)

Vim hay hơn ở:

  • Thế mạnh của Vim là xử lý chuỗi dựa trên biểu thức chính quy (lệnh :s) và các thao tác liên quan đến xử lý khối văn bản (visual mode, đặc biệt là khoảng thực hiện lệnh trên một loạt các dòng).
  • Thêm một thế mạnh khác là dùng Vim nhẹ hơn so với Emacs (so về cả kích thước lẫn tốc độ khởi động).
  • Phần folding của Vim hoạt động cũng lẹ hơn so với Emacs (nếu nhớ không lầm).
  • Phần giao tiếp với các lệnh của shell (:%s grep blah) của Vim cũng hay hơn mặc dù Emacs cũng có lệnh tương ứng.
  • Vim mở tập tin kích thước lớn cũng không đến nỗi nào, Emacs mở .. không nổi.

Emacs lại có một số điểm hay hơn:

  • Viper, mô phỏng Vim trong emacs nếu cần
  • Tô sáng các chuỗi dùng biểu thức chính quy
  • Di chuyển lên xuống mấy dấu ngoặc (Vim chỉ cho di chuyển qua lại)
  • Incremental search
  • Tab completion và những tính năng cắt dán khác cũng hoạt động trong command mode
  • LISP! (bố khỉ, quên hết rồi)
  • Hỗ trợ đủ thứ lung tung, đặc biệt là po-mode. Từ ngày xài Vim là cũng hết muốn dịch vì dịch bằng Vim dỏm quá. Dù gần đây tìm được cái po.vim nhưng muộn rồi.
  • Tìm hiểu Emacs cẩn thận hơn so với Vim trước giờ toàn xài đại

Tóm lại, cần điều chỉnh nhanh thì cứ Vim mà đánh. Còn lại cứ Emacs mà chơi.


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux

Thứ sáu, 23 Tháng hai năm 2007 21:58:05 ICT

Khi virus xỉn

Một ý tưởng hết sức thú vị: thử chạy virus với Wine. Ngoài việc virus không thể thâm nhập sâu vào hệ thống ra (bởi wine thường được chạy với quyền người dùng bình dân), hình như không còn rào cản nào khác. Tệ hơn, nó mở ra một khả năng mới hết sức sáng lạn cho dân viết virus: tấn công các hệ thống Linux thông qua Wine.

Thậm chí ngay cả khi chỉ hoành hành được trong $HOME, virus cũng đủ trở thành một thảm hoạ. Đối với những ai dùng thêm sudo thì có khả năng virus sẽ tận dụng để chiếm quyền root (chưa hết hạn nên chưa hỏi mật mã lại). Mà nói chung có nhiều cách để chiếm quyền root một khi người virus đã vào nhà. Viễn cảnh viết virus cho Windows với đích đến là Wine/Linux phải nói đầy triển vọng!

Mấy thằng xỉn xỉn thường hay làm được mấy thứ mà bình thường không làm được. Không chừng khi virus xỉn xỉn, nó cũng làm được những thứ mà bình thường (trên Windows) nó không làm được. Lúc đó Linux sẽ ra sao nhỉ?

Đề phòng cửa nẻo! Cấm say xỉn!

TB. Xem thêm để biết danh tánh một số phần tử nổi loạn.


Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux

Thứ tư, 21 Tháng hai năm 2007 22:34:01 ICT

Thông số cài đặt Gentoo Linux

Để dành để cài lại máy khi cần.

Cấu hình chính:

USE="libnotify -qt3 -qt4 cairo -bonobo aalib -xmms -motif nptl X gtk gnome alsa -kde -qt acpi apache2 bonobo -directfb emacs -esd fbcon gstreamer gtk2 gtkhtml unicode ipv6 nls -arts usb truetype tetex ssl mmx -accessibility sse -oss firefox -xine hal dbus -ldap bash-completion -imlib -eds logrotate"
CFLAGS="-Os -march=pentium3 -funroll-loops -pipe -fomit-frame-pointer -momit-leaf-frame-pointer"
LDFLAGS="-Wl,--as-needed"
MAKEOPTS="-j2"
LINGUAS="en vi ja es"
PORTAGE_NICENESS="19"
VIDEO_CARDS="dummy vesa nv"
PORTAGE_ELOG_CLASSES="warn error log"
PORTAGE_ELOG_SYSTEM="save"
FEATURES="splitdebug sandbox ccache cvs confcache parallel-fetch collision-protect"

Trong /etc/conf.d/rc có vài điểm đặc biệt như:

RC_PARALLEL_STARTUP="yes"
RC_COLDPLUG="yes"
RC_NET_STRICT_CHECKING="lo"
RC_DEVICE_TARBALL="no"

Trong /etc/conf.d/bootmisc có thêm:

WIPE_TMP="yes"

Với /etc/group, cần lưu tâm đến một số nhóm sau:

  • tty (không cần lắm thì phải)
  • wheel (để su)
  • cron (có thể dùng cron)
  • audio (nghe nhạc)
  • cdrom (nghe CD Audio)
  • games (chơi game)
  • cdrw (ghi đĩa)
  • portage (dùng emerge)
  • stats (không rõ)
  • buildwheel (không rõ luôn)
  • plugdev (dùng hal)
  • vmware (dùng vmware-player)

Nội dung package.use:

net-dialup/ppp mppe-mppc
dev-util/git -X curl
net-proxy/wwwoffle -ipv6 
sys-apps/util-linux old-crypt
media-video/mplayer nvidia real sse2 live win32codecs theora rtc lzo libcaca aac
media-libs/win32codecs real
sys-apps/groff -X
sys-process/psmisc -X
sys-libs/db -java
sys-libs/glibc userlocales nptlonly
sys-devel/gcc gcj objc -gtk
x11-libs/gtk+ -doc
dev-util/subversion -apache2 -emacs ruby
net-im/gaim -spell
www-client/mozilla-firefox mozdevelop
dev-lang/php mysql cgi gd
x11-libs/cairo pdf svg glitz doc
app-editors/gvim ruby
app-editors/vim ruby
app-editors/emacs-cvs xft
app-shells/bash bashlogger
dev-ruby/activesupport doc
dev-ruby/activerecord doc
dev-ruby/actionpack doc
dev-ruby/actionwebservice doc
dev-ruby/rake doc examples
dev-ruby/actionmailer doc
dev-ruby/rails -postgres doc fastcgi mysql sqlite sqlite3
dev-ruby/sqlite3-ruby doc examples
www-servers/lighttpd fastcgi
dev-ruby/rcov doc examples
dev-util/gtk-doc -emacs
app-text/ghostscript-gpl cjk -emacs jpeg2k -cups
sys-apps/portage doc
media-sound/aumix -gtk
media-sound/lame -gtk
net-p2p/bittorrent -gtk
app-emulation/qemu-softmmu kqemu
mail-client/mutt gpgme cjk mbox
sys-apps/paludis pink qa ruby
app-i18n/im-ja anthy
app-lang/ruby cjk threads doc
media-libs/gd fontconfig
media-gfx/inkscape boost -bonobo -spell
app-doc/doxygen -tetex
media-libs/libgpod -python
dev-lang/ruby cjk examples
net-p2p/mldonkey -gtk
x11-base/x11-drm video_cards_nouveau video_cards_nv
app-text/wv wmf
dev-lang/swig lua ruby mono
dev-ruby/sqlite3-ruby swig
dev-util/mono-tools -gtkhtml seamonkey

Với Paludis, bashrc không có gì khác biệt ngoài trừ bỏ qua test

export SKIP_FUNCTIONS=test

Danh sách các gói cài đặt ở đây.


Cập nhật 4 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux, Gentoo

Thứ tư, 21 Tháng hai năm 2007 14:13:19 ICT

Báo cáo Ú hết Tết

Mần từ mùng hai hay ba gì đó. Sửa vài ba cái gì đó trong CMU SLM Toolkit. Kết quả là idngram2lm có thể nuốt hết mà không báo cáo nhặn xị gì nữa (trừ cái "May cause problems with zero posibilities"). Nguyên nhân vấn đề là phần count trong CMU SLM lưu dạng int (tối đa cỡ hai tỉ) trong khi tổng cộng giá trị toàn kho vnexpress là cỡ 45 tỉ, thừa sức gây tràn số bất cứ phép toán cộng dồn giá trị nào.

Ngay từ wngram2idngram, khi lưu các giá trị đã dùng dạng int nên tràn số ngay trong các tập tin *.idngram.<n> (Tĩnh tâm, tắt thở: TB4). Sau khi đã điều chỉnh để wngram2idngram xuất count ở dạng long long intidngram2lm đọc vào đúng thì nói chung mọi chuyện khá êm xuôi (với sc2wngram dùng ngưỡng 3).

Chạy lại script train thì cần cỡ 4GB trống trên đĩa cho sort. Tính nhanh thì tập tin vne2.sc0.gz cỡ 435MB (bung ra khoảng 2GB). sort sắp xếp ngoại, cần khoảng 1 lần kích thước tập tin cần sắp. Tuy nhiên do khi trộn thì phải cần nhiều hơn một tí để ghi kết quả trộn đợt kế ra trước khi xoá kết quả trộn đợt trước nên cần khoảng 1.5 đến (chắc ăn) 2 lần. Tóm lại cần cỡ 2*4*sizeof(sc0.gz) với 4 là tỉ lệ nén của gz.

Với sc2wngram ngưỡng 4, idngram2lm tiếp tục khóc ròng. Tổng giá trị ước đoán tăng gấp mười lần: 450 tỉ. Cũng đâu có lớn lắm đâu :( long long int có thể đạt đến 18 tỉ tỉ lận. Thêm phần chặn tràn số từ đầu vào (kết xuất của sc2wngram) thì thấy bắt đầu có hiện tượng tràn số (đúng ra là tràn từ sc2wngram nhưng đã sửa). Thông qua đó cũng thấy được count của các bigram trong kết quả của sc2wngram cũng không nhỏ nhắn gì. Ngoài trừ các trường hợp ngoại lệ ra thì sc2wngram với ngưỡng 3 cũng có đến 4 em vượt mức 200 triệu. Với count lớn kinh hoàng như vậy thì việc idngram2lm chết là -khá hiển nhiên- (nhảm, chạy tuốt!).

Kết quả ra không vui vẻ lắm về mặt kích thước: 123MB. So với lần tĩnh tâm trước, lần này kích thước kết quả tăng gấp đôi.

Như vậy có thể nói chiến dịch Ú gần kết thúc (thành công). Sẽ thử kiểm tra lại kết quả của lần huấn luyện này so với trước xem sao.

TB. Một khúc mắc nho nhỏ với cái gọi là "context cue". Mấy cái context cue này cũng phải nằm trong vocabulary luôn. Vì không có (và dùng chế độ closed vocabulary của CMU SLM) nên một lượng lớn count bị bỏ ngoài và (có lẽ) là nguyên nhân dẫn đến lỗi "zero probabilities" của prob[UNK]. Lần huấn luyện F1 dẫn đến một số phát hiện thú vị trong kho chữ (<opaque> <opaque>, <opaque> </s>, <opaque> <digit>...). Tổng số có 95630 "Sum is zero" trên hơn 7738600 câu. Mất 49 phút và 29 phút cho sc-train replay và sc2wngram -- gần 1 giờ rưỡi. Kết quả cũng cho thấy cái WordArchive hết sức dễ tổn thương, cần xem xét lại.


Cập nhật 4 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | vspell

Thứ sáu, 16 Tháng hai năm 2007 20:28:28 ICT

Một hệ thống đầy tội lỗi

Dịch từ Yes, KDE uses slaves

Vâng, KDE sử dụng nô lệ.

(đây là phản ứng từ bài báo sai lệch của free software magazine. Đọc để có một phút thư giãn...)

...và có lẽ nó cũng giết chúng từ đó đến giờ. Có lẽ bạn nên chuyển sang dùng Quỷ Lùn.

Biết không, UNIX là một hệ điều hành độc ác, đôi khi cha mẹ giết con. Tồi tệ hơn, đôi khi chúng trở thành những thây ma. Tôi đoán bạn thật sự nên dùng một hệ điều hành đúng-về-mặt-chính-trị từ Redmond.

Hoặc có thể bạn nên tạo lấy một distro đúng-về-mặt-chính-trị cho riêng bạn. :)


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux

Thứ ba, 13 Tháng hai năm 2007 20:36:16 ICT

Theo dõi

Điểm mặt bất cứ thằng nào chứa liên kết đến trang này:

  • http://360.yahoo.com/pclouds
  • http://blog.deptrai.org/
  • http://blog.ngowiki.net/
  • http://de.blog.360.yahoo.com/blog-xHE8ZkQ0f7OKkFZ5ICRUv0vi?p=1516
  • http://del.icio.us/url/e39541f937eadb6dd1373abf77209673
  • http://dryland.warmily.com/wordpress/
  • http://duylb.wordpress.com/
  • http://forum.vnoss.org/
  • http://imhuy.wordpress.com/2007/08/20/hay-dung-c%e1%ba%a3m-noi-khong-v%e1%bb%9bi-ooxml/
  • http://lihavim.blogspot.com/2007/02/1kh-kh-lu-nay-thnh-thong-mi-dng-mc-nn.html
  • http://lihavim.wordpress.com/2007/01/27/google-services/
  • http://lists.hanoilug.org/pipermail/dokuwiki/2007-November/001064.html
  • http://log.tnhh.info/post/10063794
  • http://ltvan.wordpress.com/
  • http://motgocnhin.blogspot.com/2007/12/danh-b-blog-vit.html
  • http://my.opera.com/duylb/blog/
  • http://my.opera.com/luKanium/blog/
  • http://my.opera.com/mybb/blog/
  • http://ngonngu.net/bNb/
  • http://ngonngu.net/diendan/viewtopic.php?p=3024
  • http://nhatkymang.com/story.php?id=36
  • http://pclouds.tumblr.com/
  • http://toila.net/?q=node/183&page=1
  • http://trinhnt.blogspot.com/2007/03/mt.html
  • http://vietle.blogtiengviet.net/2008/01/14/caic_a_ar_a_chada_a_ar_c
  • http://vn.answers.yahoo.com/question/index?qid=20071219000221AAp6M7f
  • http://www.buom.org/blog/
  • http://www.dientuvienthong.net/diendan/viewtopic.php?t=1606
  • http://www.eggheadcafe.com/software/aspnet/31547947/unixifying-powershell.aspx
  • http://www.hanoilug.org/dokuwiki/others:links
  • http://www.last.fm/user/pclouds/
  • http://www.procul.org/blog/2007/07/13/b%E1%BA%A1n-th%C6%B0%E1%BB%9Dng-ghe-tham-blog-ti%E1%BA%BFng-vi%E1%BB%87t-nao-t%E1%BA%A1i-sao/
  • http://yes2ooxml.blogspot.com/2007/09/c-cn-phi-ng-h-odf-chng-li-ooxml.html

Kết luận:

  • Hoàn toàn mất kiểm soát!!!
  • Google coi vậy chứ cũng không khôn lắm
  • Mất cái myspace.com/pclouds (cũng không thèm)

Cập nhật 12 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ ba, 13 Tháng hai năm 2007 19:44:20 ICT

Một truyền thống về xử lý ảnh

Bình luận về bài “Recognizing Scenes Like the Brain Does” tiết lộ một “truyền thống” của ngành xử lý ảnh:

Like any worthy vision paper, it includes images of Lena!

http://www.cs.cmu.edu/~chuck/lennapg/lenna.shtml (The Rest of the Lenna Story)

Phần hấp dẫn còn lại, xem liên kết trên. Một số điểm lưu ý:

  • Có một bài thơ dành cho nàng Lena
  • Có liên quan đến Playboy (và vài tấm hình gợi cảm)
  • Mai mốt nếu thấy các bài báo khoa học sử dụng tấm hình nào thì cần phải điều tra thật kỹ nguồn gốc của những tấm hình đó. Các nhà khoa học, ngoài tính lãng xẹt vốn có, còn rất lãng mạn :D

Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Chủ nhật, 11 Tháng hai năm 2007 15:47:35 ICT

Hậu quả của trọng nam khinh nữ

God creates dinosaur

God destroys dinosaur

God creates man

Man destroys God

Man creates dinosaur

Dinosaur eats man

Woman inherits the earth


Cập nhật 3 lần. Lần cuối: Thu Aug 25 14:40:58+0003 2022

Tác giả: pclouds | Liên kết tĩnh | Hâm

Thứ năm, 08 Tháng hai năm 2007 19:55:00 ICT

Mừng xuân con heo, mở chiến dịch Ú

Cái gì tới cũng phải tới. Tiếp tục mở kho vspell để mần thịt trong đợt Tết này như dự kiến.

Mục tiêu:

  • Phát hành theo đúng dự kiến vào mùng n (không vượt quá tháng Giêng)
  • Thời gian không nhiều nên tập trung duy nhất vào một điểm: tiêu hoá cho hết kho chữ vspell-text

Vấn đề:

  • Tràn số

Giải pháp:

  • Biết chết liền

Cách giải quyết:

  • Làm thống kê số liệu qua các lần huấn luyện
  • Tìm hiểu lại cách đếm xem có cắt xén được chỗ nào không
  • Tìm hiểu các mô hình back-off

Khả năng thành công:

  • Hết sức lạc quan: 50/50
  • Nếu thất bại sớm, coi như có cớ để giải sầu trong dịp Tết

Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | vspell, Tiếng Việt, Hâm

Thứ tư, 07 Tháng hai năm 2007 20:37:35 ICT

KDE-vi maintainer mới

Chúc mừng bạn luKas lãnh.. e hèm, lộn.. nhận quản lý KDE-vi. Nói bình dân một chút là mừng bạn Chuyên đã lãnh nguyên một cục nợ vừa to vừa nặng (kinh nghiệm xương máu GNOME-vi). Nếu bạn Chuyên vẫn còn đủ "rảnh" sau khi nhận KDE-vi thì hổng chừng nên nhận luôn Debian-vi, nghe đồn cũng đang bị bỏ bê, làm nền tảng "vi" cho Ubuntu. Nếu vẫn còn rảnh nữa thì nhận dịch hộ một tí cho GNOME (GNOME-vi đã qua giai đoạn dịch UI và đang ngắm nghía dịch tài liệu). Nhắc Ubuntu-vi lại nhớ tới FC-vi, giờ chết ngắc.

Nói đi nói lại, vẫn phải ta thán cái câu: "OSS ơi, ếch ơi là ếch!". Người nhận thì nhiều mà người cho (trả) chẳng bao nhiêu.

Um.. chúc mừng bác Teppi từ đây chấm dứt chuỗi ngày lông bông, lên xe bông về làm chồng. Hi vọng sau khi hoàn tất nghĩa vụ làm chồng, bác dành chút đỉnh thời gian còn lại trong ngày để ... dịch tiếp :D (Gọi là "ăn chơi" nhưng không quên "nhiệm vụ")


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Tiếng Việt, OSS

Thứ ba, 06 Tháng hai năm 2007 19:56:25 ICT

terminfo, stty, xterm, backspace

terminfo là gì? Vui lòng xem "man terminfo". Nói tóm gọn terminfo là một tập thông tin mô tả xem phải "nói chuyện" với terminal như thế nào. Ví dụ, nếu người dùng nhấn phím del thì terminal sẽ gửi một chuỗi thông tin như \E[3~, ta phải tra "sổ tay" terminfo để nhận ra à nó là "kdch1" (nghĩa là DEL).

Bạn thân của terminfo là termcap. Tuy nhiên termcap đã xưa và có thể cho về vườn vừa rồi nên không nên nhắc lại làm gì.

Tại sao phải quan tâm đến terminfo? Bởi vì khi nhấn DEL mà nó không hiểu DEL, nhấn C-H mà nó hiểu lầm là backspace...

Tìm hiểu như thế nào? Với virtual console (/dev/tty??) thì phải dùng đến kbd_mode, showkey hay dumpkeys gì đấy để kiểm tra thử xem khi nhấn một phím (hoặc tổ hợp phím) thì nó ra cái gì. (Lạc đề: Linux kernel nhận từ bàn phím "scancode", thông qua một bảng hướng dẫn để chuyển scancode (RAW mode) thành keycode (MEDIUMRAW) rồi cuối cùng thành một chuỗi (ASCII mode). Việc chuyển từ keycode sang ascii code là do loadkeys đảm nhiệm.) Vậy sau khi biết cái chuỗi ascii của phím đó là cái gì, ta cần biết cái chương trình ta sử dụng cần mã chức năng gì (ví dụ như "kdch1" ở trên). "Mã chức năng" ở đây gọi tên chính thức là terminfo capability. Biết mã chức năng rồi, biết code rồi, cần phải biết hiện thời terminal đang dùng terminfo nào để còn sửa. Terminfo nằm trong /usr/share/terminfo. Tên terminfo nằm trong biến TERM.

Với X, thay loadkeys bằng xmodmap. Thay showkey và họ hàng nó bằng xev.

Vậy là đã biết đủ cả rồi. Chỉ không thể đọc terminfo vì nó ở dạng nhị phân. Dùng infocmp <tên terminal> để đọc terminfo của một terminal nào đó (tự động dùng đường dẫn mặc định, khỏi tìm). Mò đến đúng cái mã chức năng cần sửa và kiểm tra. Nếu nó đúng: Chúc mừng! Bạn đã đi nhầm đường. Nếu nó sai, tuyệt vời! Lưu lại kết quả infocmp, sửa lại cho đúng sau đó dùng tic để tạo lại terminfo nhị phân và đưa vào chỗ cũ. Nhớ kiểm tra lại bằng infocmp để đảm bảo các sửa chữa đã được đưa vào đúng chỗ.

infocmp còn có thể được dùng để so sánh hai terminfo. Dùng tuỳ chọn -A-B để xác định đường dẫn hai terminfo cần so sánh. -d để hiện khác biệt, -c để hiện điểm tương đồng.

stty được dùng để "định hướng" cho cả vim và emacs. Hình như cả hay bỏ qua kbs trong terminfo mà nghe lời erase của stty. inputrc chuyên lo readline, đầu vào của bash.

Với screen. Vấn đề nhức đầu hơn tí nữa vì screen giả lập vt100 và đặt biến TERM là "screen". screen tìm terminfo dạng screen.<termname> trong đó termname là terminfo mà screen đang chạy trên đó để dùng. Vì vậy muốn đánh xuyên qua screen, đánh terminfo screen.<term> chứ đừng đánh <term> phí công. Lưu ý screen tạo biến TERMCAP để điều chỉnh một số hành vi gì gì đó (TERMCAP dùng bởi ncurses). Để biết về ascii code của screen, xem "man screen".

Mai sẽ thử nghiệm cái lý thuyết khỉ gió này với cái vim cùi trong công ty. (Triệu chứng: backspace không thèm hoạt động trong khi DEL chạy tốt). Cách gõ là phải gõ Ctrl-Shift-? để bảo đảm nó ra đúng mã. Thằng vim hơi bưởi (với ý tốt?) ở chỗ nó ưu tiên dùng builtin terminfo. Điều đó nghĩa là sửa terminfo ở ngoài không tác dụng. Thử tắt builtin terminfo bằng "set notbi" nhưng có vẻ không có tác dụng :( Sách dạy dùng :set notbi term=TERM mà set tường minh như vậy thì biến TERM còn ý nghĩa gì nữa chứ.

Tuy nhiên sau một hồi mò vọc, nếu đặt stty đúng (stty erase ^?) thì vim tự động chạy bất kể có đặt t_kb hay notbi hay không.

Trên Emacs, do ascii code của backspace là 8, trùng với C-H nên chức năng "help" hết hoạt động là chuyện khá đương nhiên. Giải pháp là đổi backspace sang một giá trị khác, trả C-H về với C-H. Với terminfo "linux" (virtual console), kbs là \177 và kdch1 là \E[3~. Vậy giải pháp là đổi kbs thành \177, bao gồm những bước sau:

  • Đổi phát sinh phím backspace sang \177, nghĩa là đổi cấu hình xterm để phát sinh \177 thay vì 8, với một dòng trong ~/.XdefaultsXTerm*backarrowKey: false
  • Sửa terminfo đang dùng, cho vào ~/.terminfo (khi biên dịch bằng tic thêm tuỳ chọn -o ~/.terminfo) Thích thì sửa, không thích thì thôi, hình như không có ảnh hưởng gì cả.
  • Sửa stty, phần erase lại thành ^? thay vì ^H với lệnh stty erase ^?. Cách khác (với xterm) là thêm vào ~/.Xdefaults dòng XTerm*ttyModes: erase ^?

Chấm dứt ác mộng backspace há há. Sướng quá cứ gõ backspace miết. Chắc phím này hư sớm quá


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux, Emacs, Mánh và mẹo

Thứ bảy, 03 Tháng hai năm 2007 11:19:02 ICT

Dịch "footprint"

Thường gặp trong các chương trình dưới dạng "memory footprint". Không thể dịch là dấu chân (nghe chả hiểu gì cả). Ngoài ra, theo wikipedia thì "footprint" là "the portion of computing resources required by a piece of software".

Đang nghĩ hổng chừng có thể dịch là "dấu ấn" nhưng nghe vẫn chưa hợp lý lắm. "Hao tốn" thì bắt đầu đi hơi xa khỏi từ "footprint".


Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Tiếng Việt

Thứ bảy, 03 Tháng hai năm 2007 10:18:15 ICT

Ô chữ LG #135

Ô chữ LG #133 sai tan nát :( Sai nặng nhất là “ANPPP” (nhầm với "POINT") và "HONOREE" (nhầm với "HONESTY"). Một số điểm trong ô chữ LG #133:

  • ppp creates "An PPP" connection. Làm cứ nghĩ point-to-point :(
  • Vệ tinh đầu tiên dùng Linux là AURA
  • "Spanish and English designations" là ESEN??
  • Chép lại là RECP (Bà ngoại nó, không thể nghĩ ra nó là Re-Copy)
  • Root wants a tamper-proof system??
  • A coder that layers loops là "Nester"
  • Formatting is common "in setups" (trời đất ơi)
  • How much a variable is worth? "Value" (má ới)
  • In Jun. 2003, insider trading case players là IRSATI
  • Make "recompiles" changed modules when run again
  • Fans AERATE the system!?
  • Dude, "USETAR" to archive files (má!)

Tình hình là LG# 135 sẽ sai cũng khủng hoảng cỡ gần gần LG #133:

  1. ask/abort
  2. speech
  3. kmmmai
  4. mosiac/manu
  5. open
  6. sp.t…
  7. ie.
  8. an.
  9. cdl
  10. bpm
  11. append
  12. oem
  13. ne…l
  14. remount
  15. of..i..
  16. tcaf
  17. điếc
  18. …o.n
  19. ..cdls
  20. …c.l
  21. .hi..
  22. điếc
  23. khùng
  24. điên
  25. mobile
  26. oot
  27. điếc
  28. odc
  29. tè té te
  30. là lá la
  31. la lá là
  32. nsl (cái này hay á)

Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux

Thứ năm, 01 Tháng hai năm 2007 21:00:15 ICT

Make it with Mono

Khen chê gì thì cũng phải công nhận Mono là một trong những Development Platform mạnh trong Linux. Xét về mảng desktop thì chỉ có Python nằm ở tầm ngang ngửa Mono. Hi vọng sang năm Java sẽ được ứng dụng nhiều hơn khi hoàn tất công bố mã nguồn Java.

Một trong những thế mạnh của Mono là nhờ có Novell đứng sau lưng. Make it with Mono thể hiện điều đó: đề nghị mọi người nêu ứng dụng mình thích rồi sẽ chọn cái được bình chọn cao nhất để cài đặt (hình như Novell hay Ubuntu làm vụ này một lần và chìm xuồng thì phải?). Trong danh sách này có vài cái khá hay và cần thiết:

  • MonoGram (tương tự Visio)
  • GTK/Mono Blender
  • MonoCAD
  • Time Tracker
  • Paint.net for mono

Ba cái đầu thuộc dạng "to quá làm không nổi" nên mãi đến bây giờ vẫn chưa có cái nào ngon. Nếu Novell có thể làm hoặc MonoCAD hoặc MonoGram thì thề sẽ dùng Mono!

Nhưng mà cái danh sách này bắt đầu đi quá đà:

  • Unified Communication Client (SIP/IM)
  • MonoTeX (TeXShop)
  • MonoBound (Gunbound)
  • Presentation Software (Powerpoint)
  • GCase (CASE tool)
  • GNUPicasa (thế fspot bỏ đâu rồi?)
  • XMonoL (XMLSpy)
  • MonoGame (Gaming IDE)
  • VB6 Clone

Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Linux, Mono