Archive for June, 2008

คุณเคยฝันจะทำบริษัทของตัวเองไหม ?

ผมฝันมาตลอดและฝันมาตั้งแต่ช่วงมัธยมว่าผมจะมีบริษัทเกี่ยวกับ Software ให้จงได้ เสร็จแล้วผมก็เก็บเกี่ยวประสบการณ์ทั้งด้านการ Design , Coding และ Business ประสานๆกันไป ซึ่งในสมัยก่อนๆผมคิดแค่ว่าถ้าผมมีเงินทองเหลือเฟื้อใช้ผมจะเปิดบริษัททำ Software Open Source เพียงอย่างเดียวเลย ซึ่งคงเป็นบริษัทเล็กๆคนสัก 5-6 คนซึ่งคอยทำ Project Web-Based เกี่ยวกับบริการต่างๆให้คนไทยได้ใช้กัน แต่แล้วมันก็ไม่สร้างผลกำไรใดๆ (ถ้าไม่มีคนมาขอซื้อนะ) จนกระทั่งผมไปฝึกงานที่ SIPA ซึ่งเป็นองค์กรเกี่ยวกับการให้การศึกษา

ซึ่งผมก็ชอบสอนในสิ่งที่ผมรู้และบอกกล่าวไปกับชนรุ่นหลังที่สนใจ ซึ่งผมก็มาปิ้ง Idea ได้ว่าเอะ ถ้าเราทำโปรเจค Open Source แต่เราก็ทำ Course อบรม Open Source ต่างๆรวมถึงเปิด Course สอนสำหรับผู้สนใจได้หนิ ซึ่งเป็นหนทางรายได้อย่างหนึ่งแต่แล้วเราก็ต้องมีวิทยากรที่มีคุณภาพ ดังนั้นองค์กรที่ผมชอบจริงๆก็คือทำ Open Source และรับอบรมด้วย ซึ่งคงเป็นธุรกิจที่กำไรไม่มากแต่สามารถเติบโตและสามารถอยู่ได้ด้วยตัวมันเอง ไม่ต้องพึงเงินจากแหล่งอื่นแบบในธุรกิจแรก

บางที Idea ก็อยู่รอบๆตัวเรานี้และความรู้กว้างๆใน Internet ก็ดีและออกไปดูโลกภายนอกคุณก็จะได้รู้อะไรอีกหลายๆอย่างแล้วเอามาผสมกันเป็น Idea ของคุณเองซึ่งสิ่งนี้น่าสนใจและน่าสนุก ความรู้ยิ่งเยอะ ทำให้คิด idea ออกเป็นจำนวนมากแต่งานจะไม่ค่อยสำเร็จเพราะมั่วแต่คิด idea 555+ (สำหรับบางคนนะครับไม่ใช่ทุกคน) เสร็จแล้วมาลองมาวางแผนว่าในบริษัทเราจะเป็นยังไงบางอย่างคร่าวๆที่ผมอยากได้

แนวทางที่ผมอยากได้คงผสม Google , Pixar และก็ Dtac ผสมๆกันไปครับ

  • การออกแบบภายในห้องทำงานจะต้องดูมี Style และก็ออกแนว Creative
  • มีการจัดซื้อ ขนมขบเขี้ยว/กาแฟ/เครื่องดื่ม หรือของทานเล่นให้พนักงานกินกันโดยไม่ต้องออกไปซื้อ
  • มีพนักงานในบริษัทอย่างน้อยสัก 6 คน (รวมผมเป็น 7)
  • พนักงานสามารถใส่ชุดอะไรก็ได้ขอให้ไม่ใช่กางเกงขาสั้น รองเท้าแตะก็พอ
  • สนับใช้ Software Open Source ยกเว้น Windows อาจจะมีการซื้อ License ให้
  • สนับสนุนซื้อ Software ที่จำเป็นจริงๆในการทำงาน ไม่จำกัดว่า Open Source ล้วน
  • มีห้องประชุมสำหรับการวางแผนต่างๆ
  • มี Server กลางเป็นของตัวเองพร้อม Net 4mb สัก 2 เส้น
  • มีมุมพักผ่อนให้พนักงาน และมุมกินกาแฟ/เครื่องดื่มต่างๆ
  • มีห้อง Trainning สำหรับรับสอน / สอนกันเองภายในบริษัท
  • จัดห้องกีฬาในร่มให้ได้เล่นสนุกๆกันยามว่าง  เช่น ปิงปอง , สนุกเกอร์ , Squash

ในมุมมองของการพัฒนา Application นั้นเราก็มีจุดยืนเหมือนกัน

  • เราจะใช้ภาษา Open Source อย่าง Java , PHP , Python อย่างมากที่สุด 3 ภาษาเท่านั้น
  • โดยอาจจะเสริมด้วย Javascript อีกตัวหนึ่ง
  • ฐานข้อมูลของเราก็คงหนีไม่พ้น MySQL กับ Sqlite
  • จะมีการใช้ Framework ขึ้นมาพัฒนาโดยในส่วนนี้เราจะไม่พัฒนาใช้เอง
  • มี Hosting เป็นของตัวเองแต่จ้างคนที่เชี่ยวชาญดูแล
  • มีการทำเอกสารเพื่อการพัฒนาโดยยังใช้ UML เป็นหลัก
  • เน้นเรื่องการทำ Software Architecture

การมองต่างมุมเพราะเราไม่เน้นตาม Technology อย่างบ้าคลั่งโดยขาดการตอบปัญหาโจทย์เดิมๆของผู้ใช้ทั้งในอดีตและปัจจุบัน เราต้องการจะ “แก้ไขปัญหาให้ User” ไม่ใช่ใช้ Technology ที่ใหม่สุดเสมอ ดังนั้นเราก็เน้นการใช้ HTML Javascript CSS แล้วก็ Server-Side Script มาแก้ปัญหาก็พอแล้ว (แต่ถ้ายุคนั้น RIA อย่าง Flex มันทำง่ายแล้วก็ไม่แน่เสมอไป) เสร็จแล้วสุดท้ายนี้ผมก็คงจบด้วยเรื่อง Topology ต่างๆของที่นี้ละกันครับ

  • ในองค์กรต้องมีเครื่อง Server กลางเครื่องแรงๆเพื่อจัดการทุกอย่างไม่ว่าจะเรื่อง Anti-Virus , Anti-Spam , Logging , File Sharing , Security อื่นๆ , Proxy Server , BitTorrent
  • ต้องใช้ Router Load Balance กับ Wireless เพื่อทำให้ใส่สายโทรศัพท์ทำ net 8mb +
  • มีการทำ Thin Client กับ Terminal Server (Virtual Desktop Infrastructure ก็ได้)
  • จอคอมที่ติดกับ Thin Client นั้นจะมีหน้าจอขนาด 24 นิ้วขึ้นไป (เพิ่ม Productivity ให้พนักงาน)

ส่วนเรื่องอื่นๆก็คงเป็นเรื่องการวาง Furniture ต่างๆซึ่งจะเน้นให้ทำงานสะดวกทุกอย่างดูราบรื่นการเลือกโต๊ะและเก้าอี้ดีๆเพื่อ ความสุขของพนักงาน ;) แล้วท่านมีบริษัทในฝันของท่านรึยัง ? ของผมก็แค่นี้ต้องทำให้ได้ก่อนอายุ 40 !!!! ตอนนี้ 21 ละ 19 ปีเท่านั้น

ปัญหาเรื่อง attribute autocomplete ไม่ผ่าน W3C Validator

หลังจากทำ Jersure.com ตอนนี้ได้ทำการ Optimize เรื่องต่างๆในวันปกติ (เพื่อเตรียมจะเติม function ใหม่ช่วงเสาร์อาทิตย์) ผมก็แก้ปัญหาที่เกิดขึ้นต่างๆ เช่น ลดขนาดไฟล์ด้วย YUI Compressor ทั้ง .js .css เสร็จแล้วก็พยายามทำให้ผ่าน w3c แต่เรื่องของเรื่องมันมีอยู่ว่าครับมันมี attribute ตัวหนึ่งที่ไม่ถูกใน w3c แต่มันจำเป็นครับนั้นก็คือ

autocomplete=”off” ครับมันคืออะไรนะเหรอครับมันเป็นการปิด function ที่เป็น suggest ของพวก ie และ firefox ครับที่บอกจะขึ้นคำที่เราเคยพิมพ์ลงไปในช่องนั้นแล้ว ไม่ให้แสดงออกมา ซึ่งผมต้องปิดมันเพราะในหน้า main ปกติรุ่น normal นั้นมีการใช้ระบบ suggest ของ google ดังนั้นผมเลยต้องทำการปิดมัน แต่มันไม่ผ่าน w3c นะสิครับ

แล้วผมทำยังไงละ ? หลังจากที่ลองพยายามใช้ Javascript ในการช่วยทำแทน แต่ก็ไม่เป็นผลสำเร็จครับ มันยังขึ้นมาอยู่ดีหลังจาก Search Google อยู่พักใหญ่ก็ไม่เจออยู่ดี ก็เลยเซร็งไป วันนี้ก็จะมาบ่นเรื่องนี้และครับ แล้วก็ถือเผยแพราให้คนทำเว็บที่จะทำ Validate w3c อย่าใช้ attribute ตัวนี้นะครับถ้าไม่จำเป็น

เรื่องจำเป็นของ attribute autocomplete

  • ไม่ต้องการให้มันโชว์ suggest
  • ไม่ต้องการให้ข้อมูลที่เราเคยพิมพ์ไปขึ้นให้คนอื่นเห็นเวลามาพิมพ์อีก
  • ไม่ต้องการให้จดจำเลขบัตร credit
  • ไม่ต้องการให้จดจำ username
  • ไม่ต้องการให้จดจำคำตอบ ทายปัญหา
  • ฯลฯ

นี้คือตัวอย่างเบื้องต้นของความจำเป็นต้องใช้ attribute นี้เพื่อ usability ที่ดีดังนั้นผมก็คือหนึ่งในนั้นที่จำเป็นต้องใช้มันครับ ;)

Firefox 3 vs TheWorld Browser

ในที่สุดหลังจากที่ Firefox 3 กำหนดออกและถูกดาวโหลดไปจำนวนมากมายและ ผมคนหนึ่งก็ได้ลอง Download มาใช้พักหนึ่งจนตอนนี้มาเขียนรีวิวให้กับทุกท่าน เกี่ยวกับความรู้สึกของผมที่มีต่อ Firefox 3 แล้วก็เปรียบเทียบกับ TheWorld Browser ที่ผมใช้อยู่

สิ่งที่ประทับใจใน Firefox 3

  • ระบบ Url Suggest ที่เยี่ยมยอดมาก (ยิ่งปรับแต่งแล้วใช้ Extension ชอบมาก)
  • ระบบ Bookmark ที่ดีขึ้น ค้นหาง่ายขึ้น
  • โหลดเพจเร็วขึ้นโดยไม่้ต้องปรับ (ถ้าปรับอีกสงสัยเร็วปรี๊ด)
  • Extension หลักๆสามารถใช้ได้ใน Firefox 3 ได้เกือบหมด
  • สามารถดูระบบ Plugin ได้จากใน Add-on

สิ่งที่ยังชอบ TheWorld Browser มากกว่า

  • ถึงแม้การกิน Ram ของ Firefox จะลดน้อยลงเกือบ 30% แต่มันก็สู้ Lightweight อย่าง TheWorld Browser ยังไม่ได้
  • First Impression ยังสู้ TheWorld Browser ไม่ได้
  • ความรู้สึกอยากใช้ผมยังให้ TheWorld Browser มากกว่า

สิ่งที่ TheWorld Browser ยังสู้ Firefox ไม่ได้

  • Extension และ Theme ที่ยังห่างไกลกันมาก
  • ระบบโหลดโครงสร้าง และโหลด element ต่างๆ ใน page Firefox เร็วและดีกว่า TheWorld
  • ไม่ใช่ Open Source การเติบโตเลยช้ากว่า
  • ระบบ reload page เมื่อปิดตัวเองโดยสาเหตุที่คาดไม่ถึง

นี้คือสิ่งที่ผมเห็นและลองใช้มาเป็นจำนวน 3 วันหวังว่าคงเป็นรีวิว ที่ทุกๆท่านชอบกันนะครับ ;) ส่วนตัวผมดันชอบ TheWorld Browser มากกว่านะ เพราะผมเดียวนี้ถ้าไม่ทำเว็บท่องเน็ตเฉยๆ ผมก็แทบจะไม่เปิด Firefox แล้วครับ :D

บันไดสู่ Programmer 3.0

สำหรับยุคที่มีการเปลี่ยนแปลงเร็วแบบนี้ แต่ Programmer ส่วนใหญ่ยังติดอยู่กับที่ หรือไม่ก็รู้แต่ทฤษฎีแต่ยังปฎิบัติไม่ได้ ส่วนตัวผมเองยังสนใจเรื่องนี้มากๆ มากถึงมากที่สุด ถึงผมจะวิเคราะห์ + Design ด้วย OOAD พอได้ แต่สนใจเรื่อง Code มากกว่าดังนั้น Programmer สมัยนี้ใช่ว่าจะสามารถอยู่กะที่ได้ เพราะโลกเราเปลี่ยนแปลงไปมาก การใช้เพียง OOP อาจจะไม่เพียงพอ เรามาดูดีกว่าว่าสมัยนี้อะไรจะทำให้เราเป็นโปรแกรมเมอร์ 3.0 ได้ไม่ว่าจะใช้ภาษาอะไร

  1. เข้าใจคำว่า Semantic Web อย่างท่องแท้
  2. เข้าใจอย่างน้อยครึ่งหนึ่งใน Design Pattern 23 กระบวนท่า
  3. เข้าใจเรื่อง Data Mining
  4. รู้จัก Algorithm ในการเขียนโปรแกรม
  5. เข้าใจในสูตรคณิตศาสตร์และนำมาประยุกต์
  6. Comment อย่างเป็นระบบและมีความหมาย
  7. เข้าใจในเรื่อง Security และควรรู้จักการเข้ารหัส เช่น MD5 , SHA1
  8. มีการว่างแผนในการ Code ให้สวยงาม
  9. เข้าใจในการกำหนด Class ต่างๆ เช่น Model View Controller
  10. เข้าใจระบบ Architecture ในแบบต่างๆ
  11. ทำงานเป็นทีมได้และเขียน Module + Intregrate Module เป็น
  12. รู้จักการใช้ Framework และนำมารวมกับระบบเดิม
  13. สุดท้ายนี้นิสัยดียอมรับและแก้ไข้ความผิดพลาดที่เกิด

เรื่องการเป็น Programmer 3.0 ยังมีอีกมายโลกนี้มีหลายศาสตร์ ยังมี Inversion of Control และหลายๆทฤษฎีประกอบกัน สุดท้ายนี้ Programmer ชั้นยอดจะต้องเรียนรู้อยู่ตลอดเวลาและเรียนให้ลึกในภาษาใดภาษาหนึ่งไปเลย จะได้เป็นเทพของภาษาชนิดนั้น ส่วนภาษาอื่นรู้ไว้เพื่อเปรียบเทียบ เพื่อท่านตัดสินใจดีแล้วที่จะเปลี่ยนไปใช้ ภาษาโปรแกรมมิ่ง ภาษาอื่น

ลองลง Ubuntu ใน Windows ง่ายๆด้วย WUBI

สำหรับคนที่กำลังหัดอยากใช้ Ubuntu แบบผมคงมีปัญหาที่อยากจะลองเล่นดูก่อน แล้วค่อยตัดสินใจว่าจะใช้หรือไม่อย่างไร หรืออยากลง 2 OS ทั้ง Windows และ Ubuntu แต่ขี้เกียจ Setup หลายขั้นตอน นี้เลยเราข้อเสนอ 

software wubi logo

ตัว Ubuntu Installer for Windows หรือตัวลง Ubuntu สำหรับ Windows นั้นเองแล้วมันดีกว่าทำ VM ยังไงละหรือลง 2 os เองยังไงละ ? มันลดความยุ่งยากในการ setup เพียงท่านกด next อย่างเดียวจริงๆแล้วก็สามารถลงได้แล้ว ง่ายไหมละครับ ? แต่สำหรับผมเองในช่วงที่มัน Download มันจะช้าอย่างมากผมเลยไปค้นหาวิธีลงแบบ Download Distro มาแบบ Manual แล้วลงก็ใช้ได้เหมือนกันครับ ส่วนวิธีลงแบบ Manual นั้นทำดังนี้เลยครับ

  1. Download Wubi มาก่อนครับ
  2. Download Ubuntu รุ่น Standard/64 bit มาครับ (ต้องตรงกับ version ของ wubi) พยายามเลือก Server ที่ใกล้กับท่านมากที่สุดเช่น ผมอยู่ไทยผมเลือก Singapore
  3. นำมาอยู่ใน folder เดียวกันก่อนครับแล้วกด setup
  4. next next next ไปเรื่อยๆเลยครับ

ปล. ถ้ามันไม่โหลดตัว ubuntu distro ที่เราโหลดมาให้กด wubi ให้มันสร้าง folder ubuntu ขึ้นมาก่อนแล้วเราก็ค่อยนำ iso ไปใส่ใน install folder แล้วก็ลองกด setup ใหม่อีกครั้งได้เลย และส่วนจะใช้ Standard หรือ 64 bit นี้อันไหนก็ได้นะครับ แต่เขาแนะนำให้ลง 64bit ในเครื่องรุ่นใหม่ๆ

ตอนนี้ผมอยากจะใช้ของถูกลิขสิทธิ์ทั้งเครื่องแล้วละ ผมเลยเริ่มศึกษา open-source + freeware ดีๆมาใช้ แต่ยังไงๆผมก็อยากซื้อ License ของ Windows XP นะแต่ได้ข่าวมาว่าให้ซื้อ Windows Vista รุ่น Business แล้วค่อย Downgrade มาดีกว่าจะได้ใช้ได้ทั้งสอง Windows เลย ;)

Next Page »