Kho tháng 11/2008
Thứ tư, 26 Tháng mười một năm 2008 18:16:50 ICT
http://ur1.ca/tyv "Programmer (n): An organism that can turn caffeine into code."
Thứ ba, 25 Tháng mười một năm 2008 19:32:58 ICT
Giấy phép sử dụng
Thân gửi các đồng chí,
Do con hẻm này bắt đầu chuyển vào giai đoạn hoạt động bí mật, không muốn bị anh Google hay các anh khác dòm ngó. Vì vậy, các bạn vui lòng tuân thủ điều kiện sau.
Các bạn được quyền đọc và trích dẫn bất cứ bài nào trong con hẻm này, trừ khi được yêu cầu khác trong từng bài viết cụ thể, với điều kiện không được tiết lộ công khai địa chỉ của con hẻm này dưới bất kì hình thức nào (kể cả "pclouds không tồn tại chấm com" hay vẽ hình). Các bạn có thể ghi đơn giản "nguồn pclouds", hoặc nguồn vô danh cũng được. Các bạn có thể rỉ tai nhau về địa chỉ này tuỳ thích, nhưng làm ơn đừng có nói cho bàn dân thiên hạ biết.
Nếu một trong các bạn không tuân thủ điều này, tui sẽ di chuyển con hẻm một lần nữa. Và dĩ nhiên bạn sẽ không nằm trong danh sách được thông báo về địa điểm mới.
Chân thành cám ơn. Chủ hẻm kí tên và đóng dấu: Cùi Văn P.
Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017
Thứ sáu, 21 Tháng mười một năm 2008 00:53:50 ICT
Giấc ngủ không tự sinh ra, cũng không tự mất đi. Nó chỉ chuyển từ giờ này sang giờ khác hoặc từ người này sang người khác. Hic...
Chủ nhật, 16 Tháng mười một năm 2008 22:30:25 ICT
Bệnh ngày càng nặng. Giờ lại đâm ra thèm Swallow the Sun.
Thứ tư, 12 Tháng mười một năm 2008 15:34:41 ICT
Thế giới phẳng, nhưng coi chừng mạch nước ngầm
Có 3 máy, tạm gọi A, B và C. A nằm sau firewall với B. B nằm sau firewall với C. C cũng bị NAT trước khi đến B.
Để truy cập từ B đến A, trước hết mở một ssh tunnel từ A đến B, forward cổng 22 trên A thành cổng 2222 trên B. Từ B, mở một loạt ssh tunnel đến A thông qua cổng cục bộ 2222 vừa mở, forward cổng bất kì từ mạng của máy A đến 1 cổng nào đó trên máy B. Truy cập mạng của máy A qua các cổng cục bộ (forward) trên máy B.
Áp dụng cách tương tự để truy cập từ C đến B (sau khi moi một lỗ trên NAT của C để B có thể tạo ssh tunnel đến C).
Vấn đề là làm sao nối trực tiếp từ C đến A. Mà làm kiểu này thì FTP nó
không chạy. Ôi... nhiều ống SSH quá. Ống lồng ống, chằn chịt. Giờ chả
biết ống nào là ống nào, lúc nào phải dùng -L
với lúc nào phải dùng
-R
. Hic...
Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017
Thứ hai, 10 Tháng mười một năm 2008 22:55:26 ICT
Emacs chống Vim
Mặc dù từ 2004 đến nay dùng Vim khá khá nhiều, nhưng vẫn luôn chung thuỷ (ít ra trong tim) với Emacs. Dạo gần đây bắt đầu dùng lại Emacs, đặt làm editor mặc định. Việc chuyển sang dùng Vim cũng làm sáng mắt nhiều cái, đến nỗi quay lại Emacs cảm thấy gò bó.
Cái bó nó ló cái khôn. Ông bà ta bảo thế. Thành ra liệt kê ra những lệnh tương ứng của Emacs và Vim. Đây là dạng cheetsheet cao cấp, bạn nào mới chập chững Emacs thì không cần đọc làm gì (ví dụ, nên thử trang này)
- Chèn chuỗi vào tại một cột cố định (chiêu này của bác SeekZero).
Với Vim, Ctrl-V chọn cột cần chèn, xong nhấn
I
rồi gõ chuỗi, sau đó nhấn ESC, chuỗi đó sẽ được điền cho toàn bộ các dòng đã chọn. Với Emacs, dùng chọn vùng rồi dùngC-x r t
- Lọc một vùng văn bản bằng chương trình bên ngoài. Với Vim, dùng
V
chọn vùng, sau đó gõ:!<lệnh>
. Lệnh đó sẽ được chạy với đầu vào là vùng chọn, đầu ra của lệnh sẽ được thế y vào chỗ cũ. Emacs oách hơn, vớiM-|
sẽ đưa đầu ra ra một buffer mới. Tuy nhiên ai quen Vim sẽ thíchC-u M-|
, thế thẳng đầu ra vào vùng chọn, y như Vim. - Đánh dấu và nhảy. Vim dùng
mX
để đánh dấu và'X
để nhảy về. Emacs gần tương tự vớiC-x r SPC X
để đánh dấu vàC-x r j X
để nhảy về. :sp file
của Vim được dùng để mở cửa sổ mới với tập tin mới. Với Emacs dùngC-x 4 f
. Để đóng cửa sổ, Vim dùngC-w
, Emacs dùngC-x 4 0
- Đánh dấu toàn bộ buffer, Vim dùng
:%
, Emacs làC-x h
- Di chuyển sang buffer kế/trước, Vim dùng
:bn
hoặc:bp
, Emacs dùngC-x <right>
vớiC-x <left>
- Lặp lại lệnh cũ trong Vim là
.
, Emacs làC-x z
- Cái đáng tiếc nhất, tìm nhanh một từ trong Vim, dùng
*
thì không thấy tương đương bên Emacs - Thay thế trong một đoạn được chọn, với Vim là chọn bằng visual
mode, sau đó
:s
. Với Emacs, bật transient mode lên, xong replace-string sẽ hoạt động như ý. - Vim có thể chép/dán trong nhiều vùng tạm với
"Xy
và"Xp
. Với Emacs, dùngC-x r s X
để lưu vàC-x r i X
để dán. - Canh hàng Vim dùng
=
, Emacs dùngC-M-\
- Vụ nối nhiều hàng trong Vim, dùng
J
thì Emacs ko có. DùngM-^ C-x zzzz
thì xấu hổ quá. Đâu đó trên mạng cójoin-paragraph
. p
của Vim khi dán thì con trỏ nằm ở đầu. Muốn giống thì thêm dùngC-u C-y
Dĩ nhiên Emacs thì không chỉ có chạy sau đít Vim như thế. Emacs có nhiều cái hay hơn, nhưng cái hay thì để từ từ nói.
Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017
Thứ hai, 10 Tháng mười một năm 2008 19:40:47 ICT
Nhạc nhọt cuối năm
Sắp hết năm. Cũng tổng kết tà tà các thứ. Trước hết là nhạc.
Trong gần mười hai tháng vừa qua, ba ban nhạc dẫn đầu lần lượt là Persephone, Tristania và Draconian, mỗi ban trên 1500 lần nghe (Persephone 1800). Nhóm kế tiếp với khoảng 400 lần nghe bao gồm My Dying Bride, Lacrimosa và Blackmore's Night.
Như vậy, so với dự đoán đầu năm, chỉ có darkwave là không đạt "chỉ tiêu". Doom metal chủ yếu trong ba ban My Dying Bride, The morning side và Saturnus. Gần đây tự nhiên nhơ nhớ black.
Trên bảng tổng kết xếp hạng, Draconian đã vượt Tristania (vài bài) chiếm vị trí số một. Tiếp theo lần lượt là Blackmore's Night, Persephone, Metallica, Nightwish, Lacrimosa, Apocalyptica, Within Temptation và Moonspell. Những tên tuổi kỳ cựu xem ra càng ngày càng xuống dốc. Trừ Metallica còn giữ được hạng năm (nhiều khả năng bị Lacrimosa hạ), tất cả đều lui về tốp cuối.
Xét về album, trong 12 tháng qua, Letters to a stranger và Home của Persephone xếp hai thứ hạng đầu tiên, bỏ khá xa Illumination của Tristania hay Turning season within của Draconian. Trong mười album thì toàn bộ 4 album của Draconian đều có tên, xen lẫn với hai album của Tristania (thêm Widow's weeds), Songs of darkness, words of light của My Dying Bride và ABBA. Những gương mặt xa xa bao gồm Beyond the veil và Tristania của Tristania, Under the violet moon của Blackmore's Night và gương mặt mới gió, cây và bóng quá khứ của The morning side.
Xét về bài hát, Draconian tiếp tục ghi điểm khi vượt qua Low man's lyric của Metallica, chiếm hạng hai, sau Sleeping Sun của Nightwish, với siêu phẩm Death come near me. Với gần 120 lần nghe trong 12 tháng, tính ra mỗi tháng nghe DCNM đến... 10 lần? Phải nói là dù còn cách biệt gần 80 lần nghe, nhưng nếu Nightwish vẫn bị thất sủng như vầy thì bài hát số một trong bốn bài female-fronted metal có khả năng bị truất ngôi.
Tình hình năm sau dự đoán cũng sẽ không thay đổi nhiều. Tristania và Draconian sẽ tiếp tục thay nhau nắm giữ ngôi đầu. Có một mối đe doạ từ xa về nhạc Việt, nhưng xem ra phải mất vài năm, may ra... Năm sau, có lẽ cũng nên đột phá. Tính đến nay chắc cũng hơn 5 năm đắm chìm trong sắt và thép. Biết đâu nên kiếm nước mát. Nhưng nhạc phải phù hợp tâm trạng. Chắc lại tiếp tục cưa sắt quá.
Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017
Chủ nhật, 09 Tháng mười một năm 2008 22:13:30 ICT
26 days uptime for a laptop seems to much, shutting down
Chủ nhật, 09 Tháng mười một năm 2008 19:28:30 ICT
Hông biết tại pygst hay tại python mà nó lại làm gợi nhớ java, dài dòng lủng củng
Chủ nhật, 09 Tháng mười một năm 2008 11:02:53 ICT
Thu thu, cắt cắt
Làm thế nào để thu những gì mình nghe (chứ không phải thu những gì
mình nói)? Vấn đề xem ra phức tạp. Nếu dùng ALSA, có thể tận dụng
plugin "file" để thu. Sau một hồi mò mẫm cũng viết được một tẹo trong
~/.asoundrc
để thu. Tuy nhiên Patrakov có một
giải pháp
hoàn chỉnh hơn. Tạo tập tin ~/.asoundrc
với nội dung sau:
pcm.voice {
type asym
playback.pcm {
type file
file /home/pclouds/voice/p
slave.pcm default
format wav
truncate 0
}
capture.pcm {
type file
file /home/pclouds/voice/c
slave.pcm default
format wav
truncate 0
}
}
Cần tạo sẵn thư mục /home/pclouds/voice
. Sau đó, nếu muốn thu cái
cần nghe, thì chỉnh device của thiết bị nghe sang "voice". Nếu muốn
thu cái đang nói, thì chỉnh thiết bị thu sang "voice". Thế, khi thu
phần nghe thì nó sẽ tự động tạo các tập tin "p" còn nói thì "c", dạng
wav.
Vậy muốn xử lý cơ bản, như cắt một đoạn thì làm sao? Cài một cái audio editor vô thì hơi quá đáng. Nếu biết khoảng thời gian cần cắt thì dùng cái script sau cho gọn
#!/bin/sh
die() {
echo "$@"
exit
}
SEC=000000000
SRC="$1"
DST="$2"
START=$3
DUR=$4
[ -f "$SRC" ] || die "Source not found"
[ -f "$DST" ] && die "Destination already exists"
[ "$START" -ge 0 ] || die "Invalid start"
[ "$DUR" -ge 0 ] || die "Invalid duration"
EXT="${DST/*./}"
case "$EXT" in
mp3) CONV=lame;;
flac) CONV=flacenc;;
wav) CONV=wavenc;;
*) die "Filetype $EXT not supported"
esac
set -o xtrace
gst-launch-0.10 gnlcomposition \
'(' gnlfilesource \
location="$SRC" \
start=0 media-start=$START$SEC \
duration=$DUR$SEC media-duration=$DUR$SEC \
')' \
! audioconvert \
! $CONV \
! filesink location="$DST"
Script hơi bưởi (hoặc gstreamer bưởi), không kết thúc sau khi đã cắt xong. Thành ra chịu khó kiểm tra đầu ra, nếu không tăng nữa thì ngưng. Chạy cũng đơn giản:
./aucut source.wav output.mp3 from duration
"from" và "duration" tính theo giây. Lưu ý là source phải dạng "seekable" không thì nó không chạy.
Thế thế... phù...
Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017
Thứ bảy, 08 Tháng mười một năm 2008 21:31:04 ICT
#alsa plugin file: int, rate 22050, channels 2, width 16, depth 16, signed, endianness 1234
Thứ bảy, 08 Tháng mười một năm 2008 16:09:44 ICT
Thought today was Friday. Went to the office and had a big surprise. Still did not believe today was Saturday on my way back home. Baah..
Thứ năm, 06 Tháng mười một năm 2008 23:50:44 ICT
Có tài liệu CX83210 rồi, giờ sao đây ta. Chẳng lẽ bỏ 1 năm để luộc CNAD804-NF?
Thứ ba, 04 Tháng mười một năm 2008 20:41:59 ICT
Book crisis để lại hậu quả tàn khốc: finance crisis, hic
Thứ ba, 04 Tháng mười một năm 2008 00:50:09 ICT
http://ur1.ca/e99 does not look too bad (dreamer, escape artist, back to basics, nostalgic)
Chủ nhật, 02 Tháng mười một năm 2008 15:59:32 ICT
Dust theme (của Ubuntu) tông xanh
Ubuntu bản gần đây có cái Dust theme cũng khá đẹp. Mỗi tội tui không thích cái màu nâu nâu của nó, nên tui chuyển qua bản Dust Mod với màu xanh lục. Tuy nhiên cái màu xanh lục trên taskbar lại quá chói, dễ gây mất tập trung, nên tui (theo Industrial) chuyển nó về đậm. Nhìn đỡ hơn nhiều.
Ai có muốn thử thì lấy ở đây. Lưu ý là cần Murrine engine từ Subversion.
:http://www.flickr.com/photos/pclouds/2994805098/
Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017