[USB]Các khái niệm về USB

Kết nối USB, chắc chắn ai cũng biết. Mỗi người đểu sở hữu ít nhất một thiết bị có kết nối này. Tôi cũng đã từng nghĩ nó sẽ khá dễ dàng để hiểu, để lập trình giống như người dùng vẫn hiểu về nó. Đúng là với người dùng cuối, một thiết bị có kết nối thì khả năng có nó có thể kết với máy tính như smartphone, máy nghe nhạc, bộ sạc…. rất dễ hiểu, dễ gần. ...

tháng 12 22, 2015

CMake - Một ví dụ đơn giản

Trong bài tôi đã giới thiệu qua về CMake. Như ta đã biết nó cung cấp tính tăng giúp việc sinh ra Makefile một cách hiệu quả. Nhất là đối với các dự án phức tạp. Nó cũng cung cấp thêm các bộ sinh khác để sinh cấu trúc quản lý source cho các IDE khác nhau như Visual Studio, KDE. Trong giới hạn, tôi sẽ nói về việc sử dụng CMake để build một simple project trên cả Windows và Linux. ...

tháng 8 16, 2015

Giao thức MQTT

Bài này dự là sẽ dịch lại đặc của giao thức MQTT này, nhằm có một cách hiểu tổng quát về MQTT protocol. Link gốc : http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html Update 2017/03/24: Bản dịch của MQTT đã được chuyển sang địa chỉ sau: http://minatu2d.github.io/

tháng 8 4, 2015

CMake - Công cụ hỗ trợ việc build source trên nhiều platform.

Đuợc làm việc cùng những pro đầy kinh nghiệm thực sự rất thú vị, ngoài việc chia sẻ hiểu biết của mình, còn đuợc hóng nhiều kĩ năng sử dụng tool của các pro nữa. Mình thấy rằng, không có tool nào gọi là thần thành, mọi tool chỉ giúp tăng tốc độc với những người mới và không đủ thời gian để hiểu sâu. Còn với những người đã nhiều kinh nghiệm, họ sử dụng tool theo các điểm mạnh của chúng và kết hợp rất nhiều tool một cách nhịp nhàng sao cho công việc tiến hành nhanh nhất. ...

tháng 8 2, 2015

Glogger - Log viewer tốt nhưng còn một vài điểm

Nói đến editor, ai cũng nghĩ đến Notepad++. Sakura (JP thôi), hay gì gì đó. Ừ thì đúng Notepad++ rất nhiều tính năng, rất nhanh, rất nhẹ. Nhưng gần đây tôi phát hiện ra điểm yếu của nó, xử lý file lớn của nó rất tệ. Thậm chí nó còn gây mất dữ liệu. Tôi và bạn tôi đã thử với một file khoảng 600MB trở lên thì khó có thể thực hiện một phép copy & paste nào nữa. Nếu có thể thực hiện được đi nữa thì rất dễ gây sai dữ liệu hoặc mất dữ liệu. ...

tháng 7 28, 2015

Thêm chức năng giao tiếp bằng telnet cho ứng dụng?

Hôm nay mình có gợi ý ông leader về việc sử dụng giao diện telnet để giúp ứng dụng giao tiếp tốt hơn với bên ngoài. Thì ông ấy hỏi : “Mày làm nó bao giờ chưa? Không đủ time đâu. Nghĩ cũng đúng, mình thấy có thể làm thôi chứ chưa đo time để làm cái đó.” Vậy thì thử xem sao: Tôi dự định sẽ thêm tính năng giao tiếp bằng telnet cho một ứng dụng chát. ...

tháng 7 28, 2015

Nếu wireshark trên Windows gặp lỗi, hãy thử dùng dumpcap

Wireshark, một phần mềm quá phổ biến để phân tích gói tin cho dù là có dây hay không dây, 1 dây hay 2 dây, tất tần tật. Gì em nó cũng làm được. Wireshark vốn đuợc phát triển cho Solaris và Linux. Và thư viện đồ họa hiện đang sử dụng là gtk. Gtk là vốn là thư viện đựoc phát triển từ dự án GIMP ( GNOME Graphic Toolkit). Và nó được phát triển cho hệ điều hành Linux. Giống như bao chương trình dạng của Unix khác, ban đầu chúng đều chạy ở chế độ dòng lệnh. Do được nhiều người sử dụng nên họ viết GUI cho nó. Và cũng giống hầu hết các siêu tool khác như emacs, glade…etc. Chúng đuợc port sang Window bằng cách sử dụng các bản build cho Window của thư viện gtk và các thư viện liên quan. Độ ổn định của gtk và các thư đồ họa nền Linux mà Wireshark đang sử dụng là quá tuyệt vời só với các tool đuợc porting khác rồi. Nhưng không phải lúc nào cũng muợt mà. Nó vẫn có thể gặp lỗi liên quan đến mấy thư viện này. Phần đa các lỗi liên quan đến một loạt thư viện dll đuợc porting sang Windows từ Linux. Mà thường những lỗi này sẽ dấn đến crash chưong trình ngay, khỏi chạy gì nữa. ...

tháng 7 28, 2015

Cơ bản về pthread

Ngày trước, khi tìm hiểu về Java, rồi Qt, nghe đến thuật ngữ đa nền (multi-platform). kì thực cái multi platform đó sẽ được phát triển như thế nào. Nó có thực sự dễ dàng như họ quảng cáo? Họ thường quảng cáo rằng, chỉ cần thay đổi cấu hình bằng một vài click chuột thì có thể build lại một dự án bất kì của Qt từ OS này sang OS khác. ...

tháng 7 16, 2015

Wireshark có thể làm gì?

Dù biết tool này đã lâu, từ hồi học ĐH có mở ra mở vào để làm mấy bài tập mạng theo kiểu “chống chế”. Hơn nữa ngày đó, phần mạng (networking) mình cũng không nhiều kiến thức vì đang ham hố phần viết một phần mềm để đời, có giao diện chứ không đen ngòm như mấy cái thầy giáo dạy trên lớp. Lại sắp lan man rồi, vào đề thôi. ...

tháng 7 14, 2015

Một ứng dụng Web đơn giản sử dụng CGI/Perl sẽ cần những gì?

Với những ai đã từng làm nhiều với CGI và Perl sẽ dễ dàng đưa ra phương án tối ưu nhất. Còn với những ai mới bắt đầu như mình , hoặc chỉ cần 1 chút thôi chẳng hạn thì có thể dễ bị lạc đường giữa rất nhiều framework hoặc thư viện của perl. Vừa rồi mình có làm một ứng dụng Web Server Side : CGI sử dụng ngôn ngữ perl. (Tức là các file xử lý viết bằng ngôn ngữ Perl, và được server Apache gọi xử lý theo kiểu CGI (sử dụng module mod_perl). Phía Client là Javascript và HTML. Mình là người mới hoàn toàn với Perl. Đã từng 1 chút với PHP. ...

tháng 7 11, 2015