ผมใช้ Azure มาครบปีแล้วแต่ยังไม่เคย blog เรื่องการใช้งาน Azure ผ่าน command line สักที ในช่วงแรก Azure ออกเครื่องมือที่เรียกว่า azure-cli แต่ใช้งานได้ในบางระบบปฏิบัติการเท่านั้น ตอนนี้่ Azure หันมาใช้ Node.js ในการพัฒนาเครื่องมือ Command Line Interface ใหม่ชื่อ Azure Cross Platform Command Line Interface หรือ xplat-cli ทำให้การใช้งาน Azure บน Command Line ใช้ได้ในทุกระบบปฏิบัติการและใช้งานได้สะดวกมากขึ้น สำหรับการติดตั้ง xplat-cli ก็ง่ายมาก สามารถติดตั้งผ่าน Node Package Manager ได้เลย ดังนี้

npm install azure-cli -g

ง่ายมั๊ย :) จากนั้นก็สั่ง import account ของเราเข้ามาดังนี้

azure account download

azure-cli จะให้ url เรามา 1 อัน ให้ browse เข้าไป browser จะ download ไฟล์ .publishsettings มาให้ จากนั้นก็สั่ง import ดังนี้

azure account import my-account-file.publishsettings


Continue reading

Azure เป็นบริการ Cloud Computing ของ Microsoft ปัจจุบันมีการบริการที่หลากหลายมากขึ้น ไม่ว่าจะเป็นเรื่อง Big Data ผ่าน HDInsight, CDN, Scheduler, API Management, Traffic Manager เรียกได้ว่ามีบริการเพิ่มขึ้นกว่าเดิมมาก นอกจากจะมีของเล่นเพิ่มแล้ว Azure ยังสนับสนุน นักพัฒนาที่ไม่ได้ใช้เครื่องมือของ Microsoft มากขึ้นด้วย โดยเฉพาะ Azure Web Site ซึ่งในช่วงแรกบังคับให้ใช้ Visual Studio เพื่อ Deploy App ซึ่งในปัจจุบันไม่จำเป็นอีกต่อไปแล้ว เพราะคุณสามารถ Deploy App ที่พัฒนาจาก .Net, Java, PHP, Python หรือ Node.js ได้จาก Git, Github, Bitbucket หรือแม้กระทั่ง Dropbox เรียกได้ว่าเปิดกว้างกว่าเดิมมาก นอกจากนี้ Azure Website สามารถตั้งค่า Auto Scaling ได้แล้ว อยากรู้ต้องลองดู :)

มาลองสร้าง Azure Web Site กันครับ login เข้าไปที่ Azure Dashboard จากนั้นกดปุ่ม + New ข้างล่าง เลือก Web Site > Quick Create ใส่ชื่อ URL ที่เราต้องการ เลือก Region ที่ต้องการจากนั้นกด Create Web Site ได้เลย

Continue reading

ผมซื้อ Raspberry Pi B+ ไว้เนื่องจากอาจจะได้มีโอกาสเล่นบ้าง แต่ก็ลืมไปว่า Raspberry Pi เป็นคอมพิวเตอร์จิ๋ว ต้องใช้ระบบปฏิบัติการ, จอ และ คีย์บอร์ด กว่าจะได้เล่นก็ใช้เวลาพอสมควร เพราะต้องทำ SD Card สำหรับบูตระบบปฏิบัติการและหาคีย์บอร์ดมาต่อใช้งาน เอาเป็นว่าได้เล่นละ ก็เลยมา blog สักหน่อยว่าเจออะไรบ้าง มาดูของที่ผมซื้อมาก่อนครับว่ามีอะไรบ้าง

  • Raspberry Pi B+
  • Crystal Clear Case
  • USB Wifi

ก่อนจะเล่น Raspberry Pi ได้ต้องหา SD Card กันก่อน ใช้ SD Card ขนาด 4-8GB ขนาดใหญ่กว่านั้นไม่แนะนำครับ ดาวน์โหลด OS  ผมแนะนำ Raspbian หรือใครจะใช้ตัวอื่นก็ได้ครับ อาจจะอยากลองหลายตัว
Continue reading

มีหลายท่านถามถึง CoreOS ผมก็เข้าใจว่าเคย blog เรื่องนี้ไปแล้ว พอไปค้นดูอีกทีก็พบว่าไม่ได้ blog เรื่อง CoreOS ไว้เลย T_T ถือโอกาส CoreOS ออกรุ่น stable แล้วก็มาลองเล่นกัน CoreOS พัฒนาขึ้นมาโดยใช้แนวคิด ระบบปฏิบัติการขนาดเล็ก สามารถอัพเดทแบบ distributed update เหมือนกับ ChromeOS ใช้ systemd เป็นหลัก และยังมีเครื่องมือที่น่าสนใจอีกหลายอย่างเช่น fleet และ etcd เป็นต้น อ้อเกือบลืม CoreOS มี Docker ติดมาให้ด้วย คุณสามารถย้าย container จากเครื่องอื่นๆ มาทำงานบน CoreOS ได้เลย

CoreOS ได้ชื่อว่าเป็นระบบปฏิบัติการสำหรับ Cloud เลยก็ว่าได้ เพราะมีขนาดเล็ก บูตเร็ว จัดการง่ายใช้ systemd, fleet, kubernetes, cloud-config และรองรับ Docker อีกด้วย สำหรับท่านที่ต้องการใช้งาน CoreOS สามารถใช้งานได้บน

Cloud Provider


Continue reading

Geard เป็นเครื่องมือสำหรับจัดการ Docker container,เชื่อม container ระหว่าง ​Docker host และช่วยให้จัดการ Container ผ่าน systemd ทำให้จัดการ container เป็นเรื่องง่ายมากขึ้น Geard ใช้ได้บน RedHat Enterprise, Centos และ Fedora มาลองเล่น Geard กัน เริ่มจากติดตั้ง Docker กันก่อน ใน Centos 7 มี package docker ใน extra repository แต่เป็นรุ่นเก่ายังไม่ใช้รุ่น 1.0 แต่ใน RPEL repository มี Docker 1.x ดังนั้นเราจะติดตั้งจาก EPEL repository กัน

yum install http://download.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

yum install docker-io

จากนั้นสั่งให้ Docker deamon ทำงานดังนี้

systemctl start docker

สั่งให้ docker ทำงานทุกครั้งหลังจาก boot เครื่อง

systemctl enable docker


Continue reading

MEAN.IO เป็น Full Stack Javascript Framework รวมเอาเครื่องมือในการพัฒนา Web Application ยุคใหม่เข้าไว้ด้วยกัน MEAN ประกอบไปด้วย MongoDB, Express, Angular JS และ Node.JS MEAN.IO จะช่วยในคุณเริ่มสร้าง Web Application ได้เร็วมากขึ้น ก่อนจะใช้เครื่องมือของ MEAN.IO เราต้องติดตั้งเครื่องมือที่จำเป็นก่อนดังนี้

ติดตั้ง MongoDB

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/10gen.list
sudo apt-get update
sudo apt-get install mongodb-10gen


Continue reading

​จากรายงานการสำรวจการใช้ซอฟต์แวร์ละเมิดลิขสิทธิ์ใน 110 ประเทศทั่วโลก ในปี 2013 ของ BSA ซึ่งจัดทำร่วมกับ IDC ประกาศเมื่อเดือนมิถุนายน 2014 ที่ผ่านมา ประเทศไทยถูกจัดอยู่ในอันดับที่ 17 ของโลก มีอัตราการละเมิดอยู่ที่ 71% มูลค่าการละเมิดลิขสิทธิ์ $M 869 อัตราการละเมิดลิขสิทธิ์ลดลง 1% จากการละเมิดลิขสิทธิ์ในปี 2011 (ปี 2012 BSA/IDC ไม่มีการสำรวจ) เฉลี่ยลดลง 0.5% ต่อปี

สาเหตุประการเดียวที่อัตราการละเมิดลิขสิทธิ์ซอฟต์แวร์ในประเทศไทยลดลงในอัตราที่น้อยมาก เนื่องจากหน่วยงานภาครัฐส่วนใหญ่ ยังคงทำการเผยแพร่ข้อมูลข่าวสารด้วยไฟล์ข้อมูลที่ไม่เป็นมาตรฐานเปิด ทำให้ประชาชนและหน่วยงานภาคเอกชน ต้องจัดหาซอฟต์แวร์เฉพาะซึ่งมีราคาแพงมาเปิดเอกสารดังกล่าว ซึ่งมากกว่า 70 % ได้มาด้วยวิธีการที่ไม่ถูกต้อง ดังนั้นเพื่อเป็นการแก้ไขปัญหาดังกล่าวข้างต้น หน่วยงานภาครัฐจะต้องเผยแพร่ข้อมูลข่าวสารในรูปแบบของไฟล์ตามมาตรฐานเปิดเท่านั้น
Continue reading

ครั้งที่แล้วได้ใช้ aREST บน Arduino กันไปแล้ว ครั้งนี้มาลองเล่น Xively กันดูบ้าง Xively เป็นบริการ PaaS สำหรับ Internet of Things คุณสามารถเขียน/อ่านข้อมูลที่ได้จาก sensor ไปเก็บไว้ที่ Xively ได้ และข้อมูลสามารถเก็บได้หลายแบบไม่ว่าจะเป็นค่าตัวเลข, พิกัด GPS และสามารถทำ Triggers ผ่าน HTTP POST ได้ หากค่าที่อ่านได้จาก sensor ตรงกับเงื่อนไขที่คุณตั้งไว้ เช่น แดดออก อุณหภูมิมากกว่า 35 องค์ศาเซลเซียส ให้เปิด sprinkler ถ้าอุณหภูมิลดลงเหลือ 30 ให้ปิด sprinkler เป็นต้น

ไหนๆ ยกตัวอย่างเรื่องอุณหภูมิแล้ว มี sensor ที่เกี่ยวกับ อุณหภูมิอยู่หลายตัว เช่น TMP35 เป็น Temperature Sensor แบบ Analog มี 3 ขา ใช้งานง่ายๆ เอาไฟ 2.7-5.5V ต่อเข้าขา V in และอ่านค่าจาก V out แล้วเอาค่าที่ได้จาก V out มาคำนวณเพื่อหาค่า Temperature ตัวอย่างการคำนวณ ดังนี้

  • VOLT_OUT = 100*5/1024.0
  • TEMP_CEL = (VOLT_OUT-0.5)*100
  • TEMP_FAR = (TEMP_CEL * 9/5) + 32;


Continue reading

ช่วงนี้ไล่ blog ที่ยังค้างอยู่ ตั้งใจว่าจะเขียนให้ครบเพื่อกันลืม จำได้ว่าช่วงปีที่แล้วเป็นยุคเริ่มต้นของ Orchestration Tools สำหรับ Docker และอีกเรื่องนึงที่ขาดไม่ได้คือ Docker GUI ซึ่งก็มีโคงการโอเพนซอร์สหลายตัวพัฒนา Docker GUI ขึ้นมา ไม่ว่าจะเป็น Docker UI, Shipyard ฯลฯ แต่ที่ดูใช้งานง่ายและติดตั้งง่าย มีการเชื่อมต่อที่หลากหลายทั้ง Web GUI และ REST API ก็คงเป็น Shipyard และที่สำคัญ Shipyard มีบริการทุกอย่างที่ต้องการ แบ่งออกเป็น service ที่ชัดเจน และมีเอกสารที่อ่านแล้วเข้าใจรวดเร็ว มาลองเล่น Shipyard กันครับ

ใช้เครื่อง 3 เครื่องดังนี้

  • Shipyard –> 172.16.30.34
  • Docker01 –> 172.16.28.97
  • Docker02 –> 172.16.30.8

สำหรับ IP Address นี่แล้วแต่สะดวก ใช้อ้างอิงเฉยๆ ถ้ามี DNS ก็อ้างอิงจาก Domain Name จะสะดวกมากกว่า ได้เครื่องครบ 3 เครื่องแล้ว ติดตั้ง Ubuntu Server 14.04 LTS 64 bits แล้วติดตั้ง Docker ทั้ง 3 เครื่องดังนี้
Continue reading

เนื่องจากซื้อ Arduino UNO กับ Wifi Shield ของ Tony Labs เอาไว้คิดว่าน่าจะได้เอามาทำอะไรสนุกๆ แต่ทิ้งไว้นานมากจนลืม พอนึกได้ก็ลองเล่นสักหน่อย จะได้อยู่ในกระแส Internet of Things (IoTs) บ้าง ฮาร์ดแวร์ประเภท Embedded และ Linux Embedded มีอยู่หลากหลายค่าย ที่เป็นที่นิยมก็ได้แก่ Arduino, Raspberry Pi, Beagle Board เป็นต้น การประยุกต์ใช้งานสามารถทำได้หลายอย่าง ต่อเซนเซอร์เพื่อรับค่า หรือควบคุมอุปกรณ์ต่างๆ ได้ ถ้าเป็น Linux Embedded ก็สามารถติดตั้งโปรแกรมใน SD Card ได้ หรือติดตั้ง server service ต่างๆ ก็ได้ เป็นคอมพิวเตอร์ตัวเล็กๆ ให้ใช้งานได้เลย แต่ต้องมี package ใน Repository ให้ติดตั้งนะครับ Linux Embedded ส่วนใหญ่จะใช้ CPU แบบ ARM ฉะนั้นจะติดตั้งอะไรก็ดูสักนิดว่ามี package สำหรับ CPU Architecture ที่เราใช้หรือเปล่า

แต่สำหรับ Arduino UNO ต้องเขียนโปรแกรมฝังเข้าไปอย่างเดียว อย่าหวังว่าจะ apt-get install apache php mysql อะไรเข้าไปได้ ต้องเขียน service เหล่านั้นขึ้นมาเอง…น่าสงสาร แต่ Arduino เป็น Open Embedded Board ใช้แนวคิดโดยเพิ่มคุณสมบัติใหม่ผ่าน Shield จึงทำให้มีคนทำ Shield เพื่อมาต่อกับ Arduino เยอะมากขึ้น ตัวอย่าง เช่น Wifi Sheild, Ethernet Shield, Data Logger Shield, GSM Shield เป็นต้น เรียกได้ว่าอยากได้อะไรก็ซื้อ Shield มาเสียบ นอกจาก Shield แล้วก็ยังมี Module แบบปกติที่ใช้งานกันทั่วไปอีกด้วย


Continue reading