Trích dẫn




Only a person who risks is truly free.


Ảnh

Ảnh

Thứ Bảy, 13 tháng 6, 2015

Quine

I will show you a script that prints itself. The scripts like this is called "Quine". It is useful for writing a virus or doing something...

#include <stdio.h>
int main()
{
char *c="#include <stdio.h>%cint main(){%c%cchar *c=%c%s%c;%c%cprintf(c,10,34,c,34,10,10,10);%c%creturn 0;%c}";
printf(c,10,10,9,34,c,34,10,9,10,9,10);
return 0;
}

It is not complicated but you may need some trick to write Quine-script. You can write a program that rewrite any script to the Quine-Script.



Dọn phòng học

Cũng không bày biện nhiều :D rất thích nghe nhạc




Thứ Sáu, 12 tháng 6, 2015

Obfuscated C code

Tránh reverse-engineering (RE) mà lại còn được luyện mắt.
Bài của TS Ngô Quang Hưng: Thuật toán tồi tệ nhất

Asm trên 8086 và 80386

80386 sẽ hỗ trợ nhiều hơn đặc biệt là thực hiện lệnh ở Protected Mode, các flag cũng được tăng thêm và đổi tên một chút.
http://webcache.googleusercontent.com/search?q=cache:http://www.embeddedcraft.org/compareprocessor.html

Thứ Hai, 8 tháng 6, 2015

Tìm bao lồi của một tập điểm

Tìm bao lồi của tập hợp điểm: Đây là bài toán rất hay gặp. Hay còn gọi là bài toán "Gift Wrapping". Cho n điểm trên mặt phẳng tìm một hình đa giác lồi bao trùm các điểm đó. Ý tưởng để tìm khá đơn giản.
Step 1: Tìm một điểm chắc chắn thuộc đa giác lồi.
Step 2: Tìm các điểm tiếp theo sao cho gốc của nó và cạnh trước nó lớn nhất.
Step 3: Dừng lại khi điểm đầu điểm cuối trùng nhau.

step 1 chúng ta có thể tìm điểm ngoài cùng bên trái (tọa độ x nhỏ nhất) làm điểm khởi đầu.
step 2 thì chúng ta tính góc các cạnh và tìm được điểm tiếp theo. Với điểm thứ 2 thì chúng ta so với vector j (trục tung).

Mở rộng: Tìm chu vi hình chữ nhật nhỏ nhất chứa các điểm này? (Best Fit Rectangle)



Chúng ta cũng sẽ tìm bao lồi của tập hợp đỉnh và quy về bài toán tìm hình chữ nhật ngoại tiếp đa giác.
Để tìm hình chữ nhật một cách đơn giản thì ta giả sử một cạnh của đa giác cũng là cạnh của hình chữ nhật đó. Như hình bên dưới.


Khi đã có cạnh đáy thì ta chỉ cần tìm điểm cách xa cạnh đó nhất và lấy đó làm chiều cao của hình chữ nhật. Với hình đa giác n đỉnh thì ta cần thực hiện n*(n-2) phép tính để tìm ra hình chữ nhật đó.
Thường dùng trong các game va chạm, kiểm tra va chạm giữa 2 vật thể hoặc tìm chu vi sân nhỏ nhất.

Thứ Bảy, 16 tháng 5, 2015

Nước ngoài đi học vật lý


Người mặc áo xanh trong video là Dan Burns. Ông này đề xuất ra một "Visualized" cho trọng lực. Chỉ với một tấm màn, chục viên bi (thêm một cây gậy) là có thể mô phỏng được rất nhiều tính chất của trọng lực. Theo như trong video thì ổng nói có thể biểu diễn được lực hút của 2 vật, sự mất dần năng lượng, quỹ đạo của các vệ tinh, earth system, năng lượng tối, tương tác giữa trái đất và mặt trăng lên 1 vật thể,...
Thiết nghĩ, trường học ở Việt Nam đã cung cấp đầy đủ thiết bị rồi. Thay tấm màn xanh bằng tấm màn cửa lớp học, bi thì lấy bi bị tịch thu của học sinh (cái này thì thừa), cây gậy thì thay bằng cây thước. Chả cần tốn chi phí gì thêm mà có khi học sinh cấp 1 cũng có thể hiểu được về mấy thứ phức tạp này.

Thứ Năm, 7 tháng 5, 2015

Nghệ thuật truy vết

Tình hình là hôm bữa bị đánh rơi cái ví. Cả tuần chả tập trung vào việc gì được. Dán tờ rơi, huy động nhân lực khắp nơi, nay có người gọi điện báo trả.
Ok, nghệ thuật truy vết (series này để ăn mừng)
Truy vết (Trace) thường được dùng cùng với các thuật toán quy hoạch động. Một bảng giá trị cho trước và từ đó dò tìm ra các bước đã đi qua :D rất hay rất hay
continous...