Tuesday, 31 January 2017

[PyFML] Đăng ký học Python

Khoá 11 của lớp #PyFML sẽ khai giảng vào 19h ngày 13 tháng 2 năm 2017 (Thứ 2)
Lớp học python tại thành phố Hồ Chí Minh khai giảng cuối tháng 2.

Đăng ký ngay tại http://pymi.vn


Monday, 30 January 2017

[Python] Tuổi gì làm quan?

Mê tín dị đoan đã ăn sâu vào từng nếp nghĩ, từng hoạt động của người Việt Nam. Cứ dịp tết, người ta đốt hàng tấn tấn vàng mã và vẫn tiếp tục cầu mong cho môi trường được trong sạch, thế giới khỏi nóng lên hay không khí đỡ ô nhiễm.


Bản thân tôi là một người được ăn học, cũng đạt đến trình độ đại học cấp nhà nước, cũng là người hành theo Phật dạy tu nhân tích đức, làm điều lành. Nhưng việc để những thứ không rõ ràng, không có cơ sở khoa học ảnh hưởng đến cuộc đời mình là điều không chấp nhận được với một người làm khoa học. Mục tiêu năm nay sẽ là sử dụng tri thức, toán học, lập trình để tạo ra những công cụ chính xác luận đoán theo bộ môn khoa học Tử Vi của Trung Quốc, một mặt để loại trừ những mê tín không có cơ sở.

Vậy tuổi gì thì làm quan?

Xưa nay dân gian hay suy luận theo trực giác như: con hổ hay con rồng to, mạnh, đẹp, sẽ làm quan, con chó, con lợn, con ngựa, con gà thì chỉ làm dân thôi, liệu điều này có đúng?
Và tất nhiên nếu chỉ dựa vào Chi (tuổi con gì) để phán làm quan thì thật là thiếu cơ sở, ở đây ta bỏ qua vấn đề này và coi như một bài tập thống kê.

Chi là gì?

Chi hay đầy đủ là "địa chi", trong tiếng Tàu đọc là zhi, tiếng Tây gọi là "earthly branch"
còn hiểu ra thì là 12 con giáp trong văn hoá Việt/Tàu.

Thế nào là "làm quan"?

Wednesday, 25 January 2017

2017Project_1: Blog

Năm ngoái, cũng trong khoảng đầu năm, mình đã tung ra quyết định thực hiện 12 project trong 12 tháng theo thanh niên Levels ở bên tây.

Dự định đã fail hoàn toàn, kết quả chỉ có vài dự án được chạy:
- pyjobs.vn (giờ đã chuyển về domain http://jobs.pymi.vn/) Site viết bằng Go với Echo framework, crawler viết bằng Python2 với Scrapy, web service nhận và xử lý data viết bằng Flask. Database dùng PostgreSQL.
- fml.vn Site landingpage cho lớp học Python dựng bởi TuDoAnh , đã thay bằng PyMi.vn
- pymi.vn Trang giới thiệu và đăng ký học Python của lớp PyFML, lưu dữ liệu đăng ký trong SQLite, site dùng Flask

Xem chi tiết các công nghệ sử dụng tại: https://builtwith.com/?q=pymi.vn

Giờ đã ngấp nghé tết nguyên đán, lịch tây thì cũng sắp sang tháng 2, nhưng dự định không phải là 12 startup nữa mà là gì thì chưa biết.

Project đầu tiên của năm nay là:

Friday, 6 January 2017

[Python] Thêm, sửa dữ liệu trong pandas DataFrame

Tạo một DataFrame kích thước 5x4, xem cách tạo tại đây.
Việc thêm hay sửa giá trị, trong pandas gọi là "setting".

Tạo DataFrame

In [1]: import pandas as pd
In [2]: import numpy as np

In [3]: indexes = pd.Series(pd.date_range('20170106', periods=5))

In [4]: indexes
Out[4]:
0   2017-01-06
1   2017-01-07
2   2017-01-08
3   2017-01-09
4   2017-01-10
dtype: datetime64[ns]

Thursday, 5 January 2017

[Linux] Máy còn free bao nhiêu RAM?

Ai dùng Linux, một thời gian sẽ biết cách kiểm tra dung lượng bộ nhớ (memory - RAM) còn trống bằng lệnh free:
$ free -m 
             total       used       free     shared    buffers     cached
Mem:           992        789        203          0         43        413
-/+ buffers/cache:        332        660
Swap:            0          0

Lệnh này không dễ đọc và rất nhiều người sẽ nhầm tưởng là máy còn free 203 MB RAM.
Điều này đúng hay sai phụ thuộc vào khái niệm "free" của từng người.

Wednesday, 4 January 2017

4k là gì?

Khi nói nhà tôi vừa mua một màn hình 4k (4k monitor) nghĩa là muốn khoe cái gì? 🤑

4k (4kilo = 4000), để chỉ độ phân giải theo chiều NGANG KHOẢNG 4000 pixel, và chiều cao vào cỡ 2000 pixel. [1] Có nơi còn gọi là 2160p.

Trước kia, người ta thường sử dụng chiều cao (hay chiều dọc - vertical) của màn hình làm tiêu chuẩn đánh giá độ phân giải.
Các độ phân giải của clip trên youtube thường thấy là:
240p, 360p, 480p, 720p, 1080p, 2160p để chỉ các độ phân giải có số pixel theo chiều dọc tương ứng là 240, 360 ...
thì ngày nay bắt đầu có sự chuyển dịch khi lấy chiều ngang làm tiêu chuẩn (4k).
Các thuật ngữ này được dùng phổ biến khi quảng cáo Ti Vi.

Màn hình CRT cũ sử dụng tỷ lệ ngang:dọc là 4:3
thì các màn hình mới hiện nay đều dùng tỷ lệ là 16:9 (hoặc 16:10).

Với lần lượt từng tỉ lệ, ta có các độ phân giải tương ứng: (code trên python3 và ipython)
In [10]: verticals = [240, 360, 480, 720, 1080, 2160]

In [14]: modern_resolution = [(int(v/9*16), v) for v in verticals]

In [15]: crt_resolutions = [(int(v/3*4), v) for v in verticals]

In [16]: crt_resolutions
Out[16]: [(320, 240), (480, 360), (640, 480), (960, 720), (1440, 1080), (2880, 2160)]

In [17]: modern_resolution
Out[17]: [(426, 240), (640, 360), (853, 480), (1280, 720), (1920, 1080), (3840, 2160)]

4k có ý nghĩa khác theo 2 tiêu chuẩn