ผมใช้ Galaxy Nexus มาได้หลายปีละ อัพเดท Android มาจนถึง 4.3 และทนใช้ Kitkat ผ่าน ROM ของ Cyanogen Mod 11 มาได้เกือบปี ทรมานมากเพราะ crash ตลอด จนกระทั่งหา ROM Kitkat ที่ stable มาทดลอง สลับไปมากับ ROM Lollipop ที่พยายามหามาลองเรื่อยๆ เรียกว่ากระเสือกกระสนดิ้นรนมากๆ เพราะยังหามือถือ Nexus ที่ถูกใจไม่ได้ แต่ก็อยากได้ Lollipop มาลองเขียน App สุดท้ายได้ ROM AOSP มาลอง ซึ่งดีกว่า ROM ของ FML ซึ่งอัพเดทช้าไปสักหน่อย แต่บักก็ยังมีอยู่เยอะเหมือนกัน T_T

ขึ้นชื่อว่า AOSP ไม่มีอะไรเลยแม้กระทั่ง Browser ก็ถือว่าเล็กกระทัดรัดดีครับ สำหรับประสิทธิภาพยังไม่ค่อยดีเท่าไรนัก ยังหน่วง กินแรม กินไฟ ฯลฯ อยู่มาก ยิ่ง App ไหนเขียน HTTP Request บน Activity ไม่ได้ใช้ Thread หรือ AsyncTask ก็ยิ่งอาการหนัก ทำให้เครื่องค้างและ Crash ซึ่งยังเป็นปัญหาอยู่ ก็คงต้องรอสักพัก สำหรับผมตอนนี้ได้ Lollipop ทดลอง App แล้วสบายใจขึ้นมาหน่อย

ผมใช้เวลาว่างช่วงกลางคืนเรียน Material Design เพราะตกยุคไป 1 ปีแล้ว ตอนที่กำลังฮิตก็ไม่ได้สนใจไปนั่งเรียนกับปรมาจารย์ ก็เลยต้องมานั่งเรียนเอาเอง จากแหล่งเรียนรู้ที่พอจะหาได้ เช่น Youtube, Website เป็นต้น ครั้งนี้ก็เลยจะมาแนะนำเว็บที่ผมนั่งเรียนมา

Continue reading

Docker ประกาศเครื่องมือมาใหม่เพื่อรองรับการทำ Service Automation ให้ง่ายมากขึ้น ผ่านเครื่องมือชื่อ Machine ซึ่งสามารถช่วยให้คุณสร้างและจัดการ docker host บน

  • Virtual Machine Desktop เช่น Virtual Box, VMware Fusion
  • HyperVisor เช่น HyperV, VMware vSphere
  • Cloud Provrider เช่น Amazon Web Service, VMware vCloud Air, Google Compute Engine, Rackspace
  • Private Cloud เช่น OpenStack

ได้สะดวกมากขึ้น สามารถสั่ง run หรือ build Docker image ไปยังเครื่องที่เลือกใช้งานได้สะดวกมากขึ้น โดยไม่ต้องคำนึงถึงการเตรียม Docker Host หรือตั้งค่า tcp port ใดๆ สำหรับ Machine ยังอยู่ในช่วงของการพัฒนา การใช้งาน Machine จำเป็นต้องใช้ Docker + identity authentication และ Machine

Continue reading

Codiad เป็น web based IDE ช่วยให้คุณสามารถใช้ editor ได้ในทุกๆ ที่ ที่สามารถเข้าถึง internet ได้ Codiad รองรับการทำงานแบบ project ซึ่งคุณสามารถใช้งานได้เหมือนกับ IDE ทั่วไป มีเครื่องมืออย่าง auto-syntax highlighting, file manager และสามารถติดตั้ง plugin เสริมความสามารถได้อีกด้วย และที่สำคัญข้อมูลเก็บอยู่บน internet ทำให้ไม่ต้องคำนึงเรื่องพื้นที่เก็บข้อมูล และคุณสามารถทำงานได้ทุกที่ทุกเวลาจริงๆ

มาติดตั้ง Codiad กัน เริ่มจากติดตั้ง apache2 และ php5

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-mcrypt git

จากนั้น clone repository ไปไว้ใน /var/www/html

git clone https://github.com/Codiad/Codiad.git /var/www/html

Continue reading

rsync หรือ remote sync เป็นเครื่องมือ sync ไฟล์หรือไดเรคทอรี สามารถกำหนด algorithm ที่ใช้ในการ sync ข้อมูลได้ ทำให้ง่ายในการจัดการ และง่ายในการกำหนดข้อมูลที่ต้องการ sync ได้ rsync เหมาะสำหรับการคัดลอกไฟล์ข้าม server หรือใช้ backup ข้อมูลก็ได้ มาทดลองใช้ rsync กัน

สร้างไดเรคทอรี 2 ไดเรคทอรีดังนี้

mkdir source

mkdir target

จากนั้นสร้างไฟล์ลงในไดเรคทอรี source ดังนี้

touch source/file{1..100}

Continue reading

Ajenti เป็น web based control panel สำหรับ Linux server คล้ายๆ กับ Webmin ทำให้เราสามารถใช้ web ติดตั้งหรือตั้งค่า service ของ server ได้ง่ายๆ คุณสมบัติของ Ajenti ไม่เยอะเท่ากับ Webmin แต่การออกแบบที่เรียบง่ายก็ทำให้คุณใช้งานได้ง่ายมากขึ้น เช่นกัน มาลองติดตั้ง Ajenti กัน

ก่อนอื่นติดตั้ง repository ของ Ajenti กันก่อน

wget http://repo.ajenti.org/debian/key -O- | apt-key add -

echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" >> /etc/apt/sources.list

จากนั้นก็สั่งติดตั้งได้เลย

apt-get update && apt-get install ajenti -y

Continue reading

MEAN.JS เป็น full-stack javascript ซึ่งรวมเอาเทคโนโลยี javascript ที่ดีที่สุกเอาไว้ ทำให้คุณสามารถสร้าง application ได้รวดเร็วมากยิ่งขึ้นและง่ายมากขึ้น MEAN.JS ประกอบไปด้วย MongoDB, ExpressJS, AngularJS และ Node ในครั้งนี้เรามาลองติดตั้ง MEAN.JS บน Ubuntu 14.04 กัน

อันดับแรกติดตั้ง MongoDB ก่อน

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

sudo apt-get update

sudo apt-get install mongodb-org git build-essential openssl libssl-dev pkg-config

Continue reading

Ghost เป็นระบบ Blog ใช้ Node.js ทำให้มีขนาดเล็กและคล่องตัวในการติดตั้งเพียงใช้ Node.js และ npm เท่านั้น หากต้องการติดตั้ง Ghost เพื่อทำเป็น Blog หลายๆ ตัวในเครื่องเซิร์ฟเวอร์เดียว เราจะต้องใช้บริการ reverse proxy จาก Nginx เข้ามาช่วยเพื่อ redirect traffic จากโดเมนไปยัง Ghost ที่ทำงานอยู่บน port ต่างๆ ที่เรากำหนด เช่น

  • www.fffee.org –> Ghost ทำงาน port 2768
  • andrew.fffee.org –> Ghost ทำงาน port 2769

มาลงมือติดตั้งกันเลย เริ่มจากเครื่องมือที่ต้องใช้กันก่อน

apt-get install unzip curl nginx nodejs npm

Continue reading

Ghost เป็น blogging platform ที่มีขนาดเล็กทำงานได้รวดเร็ว คุณสามารถใช้ Ghost เพื่อเขียนหรืออ่าน Blog ได้ในทุกๆ อุปกรณ์ เนื่องจาก Ghost ออกแบบมาพร้อมกับความสามารถด้าน web responsive แสดงผลและใช้งานได้ในทุกอุปกรณ์ และที่สำคัญรองรับการเขียนเนื้อหาโดยใช้ Markdown ทำให้ Ghost ใช้งานได้ง่ายมากขึ้นและใช้พื้นที่เก็บข้อมูลน้อยลง

วิธีการติดตั้ง Ghost แบบง่ายๆ คือติดตั้งโดยใช้ Bitnami ดาวน์โหลดตัวติดตั้งได้เลย ดังนี้

wget https://bitnami.com/redirect/to/47381/bitnami-ghost-0.5.7-0-linux-x64-installer.run?with_popup_skip_signin=1 -O bitnami-ghost-0.5.7-0-linux-x64-installer.run

Continue reading

lsyncd เป็นเครื่องมือช่วยในการ sync ข้อมูลผ่าน rsync โดยไม่ต้องสั่ง rsync ทุกครั้งที่มีข้อมูลเปลี่ยนแปลง lsyncd จะทำงานเป็น deamon คอยดูการเปลี่ยนแปลงของไฟล์ในไดเรคทอรี source และสั่ง sync ไปยังไดเรคทอรีปลายทาง หรือเครื่องปลายทางได้ ยกตัวอย่าง เช่น sync ข้อมูลเครื่องที่ 1 ไปยังเครื่องที่ 2 แบบอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลง เป็นต้น

เริ่มจากสร้าง ssh key ที่เครื่องหลัก

ssh-keygen

จากนั้นสั่ง ssh-copy-id คัดลอก ssh key ไปยังเครื่องปลายทาง

ssh-copy-id remote_mirror_ip_address

สร้าง source ไดเรคทอรีเก็บไฟล์ที่ต้องการ sync

mkdir /source

Continue reading