Tag Archives: linux

GRUB timeout options

There are many timeout configuration for grub2 that you can put in /etc/default/grub

GRUB_TIMEOUT
GRUB_HIDDEN_TIMEOUT
GRUB_RECORDFAIL_TIMEOUT

The last one may help to boot normally in case power loss.

Also try FSCKFIX in /etc/default/rcS :)

Leap Second

ไม่ได้เช็คเสียนาน วันนี้เข้าไปดู ข้อมูลล่าสุด ที่ International Earth Rotation and Reference System Service สรุปว่า

NO positive leap second will be introduced at the end of December 2011.

สรุปปลายปีนี้ Time Server  ก็ไม่ต้องทดวินาที

.. ครั้งสุดท้ายที่มีการทดวินาที คือ 31 ธ.ค. 2008

Leap Second (อธิกวินาที) มันคืออะไร ? ทำไมต้องทด อ่านที่ http://en.wikipedia.org/wiki/Leap_second

DebConf 11 – DebConf Day 3

Topics in the morning were about Debian derivatives. They were both lecture and BoF. It was good to see collaborations among Debian and downstream distros like Ubuntu and the others. Then, It was about blending Debian – a flavor for different interests like education, medical, or something else.

The lunch, the table was unintentionally turned out to be Asian table with 2 Taiwanese, 2 Thais, 1 Japanese, and 1 Indian. Totally, AFAIK, there are 11 Asian people in DebConf. Well, I thought I got troubles about our visa, but for Taiwanese, it’s worse. Taiwan, like Thailand, does not have BiH embassy. So, they have to get a visa from the embassy in Beijing. That’s impossible for taiwaneses. So, the DC11 local team had to get document from the government to issue visa for them at the border (pretty much like our case, actually).

For the Indian guy, well there is the embassy in New Delhi, he just had to travel like 600 km from his home. And when he arrived, the embassy requested for an official document, which he did not have one at that time. It took him one and half month, traveled back and forth, to get his visa issued.

After lunch, Paul Liu asked if I wanted to take a walk around the city.The weather was good. I mean, yes, it was a bit hot, but better than raining. So, I decided to join and burn some calories (dang!) It was about an hour or so, walked around the museum, the fortress, the river, then back to the conference venue.

I attended the talk about linux kernel given by the kernel team of Debian, about how they handle the kernel. We had conference banquet, NGO DIVA treats.

Conference banquet was on 14th floor of a building in a restaurant name "Integra". View was good, food was good, Wouter (nbd package maintainer) played flute on the stage. That was impressive ! But, I was tired and did not feel well. So, walked back to the hotel, realized that no water from the tap in the hotel. Well, crashed on my bed anyway.

Waked up this morning (UTC+2), a good news from P’Thep that the TH Sarabun font was relicensed and is now GPL, Yay !

Setting Up Google SketchUp Pro 8 on Linux

วันก่อนลง SketchUp 8 ตัวฟรีไป ก็ไม่ค่อยมีอะไรต่างไปจาก 7 เท่าไหร่ .. แถมฟีเจอร์เด่นที่อยากใช้คือ Solid Tools จะมีเฉพาะตัว SketchUp Pro .. อย่ากระนั้นเลย .. Google ให้ Instructor ขอ Education License ได้ฟรี เลยสั่งซื้อ (ในราคา 0 USD) พร้อมกับส่ง approve doc. ไป .. เสร็จสรรพก็ได้ Education License สำหรับ Google SketchUp Pro 8 มา

ขั้นต่อไปคือติดตั้งกับ WINE .. ปรากฏว่ามันใช้ท่ายากกว่าที่คิดไว้นิดหน่อย คือมันต้องมี .NET Framework 2.0 ก่อน .. (เกลียดมันจริงๆ)

.. แต่ไม่เป็นไร .. บน WINE ก็ติดตั้ง .NET Framework ได้ไม่ยาก ด้วยแพ็คเกจ winetricks

$ winetricks dotnet20

แล้วก็กดๆๆ ไปเรื่อยๆ เดี๋ยวมันก็ลงเสร็จเอง จากนั้นก็ค่อยลง Google SketchUp Pro 8

$ wine GoogleSketchUpProWEN.exe

ถ้าไม่มี license มันจะให้ใช้งาน full feature 8 ชั่วโมง .. ก็กรอก license ให้เรียบร้อย แล้วก็ รอมัน crash เพื่อแก้ OpenGL เหมือนกับตัวฟรี

แล้วก็จะได้ใช้ฟีเจอร์ Solid Tools ที่สั่ง union, intersect, subtract, trim, split ได้ .. import/export DWG/DXF 2010 ได้

ส่วน LayOut ตอนนี้ยังใช้บน WINE ไม่ได้ .. รอกันต่อไป :P

Google SketchUp 8

Google SketchUp 8 รีลีสไปเมื่อวานนี้ ลองติดตั้งบน WINE สักหน่อย

% wine GoogleSketchUpWEN.exe

.. การติดตั้งราบรื่นดี ไม่มีอะไรจุกจิก

เรียกใช้งานครั้งแรก

เลือก template อะไรก็ได้เพื่อเริ่มใช้งาน โปรแกรมมันจะ crash .. อาการนี้เป็นปัญหา OpenGL rendering เหมือน SketchUp 7 วิธีแก้ก็เหมือนกับเวอร์ชัน 7 คือ ใช้ regedit เข้าไปแก้ใน HKCU\\Software\\Google\\SketchUp8\\GLConfig\\Display คีย์ HW_OK จาก 0 เป็น 1

% regedit

รันอีกครั้งก็จะใช้งาน SketchUp 8 บน WINE on Linux ได้ละ

More screenshots: 1 2

URL auto completion in Google Chrome

เพิ่งสังเกตเห็นว่า URL auto completion ของ Google Chrome ไม่ได้ทำแค่ URL auto completion แต่ทำตัวเป็น Calculator/Unit Converter ด้วย ..

ตัวอย่างเช่น พิมพ์ “600 ft” มัน auto complete เป็น “= 182.88 meters” ได้

เท่าที่ sniff ดู คือมันส่ง HTTP GET ไปที่ Google จริงๆ ไม่ได้คำนวณโดยตัว Google Chrome เอง

ก็เลยลองอย่างอื่นด้วย เช่น

และ

/me ตอนที่ทดสอบใช้ Google Chrome 6.0.466.0 dev / Linux

Updating AOD150 BIOS to v1.13

หนึ่งในปัญหาของ Acer Aspire One D150 เวลาใช้กับลินุกซ์ (ใดๆ) คือ ถ้าใช้งานโดยไม่ปรับแต่งอะไรเลยมันจะทำงานที่ 1.33 GHz แทนที่จะเป็น 1.66 GHz ตาม spec ของ CPU Intel Atom N280 โดยที่ CPU frequency scaling จะปรับให้ CPU ทำงานที่ 800 MHz – 1.33 GHz … ถ้าต้องการใช้งานเต็มประสิทธิภาพต้องเติมเคอร์เนลออปชัน acpi_no_auto_ssdt (ลองผิดลองถูกกับ ACPI อยู่หลายครั้ง ออปชันนี้กระทบน้อยสุดแล้ว) ซึ่งจะได้สัญญาณนาฬิกา 1.66 GHz เต็ม แต่จะใช้ CPU frequency scaling ไม่ได้

พยายามหาต้นตอของปัญหานี้ตั้งแต่ซื้อเครื่องเมื่อปีที่แล้ว พบว่าปัญหาอยู่ที่ข้อมูลในตาราง DSDT (Differentiated System Description Table) ของระบบ ACPI .. ทางแก้ มีสองทางคือ สร้าง custom DSDT แล้วสั่งให้เคอร์เนลโหลดมาใช้งานแทน DSDT ของระบบ หรืออีกทางคือ รอ Acer อัปเกรด BIOS … ทั้งสองกรณี เป็นท่ายากทั้งคู่ ขี้เกียจ .. เลย workaround ใช้งานแบบไม่มี CPU frequency scaling ไป จะว่าไปก็ไม่ได้เดือดร้อนอะไรเพราะเสียบปลั๊กไฟใช้งานเกือบตลอดอยู่แล้ว

แต่ในที่สุด Acer ก็อัปเกรด BIOS และแก้ปัญหาที่ว่านี้จนได้ .. เพราะ BIOS รุ่นเดิมไปใช้ MS Windows 7 ก็จะทำงานแค่ 1.33 GHz เหมือนกัน ก๊าก ! …. ถึงว่าสิ ! ถ้าเป็นปัญหาเฉพาะลินุกซ์ .. Acer คงไม่ทำ BIOS ใหม่ให้หรอกมั้ง เพราะรุ่นนี้ไม่มีเวอร์ชันลินุกซ์วางขาย … สรุปเลยเป็นผลพลอยได้จาก MS Windows 7 ซะงั้น .. ฮาๆๆ

พอโหลดไฟล์ BIOS มา ก็มีโปรแกรมสำหรับแฟลช BIOS ใหม่ สำหรับ DOS และ Windows 32 bits … แล้วจะทำไงล่ะนี่ เครื่องที่ใช้อยู่ ไม่มีทั้งสอง OS ! .. พยายามจะทำ Windows XP Live USB บนลินุกซ์ก็จะใช้ท่ายากเกินไป .. จะหาฮาร์ดดิสก์ Windows XP มาเสียบใช้ชั่วคราวก็ต้องตามหาไดรเวอร์ .. สุดท้าย เลยหันมาหา FreeDOS โดยเอา UNetbootin ทำ FreeDOS Live USB แล้วก๊อปปี้ไฟล์สำหรับแฟลช BIOS สำหรับ DOS ลงไปด้วย เสร็จสรรพก็บูตจาก USB …

บูตเสร็จก็จะปรากฎ prompt เป็น A: เป็นไฟล์ในอิมเมจของ FreeDOS และถ้าเปลี่ยนไปไดรว์ C: ก็จะเห็นไฟล์ที่ก๊อปไว้ใน USB

รันแบตช์ไฟล์ เข้าโปรแกรมแฟลช ก็จะเริ่มทำงานเลย ไม่มีรอถาม (Y/N) ให้เปลี่ยนใจ … เลยทำได้แต่ภาวนาว่าอย่าให้เกิดปัญหาอะไรขัดจังหวะโปรแกรมแฟลช

… แฟลชสำเร็จ เครื่องก็รีบูต ..

เข้าเมนู GRUB2 เอา acpi_no_auto_ssdt ออก .. Ctrl-X บูต .. สำเร็จ ! ในที่สุดก็มาใช้ Intel Atom N280 ใน Acer Aspire One D150 ก็ทำงานได้ที่ 1.00 – 1.66 GHz แล้ว .. ใช้งานได้สมบูรณ์เสียที :D

mirror.kku.ac.th

mirror.kku.ac.th เป็นหนึ่งในผลจากงาน Thailand Mini-DebCamp 2010 ที่จัดกันไปเมื่อเดือนมีนาคมที่ผ่านมา เหตุจากที่เรื่อง mirror เป็นหนึ่งในหัวข้อที่จะหารือกัน ซึ่งก็ได้โอกาสดีที่ Andrew Lee (mirror admin ของ ftp.tw.debian.org) กับ อ.ฉัตรชัย @ CoE PSU (mirror admin ของ ftp.th.debian.org) เข้าร่วมกิจกรรมของค่าย เลยเริ่มมีแนวคิดว่าน่าจะมี Debian mirror เพิ่มขึ้น ไม่ใช่ว่าของเดิมไม่ดี แต่ว่า mirror นี่ ยิ่งมีหลายแห่งยิ่งดี ผู้ใช้จะได้เข้าถึงได้ง่ายและเร็วขึ้น

ได้ความตามนั้นก็เลยเมลขอเซิร์ฟเวอร์ว่างๆ จากศูนย์คอมพิวเตอร์ มข. เพืื่อเซ็ต mirror เผื่อว่าถ้ามี workshop ในช่วง DebCamp จะได้เซ็ตใช้งานจริงใน มข. ไปเลย สามวันต่อมาก็ได้รับเมลข่าวดีว่าได้เครื่องทำ mirror.kku.ac.th แล้ว เป็น Intel Xeon Quad-Core + 4 GB RAM + Dual GbE ต่อกับ 3-TB partition บน SAN

แต่กว่าจะได้เซ็ตจริงก็เป็นสัปดาห์หลังจากเสร็จค่าย โดยเริ่มเซ็ตตามที่หน้า setting up a debian archive mirror บอกไว้ เสร็จสรรพก็เริ่ม rsync debian archive มาจาก ftp.tw.debian.org เหตุเพราะ apt-spy มันรายงานว่า ftp.tw.debian.org เป็น mirror ที่ให้ transfer rate สูงสุด (เร็วกว่า ftp.th.debian.org ที่อยู่บน UniNET backbone เหมือนกัน งงซะ!) .. พอลองวัดแบนด์วิธจริงๆ แล้ว ปรากฏว่า ftp.th.debian.org มีอัตราส่งที่ราบรื่นกว่า และสูงกว่า ftp.tw.debian.org เล็กน้อย เลยเปลี่ยนมา rsync จาก ftp.th.debian.org แทน ซึ่งเป็นการลดการใช้แบนด์วิธต่าวประเทศซ้ำซ้อนด้วย (ftp.th.debian.org ก็มี upstream เป็น ftp.tw.debian.org)

เวลาผ่านไป 5 วัน ก็ sync รอบแรกเสร็จ ได้มาทั้ง debian archive, debian volatile, ubuntu archive, และ ubuntu release (CD images).

จากนั้นก็เริ่มทำ push mirror เพื่อให้อัปเดตอัตโนมัติโดยไม่ต้อง cron เป็นช่วงๆ .. งานนี้ได้ Andrew ช่วย setup push ส่ง ubuntu มาให้ และ อ.ฉัตรชัย setup push สำหรับ debian จาก trace ของ debian archive บน mirror.kku.ac.th ก็จะเห็นเวลา update ตามลำดับนี้

  1. ftp-master.debian.org
  2. syncproxy.wna.debian.org
  3. ftp.tw.debian.org
  4. ftp.th.debian.org
  5. mirror.kku.ac.th

หรือ จะดูที่ debian mirror checker ก็ได้

ส่วน trace ของ ubuntu archive จะประมาณ

  1. cocoplum.canonical.com
  2. syowa.canonical.com
  3. jackass.canonical.com
  4. ftp-osl.osuosl.org
  5. ftp.tw.debian.org
  6. mirror.kku.ac.th

เรื่องของ ubuntu mirror ทำเสร็จก็ทิ้งไปนาน เพราะช่วงเมษาฯ เดินทางไปเกือบครึ่งเดือน เลยลืม register mirror.kku.ac.th เป็น official ubuntu mirror จนกระทั่ง Andrew เมลมาเตือน + cc: Jonathan Davies (ubuntu mirror admin.) ให้ด้วย เลยรีบ register อย่างด่วน สุดท้ายก็ได้สถานะ official สำหรับ archive ก่อน และ CD image ในภายหลัง ก่อนวัน release Ubuntu 10.04 ไม่ถึง 2 วัน

เวลานี้ถ้าเข้าหน้า “Download Ubuntu” ที่ ubuntu.com จะสามารถเลือกดาวน์โหลดจาก “Thailand” ได้ ซึ่งจะ redirects มาที่ mirror.kku.ac.th. :)

สถิติ หลัง Ubuntu 10.04 released ได้ 24 ชั่วโมง นับเฉพาะโหลด Ubuntu 10.04 ISO image เจอ hit ไปมากกว่า 550,000 ครั้ง จาก 2901unique IP addresses ถ้าดูจาก referrer ส่วนใหญ่มาจากหน้า “Download Ubuntu” นั่นแหละ

ช่วงรีลีส 10.04 นี่ mirror.kku.ac.th รับโหลดเยอะ บวกกับไม่ได้จูนอะไรเลย ทั้งเคอร์เนล TCP/IP และเว็บเซิร์ฟเวอร์ ..ผลคือ mirror.kku.ac.th เกิด errors ราว 10% ของ requests ทั้งหมด ก็เลยได้บทเรียนมานั่งจูน ปรับโน่นนั่นนี่ไปเรื่อย ก็หวังว่ามันจะให้บริการโดยไม่ขายหน้าคนอื่น :P

สุดท้ายนี้ต้องขอบคุณ ศูนย์คอมพิวเตอร์ มข. เจ้าของเซิร์ฟเวอร์และสตอเรจ และเพื่อนๆ ในงาน DebCamp หลายคนที่กระตุ้นและช่วยเหลือจนมี mirror.kku.ac.th :)

Load test on mirror.kku.ac.th

# ab -n1000 -c1000 http://mirror.kku.ac.th/ubuntu-releases/10.04/ubuntu-10.04-desktop-i386.iso

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking mirror.kku.ac.th (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        lighttpd/1.4.19
Server Hostname:        mirror.kku.ac.th
Server Port:            80

Document Path:          /ubuntu-releases/10.04/ubuntu-10.04-desktop-i386.iso
Document Length:        733419520 bytes

Concurrency Level:      1000
Time taken for tests:   553.580 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      733419778000 bytes
HTML transferred:       733419520000 bytes
Requests per second:    1.81 [#/sec] (mean)
Time per request:       55358.013 [ms] (mean)
Time per request:       55.358 [ms] (mean, across all concurrent requests)
Transfer rate:          1293814.95 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    2   0.8      2       5
Processing: 39668 55196 5174.5  54821   66715
Waiting:        0    3   6.6      1      24
Total:      39671 55197 5174.1  54823   66717

Percentage of the requests served within a certain time (ms)
  50%  54823
  66%  57371
  75%  57856
  80%  58134
  90%  58885
  95%  66254
  98%  66476
  99%  66611
 100%  66717 (longest request)