Saturday, 25 August 2012

[WeeklyVim] chia Vim thành nhiều cửa sổ con

hai lệnh rất cần thiết khi bạn dùng vim để code thực hiện điều nói trên đó là :sp và :vs


:sp dạng ngắn gọn của :split
chia màn hình theo chiều ngang thành nhiều phần bằng nhau (nếu đang có 1 thì chia thành 2, nếu có 2 thì chia thành 3 phần bằng nhau... )

:vs dạng ngắn gọn của :vsplit
v-vertical : chia cửa sổ vim theo chiều dọc thành nhiều phần bằng nhau...

Ctrl w  h/j/k/l  di chuyển đến các cửa sổ phải /xuống/ lên/ trái
Ctrl w 10 +   mở rộng cửa sổ hiện tại thêm 10 dòng xuống dưới (ngược lại vơí - )
Ctrl w 10 >    mở rộng cửa sổ hiện tại sang phải 10 cols

Something new: Biến máy cài debian thành WAP

để tránh nhầm lẫn, nên chú ý rằng mọi khi mình dùng laptop "phát" mạng là tạo mạng ad-hoc. Một số thiết bị như Android (chưa root) không thể connect vào được. Còn đây là tut biến một máy tính có card wireless thành 1 WAP (Wireless Access Point) - máy phát wifi xịn như modem xịn :))


http://www.cyberciti.biz/faq/debian-ubuntu-linux-setting-wireless-access-point/

các tool sử dụng:
Host AP: http://hostap.epitest.fi/
madwifi: http://sourceforge.net/projects/madwifi/

Q: tại sao lại post những bài kiểu này?
để bạn biết trên đời có những thứ như vậy tồn tại (know thing that you dont know). Bạn không cần thiết phải biết cụ thể chi tiết thế nào.

PS: chưa test :D 

Tuesday, 21 August 2012

pstree - xem máy bạn chạy gì

hvn@squeeze:~$ whatis pstree
pstree (1)           - display a tree of processes
hvn@squeeze:~$ pstree
init─┬─acpid
     ├─atd
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─cron
     ├─cupsd
     ├─2*[dbus-daemon]
     ├─dbus-launch
     ├─dhclient
     ├─exim4
     ├─firefox─┬─plugin-containe───6*[{plugin-contain}]
     │         └─29*[{firefox}]
     ├─gconfd-2
     ├─gdm3─┬─gdm-simple-slav─┬─Xorg
     │      │                 ├─gdm-session-wor─┬─i3───ssh-agent
     │      │                 │                 └─{gdm-session-wo}
     │      │                 └─{gdm-simple-sla}
     │      └─{gdm3}
     ├─6*[getty]
     ├─gnome-power-man
     ├─gnome-terminal─┬─bash───pstree
     │                ├─gnome-pty-helpe
     │                └─{gnome-terminal}
     ├─gvfsd
     ├─i3bar───i3status
     ├─ibus-daemon─┬─ibus-engine-m17
     │             ├─ibus-gconf
     │             ├─python
     │             └─{ibus-daemon}
     ├─ibus-x11
     ├─mount.ntfs-3g
     ├─pidgin
     ├─polkit-gnome-au
     ├─polkitd
     ├─portmap
     ├─rpc.statd
     ├─rsyslogd───2*[{rsyslogd}]
     ├─skype───17*[{skype}]
     ├─udevd───2*[udevd]
     ├─upowerd
     └─wpa_supplicant


máy của tớ khá là nhẹ vì dùng window manager chứ không dùng desktop-environment. Mọi người cùng gõ lệnh để xem cái process tree của mình đang chạy gì nhóe :>

Monday, 13 August 2012

Cách đơn giản nhất để tránh vào nhầm mp3.zing.vn

là đổi lại file hosts.
Mọi người đã quá quen thuộc với việc sửa file hosts để vào FB.
Ta có thể sử dụng file host để chặn 1 số trang không muốn, với ai dùng win có thể thấy khi crack IDM cũng thêm link đến trang chủ của nó với địa chỉ ip  127.0.0.1

từ giờ sẽ dùng nhaccuatui.com, giá mà bọn này mua tên miền nct.vn cho nó ngắn ~.~
hvn@squeeze:~$ ping -c 1 nhaccuatui.com
PING nhaccuatui.com (123.30.134.2) 56(84) bytes of data.
64 bytes from mp3.zing.vn (123.30.134.2): icmp_req=1 ttl=128 time=62.3 ms

--- nhaccuatui.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 62.359/62.359/62.359/0.000 ms


Thursday, 9 August 2012

[WeeklyVim] Thêm các từ dưới con trỏ vào phần command

Refactor là vấn đề rồi bạn sẽ phải làm khi bạn thực sự code.

Để search 1 từ dưới con trỏ, ta bấm * hoặc #.
Để thêm từ đó khi search, ta để con trỏ lên từ đó, bấm Ctrl R Ctrl W
Để thay 1 hàm bằng 1 hàm khác, có lẽ sẽ phải dùng regex :D
vdụ:
foo_too_talabamaxanakahaha(haha, hohoho)
bằng hàm:
familug(huhu)
ta sẽ để con trỏ lên tên hàm foo...
gõ :%s/
bấm Ctrl R Ctr W
gõ .*/familug(huhu)/g
enter là xong

đầy đủ câu lệnh là:
:%s/foo_too_talabamaxanakahaha.*/familug(huhu)/g

Wednesday, 8 August 2012

Giáo trình trong mơ (của 1 SV Viện toán tin)

do tớ thiết kế :)) hi vọng 1 ngày nào đó ai đó được học .

(chỉ các môn tin)

Tin học đại cương: 
học HTML và Latex
Python (List, Dict, cơ bản)

Thực tập cơ sở:
C và con trỏ

Lập trình tính toán:

Viết code - Refactor [Part 1]

Lập trình cực đơn giản, ai cũng có thể lập trình được thậm chí cả "DUMMY" cũng có thể lập trình được trong vòng 21 ngày :)) [1]

Vậy nhưng để viết được một đoạn code tốt (theo nhiều tiêu chuẩn khác nhau) thì lại là cả 1 nghệ thuật. Những phương pháp tối ưu giải quyết một vấn đề CỤ THỂ nếu là vấn đề nhiều người gặp phải thì được đút kết thành các "pattern".
Chúng ta thường có thể đưa ngay ra những giải pháp "nóng" để giải quyết vấn đề. Nhưng nó hiều khi không phải giải pháp tối ưu (thậm chí là tối ưu cục bộ :D ) [2]

Việc viết lại 1 đoạn code cho đẹp, tiện, tốt, tối ưu hơn gọi là refactor. Và sau đây tớ sẽ lấy ví dụ về 3 đoạn code hôm nay tớ viết. Sẽ không dùng 1 ngôn ngữ riêng biệt nào hết mà tớ sẽ dùng kiểu "giả mã HVN" =))

Vấn đề:
- Cần đọc 1 file config để lấy nội dung trong đó.
- Viết 1 số hàm lọc những gì cần thiết lấy từ file config nói trên.

Tuesday, 7 August 2012

Nếu được làm lại...

nếu được làm lại, bạn sẽ chọn học tử tế 3 môn học nào ?
Comment lần lượt 3 môn.

Câu trả lời của tớ là :
1. Kỹ thuật điện -> để sửa điện
2. Kỹ thuật điện tử -> để biết thêm về phần cứng
3. Đại số -> rõ rồi

Monday, 6 August 2012

Thông báo việc chuyển lại website cũ

Do tình hình giá xăng giá điện tăng đắt đỏ, các admin không đủ tiền để đi ra hạn thêm cho host nên đã quyết định quay lại ăn nhờ ở đậu các anh Google :D

chào mừng trở lại cái máng lợn cũ :D

mọi bài viết bên site vừa rồi sẽ được post lại vào thời gian tới.

PS: tiếp tục chờ cấp sub domain  cho Hà và Chung (đóng gấp đôi số tiền yêu cầu để mua domain) và Đồng (bài viết leo top về latex )