Planet TLWG

Syndicate content
Planet TLWG - http://linux.thai.net/planet
Updated: 1 hour 37 min ago

Kitt: NGINX HTTP Basic Authentication with LDAP

21 June, 2015 - 15:55
First,  install libpam-ldap # apt-get install libpam-ldap Config ldap:// properly. This will add ldap backend to PAM. Now, create a file /etc/pam.d/nginx @include common-auth @include common-account This will add nginx service in PAM. Then, config your nginx to enable HTTP basic authentication using auth_pam and PAM service name “nginx” location /someplace { auth_pam "Restricted Area"; … Continue reading NGINX HTTP Basic Authentication with LDAP →

Udomsak: Note on my info. -

19 June, 2015 - 09:43

PCAP  files download  protal
http://www.netresec.com/?page=PcapFiles
http://digitalcorpora.org/corpora/network-packet-dumps/cseagle-pcaps/

Lua PCAP  - https://github.com/sam-github/pcap-lua.git

Hadoop technologies stack and relate Big-data

https://hadoopecosystemtable.github.io/

PCAP for malware analysis

http://contagiodump.blogspot.com/2013/04/collection-of-pcap-files-from-malware.html



Facebook PrestoDB ( alternative Apache Hive ) 






Fabric8  Integration Platform run on top  Google Kubernate




Ipython - Interactive Python shell http://ipython.org/



BPython - Interactive Python shell 

http://bpython-interpreter.org/




My site Article and Topic

Udomsak: Openvswitch on Ubuntu Linux 13.04 or 13.10

29 May, 2015 - 14:11

OpenVswitch

After long period of time out of writing new weblog. due to my working time and busy.  Today just have time and sitting @  Co-working space at  Chiangmai, Thailand thinking of my future careers.

So before i need to drive to my goal.  I need to setting up own local infrastructure on my laptop to support my project that i have.  Docker  is a nice platform with cool feature but i need virtualization that lightweight than Virtualbox and KVM. look like is suitable my environment.

OpenVswitch is  Virtual Network Switch run on layer 2/3 with Sofware Define Network ( SDN ) capability . Openstack also support.

Environment.

  1. Ubuntu 13.10
    1. Kernel  version 3.11.0-26-generic
  2. OpenVswitch 2.3 
  3. Software dependency 
    1. Don't know because most of software lib are install to my laptop already. ( sorry ) 

Download and Compile




  • mkdir ~/Developement/ovs  && cd ovs 
  • wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz 
  • tar -xvfz openvswitch-2.3.1.tar.gz  &&  cd openvswitch-2.3.1.tar.gz   && ./boot.sh
  • ./configure --with-linux=/lib/modules/`uname -r`/build 
  • sudo make && sudo make install  
  • modprobe libcrc32c && modprobe gre
  • insmod sudo insmod datapath/linux/openvswitch.ko
  • sudo insmod datapath/linux/openvswitch.ko

  • OpenVswitch setup and config





  • sudo mkdir -p /usr/local/etc/openvswitch
  • ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema
  • ovsdb-server -v --remote=punix:/usr/local/var/run/openvswitch/db.sock \ --remote=db:Open_vswitch,Open_vSwitch,manager_options \ --private_key=db:Open_vSwitch,SSL,private_key \ --certificate=db:Open_vSwtich,SSL,certificate \ --pidfile --detach --log-file
  • ovs-vsctl --no-wait init
  • ovs-vswitchd --pidfile --detach
  • ovs-vsctl show

  • My site Article and Topic

    Kitt: Yellow Padlock on Chrome/iOS

    8 May, 2015 - 12:06
    วันนี้ได้รับแจ้งจากผู้ใช้เรื่อง https ของ มข. ตรงช่อง URL ขึ้นเป็นสีเหลือง (yellow padlock) อย่างที่ปรากฏในภาพบน แทนที่จะเป็นสีเขียว (green padlock) เหมือนทุกครั้ง เท่าที่ตรวจสอบ พบว่าเกิดกับ Google Chrome / iOS บางรุ่น และเป็น bug ในส่วนการตรวจสอบ certificate chain ของ Google Chrome / iOS เอง Google Chrome / iOS รุ่นถัดไปน่าจะแก้ไข bug นี้ ระหว่างนี้ ถ้าต้องการยืนยันเพื่อความมั่นใจ ให้แตะที่ icon สีเหลืองตรงช่อง URL และดูรายละเอียดที่ปรากฏตามภาพข้างล่าง icon ที่หนึ่ง เป็นตัวยืนยัน identity ของ website ว่าถูกต้องหรือไม่ icon ที่สอง … Continue reading Yellow Padlock on Chrome/iOS →

    Thep: LibThai/LibDATrie Optimization Summary

    2 May, 2015 - 17:28

    นับจาก blog เรื่องการ micro-optimize libthai ซึ่งได้ทดลองใช้ LIKELY/UNLIKELY ในการลดการสะดุดของ pipeline ของ CPU ขณะทำ branching ซึ่งลดเวลาของการตัดคำของ libthai ลงได้เพียง 0.014% เท่านั้น แต่ปรากฏว่าเมื่อไปทำกับ libdatrie กลับให้ผลที่ดีกว่านั้น

    โค้ดที่เป็นคอขวดจริง ๆ คือ da_get_base(), da_get_check() ซึ่งใช้อ่านช่องข้อมูล double array โดยมีการตรวจสอบขอบเขตของค่า index ของ array ด้วย เมื่อใส่ LIKELY() กำกับเงื่อนไขที่จะไม่ error แล้ว ปรากฏว่าเวลาที่ใช้ในการตัดคำลดลงอย่างมากเมื่อเทียบกับจุดอื่น ๆ โดยทั่วไป

    แต่ก็อย่าคาดหวังอะไรมากกับ micro-optimization เพราะเวลาที่ลดลงได้จากการ micro-optimize libdatrie รวมแล้วคือ 1.94% แต่เมื่อเทียบกับ 0.014% ที่ได้ใน libthai ก็ถือว่าน่าตื่นตาตื่นใจไม่น้อย

    อย่างไรก็ดี ในช่วงต่อมา ก็ได้มี คำแนะนำจากคุณ edgehogapp ว่าสามารถลดเวลาตัดคำของ libthai ลงได้ ถ้าแปลงรหัสข้อความจาก TIS-620 เป็น Unicode เพียงครั้งเดียวก่อนวิเคราะห์ แทนที่จะแปลงทุกครั้งที่วิเคราะห์แต่ละตัวอักษร ซึ่งเมื่อทดลองแล้วก็ปรากฏว่าสามารถลดเวลาลงได้อีกถึง 0.28%

    ก่อนที่จะเตรียมออกรุ่น libdatrie และ libthai รุ่นใหม่ จึงมาวัดเวลาสรุปอีกครั้ง ว่าการออปติไมซ์ส่วนไหนให้ผลเท่าไร โดยใช้ test case เดียวกัน เวลาที่ callgrind วัดได้ในแต่ละกรณีคือ:

    • libthai เก่า + libdatrie เก่า: 39,000,827
    • libthai เก่า + libdatrie ใหม่: 38,242,294 (ลดลง 1.94%)
    • libthai ใหม่ + libdatrie เก่า: 38,851,449 (ลดลง 0.38%)
    • libthai ใหม่ + libdatrie ใหม่: 38,089,676 (ลดลง 2.34%)

    เมื่อคิดเป็นอัตราเร็วที่เพิ่มขึ้น (1 / (1 - อัตราส่วนเวลาที่ลดลง) - 1):

    • libthai เก่า + libdatrie ใหม่: เร็วขึ้น 1.98%
    • libthai ใหม่ + libdatrie เก่า: เร็วขึ้น 0.38%
    • libthai ใหม่ + libdatrie ใหม่: เร็วขึ้น 2.39%

    กล่าวคือ ความเร็วที่เพิ่มขึ้นส่วนใหญ่มาจากการออปติไมซ์ libdatrie และโดยรวมแล้วทำให้การตัดคำเร็วขึ้น 2.39%

    ในการวัด ครั้งก่อน ผมได้แยกวัดเฉพาะเวลาที่ใช้ในการตัดคำจริง ไม่นับเวลาโหลดพจนานุกรม เพราะไม่ได้มีการเปลี่ยนแปลงใน libdatrie แต่ครั้งนี้ การออปติไมซ์ libdatrie จะมีผลทั้งสองส่วน ซึ่งเมื่อแยกวัดดูก็ได้ผลดังนี้:

    เวลาที่ใช้ในการโหลดพจนานุกรม:

    • libthai ใหม่ + libdatrie เก่า: 663,463
    • libthai ใหม่ + libdatrie ใหม่: 633,318 (ลดลง 4.54%; เร็วขึ้น 4.76%)

    เมื่อคิดเฉพาะเวลาที่ใช้ในการตัดคำ:

    • libthai ใหม่ + libdatrie เก่า: 38,851,449 - 663,463 = 38,187,986
    • libthai ใหม่ + libdatrie ใหม่: 38,089,676 - 633,318 = 37,456,358 (ลดลง 1.92%; เร็วขึ้น 1.95%)

    กล่าวคือ การ micro-optimize libdatrie ส่งผลต่อการโหลดพจนานุกรมมากกว่าการตัดคำ และเฉพาะสำหรับการตัดคำ มีผลมากกว่าการ micro-optimize ตัว libthai เอง อย่างมาก (ลดเวลาลง 1.92% เมื่อเทียบกับ 0.014% จาก libthai)

    นอกเหนือจากการ micro-optimize แล้ว libdatrie ยังมีรายการแก้บั๊กอีกรายการหนึ่ง ซึ่งคุณ Sergei Lebedev ได้รายงานเข้ามาทางอีเมลส่วนตัว โดยอ้างถึง บั๊กใน python wrapper ของ libdatrie เกี่ยวกับการ iterate trie ที่ว่างเปล่า

    เตรียมออกรุ่นใหม่เร็ว ๆ นี้ละครับ ทั้ง libdatrie และ libthai

    Thep: Thanks

    30 April, 2015 - 16:13

    ขอขอบคุณย้อนหลัง สำหรับผู้สนับสนุนงานพัฒนาซอฟต์แวร์เสรีของผมในช่วงเดือนมกราคม 2558 ถึงเมษายน 2558 ที่ผ่านมาครับ คือ:

    ขอให้ทุกท่านและครอบครัวมีความสุขความเจริญ สุขภาพแข็งแรงทั้งกายใจครับ

    ช่วงสี่เดือนที่ผ่านมา หลังจากที่การใช้เวลากับครอบครัวเริ่มจะเข้าที่เข้าทาง ผมก็สามารถเจียดเวลามานั่งทำงานได้เป็นเวลามากขึ้น แม้จะไม่มากเท่าเดิม แต่ก็ทำให้งานคืบหน้าได้

    นอกจากการ optimize libthai/libdatrie ที่เคยเขียนไปแล้ว ก็มีงานจิปาถะอื่น ๆ อีก เช่น

    • งานแปล Xfce [ต้องล็อกอิน] ทั้งไล่กวดและไล่หลัง Xfce 4.12 ที่ออกไป จนขณะนี้อัตราการแปลของภาษาไทยอยู่ที่ 95% แล้ว
    • งานแปล GNOME ซึ่งผมเข้าสู่สถานะ review only (ไม่แปลเองอย่าง active) แล้ว ก็ได้ตรวจทานคำแปลที่มีนักแปลส่งเข้ามา
    • งาน Debian ในช่วงที่ Jessie freeze อยู่ ผมก็ได้แต่เตรียมปรับแก้ประเด็นเล็ก ๆ น้อย ๆ ที่ระบบ QA ต่าง ๆ ของ Debian ตรวจพบเพื่อรออัปโหลดในรอบ Stretch (Jessie + 1) ต่อไป เช่น:
      • lintian ส่วนใหญ่เป็นปัญหารูปแบบแฟ้ม debian/copyright ที่เครื่องแจงอ่านได้ และแฟ้มที่ขาดข้อมูลลิขสิทธิ์ ซึ่งบางส่วนต้องแก้ที่ต้นน้ำ ผมก็ทำเตรียมไว้
      • reproducible ตรวจพบการใช้ timestamp ขณะ build ซึ่งทำให้แพกเกจต่าง ๆ build หลายครั้งแล้วได้ checksum ไม่เท่ากัน ซึ่งทั้งหมดต้องแก้ที่ต้นน้ำ
      • Debian font review ซึ่งแสดงตัวอย่างฟอนต์จากแพกเกจฟอนต์ต่าง ๆ ใน Debian พร้อมผลลัพธ์จากโปรแกรม fontlint ที่ตรวจหาปัญหาต่าง ๆ ในฟอนต์ ทำให้ต้องมา validate ฟอนต์ที่ต้นน้ำทีละตัว ทำให้ได้แก้ปัญหาต่าง ๆ ในเส้นโค้งตัวอักษรของฟอนต์ เช่น การซ้อนทับกันของเส้น, การขาดจุด extrema, การระบุพิกัดของจุดแบบไม่ใช่จำนวนเต็ม, การใช้ชื่อ glyph ที่ไม่ตรงตามมาตรฐาน, ความผิดปกติของตาราง GPOS ฯลฯ แล้วก็เลยเถิดไปถึงการปรับเส้นอักษรแบบยกเครื่องในบางฟอนต์ ซึ่งส่งผลให้ได้เส้นที่คมชัดขึ้นเมื่อแสดงบนจอภาพ
      ประเด็นอื่นที่นอกเหนือจากที่ QA ตรวจพบ เช่น ปรับให้แพกเกจบางตัวที่สามารถใช้เอกสารใน /usr/share/doc ร่วมกันได้ทำเป็น symlink ถึงกัน ตาม Policy 12.3 วรรค 5 เพื่อลดขนาดติดตั้ง
    • งานปรับปรุงฟอนต์ในชุด fonts-tlwg ตามที่ได้รับข้อเสนอแนะจากคุณ Martin Hosken ซึ่งจะนำไปสู่การปรับปรุงการรองรับภาษาชาติพันธุ์ต่อไป
    • การแก้บั๊กใน libdatrie ตามที่มีผู้รายงานเข้ามาทางเมลลิงลิสต์

    ขณะนี้ Jessie ก็ได้ออกไปแล้ว รอบการพัฒนาใหม่ของ Stretch ก็กำลังเริ่ม ก็คงใกล้ได้เวลาปล่อยของที่ทำสะสมไว้

    Kitt: Linux kernel 4.0

    23 April, 2015 - 05:01
    รีลีสไปแล้ว และเรื่องใหญ่สุดของ 4.0 คือ infrastructure สำหรับอัพเกรดเคอร์เนลโดยไม่ต้อง reboot อีกต่อไป :) ที่จริงไม่ใช่ของใหม่เสียทีเดียวมันคือฟีเจอร์เดียวกันกับ Ksplice (Oracle), Kpatch (RedHat) นั่นเอง

    Kitt: สัปดาห์หนังสือแห่งชาติ ครั้งที่ 43

    15 April, 2015 - 11:10
    ลืมบันทึก เดินไป Talent 1 ซื้อมาสองเล่ม คินดะอิจิยอดนักสืบ ตอนที่ 31 ปิศาจฆาตกร ยักษ์ มิเกะเนะโกะออกจากโรงพิมพ์ไม่ทัน รอ Book Expo ค่อยสอยก็ได้

    Kitt: มหาสงกรานต์ ๒๕๕๘

    13 April, 2015 - 18:19
    คำนวณหาวันสงกรานต์กัน ใช้สูตรเดิม คำนวณ ปี จ.ศ. = 2558 – 1181 = 1377 หาวันเถลิงศก = 1377 * 0.25875 + floor(1377 / 100 + 0.38) – floor(1377 / 4 + 0.5) – floor(1377 / 400 + 0.595) – 5.53375 = 356.29875 + 14 – 344 – 4 – 5.53375 = 16.765 (วันที่ 16 + 0.765 วัน) วันมหาสงกรานต์ = … Continue reading มหาสงกรานต์ ๒๕๕๘ →

    LookHin: การวัดระยะทางระหว่างโลก-ดวงจันทร์-ดวงอาทิตย์และเส้นรอบวงของโลกในสมัยกรีกโบราณ

    12 April, 2015 - 22:34

    การวัดระยะทางระหว่างโลก-ดวงจันทร์-ดวงอาทิตย์
    อริสตาร์คัสแห่งซามอน (Aristarchus) นักคณิตศาสตร์และดาราศาสตร์ชาวกรีก (320-230 ปีก่อนคริสตกาล) อริสตาร์คัสเป็นคนแรกที่เสนอว่าดวงอาทิตย์เป็นศูนย์กลางของจักรวาล และกลางวัน-กลางคืนเกิดจากโลกหมุนรอบตัวเอง อริสตาร์คัสวัดระยะระหว่างโลก-ดวงอาทิตย์-ดวงจันทร์ โดยใช้หลักการของตรีโกณมิติ อริสตาร์คัสใช้ช่วงเวลาที่มองเห็นดวงจันทร์ครึ่งดวงบนท้องฟ้าซึ่งเป็นช่วงเวลาที่โลก-ดวงจันทร์-ดวงอาทิตย์ทำมุมกัน 90 องศา (มุม a) จากนั้นต้องทำการวัดมุมระหว่างดวงจันทร์-โลก-ดวงอาทิตย์ (มุม b ส่วนมุม c ที่เหลือคำนวณได้จาก c=180-a-b) ซึ่งตอนนั้นอริสตาร์คัสวัด (มุม b) ได้ 87 องศา (ปัจจุบันวัดได้ 89.85 องศา ด้วยความไม่แม่นยำของเครื่องมือสมัยก่อนทำให้อริสตาร์คัสวัดผิดพลาดไป 2.85 องศา) อริสตาร์คัสคำนวณว่าระยะทางระหว่างโลกกับดวงอาทิตย์ยาวเป็น 19 เท่าของระยะทางระหว่างโลกกับดวงจันทร์ ซึ่งจริงๆแล้วระยะห่างระหว่างโลกกับดวงอาทิตย์จะเป็น 390 เท่าของระยะทางระหว่างโลกกับดวงจันทร์ ความคลาดเคลื่อนนี้ไม่ได้เกิดจากการคำนวณที่ผิดพลาด แต่เกิดจากความคลาดเคลื่อนของเครื่องมือวัดทำให้มุมที่ได้ขาดความเที่ยงตรง

    การวัดเส้นรอบวงของโลก
    เอราทอสเทนีส (Eratosthenes) นักภูมิศาสตร์ชาวกรีก (276-194 ปีก่อนคริสตกาล) ว่ากันว่าเอราทอสเทนีสเคยร่ำเรียนที่สำนัก “อะคาเดมี” ของ “เพลโต” มาด้วย เอราทอสเทนีสยอมรับว่าโลกกลมและเขาพยายามคำนวณเส้นรอบโลก โดยเอราทอสเทนีสได้ทำการวัดเงาในเวลาเที่ยงวันของเสาที่ตั้งอยู่ในเมือง Syene และ Alexandria ซึ่งทั้งสองเมืองอยู่ห่างกัน 5,000 Stades (10 Stades เท่ากับ 1 ไมล์) จากการคำนวณของเอราทอสเทนีสเงาในเวลาเที่ยงของเสาจากทั้งสองเมืองต่างกันอยู่ 7.2 องศา เอราทอสเทนีสรู้อยู่แล้วว่าโลกกลม ฉะนั้น 1 วงกลมก็จะแบ่งเป็น 7.2 องศาได้ 50 ชิ้น (360/7.2 = 50) ดังนั้นความยาวรอบโลกก็จะเท่ากับ 50×5,000 = 250,000 Stades หรือเท่ากับ 25,000 ไมล์ ซึ่งความยาวรอบวงของโลกที่วัดด้วยเครื่องมือสมัยใหม่คือ 24,860 ไมล์ คลาดเคลื่อนไปนิดหน่อย

    ข้อมูลจาก : วิกิพีเดีย, ไซแอนซ์ อิลลัสเตรเต็ด, กูเกิล