Caps Lock บน Apple Keyboard ใหม่ แข็งเพราะจงใจ?

ตอนที่เขียน รีวิว Apple Keyboard ใหม่ ไปใน blog คราวก่อน ผมค่อนข้างจะบ่นเรื่องที่ปุ่ม Caps Lock มันแข็งกว่าปกติ ซึ่งก่อปัญหาให้กับผมเวลาใช้งานพอสมควร เนื่องจากตัวเองใช้ปุ่ม Caps Lock ในการสลับภาษาแบบเร็วๆวันนี้ไปเจอมา ว่าจริงๆ แล้วนี่อาจจะเป็น ความตั้งใจ ของ Apple ที่ทำให้ Caps Lock แข็งกว่าปกติ

อืมมม ถ้าเป็นเช่นนั้นจริง และลองคิดถึงว่า จริงๆ แล้วก็มีคนกดปุ่ม Caps Lock ผิดแบบไม่ได้ตั้งใจ (เพราะว่าคิดจะกด tab หรือ shift ด้านซ้ายมือ) เยอะพอสมควร … จะว่าไปปุ่ม Caps Lock มันก็เป็นปุ่มที่ใช้งานน้อยพอสมควรปุ่มหนึ่งล่ะนะ ดังนั้นถ้าจะมองจาก Usability design ที่จะป้องกันความผิดพลาดล่ะก็ มันก็ make sense อยู่ล่ะ คือ ถ้ากดผ่านๆ แบบแตะๆ มันก็จะไม่ถือว่าเรากด ดังนั้นต้องกดนานกว่าปกตินิดนึง ซึ่งก็จะทำให้จังหวะการพิมพ์มันเสียไปนิดหน่อย หรือว่ากดแบบเน้นๆ นิดนึง ซึ่งจะเปลืองพลังงานมากกว่าปกตินิดหน่อยสรุปว่า อืมมมม คนแบบผมมันคงจะเป็นส่วนน้อยล่ะนะ หรือว่าคนที่ใช้ปุ่ม Caps เพื่อวัตถุประสงค์ในการเปลี่ยนภาษาเร็วๆ นี่คงจะเป็นส่วนน้อย เพราะว่าถ้าจะพิมพ์ตัวใหญ่แค่ตัวสองตัว ก็คงจะกด shift เอามากกว่าอืมมม make sense ล่ะครับ แต่ว่าสำหรับการใช้งานส่วนตัว ผมยังอยากให้มันอ่อนเท่ากับ key อื่นๆ เหมือนเดิม (ส่วนหนึ่งเพราะลักษณะการใช้งานของผม และส่วนหนึ่งมาจาการที่ผมไม่เคยกด Caps ผิด) …​ แต่ว่าครั้งนี้ ถ้า Apple ได้วิเคราะห์พฤติกรรมของผู้ใช้แล้วจริงๆ ว่ามีการกด Caps ผิดแบบไม่ได้ตั้งใจเยอะพอ และปุ่ม Caps ก็เป็นปุ่มที่ใช้งานน้อยอยู่แล้ว … ดังนั้นการออกแบบคีย์บอร์ดมาแบบนี้ก็เหมาะสมดีอยู่

อัพเกรด bash

เขียน shell script ใน bash (Bourne-Again SHell) มาก็หลายตัว สิ่งที่รำคาญที่สุดก็คือการเขียน loop เพราะว่าต้องเขียน

for i in 1 2 3 4 5

อะไรทำนองนี้ ถ้ามันเป็นตัวเลขก็ยังพอจะหาโปรแกรมพวก seq หรือว่า jot มาใช้ได้ไม่ยากนัก หรือว่าจะเขียนเองก็ไม่ได้ยากเย็นอะไรเท่าไหร่ ถ้าบางทีเป็นตัวอักษรนี่ก็คงจะลำบากหน่อย แต่ว่าก็เขียน Ruby script ที่จะสร้าง sequence ตัวอักษรต่อๆ กัน ก็ไม่ได้ยากเท่าไหร่ …. แต่ว่าคำถามก็คือว่า ทำไมต้องมาทำแบบนี้ด้วยหว่า มันน่าจะมีอะไรซักอย่างที่ช่วยได้สิ

และแล้ววันนี้ก็ไปเจอมาจาก blog ของ Sam Danielson

เห็นแล้ว โอ้โฮ!

for i in {1..12}

ไม่พอๆ หรือว่า

mkdir {a..z}{1..12}

ไอ้นี่สิ killer ชัดๆ

wget http://www.anoyingpages.com/page_{1..12}.html

เพิ่งจะรู้ว่า bash มันทำแบบนี้ได้ด้วยแฮะ! ทำไมไม่เคยรู้มาก่อนเลยหว่า

และแล้วเราก็ลองไปเล่นใน bash เรามั่ง … และแล้วเราก็มานั่ง bashing มัน ทำไมมันไม่ work วะ ให้ตายเถอะ ก็เลยลอง search หาเรื่อง Brace expansion ใน bash ต่อไป และแล้วเราก็มาถึงบางอ้ออีกครั้ง

บางอ้อที่ว่านี่ก็คือเลข version และแล้วเราก็เลยต้องรีบไป check version ของ bash เราว่ามันเป็นไง

echo $BASH_VERSION

สรุปว่าเป็น 2.05b … โห OS X 10.4 (Tiger) มันให้ bash เก่าขนาดนี้เลยหรือนี่ (ปล. ห้ามใช้ bash –version นะครับ เพราะว่ามันไม่ได้หมายความว่ามันเป็น bash ตัวที่คุณใช้อยู่ มันแค่เป็นตัวแรกที่อยู่ใน path เท่านั้นเอง)

ก็เลยเข้าไป check ดูจาก new features list ของ bash 3 มีเยอะแยะมากมาย ….​ อืมมม ถึงเวลาที่จะต้องเปลี่ยน shell แล้วหรือนี่

ก็หามาลงสิครับพี่น้อง! และแล้วเราก็ไปเอา source ของ bash 3.2 มาลง ก็ compile ลงตาม step ปกติ โดยผมให้ไปลงที่ /usr/local/ ครับ แล้วเดี๋ยวค่อย chsh กับทำ symbolic link เอา อ่อ อย่าลืม backup bash ตัวเก่าไว้ด้วยนะครับ (เก็บเป็น bash2 หรือว่าอะไรก็ได้) เดี๋ยวจะมีปัญหา….. กลัวเหมือนกัน

ไม่ได้ apply patch อะไรเลยนะ (เห็นมีตั้ง 25 ตัว) ขี้เกียจ …

พอลงเสร็จแล้ว ตอนนี้ใช้งาน bash 3.2 เฮ้อ ใช้ command-line บน terminal มีความสุขขึ้นเยอะเลย ลองทำตามตัวอย่างใน web ของ Sam Danielson ก่อนก็ได้ครับ สนุกดี :-D

หวังว่า OS X 10.5 (Leopard) จะเป็น bash 3 โดย default นะ … (ใครลง beta หรือว่า preview อยู่ ช่วยทดสอบหน่อยครับ)

[update 1]: เพิ่ม killer example อีกตัว (wget)
[update 2]: เพิ่ม link ไปที่ source code ของ bash 3.2 แล้วก็แก้เลข version ที่ผิดหลายที่

วิ่งวน วุ่นวาย

งานซ้อน
งานชน
วิ่งวน
วุ่นวาย

แปลกนะ ทำไมทำงานหลายอย่าง หลายต่อหลายอย่าง วิ่งวนไปวนมาหลายที่ ….. กลับไม่ค่อยรู้สึกเหนื่อยเท่าไหร่

แต่ทำไมนะ ….. หลายครั้งที่ไม่ได้เป็นแบบนั้นกลับเหนื่อยเสียดื้อๆ

9/07 Solaris Express Developer Edition

เปล่า ไม่ได้ review ครับ เพิ่งจะได้แผ่นมา ตัวนี้ครับ

เมื่อก่อนต้องมานั่ง download วุ่นวาย ส่วนมากจะต้องผ่าน download manager ของ Sun เอง ซึ่งทำได้ห่วยมาก (แบ่งไฟล์ตอน download จะได้เร็วๆ ก็ไม่ได้) แต่ว่่าตอนนี้สั่ง Free DVD ได้เลย ซึ่งเข้าท่าดี เหมือนกับ ShipIt ของ Ubuntu เลย

รู้สึกว่า trend นี้จะมาแฮะ ให้ request พวก open source/free software เป็น packaged DVD/CD เนี่ย เพราะว่าบางที net มันห่วย download ก็ไม่ค่อยจะได้เรื่องเท่าไหร่ บางทีก็ไม่ค่อยสะดวกนัก อิืมมม ให้สั่ง portable bandwidth ดีกว่า (ผมมอง CD/DVD/อะไรก็ได้ ว่ามันเป็น portable bandwidth น่ะ :-P) แต่ว่าจะทำได้มันก็ต้องเงินถุงเงินถังพอสมควร เพราะว่าถ้าคน order เยอะ ถึงแผ่นมันจะไม่กี่ตังค์ก็เถอะ แต่ว่าถ้าหลายแผ่น ก็คงจะบานปลายง่ายๆ เหมือนกัน

หรือว่าคนคงไม่ค่อยจะ order Solaris DVD เท่าไหร่มั้ง :-P (แต่ว่า Ubuntu นี่คงจะอีกเร่ือง)

เล่น Solari ครั้งสุดท้ายเมื่อนานมากแล้ว ไว้ครั้งนี้หาเครื่องมาเล่นมันได้ก่อน (ยังไม่รู้ว่าจะ dedicate เครื่องที่ lab เครื่องไหนไปเล่นมันดี) แล้วจะมา review ให้ฟังนะครับ