วันอังคารที่ 22 เมษายน พ.ศ. 2557

20 ปี สู่เส้นทาง Software Developer

blog นี้ไม่มีอะไรมาก ก็แค่อยากจะบันทึกเรื่องราวเอาไว้เฉยๆ เอาแค่ที่สนใจทางด้าน Software พอ ด้าน Hardware ไว้ทีหลัง

เรื่องนี้มันเริ่มต้นเมื่อตอนที่ได้สัมผัสกับคอมพิวเตอร์ส่วนบุคคลครั้งแรก คงซักตอน 6 ขวบได้ ประมาณประถม 1 สมัยนั้นก็ไม่รู้หรอกว่าไอ้เจ้าคอมพิวเตอร์มันมันคืออะไร รู้แต่ว่าพ่อซื้อมาใช้เก็บข้อมูลคนไข้ ก็เฝ้าเช้า เฝ้าเย็นว่าทำอะไรกัน หน้าจอเขียวๆ ดูไม่รู้เรื่อง แต่ก็อยากดู

ต่อจากนั้นประมาณ 2 ปีต่อมา คอมเครื่องนั้นพัง พ่อก็ซื้อมาใหม่ จำได้ว่าจอเป็นสีขาวละ มีเกมให้เล่นด้วย! กลับมาจากโรงเรียนก็ตรงดิ่งไปที่เครื่องคอม เล่นเกมซักนึดพอชื่นใจ พอแดดร่มก็ออกไปวิ่งเล่นกับแก้งเด็กแถวนั้น ไม่มืดกลับบ้านไม่เป็น ก็ประมาณนั้น

พอขึ้นประถม 4 เริ่มปีกกล้าขาแข็ง เสาร์-อาทิตย์ นั่งรถไฟออกจากบ้าน 7 โมงเช้า ไปเรียนคอมที่พิโลก( Siam Computer) ตอนนั้นจำได้เลยว่า ไม่ค่อยรู้เรื่องอะไรหรอก ก็มีโปรแกรมแนวๆ word excel fox-pro พวกนี้ ก็เรียนไป เรียนเสร็จประมาณ บ่าย 3 ก็ไปเที่ยวท็อปแลนด์ รอรถไฟกลับบ้านประมาณ 5 โมงเย็น ก็ซักปีกว่าๆได้ ไปมันทุกเสาร์อาทิตย์

ช่วงตั้งแต่ประถม 4 จนถึง มัธยม 3 ก็ไม่ค่อยมีอะไรมากเน้นเล่นเกมเป็นหลัก จนช่วงปิดเทอร์มใหญ่ ขึ้นมัธยม 4 นี่แหละที่ได้ไปเรียนพิเศษที่กรุงเทพ (ที่จริงคือโดนบังคับไปสอบเตรียมอุดม แต่ไม่ค่อยอยากไป  เลยขอเรียนพิเศษ) ก็ไปลงเรียน HTML กับ JavaScript ที่ Siam Computer แถวๆสยาม ก็ ok อ่ะ เด็กบ้านนอกเข้ากรุงฯ (เอาซะใจกลางกรุงฯเลยด้วย) ก็นะเรียนเสร็จก็ไปนั่งเล่นชมวิวแถวน้ำพุ (ตอนนี้เป็นห้าง Digital Gateway ไปซะแล้ว) ได้ความรู้มานิดๆหน่อยๆ สะพานเหล็ก สะพานพุทธ คลองถม บ้านหม้ออยู่ตรงไหน จตุจักรอยู่ไหน เซ็นทรัลลาด ฟิวเจอร์รังสิต พันทิพย์ ไปมาหมด (ไม่เกี่ยวกับ HTML รึ JavaScript ซักอย่าง)

พอขึ้น มัธยม 4 ก็ได้ไปแข่งงานศิลปะ... (จำชื่อเต็มไม่ได้แล้ว) ผลคือระดับจังหวัดมันก็สบายๆอยู่ แต่พอผ่านไประดับภาคนี่ ทำไมเค้าเก่งกันจังหว่า เก่งชนิดที่ว่าเทพเลย (คือตอนนั้นรู้สึกแบบนั้นจริงๆ) ก็เลยเริ่มหาหนังสือด้าน Programming มาอ่าน ไม่รู้ท่าไหน ไปหยิบได้ ภาษา C มา ก็งงซิ อ่านยังไงก็ไม่เข้าใจ ก็พอดีว่าอาจารย์สอนคอม บางทีพอดีเวลาว่างก็สอนเรา ไอ้เราก็ได้มั่ง ไม่ได้มั่ง ตามเรื่องตามราวไป

แล้วพอดีว่าช่วงงานวันวิทย์ที่ ม.นเรศวร เค้ามีแข่งเขียนโปรแกรม แน่นอนเราไม่พลาดถึงแม้จะไม่ค่อยรู้เรื่อง ผลคือ เค้าให้โจทย์ว่า ให้ทำตัวเดินหมากฮอส(ตัวม้า) ว่าถ้าอยู่ที่ช่อง (x,y) จะเดินไปที่ไหนได้บ้าง แล้วพอเดินไปช่องนั้น จะเดินไปไหนต่อได้อีก โอ้ววววววว คิด Algorithm ได้นะ แต่ code เป็น C ไม่สำเร็จ จำไม่ได้ละว่าทำไมถึงไม่สำเร็จ

จากความสำเร็จ(?)ในตอนที่ไปแข่งที่ มน. ก็เป็นแรงผลักดันให้สนใจด้านคอมมากขึ้น ก็เริ่มแบ่งเวลาจากการเล่นเกมมาศึกษามากขึ้น พอช่วงปิดเทอร์มขึ้น ม.5 มันมีแข่งทำเว็บวันแม่ โดย CITCOM มน. ก็ส่งแข่ง ผลคือ ได้ที่ 2 คุยโมไปได้ 7 วัน 7 คืน 555

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

พอขึ้น ม.6 ช่วงนี้ติดสาว ก็ไม่มีอะไรมาก จนมาเรียนระดับมหาวิทยาลัย ชั้นปีที่ 1 วิชา Introduction to Computer อันนี้แหละที่ได้เรียนรู้อะไรใหม่ๆหลายๆอย่าง กับวิชา Introduction to Programming ที่เรียกได้ว่าทุ่มสุดตัว

พอขึ้น ปี 2 มีเรียน OOP โอ้วโลกนี้มันช่วงกว้างใหญ่นัก ไหนจะวิชา Web ที่เรียกได้ว่าถนัดที่สุด ที่สำคัญ ปีนี้เป็นปีแรกที่ได้แข่ง Debug โปรแกรม ก็นะ ใครก็ไม่รู้หน้าตาเอ๋อๆมึนๆ แข่งครั้งแรก ชนะเลิศครับ คุยแม่งเป็นเดือนกว่าจะหายเห่อ

แต่ว่าทุกอย่างมันมีจุดเปลี่ยน ช่วงปิดเทอร์มขึ้นปี 3 ได้ทำค่ายโอลิมปิควิชาการ(สอวน) ที่เราเคยสอบไม่ติด ก็ไปนั่งเรียนกับเด็กเค้านั่นแหละ โอ้ววววว ไอ้เด็กพวกนี้ มรึงจะเก่งกันไปไหนฟร่ะ ก็เป็นอีกหนึ่งครั้งที่ต้องทุ่มสุดตัว เพราะกลัวแพ้เด็กอ่ะนะ

หลังจากนั้นร้อนวิชาไปแข่งอะไรซักอย่างในกรุงเทพฯ ผลคือแพ้เยินเลย เจ็บใจสุดๆตอนนั้น ก็เลยตั้งอกตั้งใจเรียนมากขึ้นในช่วง ปี 3-4 ก็มาถึงปลายทางชีวิตในมหาวิทยาลัยละ เน้นเอาดีทาง Java กับ Web สุดท้ายผลจากการตั้งใจเรียนมากขึ้น เกรดจบ ป.ตรี เลยพ้น 3 มาได้ แบบเฉียดฉิว

หลังจากเรียนจบ ช่วงนี้หลุมดำ แต่ก็ได้หัดๆ Android บ้าง เล็กๆน้อยๆ เข้างานนั่นนุ่นนี่อย่างพวก barcamp, google devfest และที่สำคัญที่สุดเมื่อปี 56 ได้มึนๆไปเข้า Startup Camp ที่ ม.กรุงเทพ กล้วยน้ำไท ตอนแรกก็ไม่รู้หรอกว่ามันเป็นยังไง รู้แต่ว่าถึงเวลาที่จะต้องทำอะไรใหม่ๆ ต้องเปลี่ยนแปลงได้แล้ว ก็ไป ผลคือ ได้รู้ว่าถึงเราจะไม่เก่งมากนัก แต่ก็ไม่ได้ปลายแถวนะ ถ้ามีแรงผลักดันในตัวเองมากพอ อะไรๆเราก็ทำได้ ถึงจะไม่ได้ผลดีมากนัก แต่ก็ ok อยู่ ไม่ขี้เหร่

อ้าว ข้ามจุดสำคัญไป เมื่อ ปี 2555 ได้กลับไปเริ่มเรียนโท ที่ มน. ที่เดิมที่จบตรีมา ทำไมเลือกที่นี่น่ะหรอ ใกล้บ้านคือคำตอบเลย แต่ว่าไม่ได้เรียน Com Sci แบบตอน ป.ตรีแล้วนะ รอบนี้ เรียน IT เพราะว่าความขี้เกียจในตัวมีเยอะ กลัวจะเรียนไม่จบเอา ความรู้สึกในการเรียนรอบนี้ส่วนใหญ่ คือ เหมือนไปนั่งทบทวนสิ่งที่รู้แล้ว กับเติมเต็มส่วนที่ขาดหายไป แต่ถึงอย่างนั้นก็ได้อะไรใหม่ๆมาหลายอย่างอยู่

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

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


to be the Great Software Developer

ปล. บรรยากาศตอนเรียนตรี กับโทที่ภาควิชาต่างกันมาก ตอนนี้มีกิจกรรมทางวิชาการเพิ่มมาเยอะมาก มีวิทยากรมาบรรยาย และทำ workshop ถี่กว่าเมื่อก่อนมากเลย

วันจันทร์ที่ 21 เมษายน พ.ศ. 2557

[review] มีอุปกรณ์เยอะ มันก็ต้องพกที่ชาร์ทไปเยอะ แต่แก้ได้ด้วย Coop Jelly Charger Station

Coop Jelly Charger Station


ในยุคนี้ หลายๆคนที่มีอุปกรณ์พวกมือถือ มากกว่า 1 เครื่อง คงจะมีปัญหากับการชาร์ทไฟ ที่ต้องใช้ที่ชาร์ท 1 อันกับอุปกรณ์ 1 ชิ้น แล้วปัญาหามันอยู่ที่ระยะเวลาการใช้งานมันก็ดันพอๆกัน ทำให้ตรงชาร์ทพร้อมๆกัน ก็ไม่รู้เหมือนกันว่าทำไมพวกผู้ผลิตทั้งหลายไม่ยอมให้ที่ชาร์ทที่สามารถชาร์ทอุปกรณ์ได้มากกว่า 1 ตัวพร้อมๆกันมาซะที แต่จะว่าไปบางรุ่นบางยี่ห้อไม่ให้ที่ชาร์ทมาด้วยซ้ำนะ

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

  • กรณีที่ 1 ที่ชาร์ท A สามารถปล่อยไฟได้ 1A ออกทาง USB 2 ช่อง แต่กรากฎว่า เวลาใช้ไฟจาก USB พร้อมกันทั้ง 2 ช่อง กระแสไฟดันตกไปอยู่ที่ช่องละ 0.5A หรืออาจจะต่ำกว่าด้วยซ้ำ
  • กรณีที่ 2 ที่ชาร์ท B สามารถปล่อยไฟได้ 1A ออกทาง USB 2 ช่อง และ สามารถปล่อยไฟได้ 2A ออกทาง USB 1 ช่อง แต่พอชาร์ทจริง ใช้ USB 1A แค่ 1 ช่อง ดันได้ไฟออกมา 3A ????????

อันนี้เนื่องจากผู้เขียนก็ไม่ได้มีความรู้ทางด้านไฟฟ้ามากมายนัก แต่ก็ขอเดาว่า เค้าออกแบบวงจรมาให้มันแชร์กัน ไม่ได้แยกกัน อ้าวแล้วแบบนี้จะมีที่ชาร์ทตัวไหนที่สามารถแยกจ่ายไฟได้จริงๆมั้ย ก็ขอตอบว่ามี ผู้เขียนก็หามานานแล้วที่ราคามันสมเหตุสมผลคุณภาพดี การใช้งานจริง ok (เรื่องเยอะนะ) ก็เลยเป็นที่มาของการรีวิว เจ้า Coop Jelly Charger Station ตัวนี้

มาเริ่มกันเลยละกัน



เจ้าตัวนี้มีชื่อว่า Coop Jelly Charger Station
เว็บผู้ผลิตคือ http://www.thecoopidea.com/#!jelly/c1oer
มีอยู่ด้วยกัน 5 สี คือ สีเทา สีฟ้า สีเขียว สีชมภู และสีเหลือง


เรามาดูสีเทากันเลยดีกว่า











ตัวกล่องที่ทำมาไอเดียดีอ่ะ ชอบ

ทำไมถึงต้องใช้ แบบนี้นี่เอง


เปิดกล่องออกมาก็มีตัวของ คู่มือ แล้วก็อากาศจากจีน


เมือแกะที่ชาร์ทออกมาจากปลอกซิลิโคน










ข้างในปลอกซิลิโคน


เวลาใช้ก็ลอดสายออกมาข้างล่างได้เลย เวลาไม่ใช้ก็ยัดสายเก็บเข้าไป สะดวกดีนะ


ทีนี้ก็เข้าเรื่องสำคัญเลยคือ จ่ายไฟแยกตามช่องได้มั้ย ในคู่มือบอกว่าได้(ลืมถ่ายรูปมา)
การจ่ายไฟของทั้ง 4 ช่องคือ

  • Tablet(iPad) 2.1A
  • Phone(iPhone/iPod) 1A
  • Phone(iPhone/iPod) 1A
  • Phone(iPhone/iPod) 1A

ส่วนเรื่องราคา ก็เห็นขายกันราวๆ 69$ usd นะ ตีเป็นเงินไทย ก็คง 2000 ได้ แต่ช่วงนี้(๒๑ เมษายน ๒๕๕๗) มันช่วงนาทีทอง ที่เว็บ lazada (ที่ในพันทิพย์เค้าบ่นๆกันว่ามีปัญหาเยอะไม่ดีนั่นแหละ แต่คนเขียนซื้อมาหลายอย่างก็ไม่เห็นมีปัญหาอะไร) ขายอยู่ 650 บาทไทย!

ก็จบเพียงเท่านี้ละกันนะ ครั้งหน้าเจอกันกับ review mac book pro

วันพฤหัสบดีที่ 17 เมษายน พ.ศ. 2557

5 วันมหัศจรรย์ กับการฝึก iOS ด้วยตัวเอง


5 วันมหัศจรรย์ กับการฝึก iOS ด้วยตัวเอง


เรื่องของเรื่องคือ
  • พอดีว่า มีงานที่ต้องการ iOS app เข้ามา
  • พอดีว่า จำเป็นต้องรับงานนั้น
  • พอดีว่า มีคนช่วยเรื่อง iOS แน่ๆ
  • พอดีว่า กระทรวงการคลังอนุมัติงบฉุกเฉินมาให้
  • พอดีว่า มีช่วงวันหยุดยาวพอดี
  • แต่ ไม่เป็น objective C เลย
  • iOS ไม่ต้องพูดถึงใช้เป็นอย่างเดียว



เลยเกิดสิ่งนี้

และสิ่งนี้




ก็เริ่มตั้งแต่วันที่ 12 จนถึง 16 เมษายน 2557
ความรู้สึกเหมือนสมัยตอนที่หัดเขียน Java ใหม่ๆเลย ตอนนั้นก็พอจะเป็น C/C++ กับ JavaScript อยู่บ้าง ก็อาศัยมั่วบ้าง อ่านจากตำราบ้าง ก็ผ่านมันมาได้

แต่มาตอนนี้เหมือนความกระตือลือล้นจะลดไปบ้าง แต่ก็ยังมีประสพการณ์(อันน้อยนิด) มาช่วยเติมเต็ม บวกกับพลังอำนาจของ google ก็พูดได้เลยว่า ถึงจะยังไม่ชำนาญ แต่ก็พอเข้าใจมันบ้างแล้ว

มาคิดๆดูแล้วยุคนี้นี่มันได้เปรียบจริงๆ ในยุคนั้นเต็มที่ก็กางตำราพร้อมกัน 2 เล่มเพื่อดูเป็นแนวทาง แต่ยุคนี้ ก็ google ไปสิ จะเอาซักกี่ตำราก็ได้ สบายๆ มีตัวอย่างเสร็จสรรพ ถ้าขี้เกียจพิมพ์ตามก็ copy & paste ไปเลย


เอาละหมดเรื่องบ่น ทีนี้เข้าเรื่องสาระละนะ

  • ความรู้ OOP สำคัญมาก
  • เลือก keyword ดี google จะน่ารัก
  • ทุ่มเทให้เกิน 120%
  • มีที่ปรึกษา
ความสำเร็จในครั้งนี้ก็คิดซะว่าเป็นของขวัญวันเกิดให้กับตัวเอง และด้วยการสนับสนุนจากบุคคลสำคัญๆ อย่างเช่น กระทรวงการคลัง(คุณป้า) คณาจารย์ และคุณพ่อ คุณแม่

วันพฤหัสบดีที่ 3 เมษายน พ.ศ. 2557

เหตุเกิดเพราะ Jena หรือ android หรือ andrjena

  • พอดีว่าตอนนี้เรียนวิชา Web Technology
  • พอดีว่าอาจารย์สั่งงานให้ทำ Ontology
  • พอดีว่าตัวอย่างที่อาจารย์มี มันมี PHP กับ Java
  • พอดีว่า PHP ต้องใช้ rdfapi-php ซึางมันตีกับ PHP 5.4.12 ที่ลงอยู่ในเครื่อง
  • พอดีว่า Apache Jena ทำงานบนเครื่องได้

จึงเลือกทำ Ontology บน Java
ซึ่งทำ Demo ง่ายได้แล้ว ให้ชื่อรุ่นว่า Mark 1

  • พอดีว่า ลืมเรื่องการทำ UI(swing) บน Java ไปแล้ว
  • พอดีว่าจะยัด HTML ไปลง Java แบบ Webview ของ Android ต้องใช้ JavaFX
  • พอดีว่าไม่เคยใช้ JavaFX
  • พอดีว่ายัด HTML ไปลง Webview ของ Android เป็น
  • พอดีว่าทำ App Android เป็น

จึงทำการ port code ของ Java ไปเป็น Android แล้วทำส่วน UI เป็น HTML
แต่ Library ของ Jena มีส่วน core ของ Java อยู่ ทำให้เอาไปใช้บน Android ตรงๆไม่ได้
????? แล้วเอายังไงดี ทางเลือกคือ เลิกกับทำต่อ

  • พอดีว่าไม่รู้อะไรดลใจให้ google ว่า jena android โอ้วววววววววววววววววววว มันมีคนทำไว้ด้วย ชื่อว่า androjena พระเจ้าช่วยกล้อยทอดมันฝรั่งต้ม สบายละทีนี้
  • พอดีว่าลองทำแล้ว ok ทำได้ จึงสำเร็จเป็น Mark 2

แต่เหมือนฟ้ากลั่นแกล้ง ทำไมโค้ดแบบเดียวกันมันดันได้ผลไม่ตรงกันฟร่ะ อันนี้ก็ขอยอมแต่เพียงเท่านี้ มันน่าจะเป็นปัญหาที่ Library ที่ port มายังไม่สมบูรณ์ เพราะ ณ วันที่เขียน androjena ยังเป็นเวอร์ชัน 0.5 อยู่เลย......

จบแค่นี้แหละ


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

สรุป
androjena ทำงานได้ แต่ไม่สมบูรณ์มั้งนะ
ทำ App Android ใช้เวลาในการ debug มากกว่าปกติ
eclipse กาก