Python cho người Việt

Python cho người Việt

Entries in the Category “Tin tức”

Điều khiển thang máy

written by vithon, on Jun 23, 2016 8:58:00 PM.

Cập nhật: Do số lượng bài tham gia vẫn còn ít (dẫn đến cuộc thi đua không còn thú vị nữa) nên ban tổ chức dời lại hạn nộp bài đến hết ngày 21 tháng 07.

Nhân việc PyCon vừa qua, nhóm PCNV hân hạnh tổ chức cuộc thi Điều khiển thang máy!

Tương tự như cuộc thi Bắn suồng, cuộc thi Điều khiển thang máy cũng là một cuộc thi lập trình Python và có một số điều lệ sau:

  1. Trò chơi được giới thiệu tại http://codelift.org. Người tham dự có thể thử mã của mình tại trang mạng đó.
  2. Người tham gia phải nộp mã Python (tập tin .py) tới admin+codelift@vithon.org, và đồng ý với việc nhóm PCNV có toàn quyền sử dụng mã đó cho mọi mục đích.
  3. Người tham gia cũng phải gửi thêm một bài viết (dưới dạng .txt) giới thiệu trò chơi, và cách giải của mình đến cùng địa chỉ thư trên.
  4. Hạn nhận bài là ngày 14 tháng 07 năm 2016.
  5. Bài thi sẽ được đọc qua trước, và sẽ được chạy trên cùng hệ thống codelift.org.
  6. Bài thi với số điểm trung bình cao nhất trong 3 tòa nhà được chọn khi chấm sẽ là bài thắng giải.
  7. Ba phần thưởng dành cho ba bài thi với số điểm trung bình cao nhất là ba cái áo thun và một số miếng dán mà bạn Nam đã gửi cho nhóm từ PyCon. Người hạng nhất sẽ được quyền chọn mẫu áo trước, rồi đến hạng nhì, và hạng ba. Mẫu áo đã được công bố trong thư mục chia sẻ ở bài trước.
  8. Quyết định của ban tổ chức là cuối cùng.

Mọi thắc mắc và thảo luận xin hãy dùng diễn đàn.

Chúc may mắn và nhiều niềm vui!

PyCon 2016 ở thành phố Portland

written by Nguyễn Thành Nam, on Jun 13, 2016 1:07:48 AM.

Hai tuần trước mình có tham dự hội thảo PyCon 2016 ở thành phố Portland, tiểu bang Oregon, vùng Tây Bắc nước Mỹ.

Cũng như mọi năm, PyCon vẫn là hội thảo tuyệt vời nhất từ trước đến nay. Tham dự hội thảo không chỉ có lập trình viên mà còn có nhiều nhà khoa học, giáo viên, sinh viên, và cả học sinh tiểu học nữa! Mình chưa từng thấy hội thảo khoa học kỹ thuật nào mà có thể quy tập được nhiều đối tượng tham gia như vậy.

Một điều tuyệt vời nữa là có rất nhiều các bạn nam, các bạn nữ, và cả các bạn chuyển giới tham gia PyCon. Điều này cho thấy Python không chỉ là một ngôn ngữ "có sẵn pin", mà có còn là một cộng đồng rất "bao gồm". Ai cũng được hoan nghênh, ai cũng được đối xử một cách tôn trọng, không có sự phân biệt đối xử.

Sau đây là một số hình ảnh mình ghi lại để chia sẻ cùng các bạn. Hy vọng một dịp nào đó sẽ gặp được các bạn ở trong các kỳ hội thảo trong tương lai:

Bảng hiệu PyCon 2016 ở dọc đường đến trung tâm hội nghị Portland.

Em bé đứng nhìn tượng Martin Luther King, Jr. ở trước trung tâm hội nghị.

Hội trường chính, nơi diễn ra các bài tham luận chủ chốt.

Các bạn có thể thấy con lắc biểu tượng của trung tâm hội nghị Portland trong hai hình sau:

Khu đăng ký (hình 1).

Khu đăng ký (hình 2).

Khu vực phòng Oregon (hình 1).

Khu vực phòng Oregon (hình 2).

Khu vực phòng Oregon (hình 3).

Khu vực phòng Oregon (hình 4).

Khu vực phòng Portland (hình 1).

Khu vực phòng Portland (hình 2).

Hình Guido bắt đầu bài tham luận chính. Guido vẫn mặc chiếc áo bé gái như mọi năm. Không biết cái áo này sẽ còn theo Guido đến PyCon năm nào đây. Điều này cũng cho thấy Guido rất quan tâm đến sự đối xử bình đẳng, tôn trọng giới tính ở hội thảo PyCon.

Bảng đăng ký không gian mở (open spaces) ở hội thảo.

Ảnh trưng bày (poster session) (hình 1).

Ảnh trưng bày (poster session) (hình 2).

Hai hình ảnh của tác giả bài viết:

Ảnh đẹp nhất hội thảo (hình 1).

Ảnh đẹp nhất hội thảo (hình 2).

Toàn bộ các hình ảnh có thể được truy cập trong thư mục https://drive.google.com/folderview?id=0B4aYVYJVZM_zT2tzZGdTNTUwQWc&usp=sharing.

Kết quả cuộc thi giải toán lần II

written by vithon, on Apr 18, 2013 11:29:51 PM.

Cảm ơn sự hưởng ứng nhiệt tình của các bạn với cuộc thi giải toán lần II của PCNV.

Lần này nhóm nhận được sự sự tham gia của năm bạn Phạm Ngọc Quang Nam, Nguyễn Văn Nam, Vũ Khuê, Hoàng Quốc Thịnh, và Đậu Duy Khánh.

Bài của bạn Thịnh:

09:03:48 ~/tmp/pell2$ python3.3 thinhhq.py | python timer.py > thinhhq.txt
09:04:22 ~/tmp/pell2$ python checker.py < thinhhq.txt
Max 448985
09:04:30 ~/tmp/pell2$ python3.3 thinhhq.py | python timer.py > thinhhq.txt2
09:05:04 ~/tmp/pell2$ python checker.py < thinhhq.txt2
Max 449905
09:05:08 ~/tmp/pell2$ python3.3 thinhhq.py | python timer.py > thinhhq.txt3
09:05:39 ~/tmp/pell2$ python checker.py < thinhhq.txt3
Max 449421

Bài của bạn Văn Nam:

09:05:46 ~/tmp/pell2$ python3.3 namnv.py | python timer.py > namnv.txt
09:07:12 ~/tmp/pell2$ python checker.py < namnv.txt
Max 1394855
09:07:28 ~/tmp/pell2$ python3.3 namnv.py | python timer.py > namnv.txt2
09:07:47 ~/tmp/pell2$ python checker.py < namnv.txt2
Max 1394855
09:08:00 ~/tmp/pell2$ python3.3 namnv.py | python timer.py > namnv.txt3
09:08:19 ~/tmp/pell2$ python checker.py < namnv.txt3
Max 1394855

Bài của bạn Khanh:

09:12:49 ~/tmp/pell2$ python3.3 khanhdd.py | python timer.py > khanhdd.txt
Traceback (most recent call last):
  File "khanhdd.py", line 13, in <module>
    print (a1,' ',b1)
BrokenPipeError: [Errno 32] Broken pipe
09:13:27 ~/tmp/pell2$ python checker.py < khanhdd.txt
ERROR:root:Format
Traceback (most recent call last):
  File "checker.py", line 16, in <module>
    n, k = map(long, line.split())
ValueError: too many values to unpack

Bài của bạn Khuê

09:14:37 ~/tmp/pell2$ python3.3 khuev.py | python timer.py > khuev.txt
  File "khuev.py", line 35
    print "n: %d - k: %d" % (-b / 2, k)
                        ^
SyntaxError: invalid syntax

Bài của bạn Quang Nam:

09:15:19 ~/tmp/pell2$ python3.3 nampnq.py | python timer.py > nampnq.txt
  File "nampnq.py", line 5
    print "n=%d, k=%d" % (n,k)
                     ^
SyntaxError: invalid syntax

Mã nguồn và bản lưu kết quả của cuộc thi có thể được tải về từ https://docs.google.com/file/d/0B5X03CmpgiFeMkNubXlGNFlCMjQ/edit?usp=sharing.

Như vậy, bạn Văn Nam đã thắng giải kỳ này. Xin chúc mừng bạn Văn Nam.

Bạn Văn Nam gửi thư cho admin@ cho biết mẫu áo bạn chọn, và thông tin bưu điện để nhóm PCNV có thể gửi áo về cho bạn.

Cuộc thi giải toán bằng Python

written by vithon, on Mar 31, 2013 9:18:00 AM.

Trong lần thi trước (http://www.vithon.org/2010/05/24/phat-d%E1%BB%99ng-cu%E1%BB%99c-thi-gi%E1%BA%A3i-toan-b%E1%BA%B1ng-python), chúng ta đánh giá chương trình dựa trên số lượng cặp N, K tìm được.

Tiêu chí của lần thi này là in ra cặp số N, K lớn nhất có thể tìm được trong 30 giây. Cặp số cuối cùng được in ra trong 30 giây sẽ được xem là cặp số lớn nhất và dùng để đánh giá các chương trình với nhau.

Giải thưởng của kỳ thi lần này sẽ là một áo thun do bạn Nguyễn Thành Nam đã tặng nhóm PCNV trong lần đi PyCon vừa qua. Các bạn có thể xem qua các áo giải thưởng (trừ EdX cỡ L, các áo khác cỡ M, chỉ được chọn 1) ở URL sau:

https://drive.google.com/folderview?id=0B5X03CmpgiFeNzNJN09qZnd2Sk0&usp=sharing

Các bài tham dự gửi bằng thư điện tử về cho admin@ hạn chót trong ngày 14 tháng 04 năm 2013. Nhằm khuyến khích việc sử dụng Python 3, các bài tham gia kỳ thi này sẽ được chấm trên Python 3.3. Mòng các bạn chú ý yêu cầu này.

Quyết định của người chấm là cuối cùng. Xin miễn nhận khiếu nại.

Ghi nhớ về PyCon 2013

written by vithon, on Mar 18, 2013 1:01:06 PM.

Hội thảo PyCon 2013 vừa kết thúc vào Chủ Nhật, ngày 18 tháng 03 năm 2013 vừa rồi tại Trung tâm Hội nghị Santa Clara, bang California, Mỹ.

Hội thảo lần này diễn ra vào các ngày thứ sáu, thứ bảy, và Chủ Nhật với khoảng 100 bài tham luận và 2500 người tham dự đến từ tất cả các châu lục trên trái đất. Trong đó, khoảng 20% là nữ giới!

Nhóm PCNV có một thành viên tham gia hội thảo lần này, và họ có một số nhận xét chính như sau:

1. Hội thảo có nhiều chuyên mục phù hợp với mọi lứa tuổi, mọi ngành nghề, mọi giới tính. Có cả những em thiếu niên khoảng 10 đến 12 tuổi tham gia hội thảo. Một số các em đã biết Python còn đứng lớp chỉ dạy Python cho các em khác. Thậm chí có một số em đã trình bày sản phẩm của chính mình trong phân mục tự giới thiệu (poster session), cùng với gần trăm sản phẩm khác từ các công ty lớn cũng như các chuyên gia trong ngành. Nữ giới chiếm gần 20% người tham gia hội thảo. Một số cá nhân trên 60 tuổi cũng thấy xuất hiện tại hội thảo. Thậm chí cả người chuyển đổi giới tính cũng có mặt! Có thể khẳng định chắc chắn rằng Python thu hút được sự quan tâm của tất cả mọi người.

2. Hội thảo năm nay có sự xuất hiện của nhiều nhóm nữ giới như CodeChix, WomanWhoCode, PyLadies, LadyCoders. Đây là một tín hiệu đáng mừng. So với các ngôn ngữ lập trình đa dụng khác, có lẽ Python là ngôn ngữ thu hút nữ giới nhiều nhất!

3. Hội thảo năm nay có một sự ngạc nhiên thú vị. Mỗi cá nhân tham dự hội thảo được tặng một thiết bị Rasberry Pi miễn phí! Điều này cho thấy Python có một vị trí quan trọng trong thị trường phần cứng nghiệp dư, kinh tế. Trong hội thảo cũng thiết lập một "Phòng nghiên cứu Rasberry Pi" để hướng dẫn cách cài đặt và sử dụng thiết bị đó. Một số người tham dự

4. Các bài tham luận chớp nhoáng (lightning talks) cho thấy Python có khả năng ứng dụng rộng rãi và đáng ngạc nhiên. Một số ví dụ điển hình như sử dụng Python để điều khiển hệ thống đèn LED nhấp nháy, sử dụng Python trên các hệ máy Atari, sử dụng Python để thông dịch và gỡ rối mã Lisp/Scheme.

5. Lập trình viên Python có khả năng Rap không thua kém các ca sĩ chuyên nghiệp! Đoạn phim bên dưới quay lại cảnh Larry Hastings, thành viên nòng cốt trong nhóm phát triển Python, hát bài rap tự chế trước phiên tham luận chớp nhoáng.

http://youtu.be/rKiySLUrYQ8

6. Bạn Nguyễn Thành Nam có mặt tại hội thảo đã chụp tấm hình tự sướng này.

https://docs.google.com/file/d/0B5X03CmpgiFeb3pfMTlIVlBCQ3M/edit?usp=sharing

Bạn Nam cũng đã ủng hộ một số món quà nhỏ cho nhóm PCNV dùng để khuyến khích các bạn đã có bài viết đóng góp cho nhóm. Nhóm PCNV sẽ gửi trực tiếp cho các bạn.

Cảnh báo: Cẩn thận khi sử dụng pip trong mạng

written by vithon, on Feb 4, 2013 2:37:20 AM.

Pip (http://pypi.python.org/pypi/pip), cũng như một số các công cụ sử dụng mô-đun có sẵn urllib, urllib2, httplib, có thể bị tấn công kẻ ở giữa (man-in-the-middle) và làm thay đổi nội dung của gói tin nhận được.

Lý do là khi truy cập vào một địa chỉ HTTPS hoặc các giao thức SSL/TLS, các mô-đun có sẵn này không kiểm tra chứng từ (certificate) của máy chủ để xác nhận máy chủ đó đúng là máy chủ chương trình cần truy cập. Điều này cho phép một kẻ thứ ba giả dạng máy chủ và thay đổi nội dung gói tin yêu cầu cũng như trả lời.

Do đó, người sử dụng cần cẩn trọng khi sử dụng các công cụ như pip trong một mạng không an toàn.

Thông tin thêm có thể được tham khảo tại:

http://www.reddit.com/r/Python/comments/17rfh7/warning_dont_use_pip_in_an_untrusted_network_a/

Kể từ Python 3.2, các mô-đun có sẵn liên quan đến SSL/TLS đã có thêm chức năng kiểm tra chứng từ nhưng chức năng này phải được tự kích hoạt.

Chương trình PyCon US 2013

written by vithon, on Jan 18, 2013 11:04:06 PM.

Chương trình hội thảo PyCon năm nay đã được công bố vào bốn ngày trước.

https://us.pycon.org/2013/schedule/

Sau nhiều tuần đánh giá các bài tham luận, chương trình của hội thảo cuối cùng đã được thống nhất. Năm nay số lượng người tham dự tăng đột ngột và 1000 vé bán trước (early bird) đã không còn nữa. Tổng lượng vé bán ra được giới hạn ở mức 2500 vé. Nếu bạn muốn tham dự hội thảo, bạn cần phải mua vé ngay bây giờ. Hội thảo bắt đầu từ ngày 13 đến ngày 21 tháng 03.

So với năm ngoái, hội thảo năm nay có thêm một chuyên mục thứ sáu, nâng tổng số bài tham luận lên 114 bài. Các bài điểm của hội thảo sẽ được trình bày bởi những nhân vật tên tuổi như Eben Upton, Jessica McKellar, Raymond Hettinger, và Guido van Rossum.

PS: Nếu không có điều kiện tham dự hội thảo, các bạn cũng có thể xem phim quay lại tại http://pyvideo.org.

wiki.python.org bị tấn công

written by vithon, on Jan 9, 2013 12:54:24 AM.

Brian Curtin vừa gửi thông báo trên hộp thư chung python-dev với nội dung như sau:

"Vào ngày 28 tháng 12, một cá nhân chưa xác định được đã sử dụng một lỗi chưa công bố để tấn công http://wiki.python.org. Cá nhân này đã lấy được quyền truy cập như người dùng moin trên máy chủ, nhưng các dịch vụ khác vẫn chưa bị ảnh hưởng."

Mọi dữ liệu cá nhân cũng như mật khẩu tại http://wiki.python.org xem như đã nằm trong tay kẻ xấu. Nếu bạn có truy cập và tạo tài khoản trên trang http://wiki.python.org và sử dụng cùng mật khẩu ở các trang mạng khác thì hãy đổi ngay mật khẩu ở các trang mạng khác đó.

Thông tin cập nhật sẽ được Brian Curtin gửi trên python-dev.

Python - Ngôn Ngữ Lập Trình Tốt Nhất

written by vithon, on Dec 10, 2011 2:13:51 AM.

Tạp chí Linux Journal đã công bố kết quả khảo sát người đọc hàng năm của mình vào ngày 01 tháng 12 vừa qua. Theo đánh giá này, Python lại một lần nữa trong suốt ba năm liên tục được người đọc đánh giá là ngôn ngữ lập trình tốt nhất.

Thông tin chi tiết có thể được xem thêm từ nguồn Linux Journal.

Câu chuyện tối ưu hóa đoạn mã Python

written by Nguyễn Thành Nam, on Oct 26, 2011 9:21:36 AM.

Trên trang blog của Dropbox ngày hôm qua có chia sẻ kinh nghiệm của họ trong việc tối ưu hóa một đoạn mã Python ngắn.

http://tech.dropbox.com/?p=89

Kết luận của họ là:

  1. Các kỹ thuật căn bản như inline hàm (inline function), tự lặp (implicit loop), tận dụng mã C đều đúng.
  2. Cấu trúc setdict trong Python rất nhanh.
  3. Việc sử dụng biến nội bộ thay cho toàn cục mặc dù có ích, nhưng không nhiều.
  4. Ghép chuỗi (string concatenation) nhanh hơn nhiều so với định dạng chuỗi (string interpolation).

Đây là một bài chia sẻ rất hay.