Skip to main content

Posts

Showing posts from October, 2011

Lật mặt nạ mạng (phần 2)

2. 0 và 255 như đã cảnh báo trước, phần này ta sẽ giải quyết sòng phẳng vấn đề 0 và 255 đã đi đâu? 255 được sử dụng cho "broadcast". Ta thường hay được nghe xxx.xxx.255.255 là địa chỉ broadcast, và ta cũng nhắc lại như con vẹt "nó là địa chỉ broadcast". Vậy broadcast là gì? broadcast là một tin nhắn (message) mà bạn muốn tất cả các máy cùng mạng (network) với mình nhìn thấy.  

Whao... something new

Đạp các máy khác ra khỏi mạng wifi mình đang dùng. Làm sao làm được vậy? http://lifehacker.com/5853775/kick-other-devices-off-a-wi+fi-network-with-wifikill-on-android Netcut ai cũng biết, nó hoạt động thế nào? http://serverfault.com/questions/125585/how-does-netcut-work http://bill2t.blogspot.com/2009/09/how-netcut-work.html dạo chơi với cái tên anonymous... http://lifehacker.com/5854203/how-to-create-a-fake-identity-and-stay-anonymous-online tất cả đều do sự yếu kém trong bảo mật... những điều này là rất THỰC TẾ trong lúc bạn đang học môn mạng máy tính. Các bạn cùng comment và viết bài để đời thôi :x

Lật mặt nạ mạng (phần 1)

(Giật tít rất mạnh :)) ) Tớ không viết dài, không viết dai, không viết dại. Viết đủ để mọi người hiểu về cách phân chia, cấp phát sử dụng địa chỉ IP như thế nào, không còn j là mông lung cả. Nắm rõ ý tưởng của vấn đề. Arpanet là tổ chức nổi tiếng nhất về mạng TCP/IP. Địa chỉ IP là những số nhị phân dài 32-bit = 4 bytes và được viết như 4 nhóm, mỗi nhóm tương ứng với 1 byte. Gọi 1 nhóm này là 1 octet (nhóm 8-bit). ABC.DEF.GHI.JKL

Đề Matlab năm ngoái

Đề thi Giữa kì hum cô cho làm thử thì phải , ai làm rồi hay còn nhớ làm lại cho t xem vs nhé ;)

Nếu làm lại từ đầu...

Loạt bài viết này sẽ ghi lại những suy nghĩ, truyền lại những kinh nghiệm cho những SV khóa sau. Sẽ giả tưởng mình là hiệu trưởng trường BK... và chắc chắn sẽ đủ dài để làm The ultimate guide to BK :)) 0. Điều trước điều đầu tiên tôi muôn làm là : dạy lịch sử tự hào của trường BK cho sinh viên. Kể chuyện về thầy Tạ Quang Bửu, Trần Đại Nghĩa, Lê Thanh Nghị làai? tại sao lại được lấy làm tên đường, thư viện..., những câu chuyện không phải để khoa khoang mà  phải là những câu chuyện truyền cảm hứng cho sinh viên. 1. Điều đầu tiên tôi muốn là đưa ra khái niệm Kỹ sư thật rõ ràng cho các sinh viên vừa vào trường. Để họ không bị hoang mang, biết mình là ai và sẽ thế nào. http://cntt.tv/nodes/show/21 ... tắm đã, rảnh viết tiếp :)) PS: ngẫm lại, biết đâu mình hợp với nghề giáo :)) 

Mạng máy tính subnet mask,subnetting

Với các class giống y nhau nên mình sẽ trình bày trên class B Class B đã sử dụng 16 bit đầu tiên : Dạng dec: 255.255.0.0 Dạng bin:11111111.11111111.00000000.00000000 Bài toán đặt ra tìm subnet mask và chia mạng con cho m máy(subnet con) Đầu tiên ta tìm n sao cho 2^n>m đấy chính là số bit cần mượn thêm này Thay n số 0 kể từ bit thứ 17 thành 1 >> đc subnet mask dạng bin 11111111.11111111. 1...1 0....0 phần tô đỏ là gồm n số 1 rồi đổi dạng bin >> dec đc subnet mask chia mạng con nè giả sử hót ban đầu x.x.0.0 chuyển sang nhị phân bbbbbbbb.bbbbbbbb.00000000.00000000 bắt đầu chia : b.b. 00...00 000 (n số 0 đỏ) mạng con đầu tiên :b.b. 00....0001 0...0 (số 0 đỏ cuối ở trên chuyển thành số 1 )> đổi sang dạng Dec lưu ý dấu chấm là ngắt 1 số nha mạng con thứ 2 là :b.b. 00...0010 0...0 (tìm số 0 đỏ gần nhất từ trái sang thay nó bằng 1 và nhữn số 1 đỏ trước nó thay = 0 của mạng con thứ nhất) >> đổi sang Dec. mạng con thứ 3 là : b.b. 00...0011 0...0 >> đổi sang Dec m...

Tìm kiếm string với grep

grep là một công cụ rất quan trọng trong linux. Nó giúp lọc ra thông tin bạn cần trong hàng đống ngổn ngang dữ liệu. Nó là công cụ không thể thiếu với bất cứ ai dùng Linux bằng các dòng lệnh và đặc biệt quan trọng với các lập trình viên bởi nó là công cụ tìm kiếm "hướng dòng" (line-oriented). Kết quả trả về sẽ là những dòng text thỏa mãn điều kiện tìm kiếm Sử dụng grep rất đơn giản: grep 'tu_khoa' ten_file1 ten_file2 ten_file3 hay sử dụng chức năng pipeline của shell để lấy đầu vào: cat hehe.txt hoho.c | grep 'return' Dưới đây là cách dùng các phép OR, AND, NOT với grep: OR: tu_khoa_mot hoặc tu_khoa_hai grep -E 'tu_khoa_mot|tu_khoa_hai' file -E (extended regexp)

R.I.P Dennis Ritchie

 Tin Dennis Ritchie mất đã được đăng nhiêu ngày trên mạng. Nhưng nay tớ vẫn viết 1 bài để tưởng nhớ người đã tạo ra ngôn ngữ C đồng thời là developer chính phát triển UNIX Với người dùng máy tính bình thường, có lẽ họ chẳng biết ông là ai. Nhưng với những lập trình viên, hẳn ai cũng biết vai trò của ông lớn chừng nào. Ngay cả Bill Gates, Steve Jobs... cũng là những người khổng lồ đứng trên vai người khổng lồ vĩ đại này. Rest In Peace! " When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn't developed under the advice of a worldwide crowd. " "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity" Một đoạn code tưởng nhớ ông: int main(void) { time_t thetime = time(NULL); struct tm *loctime = localtime(&thetime); struct ritchie *dennis; while (1) { if (loctime->tm_year + 1900 == 1941) { dennis = (ritchie*) malloc(sizeof(struct rit...

[MATLAB] Giải phương trình bằng PP Tiếp Tuyến

Không có MATLAB nên tớ code giả như bên dưới để minh họa ý tưởng thôi, còn muốn chạy thì phải lồng các vòng if vào nhau (bởi tớ chưa biết cách "return" giữa chừng trong MATLAB. %Chuong trinh giai phuong trinh bang phuong phap tiep tuyen %www.familug.com function [root1] = PPTiepTuyen(fx, cana, canb, saiso) if subs(fx,cana) == 0     root1 = cana end if subs(fx,canb) == 0     root1 = canb end if diff(diff(fx)) == 0     disp('Ham da nhap co dao ham cap 2 = 0') end     if subs(fx,cana) * subs(fx,canb) > 0 %chả biết lớn hay nhỏ hơn :))     bx = cana     x = bx - subs(diff(fx),cana)     while x - bx > saiso         bx = x         x = bx - subs(diff(fx),cana)             root1 = x end     ai có MATLAB mà hôm nọ chưa làm bài thì tranh thủ vi...

Something new...

3 big ways of learning: Learning by doing (real stuffs) - a process through all topics Learning by reading - topic by topic Learning by thinking (some creative ways) http://stackoverflow.com/ Learn from experiments Web development often broad, not deep

Learning style part 3: nếu bạn biết mình thực sự muốn gì

Nếu bạn may mắn, hay cách thú vị nào đó biết được mình thực sự muốn gì, muốn là ai, muốn làm gì, lúc ấy bạn sẽ biết rõ những gì cần làm. Nhớ hãy phân biệt những thứ gì bạn muốn hiểu đến tận gốc rễ, những gì bạn chỉ cần sử dụng như 1 công cụ. Sức người có hạn, thời gian có hạn, cuộc đời có hạn... bạn chẳng thể 1 tay làm đủ mọi chuyện trên đời ! Và những quan sát này khiến tớ có những thay đổi trong suy nghĩ bởi ngày tớ đk NV2 vào khoa Toán Tin, tớ nghĩ được học Tin ít nhất là 50% chương trình, phần còn lại là mình tự cày bừa... Khi xem chương trình học của các khoa Điện, Điện Tử, Sư phạm kỹ thuật, hay cả cơ khí ... khoa nào cũng có những môn liên quan đến lập trình.Và đọc đến đây, đừng nghĩ rằng họ chỉ học lung tung hay lập trình chuyên ngành: thằng bạn tớ học bên ĐTVT có môn lập trình game nữa (lập trình nâng cao). [Cần ai đó rảnh rang lấy list các môn học liên quan đến lập trình của các khoa kể trên] Nói thế để bạn hiểu răng, nếu không có ý định trở thành một lập trình viên,...

[MatLAB]Chuyển đổi năm và hơn thế nữa

bài toán đặt ra đổi từ năm dương lịch dạng số sang năm âm lịch dạng chữ hướng giải bài toán: + Đặt 2 mảng kí tự ''can''và ''chi'' tương ứng với các căn chi của âm lịch +Lấy Vị trí đầu làm mốc rồi tìm dư cho 10 căn và 12 chi tương ứng với vị trí trong mảng Code function [] = namam( f ) %NAMAM Summary of this function goes here % Detailed explanation goes here can={'Giap','At','Binh','Dinh','Mau','Ky','Canh','Tan','Nham','Quy'}; chi={'Ti','Suu','Dan','Mao','Thin','Ty','Ngo','Mui','Than','Dau','Tuat','Hoi'}; %can(mod(f,10)+1) %chi(mod(f,12)+1) for i =0:9 if(mod(f-i,10)==mod(1744,10)) can(1+i) end if(mod(f-i,12)==mod(1744,12)) chi(1+i) end end Ngoài ra từ bài toán trên có thể suy rộng ra nhiều bài toán khác ko dừng lại ở 2 mảng mà là n mảng .Đầu vào là 1 thông số và trên mỗi...

Learn style part .........

Học là một nghệ thuật và người học thật là 1 nghệ sỹ Có rất nhiều nhiều yếu tố ảnh hưởng tới việc học xong việc quyết định học hay ko là ở bộ não chúng ta. Sự phong phú của bộ não và sự phát triển logic mờ nên câu trả lời đứng trước việc học ko còn là KO(0) và CÓ(1) nữa Và tùy vào mỗi người đối vs mỗi môn thì độ muốn học nó lại khác nhau.như của mình : M(CSDL)=0.5 M(HTM)=0.5 M(SAIPHAN)=0,25 M(CHUOI)=0.65 M(HEMO)=0.9x =)) M(DK tối ưu)=0.71 nản chưa M(i) được kéo theo bởi cảm hứng N(i) ;)) nghe cũng xuôi nhưng kệ thôi Việc học là dài dài theo mình thì ko đơn giản là lý thuyết và thực hành Trước tiên học để làm gì : Điểm ư, bằng ư, hay thế nào..................mình thì muốn hiểu cặn kẽ vẫn đề thôi .Việc nhai 1 đống kiến thức vì điểm vì bằng ôi thật là nhục .Nhục thật đấy đùa đâu. cướng ép bản thân :)) Xác định mục tiêu thì phải làm gì chắc trong não tự định oy. thích thì ghi ra giấy todolist để nhắc nhở Tiếp theo kiên nhẫn cái này thì chịu thoooooiiiiiiiiiiiiiii Next Nắm bắt thông tin tro...

Learning style

Ngồi được 1 tiếng rưỡi là đuối rồi, ko tập trung mà nghịch được nữa. Mỗi người một khác nên hãy khám phá style học của riêng mình Học ở đây ko nói đến cụ thể học cái gì, chỉ chung chung là học những gì có khỏan đọc. Lấy ví dụ là lập trình 1. Học lý thuyết -> thực hành Kiểu học vô cùng phổ biến với chúng ta. Học chán chê lý thuyết rồi mang mớ lý thuyết ấy đi áp dụng (chưa nói đến áp dụng trong đời sống mà chỉ là áp dụng làm bài tập @@ ). Nhược điểm: nhanh chóng gây nhàm chán bởi lý thuyết khó nuốt và không mang lại hiệu quả nhanh chóng. Bắt buộc người học phải cố gắng để nắm lí thuyết, khi chuyển sang thực hành gặp nhiều khó khăn vì không biết bắt đầu từ đâu, hoặc sẽ bị quên lí thuyết. Mât 1 thời gian để làm quen. Ưu điểm: có cơ sở khoa học, có thể hiểu "sâu sắc" vấn đề :p Cụ thể: là kiểu học đọc sách chán rồi làm bài tập. Đọc sách lập trình chán rồi code. Đến khi thành thạo chán chê phần ngôn ngữ căn bản rồi nhưng vẫn chẳng làm được gì thực sự dùng được nếu khôn...

Thay đổi slogan của FAMILUG

Hi all, tớ tranh thủ viết ngắn vài dòng 1. FAMILUG đã đạt 20000 lượt views. 2. Tớ muốn thay đổi slogan của FAMILUG. Hiện tại là "Linux for human beings!". Tớ muốn đổi thành "Stay hungry, stay foolish" - câu nói của Steve Jobs. Cũng ko có gì nghiêm trọng lắm, chỉ là thay đổi cho nó motivate hơn thôi :D Chúng ta sẽ cố gắng bài trừ sự áp đặt. VD "blog Linux mà dùng câu của Apple" chả sao cả, tôi ko ăn tiền quảng cáo của Linux, tôi tự do :> mọi người ok thì tớ đổi :D cm!

Desktop Screenshot

GTK và Emerald theme: Gaia Sprout Docky: Transparent Covergloobus: Sticker theme Conky, DockbarX, Pidgin: Gaia Icon: Faenza Dark

ta sẽ là ai?

Chắc tại rượu nhà Chung ngấm quá, mà nay không được nói nhiều. Đâm ra giờ viết lắm... viết linh tinh rồi ta sẽ là ai... rồi ai cũng phải chết nghĩ cho cùng thì ta đang làm cái gì đây? sống thiếu mục đích và làm việc dông dài. Đọc lại những điều Steve Jobs đã nói “Thời gian của bạn có hạn, do đó, đừng nên lãng phí nó vì cuộc sống của người khác . Đừng bị mắc kẹt bởi những giáo điều, đó là sống vì những suy nghĩ của người khác. Đừng để tiếng ồn của các ý kiến khác làm lấn át đi tiếng nói của chính bạn. Và điều quan trọng nhất, có can đảm để sống theo trái tim và trực giác của chính mình. Chính trái tim và trực giác mới là thứ biết được bạn muốn gì và bạn sẽ trở thành thế nào. Mọi thứ còn lại, chỉ là thứ yếu” chúng ta thực sự đang bị đưa đẩy rất nhiều... bị những giáo điều, những suy nghĩ của người khác "điều khiển". Liệu bạn có tiếng nói của chính mình? hay bạn là người biết nói nhưng không dám nói?

Máy bạn đã bật được bao lâu?

Tự dưng hỏi 1 câu ngớ ngẩn: nếu 1 ngày Google xóa cái blogspot đi, hay tai nạn nào đó xóa mất trang FAMILUG của chúng ta, thế là mất hết :-ss Ghét cái trò chặn blogspot và my.opera.com của bọn VNPT mình đang dùng $%^&*( Quay lại câu hỏi, nó sẽ là thông tin khá quan trọng với server. Nhưng với máy bàn của ta, biết cũng tốt chứ sao :)) 1. Dùng uptime: hvnsweeting@hvnbox:~$ uptime  00:44:46 up  9:25,  2 users,  load average: 0.01, 0.04, 0.04 máy tớ đã mở đc 9 tiếng 25 phút. Bây giờ là 00h44'

[MATLAB] Năm dương lịch -> Can Chi

Đây là bài chiều nay. Tớ code chay ghi lại cho khỏi quên :D Can : 10 can _ Giáp ất bính đinh mậu kỷ canh tân nhâm quý Chi : 12 chi _ Tý sửu dần mão thìn tị ngọ mùi thân dậu tuất hợi Khó khắn: mất một lúc để biết canh chứa "mảng string“ Code: %timCanChi.m function [can_chi] = timCanChi(nam) can = {"Giap" "At" "Binh" "Dinh" "Mau" "Ky" "Canh" "Tan" "Nham" "Quy"}; chi = {"Ty" "Suu" "Dan" "Mao" "Thin" "Ti" "Ngo" "Mui" "Than" "Dau" "Tuat" "Hoi"}; %- Năm 1984 là năm Giáp Tý. + 1 vì array trong matlab bắt đầu từ 1 c = can(mod((nam - 1984) + 1, 10)); ch = chi(mod(chi(nam - 1984) + 1, 12)); can_chi = [c, ch]; return can_chi ai có Matlab test hộ tớ cái :"> ai có cách khác up lên cho các bạn cùng xem.

R.I.P Steve Jobs!

" The only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it." Steve Jobs  Tớ không phải 1 fan boy của Apple (nếu có nhiều tiền thì khác :D) nhưng Steve Jobs luôn là người tớ ngưỡng mộ.  Một thiên tài sáng tạo.  Ông đã chứng minh lời nói của Einstein - sự sáng tạo mới là quan trọng nhất. R.I.P  http://en.wikiquote.org/wiki/Steve_Jobs

[Torrent] Matlab 2011a cho Linux

Link file torrent: http://www.mediafire.com/?p5849omqu9fz2rd (Cách down torrent các bạn tự tìm hiểu nhé) Kéo xong sẽ được thư mục Matlab_Unix_2011a, bên trong chứa thư mục crack và file ml2011au.iso. Thực hiện mount file iso ra ổ ảo để cài. Giả sử thư mục Matlab_Unix_2011a nằm trong Downloads: cd /Downloads/Matlab_Unix_2011a sudo mount -o loop ml2011au.iso /mnt sudo /mnt/install Cửa sổ cài đặt sẽ hiện ra giống như trong Windows. Chọn "Install without using Internet". Next next. Khi được yêu cầu, nhập key sau đây: 27148-10273-27823-12342-16466 Next. Chọn kiểu cài đặt Typical nếu muốn chương trình tự động setup theo mặc định, chọn Custom nếu muốn chỉnh sửa (đường dẫn, thành phần cài đặt). Tiếp tục next next. Khi chương trình cài đặt xong, nó sẽ yêu cầu một file license nữa. Chọn "install manually without using the internet". Browse đến thư mục crack ở trên, chọn file lic_standalone.dat. Next. Xong. Để khởi động Matlab, mở Terminal, dùng lệnh cd trỏ tới thư mục bin...

[Bash] cd around the world

Khi bắt đầu dùng terminal (hay chính xác ở đây là bash shell) bạn sẽ phải làm quen với việc di chuyển đến mọi nơi bằng lệnh cd. Nghe có vẻ đơn giản bởi chỉ việc gõ cd thu_muc_dich là sẽ đến được ngay, nhưng việc nhỏ bé này sẽ nhiều lúc gây khó chịu đến nỗi khiến ta bật nautilus lên và browse bằng chuột :D. Tip1 : trở về thư mục mà bạn vừa rời khỏi dùng lệnh cd - hvnsweeting@hvnbox:/media/data/HVNSweeting$ cd ~ hvnsweeting@hvnbox:~$ cd - /media/data/HVNSweeting hvnsweeting@hvnbox:/media/data/HVNSweeting$

Implement the compiler in the language itself

Bài viết này ở trình độ advance, nói chung là đọc qua để biết một tí :D Làm sao người ta viết được 1 cái compiler bằng chính ngôn ngữ của nó (tut) http://homepage.ntlworld.com/edmund.grimley-evans/bcompiler.html liệu có thể viết chương trình compile chính nó được không? (có TCC) :D http://bellard.org/otcc/

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG