Category Archives: Blog

Kitty HTTPD

ปกติเวลาโอนไฟล์ใหญ่ๆ ข้ามเครื่อง จะใช้ Port-FTP ไวดี แต่ก็มีข้อด้อยตรงไม่ support file > 2 GB .. บางครั้งเลยต้อง scp เอา ซึ่งกรณีนี้เสีย CPU ไปกับ encryption ไปเปล่าๆ .. อยากได้ web server อย่างง่ายๆ ที่เรียกแล้วทำ index current directory ได้เลย จะได้ wget เอาได้ง่ายๆ … ให้ นศ เขียนส่งก็ไม่ได้เรื่อง .. เลยเขียนเองดีกว่า (ไม่รู้โง่หรือฉลาด แต่ก็ทำไปแล้ว) .. จริงๆ เขียน web server ง่ายๆ ด้วยภาษา C ใช้แค่ 1-200 SLOCs ก็ได้แล้ว … จากนั้นก็เพิ่มฟีเจอร์เข้าไปเรื่อยๆ จนพอใจในระดับนึง (หลักๆ ก็ 64-bit large file, IPv6, multithread, syslog, …) และคิดว่าพอจะรีลีสได้แล้ว

ดูรายละเอียด + ดาวน์โหลด ได้ที่หน้า Kitty HTTPD

comment / report bugs ได้ที่ห้อง #tlwg @ irc.linux.in.th หรือ เมลมาก็ได้ … หวังว่า code ที่รีลีสจะไม่ทำขายหน้านะ :P

09-09-09

Update ช้าไปวันนึง

  • มีเพื่อนคลอดลูกวันนี้
  • มีพี่ๆ จดทะเบียนสมรสวันนี้

FOSS ก็เป็นไปกับเขาด้วย พากันคลอดเวอร์ชันใหม่ในวัน 09-09-09 เหมือนกัน

  • Linux 2.6.31
  • Firefox 3.5.3
  • VirtualBox 3.0.6

ปีหน้ามีวันที่ 101010 … ปีถัดไป 111111 .. จะอ่านเป็น decimal หรือ binary ก็ได้ :P

ส่วนที่บ้านแมวๆ .. โหลด Ubuntu 9.10 Karmic Koala ISO มาทำ bootable SD card กะจะลองเฉยๆ … ลองไปลองมาแล้วติดใจ เลยลบพาร์ทิชัน EFI + Macintosh HD เก่าที่ค้างมาจาก Macbook ทิ้ง เอาพื้นที่มาติดตั้งใช้จริงซะเลย .. :P

BFS vs. mainline scheduler

BFS vs. mainline scheduler benchmarks and measurements มาแล้ว …

คิดในใจว่า เดี๋ยวอาจจะได้เห็นสงครามน้ำลาย Con Kolivas vs Ingo Molnar (หรือบรรดาคนที่เข้าข้างฝ่ายใดฝ่ายหนึ่ง) อีก … อ่าน thread ไปนิดเดียวก็เริ่มเห็น อะไรทำนองนี้: (http://thread.gmane.org/gmane.linux.kernel/886319)

ck ควรจะคาดได้ว่าต้องมีคนเอามาทดสอบ เปรียบเทียบ วัดผล วิเคราะห์ แน่นอน และหลักๆ มันจะเทียบกับใครถ้าไม่ใช่ mainline sched. (mainly by Ingo) .. พอเกิดขึ้น ck ตอบโต้แบบเจ้าอารมณ์เหมือนเดิม

อีกด้านนึง benchmark โดย Ingo เกาไม่ถูกที่คันเท่าไหร่ สมควรถูกวิจารณ์ ถ้าจะให้ยอมรับได้ case/environment ควรจะเป็นกลาง หรือครอบคลุมตัวแปรมากกว่านี้ หรือถ้าจะให้เจ๋งไปเลย Ingo ควรเลือก environment ที่ BFS ทำงานได้ดีที่สุดตามที่ ck เคลมไว้ .. แล้วเอา mainline sched. หรือ sched. อะไรก็ตามบี้ BFS ให้ได้

You both are said to be a hacker .. DO HACK properly ! Damn it !

.. โปรดติดตามตอนต่อไป .. :P

Acer-EC: Acer Aspire One D150 Embedded Controller

Acer AOD150 มี Embedded Controller (EC) สำหรับอ่าน/เขียน registers เก็บสถานะ/ควบคุมอุปกรณ์ต่อพ่วงต่างๆ ได้ เดิมมีคนเขียนไว้เป็น perl (acer_ec.pl ใน project acer-acpi) แต่จะ sudo บ่อยๆ เพื่อรันสคริปต์สำหรับ access EC port ก็ไม่สะดวก ประกอบกับ acer_ec.pl เขียนสำหรับใช้งานกับ notebook/netbook ของ Acer หลายรุ่นแต่ยังไม่ fully compatible กับ AOD150

ว่าแล้วก็เลยเขียนเองด้วย C .. โดยแกะ registers จากข้อมูลใน DSDT .. ลองใช้งานมาพักใหญ่ๆ แล้ว ก็ทำงานได้ดี .. วันนี้เลย finalize เป็น version 0.0.2 แล้วเอาขึ้น server

จะบ่นอะไรกับ Acer-EC ก็เมล/irc มาได้ :P

-ck is back !

Con Kolivas เคยประกาศเลิกพัฒนา -ck patch เป็นข่าวดังอยู่พักนึง (บล็อกไว้เมื่อสองปีก่อน) .. วันนี้ ck กลับมาอีกแล้ว พร้อมกับ BFS – Brain F*ck Scheduler ปรับปรุง latency / responsiveness สำหรับ desktop

อ่าน FAQ แล้ว … ck ก็ยังเป็น ck .. สองปีแล้ว ดูเหมือนจะยังไม่หายงอนนะนี่ :P

Opera 10.00 Released

เพิ่ง beta ได้ไม่นาน … วันนี้ Opera 10.00 คลอดแล้วจ้าา

ดาวน์โหลดได้ที่ http://www.opera.com/

/me ที่บ้าน เจ้าโมจิ ก็คลอดแล้วเหมือนกัน ตั้ง 6 ตัวแน่ะ !

On-demand wiki-to-html / pre-render wiki-to-html

นั่งดูผลจาก ab (ApacheBench) แล้วสลดหน่อยๆ

$ ab -n 50 -c 10 http://kitty.in.th/
...
Total transferred:      696250 bytes
HTML transferred:       688300 bytes
Requests per second:    6.02 [#/sec] (mean)
...
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   20  47.0      0     151
Processing:  1107 1586 467.3   1356    2586
Waiting:     1069 1551 467.5   1322    2546
Total:       1258 1606 469.7   1359    2623

Percentage of the requests served within a certain time (ms)
  50%   1359
  66%   1444
  75%   1513
  80%   2380
  90%   2577
  95%   2586
  98%   2623
  99%   2623
 100%   2623 (longest request)

หลักๆ เป็นเพราะ wiki-to-html มัน render on-demand (เอา wiki text มา render ทุกครั้งที่มี request) มันก็ช้าอะดี เลยแก้ code ใหม่เป็นแบบ pre-render HTML เก็บลงใน database แทนการ ผลที่ได้ ..

$ ab -n 50 -c 10 http://kitty.in.th/
...
Total transferred:      696250 bytes
HTML transferred:       688300 bytes
Requests per second:    35.25 [#/sec] (mean)
...
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   26  52.5      0     210
Processing:    41  248  80.5    247     414
Waiting:        6  211  80.4    215     381
Total:        200  274  65.6    253     454

Percentage of the requests served within a certain time (ms)
  50%    253
  66%    268
  75%    278
  80%    353
  90%    399
  95%    414
  98%    454
  99%    454
 100%    454 (longest request)

6.03 requests / sec กับ 35.25 requests / sec. ..

space-time tradeoff = เร็วขึ้นเกือบ 6 เท่า แลกกับพื้นที่เก็บอีกเท่ากว่าๆ .. :)

หนังสือ โชคดี

พี่หน่อย @ SNC ส่งหนังสือ โชคดี ของ พระอาจารย์มิตซูโอะ คเวสโก มาให้อ่าน ขอบคุณอีกครั้ง ประจวบเหมาะกับ lulu ไถ่ถามถึงหนังสือนี้ที่ห้อง #tlwg เลยคัดลอกหนังสือทั้งเล่ม ทำเป็น PDF อย่างง่ายๆ กะจะเผยแพร่เป็น e-book พร้อมๆ กับที่ lulu ทำไว้ก่อนหน้านี้

ผมติดต่อไปที่ มูลนิธิมายา โคตมี แล้วได้ความว่าให้ทำหนังสือแจ้งความจำนงในการเผยแพร่ส่งไปยังมูลนิธิฯ .. lulu เลยร่างหนังสือส่งมูลนิธิฯ ซะวันนั้น ผมเลยแจมขอเผยแพร่ด้วยในคราวเดียว

หลัง fax ไปที่มูลนิธิ lulu รออยู่หลายวัน ทางมูลนิธิไม่ได้แจ้งอะไรตอบกลับมาเลย .. ช่วงวันแม่ ฤกษ์ดี เลยพากัน release ซะเลย (ถือคติ ไม่ค้าน ไม่ตอบกลับ ถือว่ายอมรับ ..:P)

รายงานข่าวเสียหน่อย

Opera 10 RC

Opera 10 RC build 4570 ออกมาหลังจากเกิดปัญหาแปลกๆ ที่เคย blog ไว้ก่อนหน้านี้

Acid3 Test 96-100 / 100

ลองหาวิธี disable notification icon .. เจอจาก --help เลย

$ opera --help
...
  -notrayicon                    do not show an Opera icon in system tray
...

แล้วก็ disable menu ด้วย จะได้มีพื้นที่เยอะๆ หน่อย กรอก URL เป็น opera:config แล้วก็ search หา options ของ menu จะเจอ option “show menu” ทีนี้จะ enable หรือ disable ก็ตามสะดวก :)

Move to kitty-v3

ปรับปรุงบ้านขนานใหญ่ ปล่อยเว็บเวอร์ชันใหม่ได้เสียที !

ไม่ได้เปลี่ยนหน้าตาอะไรมาก แต่เปลี่ยน back-end เพื่อสนองความต้องการของตัวเองเป็นหลัก

  1. ใช้ wiki แทน HTML markup
  2. มี tag แต่ยังไม่ได้เอามาทำอะไร
  3. ปรับ CSS ใหม่
  4. convert content ทั้งหมดจาก HTML markup เป็น wiki เสียเวลาหลายวัน :P
  5. revise content บ้างนิดหน่อย ส่วนใหญ่จะแก้คำผิด
  6. ปรับ back-end นิดหน่อย
  7. backward compatible กับ URL เดิมทั้งหมด
  8. ปรับโครงสร้างฐานข้อมูลนิดหน่อย
  9. Atom 1.0 validated

มีข้อเสียที่ทำงานช้าลงเพราะมันต้อง render Wiki เป็น HTML .. ลองดูก่อนละกัน ถ้ามันช้ามากก็จะใช้วิธี pre-render แทน

bug report ได้ที่ kitty at kitty dot in dot th หรือ peorth ณ ห้อง #tlwg @ irc.linux.in.th