New FAMILUG

The PyMiers

Monday, 30 September 2013

Xử lý ảnh và những câu chuyện xung quanh.

I - Khái niệm về Xử lý ảnh - Image Processing - thực tế là một nhánh nhỏ trong Computer Vision - Thị giác máy tính


 Theo mình, sự liên tưởng dễ dàng nhất, đó là một ma trận có kích thước giống bức ảnh đầu vào, và các phần tử bên trong ma trận đấy là một miền giá trị biểu thỉ mật độ sáng trên bức ảnh.

Miền giá trị thường gặp đó là 8bit, 0 - 255, 256 giá trị. 255 - là màu trắng, 0 - màu đen.

Ảnh thông thường chúng ta nhìn thấy gồm 3 ma trận lồng nhau, hay một ma trận mà mỗi phần tử là một tập gồm 3 phần tử. Tương ứng 1 kênh và 3 kênh màu.

II - Những thứ liên quan: kiến thức xung quanh, khởi đầu, tương lai về nó


Kiến thức xung quanh:


Mình thấy, tất cả những kiến thức mà chúng ta được học tại Viên Toán Tin thì có thể áp dụng vào công việc này, ví dụ:
- Xác suất
- Giải tích
- Đại số
- Giải tích hàm.
- Giải tích số .
- Phân tích số liệu.
- Mạng máy tính(advance)
- Hệ quyết định (advance)

Sunday, 29 September 2013

Gparted live và gdisk

Nay phải ngồi cài win 7 trên một con máy đã cài sẵn win 8. Công việc mình chúa ghét nay còn khó khăn hơn với sự tham dự của UEFI , GPT :v

Quá trình cài đặt hủy diệt đã hoàn thành sau những bước xóa sạch tất cả các partition :)) xóa GPT, tạo MBR, chia lại ổ cứng và cài win 7 như thường.

Đọc thêm về MBR, GPT ở đây

Vài điều thú vị được tổng kết ra đây:
1. Gparted live
là một linux distro chỉ để phục vụ chạy các chương trình liên quan đến phân vùng ổ cứng.
GParted Live is a small bootable GNU/Linux distribution for x86 based computers.
It enables you to use all the features of the latest versions of the GParted application.

GParted Live can be installed on CD, USB, PXE server, and Hard Disk then run on an x86 machine.
Thay vì down 700MB bản Ubuntu live cd, hãy dơwn 138MB Gparted live sau đó "burn" nó ra usb bằng lệnh dd:

sudo dd if=/path-to-gparted-live.x.y.z-w.iso of=/dev/sde bs=4M; sync  

bản tớ vừa cài là gparted-live-0.16.1-1-amd64.iso, dùng WindowManager là Fluxbox, giao diện thân thiện dễ dùng :3
Lý do dùng được lệnh dd

Since GParted Live is based on Debian Live and this image is a isohybrid, the GParted Live CDimage can be written directly to a USB flash drive.

Wednesday, 25 September 2013

Công cụ quản lý truy cập đến nhiều server

Mặc định là bạn dùng ssh

0. Quản lý file ~/.ssh/config
Cần thì thêm, chán thì sửa

Ví dụ:
hvn@archhvn: ~ () $ head ~/.ssh/config
Host saltlab
    hostname 192.168.122.241
    user hvn

1. Dùng storm -> cho fan python
http://emre.github.io/storm/
Cài đặt:

sudo apt-get install python-pip
pip install stormssh

Cách dùng:
storm --help
storm add --help

2. Dùng ghost-ssh => cho fan ruby

https://github.com/bjeanes/ghost
có thể cài bằng gem

3. Dùng PAC manager => cho fan GUI :D 

Wednesday, 18 September 2013

[CLI] Các lệnh quản lý package trên ubuntu/debian

Đây không phải bài hướng dẫn dùng apt-get, mà giới thiệu các câu lệnh hữu ích trong việc quản lý package trên hệ thống Ubuntu/debian

Bài viết test trên ubuntu 12.04 x86

1. Tìm package
Khi bạn biết tên 1phần mềm không có nghĩa là bạn biết tên package.
Ví dụ: bạn muốn cài rabbitmq server, chạy apt-get install rabbitmq sẽ trả về lỗi do không có package nào tên là rabbitmq cả.
Bạn có thể tìm tên package bằng lệnh:

apt-cache search tu_khoa

Từ khóa thường là tên phần mềm, lệnh này sẽ tìm tu_khoa trong tên, phần mô tả của package.

hvn@u1204: ~ () $ apt-cache search rabbitmq
rabbitmq-server - An AMQP server written in Erlang
amqp-tools - Command-line utilities for interacting with AMQP servers
drizzle-plugin-rabbitmq - RabbitMQ Transaction Log for Drizzle
...
python-celery-doc - async task/job queue based on message passing (Documentation)
rabbitmq-erlang-client - Erlang client for RabbitMQ
rabbitmq-stomp - A STOMP gateway for RabbitMQ


Tương tự với mysql server:

hvn@u1204: ~ () $ apt-cache search mysql | grep server
libdbd-mysql - MySQL database server driver for libdbi
mysql-server - MySQL database server (metapackage depending on the latest version)
mysql-server-5.5 - MySQL database server binaries and system database setup
mysql-server-core-5.5 - MySQL database server binaries
aolserver4-nsmysql - AOLserver 4 module: module for accessing MySQL databases
courier-webadmin - Courier mail server - web-based administration frontend
dpm-copy-server-mysql - DPM copy server with MySQL database backend
dpm-name-server-mysql - DPM nameserver server with MySQL database backend

2. Hiện thông tin về 1 package

Dùng lệnh
apt-cache show ten_package

Monday, 16 September 2013

[bash] giải thích export qua 2 câu lệnh

hvn@archhvn: ~ () $ y=6; echo $$ $y; bash -c 'echo $$ $y'
2461 6
2586
hvn@archhvn: ~ () $ export z=7; echo $$ $z;  bash -c 'echo $$ $z'
2461 7
2599 7
$$ là biến đặc biệt của bash, in ra process id (PID) của process hiện tại.

Câu lệnh thứ nhất:
gán y = 6; in ra process ID của bash shell đang dùng và giá trị biến y đã gán,
chạy 1 sub-shell (chạy chương trình "bash" bên trong chương trình "bash") và thử in ra pid mới cùng với giá trị biến y.
Kết quả là biến y không chứa giá trị nào cả ở sub-shell mới tạo.

Hình ảnh của lệnh ps sẽ giúp bạn hình dung rõ hơn điều gì xảy ra (với một câu lệnh tương tự):


Friday, 6 September 2013

Sợ

Sáng chớm thu lạnh sun cu ông cụ
Lạnh quá cóng hết chân đành mò dậy đi tất.
Vốn ít khi nghĩ suy về cuộc đời, bởi bản thân ắt sống để "enjoy" hiện tại.
Chợt thấy sợ khi nhìn lại, mới đây thôi mà đã 9 thãng qua, thời gian vụt qua như bóng ma trong đêm vắng. Ngẫm lại thấy cũng đã 23 năm cuộc đòi, tính là lý tưởng sống được 70 năm thì nay cũng đã qua 1/3, còn 2/3 kia nữa biết làm gì?
Con người sinh ra rồi cũng đến lúc chết đi, hỏi cuộc đời ý nghĩa là chi?
Hẳn sinh ra để hưởng thụ, để trải nghiệm, nên phải sống thế để khỏi lãng phí đời mình.
Nhưng đấy chỉ là phần phục vụ bản thân, liệu có cần trách nhiệm với nhân loại, với thiên nhiên, với một "cái sự vật" ở tầm cao nhất mà không biết gọi là gì?

Thursday, 5 September 2013

[git] git push origin master -u

Tớ đã từng viết 1 bài giới thiệu về git nhưng chưa hoàn thành được + lười nên thấy cái gì hay thì viết thôi. Cách sử dụng git cơ bản có thể xem ở đây:

https://help.github.com/

Bài này viết về option -u ở cuối câu lệnh git push/ pull ...
Nếu bạn xem ở tut về git ở rất nhiều nơi, sẽ thấy người ta rất hay dùng option này, đọc man sẽ thấy khá khó hiểu nếu bạn không hiểu git một cách