Python
What is Pythonic?
วันนี้ลองมาอธิบายคำว่า Pythonic กันดีกว่า พอดีมีคนถามที่Codenone แล้วตอนนั้นก็ตอบแบบสั้นๆ ช่วงนี้พอมีเวลาเลยลองมาศึกษาให้ถ่องแท้ดีกว่า ผมเองก็ไม่รู้จะอธิบายยังไงเหมือนกัน คล้ายกับว่า Pythonic เป็นปรัชญาชนิดหนึ่ง เรียบง่าย ตรงไปตรงมา เข้าใจอย่างไรก็เป็นแบบนั้น ไม่มีความซับซ้อน บางคนก็บอกว่ามันคือ pseudocode ที่ทำงานได้จริงๆ ผมเคยลองเขียน pseudocode ด้วย Python มันก็ดูสะอาดดี แต่ก็มีหลายคนไม่ชอบ เพราะไม่มีปีกกา {}
หรือ begin
end
แล้วไม่สบายใจ เหมือนชีวิตขาดอะไรไป โชคดีที่ผมไม่ใช่คนแรกที่สงสัย มีคนพยายามตอบหลายครั้ง ผมชอบคำอธิบายที่ Python Secret Weblog มากที่สุด เพราะมีตัวอย่างชัดเจน อย่างน้อยก็เห็นแล้วร้อง อ๋อ ไม่ต้องเสียเวลาจินตนาการ
- sugree's blog
- 1 comment
- Read more
- 1101 reads
Compiling C++ applications for mipsel platform
In the past, I usually posted about my success of doing something but not this post. I have been encountering big problem that is not solved yet. It is more than 7 days from the beginning. Generally, I will leave tabs relating to my current interesting in Firefox until all problems are solved. Then I will post what I did here or somewhere else. In my opinion, 7 days are too long for such a problem. I should suspend this topic for next chance. So I will post everything involved to this topic here as the checkpoint.
The problem is about running a C++ applications on mipsel platform. In particular, the applications are all examples of libtorrent and the mipsel platform is Asus WL-500g Premium. libtorrent is written in C++. That is not exactly the cause of this problem. The real problem is it relies on Boost library and this library uses many C++ features that are not available in uClibc++.
- sugree's blog
- 2 comments
- Read more
- 2756 reads
Flexible BitTorrent Client for Embedded Devices
Today, I and my colleages were thinking about embedding BTQueue into a kind of Linux-based router. Well, it is not easy to do so because of the nature of Python interpreter and its slogan.
Battery included!
I found Python for OpenWRT. It looks very promising and amazing by its size about 20 MB. In short, it is only usable on any routers with big flash memory or with USB for external storage. Unfortunately, these routers are not available in Thailand. So I suppose to have an embedable version of BTQueue. How to do that? The easiest solution is to slim down Python. I found Tiny Python. Anyway, it is just for MS Windows platform. So I looked for another solution not limited to just Python. Lua might be a good candidate here as a glue to ctorrent or libtorrent. The full set of Lua is about 100 KB.
- sugree's blog
- 1 comment
- Read more
- 4334 reads
Codenone go! go! go!
ผ่านมาได้ไม่นานหลังจากมีกระแส ชุมชนภาษานอกกระแส ก็เริ่มผลิดอกออกผลให้เห็นกัน ตั้งแต่การตั้งชื่อ เนื้อหา และการเสนอแนะ ในที่สุด Codenone ก็จุติ ณ http://www.codenone.com/ รอให้เหล่านักพัฒนาภาษานอกกระแส รวมไปถึงผู้สนใจและคลั่งไคล้ของแปลก
ตอนนี้ใช้ Drupal 5 RC1 และเปิดใช้ Drupal ID ซึ่งทำให้สมาชิกของ Blognone สามารถล็อกอินเข้าใช้ระบบได้ทันทีโดยใช้
เช่นของผม และใช้รหัสผ่านเดียวกัน เข้าไปครั้งแรกอย่าลืมเข้าไปกำหนด e-mail กับ timezone กันซะหน่อย จะได้ไม่พลาดของดีทีหลัง
- sugree's blog
- 2 comments
- Read more
- 1534 reads
How to convert passwd to userdb for ISPConfig
According to my previous howto regarding ISPConfig and Courier's userdb, there are some problems with some crypted passwords. In particular, passwords may contain the delimiter (|
) and the back quote (`) for evaluation in bash shell. As a result, the generated userdb
will be invalid. Below is the script to fix these problems.
- sugree's blog
- Add new comment
- Read more
- 1357 reads
The League of Extraordinary Programming Languages in Thailand
ภาษาสำหรับเขียนโปรแกรมในโลกนี้มีมากมาย แต่ภาษาที่ได้รับความนิยมสูงนั้นมีไม่กี่ภาษา ซึ่งก็มีผลให้ภาษาอื่นที่ไม่ได้รับความนิยมก็ยังคงไม่ได้รับความนิยมต่อไป ในความเป็นจริงแล้ว ทุกภาษามีจุดประสงค์ของตนเอง การเลือกภาษาจึงเป็นเรื่องของความเหมาะสมมากกว่าอารมณ์ และความรู้สึก แต่เอาเข้าจริงการเลือกภาษาสำหรับงานซักงานก็เป็นเรื่องของ The One ที่มีอำนาจตัดสินใจ ถ้าเป็นงานส่วนตัวคุณก็คือ The One แต่โชคร้ายงานส่วนตัวมักจะไม่ใช่งานทำเงิน สุดท้ายก็มี The One มาเลือกภาษาให้เสร็จสรรพ ภาษาที่เลือกมาแต่ละทีก็มักเป็นภาษาที่ค่อนข้างเป็นที่รู้จัก ยกตัวอย่างเช่น PHP Java และ C# ซึ่งก็ไม่แปลกอะไร นี่เรียกว่า ทีใครทีมัน หรือ ทีเอ็งข้าไม่ว่า ทีข้าเอ็งอย่าโวย ตรงตามหลักการเป๊ะ ถ้าทำงานประจำแล้วต้องทำตามการตัดสินใจของ The One แล้วเก็บกดก็จงกลับบ้านมาเขียนโปรแกรมด้วยภาษาที่ชอบซะ ยิ่งถ้าอยากให้คนอื่นหันมารู้จักภาษา นั้นกับเราด้วยก็ต้องแจกโค้ดของเราซะบ้าง นี่ไม่ใช่การเผยแพร่ลัทธิหรือศาสนาอะไรทั้งสิ้น เพราะเราทำสิ่งที่ชอบ ไม่ได้บังคับให้ใครทำตาม ถ้ามีคนเห็นว่าเราทำดี เค้าอยากทำบ้างก็ไม่แปลกอะไร มีคนบอกว่าภาษาพวกนี้เรียกว่า ภาษานอกกระแส (mk rawitat) มันก็ใช่อยู่ แต่ผมไม่อยากให้คิดว่ามันเป็นแค่ทางเลือกซักเท่าไหร่ ฟังดูแล้วเหมือนมีความสำคัญน้อยไปนิด เลยขอเรียกเป็น Extraordinary ดีกว่า ฟังแล้วดูยิ่งใหญ่ดี จะได้ไม่ด้อยกว่าภาษาอันโด่งดังทั้งหลาย ช่วงนี้กำลังมีการระดมพลของผู้ที่มีภาษาแปลกๆ ในดวงใจ ผมก็เป็นหนึ่งในนั้นเหมือนกันเลยต้องเขียนถึงซะหน่อย
- sugree's blog
- 3 comments
- Read more
- 2803 reads
Recent comments
3 years 29 weeks ago
3 years 34 weeks ago
3 years 35 weeks ago
3 years 35 weeks ago
3 years 35 weeks ago
3 years 38 weeks ago
3 years 38 weeks ago
3 years 38 weeks ago
3 years 38 weeks ago
3 years 38 weeks ago