พอดีว่าชอบโปรแกรมช่วยดาวน์โหลดที่ชือว่า wget ที่ทำงานใน Linux เอามาก ส่วนใหญ่จะมากับ Linux Distro อื่นๆ แต่กับ OS X แล้วไม่ได้ใส่ลงมาด้วย เลยต้องไปหามาดาวน์โหลดเอาเอง ซึ่งก็ไม่ได้มีขั้นตอนอะไรสลับซับซ้อนมากนัก
Continue reading
Category Archives: Diary
10 เรื่องที่อยากทำปี 2554
มีหลายเรื่องที่อยากทำเหมือนกัน แต่ว่าเอาเรื่องเด่นๆ ที่อยากได้ทำจริงๆ ดีกว่า
- HTML5 เป็นอย่างแรกที่นึกขึ้นได้จริงๆ ถึงแม้ว่ามันจะไม่ได้ออกมาเป็นมาตรฐานอย่างเต็มตัวแต่ว่าก็ใช้กันค่อนข้างอย่างแพร่หลายแล้ว ซึ่งนอกจาก HTML5 เอง ก็คงต้องเป็น CSS3 + JavaScritp (ให้มากกว่านี้มาก)
- Scala & RoR ความจริงแล้วปีนี้ก็ตั้งใจไว้เหมือนกันจะอ่าน 2 ภาษานี้ แต่จนแล้วจนก็ยังไม่ได้เรียนสักที ปีนี้เลยกะว่าอย่างน้อยก็ให้ได้สักภาษาใดภาษาหนึ่งแล้วกัน
- หัดขับรถ (สักที) คงต้องหัดขับไว้ก่อน ถึงรถจะยังไม่มีก็ตาม แต่คงยังไม่สอบใบขับขี่แน่ๆ ขอแค่ให้ขับเป็นก่อนแล้วกัน
- หาข้อมูลเรียนต่อ ป.โท เรื่องนี้เป็นเรื่องที่บอกพี่หัวหน้าไว้ตั้งแต่ตอนเข้าทำงานปีแรกๆ จนตอนนี้ก็ยังไม่ได้เรียนต่อโทสักที อีกอย่างคงต้องเป็นทุนคนอื่นด้วย ถ้าจะให้จ่ายเองก็ยังดีกว่า ฮาๆ (แอบงง)
- Java ขั้นสูง ถึงทุกวันนี้จะทำงานโดยใช้ Java เป็นหลัก แต่ยังคิดว่ารู้จัก Java แค่ผิวเผิน เพราะรู้สึกว่าภาษาของผมนี่เป็นแบบครูพักลักจำจริงๆ ทำให้อยากรู้จักกับโครงสร้างและการทำงานของ Java ให้ดีมากขึ้นกว่านี้
- Cocoa and Cocoa Touch ปีนี้ถือได้ว่าเป็นปีที่อ่าน Objective-C ได้มากที่สุดตั้งแต่ตั้งใจมาเมื่อ 2 ปีที่แล้ว ได้ลองเขียนโปรแกรมลงมือถือมากขึ้นและกำลังจะต้องกลายมาเป็นส่วนหนึ่งที่ต้องทำในงานหลักด้วยจากเดิมคิดว่าน่าจะเป็นของเล่นตอนว่างๆ เท่านั้น แต่พอลองจับมันจริงๆ จังๆ ก็รู้เลยว่ามันสนุกดีแฮะ ถ้าเทียบกับเขียนโปรแกรมบน Android แล้ว รู้สึกได้เลยว่าการเขียนโปรแกรมบน iOS ใช้พลังงานน้อยกว่าอย่างเห็นได้ชัด
- หาอาชีพเสริม (สักที) เพราะปีนี้เริ่มจัดงานกับเวลาได้ลงตัวมากขึ้นแล้ว เลยอยากลองหาอาชีพเสริมทำอยู่เหมือนกัน คงไม่พ้นงานที่เกี่ยวกับการเขียนโปรแกรมนี่ล่ะนะ ก่อนหน้านี้ที่ยังไม่เคยรับงานนอกก็เพราะคิดว่ายังไม่กล้าบอกใครได้อย่างเต็มปากเต็มคำว่าเก่งอะไรกันแน่ ส่วนปีนี้ที่อยากลองรับดูบาง แค่อยากลองก็เท่านั้น คงเป็น WordPress, iOS Dev., Web Application (PHP) ไม่พ้นพวกนี้ล่ะ
- อ่านหนังสือให้หมด ปีที่ผ่านมานี้รู้สึกว่าตัวเองบ้าซื้อหนังสือมาก 10 กว่าเล่มเห็นจะได้ ทั้งแบบ Hard Copy แล้วก็แบบ e-book ซึ่งส่วนใหญ่แล้วจะซื้อมาอ่านเพื่อบนมือถือซะมากกว่า ทำให้ตอนนี้เล็งๆ iPad 2 ไว้เหมือนกัน เฮ้ออ เสียเงินอีกแล้ว :)
- เรียนภาษาเพิ่ม ปีนี้เป็นปีที่รู้สึกดีกับภาษาตัวเองมาก เพราะอ่านและฟังภาษาอังกฤษตอนนี้ถือว่าใช้ได้แล้ว ผิดกับแต่ก่อนที่จะอ่านส่วนฟังนี่จะจับใจความได้ประมาณ 40-50% ส่วนตอนนี้ก็เริ่มฟังเข้าใจประมาณ 80-90% แล้ว ส่วนเรื่องพูดกับเขียนนี่ยังไม่ดีเท่าทีควร ต้องของคุณ Podcast ทั้งหลายที่โหลดมาฟังจริงๆ
- ไปเที่ยวคนเดียว ดูรายการ “หนังพาไป” แล้วอยากลองไปเที่ยวคนเดียวดูเหมือนกัน คงเริ่มต้นด้วยการเที่ยวในประเทศคนเดียวนี่ล่ะ แล้วค่อยๆ ลามไปประเทศเพื่อนบ้านเล็งๆ เขมรกับลาวก่อนเลย แล้วค่อยไปประเทศแถวๆ เอเชียนี่ล่ะ แต่ก่อนอื่นก็คงต้องไปทำ Passport ให้ได้ก่อน
วิธีการแชร์สัญญาณอินเทอร์เน็ตสำหรับ OS X
พอดีว่าช่วงนี้ยกเลิกเน็ตที่หอไป (เนื่องด้วยเพราะความห่วยของบริษัทที่ดูแลเน็ตเวิร์ค) ตอนนี้เลยเปลี่ยนมาใช้มือถือหรือไม่ก็ 3G Aircard แทน แต่เพราะว่าในห้องมีอุปกรณ์หลายอย่างที่อยากใช้อินเทอร์เน็ตบ้าง ก็เลยหาวิธีแชร์สัญญาณอินเทอร์เน็ตตามนี้
- เริ่มแรกด้วยการเข้าไปที่ System Preferences ในส่วนของ Internet & Wireless ให้เลือก Sharing
- ในหน้า Sharing ให้เลือก ที่หัวข้อ Internet Sharing (สังเกตที่รูปกุญแจด้านล่างด้วย หาก lock อยู่ให้คลิ้กและใส่รหัสไปก่อนเพื่อปลดล็อคให้เป็นเหมือนในรูป)
จะมีตัวเลือกอยู่ 2 ส่วนที่ต้องทำความเข้าใจคือ
- Share your connection from: จุดเชื่อมต่อหลักที่รับสัญญาณอินเทอร์เน็ตเข้ามาเพื่อแชร์ออกไปให้กับอุปกรณ์อื่น ในกรณีนี้ผมต้องการแชร์สัญญาณจาก Ethernet Adapter (สายแลน) ผ่านทาง AirPort (Wi-Fi) ตัวเลือกนี้เลยกลายเป็น “Ethernet Adapter” โดยที่ตัวเลือกนี้จะเป็นรายการการเชื่อมต่อที่เครื่องรู้จักในส่วนของ Network (System Preferences > Network)
- To computer using: คือ Connection ที่เราต้องการกระจายสัญญาณออกไป ในที่นี้ผลเลือกเป็น AirPort เพราะต้องการกระจายสัญญาณออกไปแบบ Wi-Fi
- แต่ถ้าไม่ต้องการให้คนอื่นมาขโมยเน็ตเราใช้ด้วยก็ให้เข้าไปที่ AirPort Options เพื่อกำหนดชื่อและรหัสผ่านของ Network ที่เราสร้างขึ้น
- จากนั้นคลิ้กที่ตัวเลือก “Internet Sharing” ในช่องทางฝั่งซ้ายมือเพื่อเริ่มต้นการกระจายสัญญาณ โดยที่ไอคอนรูปสัญญาณ Wi-Fi เราจะเปลี่ยนไป
- สุดท้ายให้ไปที่อุปกรณ์ที่เราต้องการแล้วหา Network ชื่อ Zodiac และใส่รหัสผ่านตามที่ได้ตั้งไว้ในข้อ 3 ซึ่งในตัวอย่างนี้ผมใช้กับมือถือจะเห็น Network ที่ชื่อว่า Zodiac โผล่ขึ้นมา โดยมี IP Address ดังรูป
เขียนไว้กันลืม
ทดสอบด้วย
- OS X 10.6.5
- iPhone 4
ซ่อน/แสดง package เปล่า
เปลี่ยนมาใช้ eclipse ได้สักพัก เหตุผลก็เพราะพื้นที่หน้าจอที่กว้างกว่า NetBean เอามากๆ เลย ซึ่งทั้ง 2 ตัวนี้มันก็มีข้อดีข้อเสียต่างกันไป ถ้าเอา feature ทั้งหลายมารวมกันได้ก็จะดีไม่น้อย
ส่วนที่เจอนี่เข้าใจว่าจะเจอกันนานแล้ว (แต่ตอนใช้เวอร์ชั่นก่อนๆ นี้ไม่เป็น – ตอนนี้ใช้ Helios อยู่) ที่ eclipse จะแสดง package ว่างๆ ส่วนตัวแล้วมันรกหูรกตา เลยต้องหาทางซ่อนมันจนได้
ซึ่ง ปัญหานี้แก้ได้ง่ายมาก โดยให้ไปเลือกที่เมนู filter ของ package explorer (สามเหลี่ยมชี้ลงตรงมุมขวา) ถ้าเคยใช้มาแล้วก็จะมีประวัติการใช้งาน (1 และ 2) ดังเมนู
จากนั้นจะมีตัวเลือกขึ้นมาแสดง ในกรณีนี้ผมเลือกคลิ้กที่ “empty packages” และ “empty parent packages” เพื่อซ่อน package เปล่าๆ
กด OK แล้วเราจะได้หน้าจอที่หล่อขึ้นแบบนี้
Tethering with Samsung Galaxy Spica
ว่าด้วยความอยากเอาโทรศัพท์มาต่อเน็ต แต่เครื่องที่ใช้อยู่ก็ดันเป็น android นี่ล่ะสิปัญหาใหญ่ ที่ว่าใหญ่ก็เพราะถึงจะใช้เครื่องมาได้สักพักแล้วก็จริง แต่ว่ายังไม่ค่อยได้งัดแงะอะไรเลย อย่างมากก็แค่อัพเดตเฟิร์มแวร์เอง กับเขียนโปรแกรมใช้เองนิดหน่อย พออยากใช้เน็ตเข้าจริงๆ ก็ลองสรรหาวิธีการอยู่นาน ทั้ง root เครื่องก็แล้ว ลงแอพโน่นแอพนี่ก็แล้ว ดีที่ไม่เสียเงินแค่เสียเวลา แต่ก็ได้เล่นอะไรไปเรื่อยเปื่อยกับ Spica ถือว่าสมประโยชน์ด้วยกันทั้ง 2 ฝ่ายแล้วกัน
จนในที่สุดก็พบว่ามันเป็น bug ของ Samsung ที่แอบปล่อยของเอาไว้ไม่ให้ OS รู้จักโทรศัพท์ของตัวเองในฐานะโมเด็ม ต้องไปใช้โปรแกรมของ Samsung เองเท่านั้นถึงจะทำได้ แต่ว่าโปรแกรมนี้มันทั้งอ้วน กินเครื่อง แถมที่สำคัญ “ทำงานได้กับ Windows เท่านั้น!” ด๋อยมาก แต่สุดท้ายด้วยความถึก + อยาก ก็พบวิธีการทำให้เป็น Modem ได้ง่าย
แค่กด “*#7284#” จากนั้นจะมีหน้าต่าง PhoneUtil ขึ้นมาให้เลือก Modem ที่ USB จากนั้นในหน้าต่าง Network (System Preferences > Network) ชื่อของ “GI-5700″ จะเปลี่ยนเป็น “SAMSUNG CDMA Technologies” ใส่เบอร์แล้วกด Connect ก็จะได้ตามรูปด้านล่างนี้แล
ส่วนความเร็วก็ไม่ถือว่าขี้เหร่อะไรมากนักกับ edge แถวๆ ชานเมือง
ข้อสังเกตุ
- ใช้ OS X 10.6.4 + Spica firmware: I5700UXJG1
- Spica เสียบกับ OS X แล้วจะเห็นเลย ไม่ต้องลงไดร์เวอร์เหมือน Windows
- ต้องเสียบ USB กับเครื่องอยู่ตลอด ผมถือว่าดีนะ ชาร์จแบตไปด้วยในตัว
- เนื่องจากไม่ต้องลงโปรแกรมเพิ่ม อาจจะใช้กับ Android Phone อื่นๆ ได้ด้วย
- สำหรับ Windows อาจจะไม่ต้องอาศัย Kies หรือโปรแกรมอื่นๆ จาก Samsung สำหรับสร้างการเชื่อมต่ออีกแล้ว
- อาจจะเอามะพร้าวห้าวมาขายสวน
Vimcasts: Introduce you to The Power of VIM
สักเดือนหนึ่งได้แล้วมั้ง เกิดความอยากใช้ Vim ให้คล่องบ้าง emacs คงไม่ไหว เพราะต้องมาเริ่มนับหนึ่งใหม่เลย ไหนๆ แล้ว Vim ก็พอมีพื้นอยู่บ้างเลยกะว่าหากินกับ Vim นี่ล่ะ ดูจะง่ายที่สุด อีกอย่าง Server ที่ใช้ส่วนใหญ่มีแต่ Vim อยู่แล้วด้วย (รวมทั้งเครื่องที่ใช้อยู่ตอนนี้) หาไปหามาก็ไปเจอกับ Vimcasts.org เข้าให้ ขอบอกว่าตอนแรกที่ดูนำ้ตาแทบไหล เพราะหลายอย่างพึ่งรู้จริงๆ ว่า Vim มันทำได้ ตอนแรกที่ดูคือ “Indentation commands”
ความจริงแล้วอยากเอาตัวอย่างมาวางไว้ในเว็บเหมือนกัน แต่เกรงใจเจ้าของ เลยคิดว่าให้ลิงค์ของเว็บแล้วเข้าไปดูเองจะดีกว่า รายการนี้มีอยู่บน iTunes ด้วย ขนาดไฟล์แต่ละตอนอยู่ประมาณ 10MB (ต่อให้ใหญ่กว่านี้ผมก็ว่าคุ้มที่จะโหลดมานั่งดู) ใครสนใจตามไปดูหรือดาวน์โหลด Vim มาเล่นก็ดูได้ที่ลิงค์ด้านล่างครับ
ข้อมูลเพิ่มเติม
- Vimcasts – http://vimcasts.org
- iTunes Link – Vimcasts
- Vim home – http://www.vim.org/
Spring Framework: First Impression
ช่วงนี้ห่างจาก Spring ไปนาน เพราะต้องไปจับ Zend (PHP) บ้าง จับ Java (ที่เขียนโค้ดถึกๆ ของน้องนักศึกษาฝึกงานบ้าง) ทะเลาะกับ Python และ Objective-C บ้าง จนวันก่อน (11 สิงหาคม) ว่างๆ เลยงัดหนังสือ Spring in Action (ซื้อมาตอนลดราคา 60% ช่วงวันขอบคุณพระเจ้า ฮ่าๆ) มาอ่านตอนนั่งรถกลับบ้านกลับบ้าน เล่มนี้อ่านไปแล้ว 1 รอบ แต่ก็แค่บทที่ 2 ยังอ่านไม่จบสักที อ่านไม่ทันจบก็ต้องทำโปรเจ็คเลย จำได้ว่าก่อน Spring 3.0 ออกมาแป๋บเดียว
พอกลับมาอ่านคราวนี้ พบว่าหลายอย่างเข้าใจผิดและหลงประเด็นไปค่อนข้างมาก อย่างเช่นเรื่อง Dependency Injection (DI) หรือ Aspect-Objects Programming (AOP) ซึ่ง 2 เรื่องนี้ถือได้ว่าเป็นหัวใจของ Spring เลยก็ว่าได้ ช่วงนั้นคิดเองเออเองไปเยอะ เลยออกแนวเป๋ไปจากแนวคิดของ Spring ค่อนข้างมาก แต่คราวนี้คงมีเวลาอ่านละเอียดขึ้นด้วยมั้ง ทำให้เข้าใจอะไรๆ เยอะขึ้น เลยพบว่า Java เองถึงจะมีรอยด่างบ้าง แต่ก็ยังมีเสน่ห์และความงามของมันอยู่เหมือนเดิม ตอนนี้ถึงจะยังไม่เข้าใจ Spring ทั้งหมด แต่ก็ไปในแนวทางที่ถูกที่ควรแล้ว เห็นภาพ DI และ AOP ได้อย่างถูกต้องแล้วล่ะ
คราวนี้นอกจาก Spring in Action แล้ว ยังดาวน์โหลด Spring Reference (PDF ~5MB) มาอ่านคู่กันไปอีกทาง ต้องบอกอย่างหนึ่งว่าเอกสารของ Spring Framework ดีมากจริงๆ เรียกได้ว่าตรงประเด็นไม่ค่อยมีน้ำมาปนเท่าไหร่นัก แต่ถ้าใครอ่านแล้วเห็นว่ามันเป็นยาขมก็ไม่ใช่เรื่องแปลกเท่าไหร่ อย่าตกใจไปลองไปอ่านภาษาไทยที่ Spring66 ดูน่าจะเห็นภาพ Spring ชัดขึ้น แล้วค่อยกลับไปอ่าน Spring Reference ใหม่ คิดว่าน่าจะทำให้เข้าใจได้มากขึ้น
ตอนนี้ก็เหลือทะเลาะกับ Hibernate อีกคน ซื้อหนังสือมาแล้วเหมือนกัน (Java Persistence with Hibernate) แต่ก็ยังอ่านไม่จบเหมือนเดิม คงอีกสักพักกว่าจะเคลียร์กันได้ แต่หลังจากที่ไปเล่นกับ Doctrine มา ทำให้เห็นภาพ Hibernate ได้ชัดเจนมากขึ้น ก่อนหน้านี้มีปัญหาเรื่องการ config เจ้า Hibernate นิดหน่อย สุดท้ายก็โหลด Hibernate Reference มานั่งอ่าน กระจ่างมาก เรื่องที่ติดส่วนใหญ่ก็คือการ Integrate เจ้า 2 คนนี้ให้ทำงานด้วยกันได้ ปัญหาใหญ่ก็คือ ตัวอย่างส่วนใหญ่ทั้งไทยและฝรั่งเป็นโค้ดเก่าเกินไป ลองทำตามดูหลายอันก็ไม่ได้สักที สุดท้ายมานั่งไล่แนวคิดแล้วลองเขียนเอง ฟลุ๊คได้ซะงั้น ช่วงนี้ก็เหลือแต่แก้โน่นแก้นี้ให้อะไรมันเข้าที่เข้าทางพร้อมทำงานจริงๆ ล่ะ
สุดท้ายก่อนกลับบ้านช่วงวันแม่ ตาเจ้ากรรมดันไปป่ะกับ Spring Roo เข้าให้ เคยเล่นมาแป๋บก่อนจะออกเป็น 1.0 พบว่าเออมันง่ายดีแฮะ แต่ก็ไม่ได้เล่นอะไรมากเท่าไหร่นัก เพราะยังไม่รู้ว่าจะเอามาทำอะไรเหมือนกัน ตอนนี้เป็น 1.1.0M2 แล้ว มีอะไรให้เล่นเยอะดี ลองทำตามโปรเจ็คร้านพิซซ่าเลยพบว่า โอ้ว มันเทพมาก โหลด Reference มานั่งอ่านแล้วเหมือนกัน แต่คงอ่านผ่านๆ สักรอบก่อนว่ามันทำอะไรได้บ้าง เจาะ Spring in Action เสร็จเมื่อไหร่คงได้มานั่งไล่อ่านอีกรอบ
ช่วงนี้เริ่มมีเวลาว่างมากขึ้น (แต่ก็ไม่ได้มากมายอะไรนัก) ก็เลยไล่อ่่านหนังสือที่ซื้อเก็บมาดองๆ ไว้ให้หมดซะ แต่ถ้าใครอยากลองเล่นกับเจ้า 2 คนนี้ เอกสารแนะนำคือ Reference ในเว็บมันเลย ยังไม่ต้องซื้อหนังสือให้เปลืองเงิน แนวการเขียนของทั้ง 2 ที่จะเหมือนกันคือค่อนข้างจะขวานผ่าซากหน่อย ไม่มีน้ำมากตรงประเด็น
Spring เป็น Framework ฝั่ง Java ตัวแรกและตัวเดียวที่เคยใช้ แล้วก็ตกหลุมรักเลย คงเพราะด้วยแนวคิดและวิธีการของ Spring หลายอย่าง คงใช้มันหากินแล้วล่ะ
ข้อมูล











