ทำ Template และทดสอบ Multi Lang บน Concrete5 แก้เซ็ง

ช่วงตะเวรหางาน+แวะไปคุยทำให้ผมใช้งบประมาณที่เหลืออยู่น้อยนิด เหลืออยู่น้อยนิดลงไปอีก ก็เลยเครียดหนัก 😛 ทำให้ต้องหาอะไรคลายเครียดในแบบที่ไม่ใช้การเขียนโปรแกรมวุ่นวาย หรือ เขียน Management Console สำหรับ Cloud Infrastructure อะไรพวกนั้น ก็เลยหยิบ Concrete5 มาติดตั้งและทำเว็บเล่นๆ ขึ้นมาสักเว็บหนึ่ง อ้อที่แน่ๆ ต้องทำ Template ใหม่ด้วย และได้ความรู้ที่ได้ไปร่ำเรียน 960 CSS Framework มาใช้งาน ทำให้การออกแบบ Template โดยที่ไม่ใช้เครื่องมือหรูหราอย่าง Dreamweaver ก็สามารถทำ Template สวยๆ ได้เช่นกัน อ้อ ลืมบอกไป ผมไม่มี? Dreamweaver หรอกครับ ผมมีแค่ Eclipse กับ gEdit คิดว่าผมจะใช้อะไรล่ะ 😛
เล่าให้ฟังเบื้องต้นก่อน ผมมักจะออกแบบ Web ผ่านโปรแกรมกราฟิกอย่าง Inkscape เป็นหลัก ซึ่งจะช่วยให้เรามีมุมมองแบบ Virtual Design ได้เร็ว และเห็นภาพว่าเว็บไซต์ที่ออกมาจะเป็นหน้าตาอย่างไร จากนั้นก็ค่อยแปลงจากไฟล์กราฟิกแบบ Vector ให้กลายเป็น HTML? รูปภาพ และ CSS ที่เราต้องใช้ จากนั้นก็ค่อยจัดเข้ารูปแบบ Template ของ Concrete5 วิธีการคงไม่เล่าให้ฟังโดยละเอียดครับ แต่ที่อยากทกสอบและคาใจมากที่สุดคือ Multi Language บน Concrete5 เนื่องจากยังไม่อยากซื้อ Extension นี้ ก็เลยขอทำเองดีกว่า วิธีการทำ Multi Language บนก็ง่ายๆ ครับ คือ เรียงลำดับของหน้าให้ถูก ดังนี้
http://www.example.com/en <– หน้าหลักของเว็บภาคภาษาอังกฤษ
http://www.example.com/en/product <– หน้าผลิตภัณฑ์และบริการของเว็บภาคภาษาอังกฤษ
http://www.example.com/th <– หน้าหลักของเว็บภาคภาษาไทย
http://www.example.com/th/product <– หน้าผลิตภัณฑ์และบริการของเว็บภาคภาษาไทย
Continue reading ทำ Template และทดสอบ Multi Lang บน Concrete5 แก้เซ็ง

SSH Hardening

เห็น Alok อัพโหลดวิดีโอบน You Tube สอน SSH Hardening ซึ่งเป็นไอเดียที่ดี 🙂 ทำให้รู้สึกถึงอารมณ์ System Admin ที่เตรียมเครื่อง Server พร้อม OS ให้และมักจะชอบใช้ root ในการ login ผมมองว่ามันไม่ปลอดภัยเอาซะเลย พอมาดู Video ของ Alok ก็เลยนึกได้ว่าผมก็มีวิธี SSH Hardening ของผมเช่นกัน วิธีการที่ผมใช้เป็นแบบนี้ครับ

  1. เปลี่ยน port ssh
  2. กำหนด listen address ให้ถูกต้อง ไม่ใช่ 0.0.0.0
  3. ไม่อนุญาตผู้ใช้ชื่อ root ในการ ssh remote เข้าเครื่อง
  4. อนุญาตแค่ผู้ใช้บางคนในการใช้ ssh remote เข้าเครื่อง
  5. กำหนดให้ใช้ ssh key ในการ authen เท่านั้นไม่ใช้ password

ทำไมผมใช้ Concrete5 ?

ผมมักใช้ Concrete5 ทำงานเว็บไซต์ในกรณีเร่งด่วนเสมอๆ เหมาะกับเว็บที่ไม่ dynamic มากนัก เพราะ Concrete5 วางโครงสร้างตามที่เราต้องการ ซึ่งต้องทีโครงสร้างเว็บเอาไว้ในหัวก่อนเป็นอันดับแรกจึงจะใช้งาน Concrete5 ได้รวดเร็วและงานเสร็จออกเร็ว ในเรื่องของ template กรณีที่คุณมี web designer อยู่แล้วคุณสามารถเอาไฟล์ html+ภาพ+flash เอามาใช้ได้เลย เพียงใส่ tag เพื่อให้ Concrete5 เข้าใจเพียงนิดหน่อย จากที่ลองทำ template ของเว็บไซต์ ThaiOS พบว่าใช้เวลาแค่ 10 นาทีก็สามารถทำ template ให้เว็บได้แล้ว และที่สำคัญข้อมูลของคุณสามารถใส่ไว้รอได้โดยใชเ scrapbook เมื่อคุณวางโครงร่างแต่ละหน้าเสร็จคุณสามารถหยิบข้อมูลจาก scrapbook เอามาใช้ได้เลย นอกจากนี้ยังมีส่วนที่ผมชอบมากๆ คือการทำ version ของหน้าเว็บ ผมสามารถย้อยกลับไปเวอร์ชันเก่าได้หากต้องการเนื้อหาเดิม 🙂 สิ่งที่ผมชอบนอกจากนี้คงเป็นการวางองค์ประกอบต่างๆ ของหน้าเว็บโดยเอา Widget เป็นชิ้นๆ ไปวาง ซึ่งเจ้า Widget นี้ทำให้เราสามารถทดสอบผลลัพท์ และถอดออกได้ง่ายๆ 😉 อยากรู้ว่า Concrete5 ใช้งานแล้วสนุกยังไงก็ต้องลองทดสอบกันเองครับ

ความคืบหน้า ONE Console

ช่วงนี้มีเรื่องให้ขบคิดหลายเรื่องและช่วงตอนกลางวันทำงานไม่ค่อยได้เรื่องเท่าไร เพราะเวลา Online มักจะไม่ได้ทำงาน ทั้ง Facebook, Gtalk, MSN ทำงานพร้อมๆ กัน ส่วนใหญ่จะเป็นถามคำถาม จะไม่ตอบก็ไม่ได้ก็พยายามตอบในส่วนที่ตอบได้ ส่วนที่ลึกเกินกว่าจะตอบได้ ขอเป็น “ค่าข้าว” ในแต่ละมือได้มั๊ย ต้องเข้าใจนะว่าตกงาน ไม่มีรายได้จ้ะ 🙂 2 วันนี้ช่วงกลางคืนเลยได้ทำ ONE Console ต่อ เลยเอาความคืบหน้ามาให้ดูกันครับ

SignIn

SignUp

Reset Password Continue reading ความคืบหน้า ONE Console

ทำไมต้อง Illustrator

เรื่องของเรื่องคือผมลองไปสมัครงานดูเป็นตำแหน่ง Web Designer ซึ่งงานหลักๆ ก็คือการออกแบบงานกราฟิกบนเว็บ ซึ่งแน่นอนผมต้องเข้าทดสอบงานในวันนั้น ซึ่งข้อสอบก็ไม่มีอะไร ออกแบบเว็บเดิมให้เป็นเว็บใหม่ งานแบบนี้สบายมากๆ เพราะถ้าเข้าใจเว็บเดิมว่าเป็นอย่างไร ต้องการนำเสนออะไร ในการสื่อสารกับผู้เข้าชมในรูปแบบไหน ก็ออกแบบเว็บได้แล้ว จากที่ดูเว็บเดิมออกแนวๆ แคตตาล็อกสินค้า ไม่เชิง e-commerce ที่แย่กว่านั้นมันให้ความรู้สึก Excel มากๆ? อ้อมีส่วนแคตตาล็อกของคู่ค้าเพื่อแจ้งราคาในส่วน dealer ด้วย ก็เลยคิดว่าออกแบบให้ใหม่ละกัน
พอขยับเมาส์ไปเจอหน้าจอที่เป็น Windows XP ที่แย่กว่านั้นมี Photoshop CS รุ่นล่าสุด และ Illustrator CS รุ่นล่าสุด นี่มันอะไรกันเนี่ย?! สุดท้ายก็ต้องจำใจใช้ มันทำให้เข้าใจเลยว่าเครื่องมือ “ไม่คุ้นเคย” นี่มันทำงานลำบากจริงๆ ปกติผมออกแบบงานกราฟิกบน Inkscape จนชินมากแล้ว พอไปใช้ Illustrator รู้สึกหงุดหงิดขึ้นมาทันที ที่แย่กว่านั้นมันไม่ได้ดั่งใจเลย 😛 จากเหตุการณ์ก็คงเป็นอาการเดียวกันที่คนทำงานที่ชินกับเครื่องมือของตัวเอง ไปใช้เครื่องมือใหม่ที่ไม่ถนัดและไม่สามารถคลำทางในการใช้งานได้ แต่ผมใช้ Illustrator และ Photoshop มาก่อนทำให้พอถูๆ ไถๆ ไปได้ทักษะที่ลืมๆ ไปแล้วพอได้ระลึกชาติเอามาใช้บ้าง งานออกแบบมาไม่ค่อยได้ตรงใจนัก แต่ก็ได้แสดงแนวความคิดที่จะเปลี่ยนแปลงเว็บเดิมที่ดู Excel มาก ให้เป็นเว็บ e-commerce จริงๆ ได้? งานด้าน Web Design ผมไม่ได้ทำตรงนี้มากนัก แต่การไปสมัครงานครั้งนี้ก็สนุกดีครับ ไม่รู้จะได้งานทำหรือเปล่าแต่งาน Web Design ก็สนุกดีนะครับ 🙂
ป.ล. ถ้าจะให้ดีควรใช้ซอฟต์แวร์ที่ไม่ละเมิดลิขสิทธิ์ ทั้งระบบปฏิบัติการ ซอฟต์แวร์ และฟอนต์ 😛

ความคืบหน้า ONE Console

ถ้าดูเลข revision ขณะเขียน blog นี้ก็คือ 88 เลขสวยเลยทีเดียวแต่ว่าทำไมไม่ขยับสักทีก็เพราะว่า ไม่ได้เขียนต่อเกือบ 2 อาทิตย์แล้ว 😛 เรื่องของเรื่องคือต้องการออกแบบ GUI และ ฟังก์ชันการทำงานอื่นๆ ให้เรียบร้อยก่อน ซึ่งตอนนี้ในส่วนการจัดการ Cloud IaaS ที่เป็น OpenNebula จัดการได้เกือบหมดทุก function แล้ว เหลือเพียงการปรับแก้ให้เข้ากันได้กับ GUI และ การทำงานของซอฟต์แวร์ สิ่งที่เสร็จไปแล้วได้แก่

  • SignIn ตรวจสอบผู้ใช้ในฐานข้อมูลและ ONE Auth
  • SignUp ลงทะเบียนผู้ใช้ในฐานข้อมูลและ ONE User
  • Reset Password แก้ไขรหัสผ่ายในฐานข้อมูลและ? ONE User
  • Privileges ผ่านฐานข้อมูลแยกผู้ใช้ทั่วไปกับผู้ดูแลระบบ

สิ่งคิดว่าจะทำเร็วๆ นี้

  • ออกแบบ Dashboard UI และหน้าอื่นๆ เช่น VM, Library, Host, Virtual Network, User, Permission เป็นต้น
  • ออกแบบ Library หรือ Market Place ที่ใช้เป็นคลังซอฟต์แวร์
  • ออกแบบส่วน Monitoring ให้เชื่อมโยงกับข้อมูลที่จะเอาไปใช้ใน Dashboard
  • ออกแบบโครงสร้างข้อมูลในการย้ายเทมเพลทพื้นฐานไปยังไลบรารีของผู้ใช้
  • ออกแบบโครงสร้างข้อมูลเรียกใช้เทมเพลทจากไลบรารี นำไปใช้ provisioning เป็นบริการของผู้ใช้นั้นๆ
  • ออกแบบระบบปฏิบัติการพื้นฐานทั้ง 32 Bits และ 64 Bits เพื่อใช้เป็น Services Image เบื้องต้น
  • อื่นๆ อีกมากมาย

รายชื่อซอฟต์แวร์โอเพนซอร์สที่น่าสนใจ

ว่างๆ ช่วงตกงาน เลยมาลอง list รายชื่อซอฟต์แวร์ที่น่าสนใจ แบ่งเป็นหมวดหมู่ไว้แล้ว ดังนี้

  • Blogging
  • Bug Tracking
  • CRM
  • Content Management
  • Customer Services
  • Database Management
  • Development Tools
  • Discussion Forum
  • Document Management
  • E-Commerce
  • Education
  • Human Resource
  • Infrastructure
  • Instant Messaging
  • Network Management
  • Photo Management
  • Portal
  • Project Management
  • Security
  • Telephony
  • Ticket Tracking
  • User Management
  • ERP
  • Wiki
  • Platform Stack
  • E-Mail

ผมอาจจะแบ่งละเอียดไปหน่อย เอาเป็นว่าใครอยากรู้ว่ามีอะไรบ้างก็ดูได้ที่ MindMap Gallery ละกันครับ

จะทะยอย update เรื่อยๆ ครับ สำหรับท่านที่สนใจเป็นไฟล์ในรูปแบบ XMind ก็สามารถ e-mail เข้ามาขอได้ที่ anoochit [at] gmail [dot] com ครับ 🙂

พักผ่อน

เมื่อ 2 วันที่แล้วมีเรื่องไม่ค่อยสบายใจหลายเรื่องรวมเรื่องตกงานด้วยเช่นกัน ซึ่งคิดไปคิดมาชวนปวดหัว เลยตั้งใจรอคุยกับเพื่อนคนหนึ่งที่อยู่แดนไกล ซึ่งจริงๆ หวังว่าจะรับงานเข้ามาทำเพราะที่ผ่านมาเพื่อนคนนี้มักจะคะยั้นคะยอให้ผมทำโน่นนี่นั่นเต็มไปหมด ก็เลยรอจนเกือบ 5 ทุ่ม โชคดีที่ On GTalk เราคุยกันดังนี้ (ฉบับแปลไทย)
ผม : สวัสดีปีใหม่
มาติน : สวัสดี เป็นยังไงมั่ง
ผม : ก็ดีตอนนี้ตกงาน ไม่ได้ต่อสัญญาจ้าง
มาติน : เสียใจด้วยแล้วมีเงินประกันช่วงตกงานมั๊ย
ผม : ไม่มี
มาติน : ผมก็ตกงานมา 5 เดือนแล้ว หมดสัญญากับ IBM กำลังหางานเหมือนกัน
ผม : แล้วเรื่องโครงการเก่าๆ จะทำต่อไหม
มาติน : ตอนนี้กำลังพัฒนา LiteDMS อยู่เรื่อยๆ ตัวนี้ผลตอบรับดีมาก ส่วนโครงการอื่นๆ ก็ทะยอยดูไปเรื่อยๆ
ผม : ตอนนี้กำลังทำ ONE Console อยู่ มีอะไรแนะนำมั๊ย?
มาติน : โครงการนี้เจ๋งดี แต่มีโครงการทำนองนี้อยู่แล้วใน Lab
ผม : เว็บโครงการนั้นใช้ CMS ของผมนี่นา
มาติน : ใช่ๆ LiteCMS (Lanai CMS) เอาไว้ว่างๆ จะทำให้มันดีขึ้นกว่านี้ เดี๋ยวนี้ Lab ใหญ่ขึ้นเพราะโครงการซอฟต์แวร์โอเพนซอร์สมีเยอะขึ้น
ผม : โครงการเยอะขนาดนี้ดูแลได้ยังไง?
มาติน : ดูแลเป็นรายโครงการไป ดูว่าตัวไหนสามารถทำได้ก่อนก็ดูตัวนั้น
ผม : อืม
มาติน : รู้ไหม ถ้าผมไม่ไล่ take over โครงการเหล่านี้ มันจะตายไปและไม่ได้พัฒนาต่อ ถ้าทำเพิ่มอีกนิดปรับปรุงอีกหน่อยก็ทำเป็นบริการได้แล้ว
ผม : เข้าใจ โครงการเหล่านั้นก็คงต้องการให้ใครสักคนดูแลต่อเหมือนกัน ก็เหมือนโครงการเก่าๆ ของผมนั่นแหละ
มาติน : อากาศช่วงนี้เป็นยังไง
ผม : อากาศที่ประเทศไทยตอนนี้เป็นฤดูหนาว แต่กรุงเทพร้อนนะ
มาติน : ฤดูหนาวว่ายน้ำได้มั๊ย
ผม : ได้สิ แต่จะหนาวๆ เย็นๆ
มาติน : งั้นไปว่ายน้ำ ผมไปชายหาด ไปคลับ แล้วก็กลับมาที่บ้าน อย่างนี้ทุกวัน
มาติน : ชายหาดที่นี่เป็นน้ำแข็ง ว่ายน้ำไม่ได้
ผม : ชายหาดน้ำแข็ง? ที่กรุงเทพไม่มีชายหาดน่ะ
มาติน : พัทยา
มาติน : ขับรถไม่น่าจะเกิน 3 ชั่วโมง
ผม : ขับรถไม่น่าจะเกิน 2-3 ชั่วโมง
มาติน : เดาถูก
ผม : ผมก็ชอบทะเลนะ
มาติน : ไปทะเล เอา labtop ทิ้งไว้ที่บ้าน เอามือถือทิ้งไว้ที่รถ ไม่ต้องพกอุปกรณ์อิเล็กทรอนิค ไปพักผ่อนให้เยอะๆ
ผม : อืม ไม่ได้ไปทะเลนานแล้ว คงต้องไป relax บ้าง
มาติน : …
ผม : อืม คงต้องนอนแล้วที่นี่เวลา 23.00
มาติน : ไปนอน
ผม : ขอบคุณ สำหรับคำแนะนำดีๆ
มาติน : ไม่เป็นไร ขอให้หางานได้ละกัน
หลังจากคุยกับมาตินผมก็นอนหลับๆ ตื่นๆ วันรุ่งขึ้นไปดูงานที่บริษัทแห่งหนึ่งแถวๆ สามย่าน มีรายละเอียดเล็กน้อย แต่ไม่มีรายละเอียดและตำแหน่งงานที่จะต้องทำและยังมีความคลุมเครือพอสมควร ได้พูดคุยกับพนักงาน ได้ดูงานคร่าวๆ และกลับมาที่อพาทเม้นแบบปวดหัวเพราะรู้สึกว่ายังรับไม่ได้กับบริษัทสไตล์นี้ และได้นอนไม่หลับอีก 1 คืน ทำให้เกิดอาการช็อกและเบลอมากๆ คิดถึงตอนที่คุยกับมาติน ชายหาด ทะเล ไม่ไหวแล้ว คงต้องพักผ่อนจริงๆ ว่าแล้วก็เลยเก็บกระเป๋า ในกระเป๋ามี Notebook ที่แบตหมด เกม PSP ก็แบตหมดเหมือนกัน ออกเดินทางแบบ Back Pack !!
จะไปที่ไหน? ขึ้นเหนือ ลงใต้ หรือตะวันออก เช็คตารางเครื่องบิน ออกเดินทางได้ตอนเย็นๆ ถ้าให้รอถึงเย็น คงคลั่งตายก่อนแน่ๆ งั้นไปบางแสน บางแสน-ชายหาด-ทะเล… คว้ากระเป๋าได้ก็ขึ้น Taxi เจ้าประจำ ไปหมอชิต ได้คุยกับ Taxi ระหว่างทางเรื่องโน่นนี่ ฯลฯ ได้กำลังใจจากพี่ Taxi มาพอสมควร พอถึงหมอชิต ก็ซื้อตัวที่จุดเดิม เดินไปขึ้นรถซึ่งพร้อมจะออกหลังชานชลาที่ 5 พอขึ้นรถได้ก็โทรหาเพื่อนๆ พี่ๆ น้องๆ ขอหายหน้าไปพักสักระยะสัก 2-3 วัน (อาทิตย์) พอถึงบางแสนก็พบว่าช่วง low season ของบางแสนเป็นอย่างนี้นี่เอง มันเงียบมาก ไม่วุ่นวาย แต่ยังมีคนเล่นน้ำอยู่ประปราย
ผมเดินหาที่พัก พอได้ที่ซุกหัวนอนก็ได้เวลากินปู กินกุ้ง ข้าวเกรียบ และนอนเล่นอยู่ริมหาดไป 3 ชั่วโมง บังเอิญมีเจ้าหน้าที่มาซ่อมไฟประกอบกับอากาศเริ่มร้อนเลยได้เดินกลับที่พัก พอตกเย็นไปที่ ที่คิดว่าทำให้พักผ่อนสมองได้อีก 1 ที่คือ ห้างแหลมทอง จับรถมอเตอร์ไซต์รับจ้างไปกินข้าวที่ห้างแหลมทอง แล้วก็เดินกลับที่พัก ตอนแรกคิดว่าไม่ไกลเท่าไร พอเดินเข้าจริงๆ มันก็ไกลเหมือนกัน ระหว่างทางเดินถ่ายรูปจากกล้องโทรศัพท์มือถือ เดินไปริมชายหาดช่วงเวลาพระอาทิตย์ตก เอาเท้าแช่น้ำทะเล เดินเท้าเปล่าไปบนหาด พอให้รู้สึกว่าสบายใจ หัวเราะได้ แล้วก็กลับมานอนที่โรงแรม ตื่นเช้ามาด้วยความสดชื่น ลมทะเลพัดเอื่อยๆ รู้สึกว่าสบายๆ ไม่เครียด ไม่คิดฟุ้งซ่าน เช็คเอาท์ สะพายเป้ เดินทางต่อ… ไปที่ไหนดี ?