อยากได้หนังสือ StarCraft เลยโดนค่าเสียหายจาก Amazon ฮ่า …

พอดีว่า ไปท่องเที่ยวใน Amazon ตามภาษาคนอยากหาหนังสือดี ๆ อ่าน ดันไปเจอหนังสือนิยาย StarCraft เข้า บวกกับตอนนี้กำลังตามหา Set Box เกมที่เป็นชุดชื่อ StarCraft Battle Chest ซึ่งตอนที่มันมีขายไอ้เราก็ไม่ได้ซื้อไว้ แต่ตอนนี้มันหายากก็ดันไม่มีให้ซื้ออีก T_T โดยหนังสือที่เกี่ยวกับ StarCraft ที่ถูก Amazon สร้างความเสียหายก็ได้แก่

  1. StarCraft #1 : Liberty’s Crusade
  2. StarCraft #2 : Shadow of the Xel’Naga
  3. StarCraft #3 : Speed of Darkness
  4. Queen of Blades (Starcraft)

ซึ่งสั่งตั้งแต่วันที่ 14 ตุลาคม 49 ที่ผ่านมา แล้ววันนี้มันก็มาถึง ซึ่งจริง ๆ มันต้องมาถึงวันที่ 2 -14 พฤศจิกายน 49 แต่ไม่เข้าใจว่าทำไมมันส่งเร็วแบบนี้ -_-‘

หีบห่อที่ส่งมา เค้าส่งมา 2 กล่อง โดยใน Shipping Details เค้าบอกว่าส่ง 2 รอบโดยรอบแรกจะส่ง 2 เล่มที่เข้ามาที่คลังสินค้าก่อนและอีก 2 เล่มจะส่งตามมา ซึ่งมันห่างกันแค่วันเดียว ก็ไม่เข้าใจว่าทำไมมันจะต้องส่งแยกด้วยในเมื่อมันมีส่วนต่างของวันเวลาแค่ 1 วัน -_-‘ ค่าส่งมันแพงนะเนี่ย แค่ค่าส่งก็ 26.95$ ส่วนค่าหนังสือ 4 เล่มมัน 29.96$ ดีที่มีส่วนลดได้อีก 6.99$ นะ

ส่งมากล่องละ 2 เล่มให้เปลื้องค่าส่งเล่น ๆ งั้นแหละ

หนังสือทั้งหมด
นั่งอ่านหนังสือกองพวกนี้สักนิดก่อนนะครับ เีดี่ยวมาเล่าเรื่อง SCJP ต่อ ;)

สงครามเริ่มแล้ว (Mozilla Firefox 2.0 VS Microsoft Internet Explorer 7.0)

ขอพักเรื่อง SCJP จากตอนที่แล้วไว้ก่อน วันนี้เรื่องด่วนกว่าคือสงครามแห่ง major upgrade ของทั้งสองค่ายจากทั้งสองฝั่งนั้นคือฝั่ง Microsoft ผู้มีสายป่านที่มากและอิทธิพลต่อคนทั่วโลกแห่ง IT มากที่สุด ที่ถอยเอา Internet Explorer 7.0 ที่ปล่อย Release ออกมาตัดหน้าก่อน กับ Mozilla ผู้พัฒนา Mozilla Suite และอดีตอันรุ่งเรืองจาก Netscape ที่ถอยเอา Mozilla Firefox น้องของ Mozilla Suite ออกมาสู้ในตลาด Web Browser ที่ใหญ่โต นี่อาจเป็นการสู้กันด้วยมาตรฐานกลางและมาตรฐานตัวเองอีกครั้ง

เมื่อวันที่ 18 ตุลาคม 2006 ที่ผ่านมานี้ Microsoft ได้ปล่อย Internet Explorer 7.0 (IE) ออกมาก่อนที่ Mozilla Corporation จะปล่อย Firefox 2.0 (FF) ออกมาเพียง 5 วันเท่านั้น

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

โดยที่หลังจากที่ทดสอบ IE 7.0 มา 5 วันก่อนที่ FF 2.0 จะออกนั้นในด้านความเร็วต่าง ๆ ในการโหลดตัว Application นั้นทำได้อย่างรวดเร็วและมี Feature ใหม่ ๆ ที่ built-in เข้ามาเยอะมาก แต่สิ่งที่เปลี่ยนแปลงมากที่สุดคือตัว User Interface (UI) ที่เปลี่ยนแปลงใหม่หมดจาก IE 6.0 มาก (ไม่นับ RC Version หรือ Beta Version เพราะไม่ใช่ Version เต็มเอามาเทียบไม่ได้) สิ่งที่น่าจะเป็นตัวทำให้ IE กลับมาทำได้ดีน่าจะเรื่องของความปลอดภัยที่มีการตั้งค่าต่าง ๆ ด้านความปลอดภัยมากมาย แต่ไม่แน่ใจว่าตัว IE 7.0 จะยังคงเป็น Built-in Web Browser ทั้งหมดหรือเปล่า แต่จากการทดสอบนั้นเมื่อลง IE 7.0 แล้ว เมื่อเราพิมพ์ URL ที่ Address Bar ที่ Windows Explorer (ตัวจัดการไฟล์ใน Windows) มันจะทำการ pop-up หรือ send URL ไปยัง Web Browser ตัวมาตรฐานของ Windows ทันที อย่างเช่นในเครื่องผมใช้ Firefox เป็น Web Browser มาตรฐาน มันก็จะเรียก Firefox มาเรียกเว็บนั้นแทน จากที่เมื่อก่อนถ้าพิมพ์แล้วมันก็จะ switch ตัว Windows Explorer เป็น IE ทันทีแล้วเข้า Internet ได้เลยในหน้าต่างเดียวกันนั้นเอง ซึ่งจากที่ผมวิเคราะห์แล้วเนี่ย IE 7.0 น่าจะเป็น Standalone Application เต็มตัวแบบเดียวกับ FF ไปแล้ว (หรือถ้าไม่เป็นทั้งหมด แต่ก็น่าจะเกือบ 80%) ซึ่งมันทำให้ดีขึ้นในด้านความปลอดภัยในเรื่องของ Spyware ที่จะมาโจมตี Windows ผ่าน Web Browser อย่าง IE รุ่นก่อน ๆ นั้นเอง (แค่หวังว่ามันจะดีขึ้นนะ) ส่วนในด้านของ Feed นั้น ในเรื่องความสะดวกก็คงเหมือน ๆ กับ FF หรือ Safari ไม่ได้แตกต่างกันเท่าไหร่ ส่วนอื่น ๆ ก็มีพวกระบบ Tab ที่น่าจะได้เล่นกันมาบ้างแล้วจะ MSN Toolbars หรือ Windows Live Toolbars ซึ่งก็คล้ายๆ กัน ส่วนอื่น ๆ ที่มีการเพิ่มเติม ก็มีดังนี้

  • Built-in RSS Feeds
  • Microsoft Phishing Filter
  • Vista Protected Mode
  • Microsoft ActiveX Opt-In
  • Cascading Style Sheets (CSS) Updates รองรับ CSS Level 2 (CSS2)
  • Portable Network Graphics (PNG) support (Alpha Channel Transparency)
  • XML HTTP Native support
  • Internationalized Domain Name (IDN) support
  • Tabbed Browsing
  • HTML 4.0.1 Support

สิ่งที่น่าดีใจที่สุดใน IE 7.0 คือมันสนับสนุน Alpha Channel Transparency ใน PNG (RGBA) ที่ทำให้สามารถใช้รูป format PNG พื้นหลังโปร่งแสงได้แล้ว (หลังจากที่ชาวบ้านเค้าสนับสนุนกันมาหลายปีแล้ว)

ต่อมาขอพูดถึง FF 2.0 บ้าง ในด้านของ UI นั้นมีการเปลี่ยนแปลง Theme หลักที่เปลี่ยนใหม่ให้ดูเข้ากับยุดสมัย ที่การออกแบบจะออกมาโทนแบบนี้ทั้งนั้น ส่วนที่เปลี่ยนแปลง นี่มีเยอะกว่า IE 7.0 เสียอีก ลองไล่ดูกันเลยครับ

  • A new theme that updates Firefox’s familiar interface อันนี้เปลี่ยนแปลง Theme ใหม่อย่างที่บอกไว้ข้างต้น
  • Built in Phishing Protection มีระบบป้องกันการปลอมแปลง URL เพื่อหวังผลทางด้านข้อมูลส่วนตัวต่าง ๆ
  • Enhanced search engine management and search suggestions for Google, Yahoo! and Answers.com ระบบจัดการ การใช้งาน search (ด้านบนขวา) แบบใหม่ และมีการตรวจสอบคำผิดสำหรับ Google, Yahoo และ Answers.com
  • Improvements to tabbed browsing, including the ability to re-open recently closed tabs ปรับปรุงระบบ Tab และเพิ่มความสามารถด้านการเปิด Tab ที่เปิดค้างอยู่จากการปิดใช้ครั้งล่าสุด
  • Firefox will resume from where you left off after a system crash or browser restart มีระบบกู้คืนการใช้งานครั้งล่าสุดจากการที่ OS crash หรือ browser restart
  • Better support for previewing and subscribing to Web feeds ระบบ preview และสมัครการรับข้อมูลจาก Feed แบบใหม่
  • Inline spell checking in Web forms มีระบบตรวจสอบคำผิดจาก web form โดยตรวจสอบเฉพาะภาษาอังกฤษเสียส่วนใหญ่ ซึ่งไม่มีภาษาไทยแน่นอน
  • The ability to create bookmarks with Live Titles for Web sites that offer microsummaries
  • New Add-ons manager that simplifies management of extensions and themes. ระบบจัดการ Extension และ Theme ใหม่ โดยนำทั้งสองตัวมารวมกันในชื่อ Add-on
  • Support for JavaScript 1.7
  • Extended search plugin format รองรับระบบ search plugin แบบใหม่
  • Updates to the extension system to provide enhanced security and to allow for easier localization of extensions
  • Support for client-side session and persistent storage
  • Support for SVG text using svg:textPath
  • New Windows installer based on Nullsoft Scriptable Install System ระบบการติดตั้งแบบใหม่

โดยรวมแล้วทั้ง IE 7.0 และ FF 2.0 นั้นมีการสนับสนุนในมาตรฐานใหม่ ๆ มากขึ้น และใน Feature ต่าง ๆ นั้นมีให้ใช้ไม่แตกต่างกัน แต่ดู ๆ แล้ว FF 2.0 น่าจะดีกว่าในแง่ของ Add-on เสริมที่มีเยอะมาก และในตอนนี้ Add-on ส่วนใหญ่กว่า 80% ก็ใช้กับ FF 2.0 ได้แล้วด้วย แล้วอีกอย่างคือการใช้งานหน่วยความจำน้อยลงบ้างเล็กน้อย

อ้างอิงจาก

Downloads

การตั้งค่าการใช้ภาษาไทย ใช้แบบเดียวกับ version 1.5 ครับ ซึ่งไม่แตกต่างกันในตำแหน่ง แต่แตกต่างกันที่คำที่ใช้ในปุ่มนิดหน่อยครับ อ่านได้ที่ ปรับแต่งให้ Mozilla Firefox 1.5 ใช้ภาษาไทยอย่างสมบูรณ์

เพิ่งไปอบรม SCJP @ CSIT-NU (สนับสนุนโดย SIPA สาขาเชียงใหม่)

ในช่วง 4-5 วันที่ผ่านมาไม่ได้ทำอะไรเลย งานการไม่ได้ทำ เพราะเอาเวลาไปอบรม Sun Certified Java Programmer (SCJP) ซึ่งในวันจันทร์ที่ผ่านมา (วันที่ 16 ตุลาคม 49) เป็นวันทดสอบ Pre-Test เพื่อลองเชิงว่ามีคุณสมบัติพอที่จะสอบหรือไม่ โดยมีคำถาม 15 ข้อ ทำให้ได้ไม่ต่ำกว่า 8 ข้อก็ผ่านแล้ว โดยตัวข้อสอบที่ให้ทำเป็นการไล่ตัว code ของโปรแกรมที่เขียนด้วยภาษา Java ทั้งหมดเลย โดยให้ตอบว่าผลการทำงานจะออกมาเป็นอะไร ซึ่งตัวข้อสอบไม่ได้ให้หาผลอย่างเดียว แต่ยังมีข้อให้เลือกว่ามันจะมี Compilation Fails หรือ Runtime Error หรือไม่ด้วย ซึ่งทั้งสองแบบก็มีอยู่หลายข้อเหมือนกัน

โดยในวันนั้นใช้เวลาสอบไม่เกิน 30 นาที ซึ่งถือว่าเวลาน้อยสำหรับคนที่นั่งไล่โปรแกรม เพราะแต่ละข้อนั้นกว่าจะไล่ตัวโปรแกรมเสร็จก็ปาไป 2-3 นาทีต่อข้อแล้ว แถมบางข้อยาวเสียด้วย ซึ่งการสอบเราต้องทำตัวเป็น compiler เพื่อจับผิดตัว code โปรแกรมต่าง ๆ ซึ่งสอบเสร็จก็ทำถูกไปได้ 13 ข้อ ส่วนอีก 2 ข้อเนี่ยมั่วไป แบบว่าตอนนั้นเวลามันไม่ทันแล้วต้องส่งแล้วด้วย แต่ดันมั่วไม่ถูกอีก เซง ๆ (ตอนตรวจเสร็จแล้วขอดูได้ว่าเราผิดข้อไหนด้วย)

ซึ่งเราก็ผ่านการทำสอบ Pre-Test เราเลยมีสิทธิ์ในการเข้าอบรมโดยเค้าจะมีเอกสารและมีวิทยากรมาอบรมให้ โดยวิทยากรที่มาอบรมก็เป็นคนที่สอบ SCJP มาก่อนเป็นรุ่นแรก ๆ และทำงานสายนี้มาก่อนอยู่แล้ว ซึ่งสอนได้ดี และละเอียด รวมถึงเป็นกันเองมาก เลยหล่ะ โดยอบรมให้เราเป็นเวลา 5 วัน ตั้งแต่เวลา 9.00 – 16.00 (ไม่รวมพักเที่ยง)  ซึ่งถือว่าทรหดมาก แต่โดยรวมก็มันดี ได้แนวคิดในการเขียนของ Java มาเยอะ และทำให้เรารู้ว่าภาษา Java นี่มันมีความหยุ่มหยิ่มในการเขียนมาก แถมใช้ความเคยชินจาก C/C++ มาเขียนบางครั้งก็ไม่ได้ด้วย
โดยในการอธิบายกลไกการจัดการ Object ใน Java แล้วก็อึ้ง ๆ อยู่ในหลาย ๆ เรื่องคือเรื่องของ String Pool หรือพวกระบบการสร้าง Object ของมันที่สลับซับซ้อนมาก แถมในตัวข้อสอบที่จะต้องไปสอบมันมีถามด้วยดิว่าเราเขียนโปรแกรมมาแบบนั้นแบบนี้ มันสร้าง Object มากี่ตัว หรือสร้าง Refference variable มากี่ตัว อะไรแบบนี้ ซึ่งมันดูเหมือนไม่มีประโยชน์ในการเขียนโปรแกรม แต่ถ้าลองใช้ลึก ๆ แล้วน่าจะทำให้เราจัดการหน่วยความจำได้ดีมากขึ้น ซึ่งการอบรมนั้นมีหัวข้อหลัก ๆ ดังนี้

  • Java Platform Architecture
  • Declarations, Initialization and Scoping
  • Flow Control (if or switch statement, loops and iterators, assertions, exceptions and exception handling , etc)
  • API Contents (Primitive wrapper classes, String VS StringBuffer, etc )
  • Concurrency (Thread and Runnable)
  • OO Concepts (encapsulation, access modifiers, inheritance superclass, overridden, overloaded ,is-a" and/or "has-a" relationships, polymorphism, etc)
  • Collections / Generics (hashCode and equals, Data Structure, etc )
  • Garbage collection
  • Fundamentals (primitive data types, arithmetic operators, access modifiers, package declarations, and import statements, etc )

จริง ๆ มันมีมากกว่านี้ครับ แต่เอาย่อ ๆ ประมาณนี้แล้วกัน โดยรวมทำให้เรารู้เลยว่าการทำงานของ Garbage collector ใน Java นี่มันเป็นไปตามใจของ JVM จริง ๆ คิดจากที่ได้อบรมมา เรื่องการเอา Object ที่ไม่ได้ถูกใช้งานแล้วออกจากหน่วยความจำนี่บังคับไม่ได้เลย คือแล้วแต่อารมณ์ของ JVM มาก ๆ คือ Object ไม่ได้ถูกอ้างถึงอีก มันก็ยังคงลอยหน้าลอยตาอยู่ในหน่วยความจำ Garbage collector มันก็มองว่า Object นั้นเข้าข่ายที่จะถูกลบไปได้ แต่มันจะลบหรือไม่ก็อีกเรื่อง แถม Garbage collector เนี่ยมันจะทำงานเมื่อไหร่ก็ไม่รู้ -_-‘ เราไปปลุกมันก็ไม่ได้ ได้แต่ร้องขอไป ถ้ามันอยากทำงานเดี่ยวมันก็ทำงานเอง ถ้ามันไม่ทำ ก็คือไม่ทำ (ใครจะทำไม) เป็นซะอย่างงี้อีก ไม่รู้ว่า 1.6 มันจะเป็นแบบนี้หรือเปล่านะ โดยรวมนี่ก็อึ้ง ๆ มึนๆ กับเรื่องนี้มาก เดี่ยวว่าจะหาอ่านเรื่อง Garbage collection ทบทวนน่าจะ ok ไม่รู้ว่าภาษาอื่น ๆ มันเป็นแบบนี้หรือเปล่า -_-‘

ส่วนต่อมาก็เรื่องของ Data type ที่ในภาษา Java นี่ stric มาก จนน่ารำคาญอย่างแรง คืออย่างเราเอา ข้อมูลที่เป็นชนิด short กับ short มาบวกกันมันออกมาเป็น integer ซะอย่างงั้นอ่ะ นี่ยังไม่รวม byte อีกนะ เออ ก็แปลงดี ต้อง casting กันให้วุ่นวายไปหมด แถมในการสอบก็มีให้เห็นกันแบบนี้อีก แถมมีการเอาชนิดข้อมูล char มาใช้เป็นตัวเลขได้ด้วย โดยไม่ต้อง casting อีก โอ้วววว สับสนใช้ได้เลย เรื่องของพวก Data type นี่เป็นอะไรที่สับสนงงงวงมาก แถมการประกาศ String s = "xyz"; กับ String s = new String("xyz"); นี่ได้ Object ไม่เท่ากัน ด้วย แบบแรกจะได้ String pool 1 ตัว โดยมี s เป็น reference 1 ตัว ซึ่งมันชี้ไปที่ String Pool แต่ในแบบที่สอง มี Object 1 ตัว และ String pool 1 ตัว โดยมี s เป็น reference อีก 1 ตัว โดยที่มันจะไปชี้ Object แล้ว Object จะชี้ไปที่ String pool อีกที (เราต้องมองว่า String pool คือ 1 ตัวคือ 1 Object ด้วยนะ) ซึ่งนี่แหละทำให้ งง กันไปพักนึง โดย String pool ใน Java นี่เป็นเหมือน Database สำหรับเก็บ String ที่สร้างขึ้นมา โดยที่ String ที่สร้างขึ้นนี้จะไม่มีทางถูกแก้ไขอีกถ้าสร้างมาแล้ว แถมถ้าไอ้ตัวที่สร้างมาแล้วมีตัวที่เหมือนกันจะสร้างซ้ำ มันก็จะไม่ให้สร้างซ้ำมันจะเอา reference ที่จะสร้างซ้ำนั้นน่ะมาชี้มาที่ String pool index ที่ซ้ำกันอยู่ทำให้ข้อมูลของ String 1 pool มี reference variable 2 ตัวชี้มาที่เดียวกัน เพื่อลดการใช้งานหน่วยความจำ แต่ถ้าใครอยากได้ String แบบที่เปลี่ยนแปลงค่าได้ก็ต้องใช้ StringBuffer แทน

เฮ้อ ….. นี่แค่เรื่องเล็ก ๆ ในช่วง 4-5 วันที่ได้อบรมนะ เดี่ยวจะมาเล่าต่อว่ามีอะไรอีกบ้าง ;)

ใครใช้เครื่อง IBM (Lenovo) โปรดดูแบตของท่านด้วยนะ

ถ้าท่านใช้้ Laptop รุ่นดังต่อไปนี้โปรดตรวจดูด้วยครับ

  • ThinkPad R ซีรีย์ (R51e, R52, R60, R60e)
  • ThinkPad T ซีรีย์ (T43, T43p, T60, T60p)
  • ThinkPad X ซีรีย์ (X60, X60s)

คำแนะนำการถอดและการใส่แบตเตอรี่ 


เครื่อง ThinkPad R51e และ R52

เครื่อง ThinkPad R60 และ R60e

เครื่อง ThinkPad T43 และ T43p

เครื่อง Thinkpad T60

เครื่อง ThinkPad X60 และ X60s

ส่วนรายละเอียดอื่น ๆ ก็อ่านจากที่นี่ครับ IBM (Lenovo) Battery Recall Program ในนั้นมีเอกสารภาษาไทยอ่านง่ายครับ (แต่มีปัญหา Encoding ให้เปลี่ยน Encoding เป็น Thai(Windows) หรือ Thai TIS-620 ก่อนอ่านครับ)

โดยมีคำแนะนำเบื้องต้นไว้ว่า

  • เราเรียกคืนเฉพาะตัวแบตเตอรี่เท่านั้น ไม่ใช่เครื่องโน้ตบุ๊ก
  • ถ้าแบตเตอรี่ของคุณอยู่ในกลุ่มต้องถูกเรียกคืน ห้ามคุณใช้งานแบตเตอรี่อันเก่าระหว่างรอแบตใหม่เด็ดขาด หากต้องการใช้เครื่องโน้ตบุ๊กอย่างปลอดภัย ให้ปิดเครื่อง ถอดแบตออก แล้วใช้ไฟจากหม้อแปลงแทน

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

และ ACER กำลังพิจรณาและเจรจากับ Sony อยู่ ส่วน HP/Compaq ยังนิ่ง ๆ อยู่ สำหรับใครที่ใช้เครื่องยี่ห้อดังกล่าวก็ตรวจสอบดูได้จากตัวแทนจำหน่ายหรือหาข้อมูลได้ตามเว็บข่าวต่าง ๆ โดยเฉพาะ Blognone ที่เล่นข่าวและติดตามอยู่ตลอดเวลาครับ ;)

ภาพริมฝั่งแม่น้ำเจ้าพระยาที่นครสวรรค์

ไม่อธิบายอะไรมาก ดูภาพน่าจะอธิบายได้เยอะครับ แต่ที่แน่ๆ ตอนไปดูนี่ระดับน้ำนี่ ถ้าท่วมคงจะประมาณ 1 เมตรครึ่งแน่ ๆ หรืออาจจะ 2 เมตรได้ และตอนไปดูระดับน้ำมันเหลืออีกแค่ 5 – 10 เซ็นติเมตรเท่านั้น แค่เรือข้ามฟากเทียบท่าเรือน้ำก็ล้นข้ามกำแพงกั้นน้ำแล้ว -_-‘