Don’t be a zealot.

จากเหตุการณ์ช่วงนี้ เป็นเรื่องที่ผมคาดคิดไว้อยู่แล้วว่าเมื่อ Blognone คนมากขึ้นมันต้องเจอเข้าแน่ๆ แต่ไม่ถึงเวลามันก็นึกกันไม่ออก เลยมารวมรวบไอเดียเอาไว้ เนื่องจากยังไม่ได้เรียบเรียง เลยลุยเป็นข้อๆ ไปล่ะกัน

– ไม่แปลกเลยที่ใครจะชอบหรือไม่ชอบอะไร ผมลำเอียงเสมอ เข้าข้าง ThinkPad อย่างเห็นได้ชัด และมีแง่ลบกับปชป. อยู่
– ปัญหาสำคัญคือพวกขี้น้อยใจ เชื่อผมเถอะ ไม่ว่าจาวา ไมโครซอฟท์ แอปเปิล ฯลฯ เค้าไม่ได้รู้สึกรู้สาอะไรหรอกที่มีคนมาช่วยน้อยใจ บริษัทมันขายของได้มีกำไรก็แบ่งผู้ถือหุ้นไป ง่ายๆ อย่างนั้น
– Blognone เป็นเว็บไอที Apple, ThinkPad ฯลฯ __ไม่ใช่ความเชื่อ__ ไม่ใช่ศาสนา ไม่มีศาสดา ไม่มีซาตาน หลบหลู่ได้ ไม่บาป
– ถ้าเรียนบริหารมาบ้าง คงรู้จักกับ SWOT Analysis ถ้ารักชอบอะไรต้องยอมรับว่าของแต่ละอย่างมันมี Weakness ในตัวมัน ป่วยการที่จะไปไล่บอกชาวบ้านว่าอย่าพูดถึง Weakness
– ว่าง่ายๆ เวลาเจอจุดอ่อน เงียบไว้ได้ ไม่มีใครว่า การไปไล่จี้คนอื่นมาตอบความเห็นตัวเองเป็นอาชญากรรมใน Blognone
– เวลาดีช่วยกันชมเข้าไปก็ได้อีกไม่ว่ากัน +1 ได้บวกไป +10 หรือ +1000 ดูเหมือนเด็กตอบสำหรับผม การบวกเลขมากๆ แสดงความเห็นด้วยมากๆ จะชวนให้ผมรู้สึกว่าความเห็นนั้นน่าจะไม่น่าอ่าน
– ใช้อยู่ก็ติได้ ไม่ใช้ก็ติได้อยู่ดี มันมีเรื่องให้ติเลยไม่ใช้แปลกตรงไหน (ว่ะ)
– ห่วยมากเกินอย่าใช้ ไม่มีตัวเลือกอื่นที่ดีกว่าให้ทนต่อไป ทนไม่ได้เปิดบริษัทสร้างสินค้าเองเลย
– ไม่มีงบเลยไม่ใช้ก็ไม่แปลก ต่อให้เงินเดือนเดือนละล้านก็คงไม่ซื้อตัว Top ทุกยี่ห้อมาเผาเงินเล่น มีเงินเดือนเดือนละล้านผมใช้ R61 แล้วสร้างบ้านหรูๆ อยู่ดี
– คนดูถูกคนอื่นด้วยความจนเป็นคนชั้นต่ำในสายตาผม
– แบรนด์เป็นข้อดี ใช้แล้วดูดีเป็นข้อดี เห็นด้วยเสมอ แต่ประเภทดูดีแล้วรู้สึกว่ามันทนอันนี้เริ่มเป็นความเชื่อ ไม่มีไวรัส ไม่แฮงค์ อันนี้มั่ว ควรตั้งสติก่อนจะเชื่อว่าใช้แล้วบินได้
– เชื่อเถิดว่าไม่มีสินค้าใดสมบูรณ์ ถ้ามีแล้วจีนแดงลอกได้ บริษัทในอเมริกาคงเจ๊งกันหมด
– เพราะฉะนั้นมันจะมีคนติ มันจะมีคนด่า บริษัทมันถึงต้องมี wishlist ให้คนขอการปรับปรุง
– แพงก็เป็นข้อเสีย ไม่แปลกที่มันจะโดนติเพราะมันแพง กาแฟในม. ผม 40 บาทผมก็ติทุกวัน ปากซอยบ้านผม 25 บาทอร่อยไม่ต่างกัน

ผมไม่ใช่คนพุทธ ผมไม่เชื่อว่าคนเราควรละจาก “อารมณ์” สำหรับผมแล้ว “โกรธคือโกรธ โมโหคือโมโห” โกรธได้ โมโหได้ แต่ตำถามคือเราใช้มันเป็นแรงผลักดันอะไร? ประเภทว่า “อัดมันกลับไป” อย่างนี้มันไม่ต้องคิดอะไรมาก แต่ถ้าคิดอะไรมากกว่านั้นอีกขั้น ใช้แรงจากอารมณ์ตอนนั้นในเชิงบวก ตอบโต้ด้วยข้อมูลและการ contribute ในด้านที่เราสนับสนุ

ผมเชื่อว่ามันจะทำให้โลกดีกว่านี้

 

Self Motivated

Self Motivated เป็นหนึ่งในคุณสมบัติที่เห็นกันอยู่เรื่อยๆ ตามประกาศสมัครงานทั้งหลาย

ผมเคยสงสัยมาตลอดว่าจะใส่ไว้ทำไม?… ด้วยความคิดว่าถ้าคนๆ หนึ่งไม่ motivated ในการทำงานแล้ว อาจจะหมายความได้ว่าเขาไม่เหมาะกับงานนั้นอยู่แล้ว ไม่ว่าจะเรียนตามเพื่อน หรือแค่อยากเรียนโดยไม่ได้อยากทำงานในสายงานนั้นๆ

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

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

และเรื่องอะไรๆ ที่ควรจะง่ายมันก็ยากกว่าที่คิด

 

No phone for me

ผมอยากได้ netbook แต่ผมไม่ได้ต้องการ netbook…

ทั้งหมดทั้งมวลที่ผมต้องการคืออุปกรณ์ขนาดเล็กที่สุดที่ผมจะพิมพ์งานได้ มันไม่ต้องใช้งาน Word รุ่นใดๆ ไม่ต้องจอใหญ่ พลังประมวลผลสูง

แต่ผมต้องการ full sized keyboard…

เนื่องจากไม่ได้ต้องการอะไรมากไปกว่านั้น และการซื้อ netbook ที่คีย์บอร์ดเต็มก็ดูจะแพงบรรลัยสำหรับผม ทางเลือกที่ดีกว่าคือ…

[Apple Wireless Keyboard](http://store.apple.com/th/product/MB167LL/A?fnode=MTY1NDA1Mg&mco=MjE0Njk2Mg)

ข่าวดีคือมันต่อกับ Symbian ได้ผ่านทาง Driver ของ Nokia

ข่าวร้ายคือมันเปลี่ยน Layout ไม่ได้ นั่นหมายถึงมันพิมพ์ภาษาไทยไม่ได้เลย

จากการหาข้อมูลใน Windows Mobile ไม่พบข้อมูลใดๆ เพิ่มเติมในเรื่องนี้

ส่วนใน Android นั้นยังเป็นวุ้นอยู่ใน Cupcake

ซื้อ N810 มาลง Jaunty ดีกว่าวุ๊ย….

 

Address Space Layout Randomization

วันนี้เจอเรื่องประหลาดที่ไม่ค่อยได้เจอเยอะ เอามาจดเอาไว้

ปัญหาสำคัญในเรื่องของความปลอดภัยของซอฟต์แวร์คือเวลาที่โปรแกรมเมอร์ทำงานพลาด แล้วปล่อยให้แฮกเกอร์เอาโค้ดอื่นๆ มารันในซอฟต์แวร์ตัวเองได้ เช่นบั๊ก Buffer Overflow แฮกเกอร์มักหาทางไปต่อด้วยการหาคำสั่งอื่นๆ โดยเฉพาะพวก System Call ที่สร้างความเสียหายให้กับระบบ หรือเปิดช่องโหว่อื่นๆ ขึ้นมาเรื่อยๆ ง่ายๆ เช่นการสั่ง system() นั้นหมายความว่าแฮกเกอร์จะทำอะไรก็ได้เท่าที่ user ที่รันโปรแกรมนั้นทำได้

ตาม Murphy’s Law แล้ว โปรแกรมที่มีบั๊กนั้นมักจะรันใน root เสมอ

ในดอสนั้นปัญหาอย่างนี้เกิดง่ายมาก เพราะว่าตำแหน่งของ System Call ต่างๆ นั้นตายตัว ถ้าอ่านคู่มือของ OS มาเยอะๆ ก็จะรู้ทันทีว่าควร Jump ไปยัง Address ไหนเพื่อเรียก System Call อะไร เรียกว่าเจาะเข้า process ได้ปุ๊บก็เรียบร้อยกันไปเลย

แล้วอย่างนั้นจะทำยังไงดี

ตอบแบบกำปั้นทุบดินก็คงเป็นว่าไปบอกโปรแกรมเมอร์ให้เขียนโปรแกรมไม่มีบั๊ก เหมือนบอกว่านักการเมืองไม่โกงเมื่อใหร่แล้วบ้านเมืองจะดีเอง

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

คิดง่ายๆ คือเอา System Call ไปซ่อนมันซะเลย ทีนี้จะซ่อนมันที่ไหนดี เพราะถ้าถ้าซ่อนแล้วแฮกเกอร์รู้ มันก็ตามไปรังควานอีกจนได้นั่นแล

ในลินุกซ์นั้นเลยคิดอะไรที่ง่ายกว่านั้นคือการวางตำแหน่งของ ไลบราลี, Heap, Stack ฯลฯ ให้มั่วจนเละเทะ ทีนี่เวลาแฮกเกอร์เจาะเข้ามาได้ก็จะเริ่มทำอะไรไม่ถูก เพราะไม่รู้อะไรอยู่ตรงไหน จะไล่กวาดมั่วซั่ว ก็กวาดไปได้แป๊บเดียวก็พลาดไปทำ exception ขึ้นแล้วโปรแกรมก็ segmentation fault ไป

เทคนิคนี้เรียกย่อๆ ว่า ASLR (Address Space Layout Randomization) มันถูกเสนอขึ้นมาครั้งแรกในปี 2001 ถูกเปิดใช้งานเป็นค่ามาตรฐานในลินุกซ์ครั้งแรกในรุ่น 2.6.12 หรือช่วงปี 2005 ส่วนวินโดวส์นั้นใช้งานครั้งแรกตอน Vista และ Windows Server 2008 แต่พบว่ามีปัญหาในการสุ่มอยู่บ้าง และได้รับการแก้ไขใน SP1 ส่วน OS X นั้นรุ่น 10.5 แม้จะมีการสุ่มตำแหน่งไลบราลีบ้างแต่ก็ไม่ได้ทำเต็มที่อย่างเช่น OS ตัวอื่นๆ นัก

อ่อ ลืมไปว่าบล็อกนี้ geek จัด ถ้าอ่านมาแล้วเหมืนออ่านภาษาขอมก็ขออภัยผู้อ่านครับ