Use Homebrew Rollback Python to 3.6.5x

 

เจอหลายๆ คนซื้อ Macbook มาใหม่ แล้วพยายามลง Python3 แต่ปรากฏว่า Homebrew ดันลง 3.7 ให้ พยายามจะไป Search หาเท่าไรก็ไม่เจอ วันนี้เรามีทริกมาแนะนำง่ายๆ เพียงสองบรรทัด

brew unlink python
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Install Docker and Docker Compose on Amazon Linux

Docker Compose is the tool for running multi-container Docker applications. With Docker Compose, you use a YAML document to arrange your application’s administrations. At that point, with a single command, you create and start all the services from your docker-compose.yml file. This is an easy 6 step to install Docker and Docker Compose on Amazon Linux.

Photo by Will Turner on Unsplash

Photo by Will Turner on Unsplash

sudo yum update -y
sudo yum install docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo usermod -a -G docker $USER
sudo service docker restart

How does it work?

  • update the latest version.
  • use yum to install docker
  • download and install docker-compose from GitHub repository
  • add execute permission to docker-compose
  • add the current user to docker group
  • restart docker service DONE!!!

 

Docker cleanup cheat sheet

docker-cleanup-cheat-sheet

รวมคำสั่ง Docker Cleanup ที่ต้องใช้บ่อยๆ จะได้ไม่เสียเวลาค้นหา

Docker


Delete all stopped container

docker rm $(docker ps -a -q)

Delete all untagged image

docker rmi $(docker images -q -f dangling=true)

Delete ALL images

docker rmi $(docker images -q)

อย่าลืมไปเยี่ยม cookly.me นะครับ

ทำไมถึงควรเลือกใช้ Mercurial SCM

Distributed revision control เป็นเครื่องมือที่ Developer สมัยนี้จะต้องหามาใส่หัวให้ได้ Mercurial ก็เป็น DVCS ชนิดหนึ่งที่เป็นที่นิยมในตลาด ( หมายถึงตลาดโลก ในเมืองไทยหายากหน่อยนึง ) แต่หลายคนที่พยายามจะเปลี่ยนจาก Subversion มาเป๋น DVCS ก็ยังสับสน ว่าไอ้ที่มีอยู่หลายเจ้านั้น มีดียังไง ผมจะสรุปคร่าวๆโดยที่พยายามพูดถึงเจ้าอื่นให้น้อยที่สุด เพื่อไม่ให้เกิดดราม่า

  • Mercurial สามารถทำงานได้ดี ในทีมที่มีหลายๆคน เพราะว่าแต่ละคนก็มี repo ของตัวเอง
  • เนื่องด้วยแต่ละคนมี repo ของตัวเอง อิสระในการทำงานก็สูงกว่า ไม่ต้องกังวลว่าจะไปพังของใคร แล้วทำให้ทั้งระบบต้องหยุด
  • สามารถทำงานแบบ Stand Alone แค่เพียง Check Out มา จะ Commit ก็ครั้งก็ได้ พอต่อเน็ตได้ค่อย Push ทีเดียว
  • แต่ละ Rev. มีเลขกำกับ เหมือน SVN ต่างจาก Git ที่เป็น Hash ยาวๆ จำยากๆ แต่ก็มีข้อเสียที่หมายเลข Rev เดียวกันนี้ จะแตกต่างไปจากคนอื่นๆ สร้างความสับสนพอสมควร เอาให้ชัวร์เวลา Merge ก็อ้างจาก Hash นั่นแหละ
  • ลงง่าย ใช้เร็ว มีเกือบทุก Platform
  • Guido ใช้ ( อันนี้ไม่รู้เป็นข้อดีหรือเปล่า อารมณ์ประมาณเหมือนใช้กระเป๋า ใช้มือถือตามดาราที่ชอบ )
  • มี Web Server build-in อันนี้ชอบมาก เหมาะกับคนที่ไม่ได้ใช้ผ่าน GUI สามารถสั่ง hg serve ไปเปิดไปที่ http://localhost:8000 เลย
  • ฟรี!!!

นึกต่อไม่ออกแฮะ ตัดจบเลยแล้วกัน

จาวาเร็วส์

จาวาใครว่าเร็วส์ ทุเรศ
ท่านผู้นำสมเพช แม่งค้าง
ความดีบ่เบิกเนตร ใครขัด กูด่า
ใครคิดเหตุผลอ้าง กูบล็อก เว็บกู

Test Driven Development ด้วย Django Unit Testing (ตอนที่ 1)

Django มีสุดยอดแห่ง unit testing ที่ build in มาในตัว framework เรียบร้อยแล้ว, คนมักจะไม่ค่อยใส่ใจกับมันเท่าไรนักเพราะว่ามันมาแบบ “out of the box” แต่นั่นไม่ได้หมายความว่าเราจะละเลยส่วนั้นได้ เมื่อเราสร้าง Application ของเราเองขึ้นมา เพราะว่าเทสต์นั้นทำให้เรา “คิดออก” ว่าอะไรที่ควรจะทำให้เสร็จ เพราะฉะนั้นเราจะมาพูดเรื่องทำอย่างไรให้ Application สามรถทำงานได้เป็นอย่างดี
เมื่อมาถึงตรงนี้แล้วผมจะพยายามแสดงให้เห็นว่า ทำยังไงจะใช้ TDD ใน Django Application เราจะสร้าง Project เล็กๆ และมี Application เพียงตัวเดียว และใช้ Unit testing เป็นตัวกำหนด ว่าจะออกแบบ algorithm และจะ implement class อย่างไร
Continue reading

Barcamp Bankhen Live

นั่งฟังเรื่องแรก Atom Server ของอาจารย์ภุชงค์ Intro เสียเกินครึ่ง แต่ก็ได้รู้เรื่องประวัติศาสตร์เสียมาก พูดเรื่อง Super Computer ที่เมืองจีน โดยพัฒนาโดยวิศวะกรของจีนเอง และยังพูดถึงเรื่อง CUDA ของ Nvidia ที่เปลี่ยนเรื่อง Program Design ไปเลย และ OpenCL ของ Apple ที่นำความสามารถของ GPU มาใช้ประมวลผล ใช้มือถือสร้าง Super Computer เนื่องจาก Balance ของ Power กับ Performance ได้ดีที่สุด แนวทางการโปรแกรมมิ่งแบบ Message Driven
หลังจากนั้นมาพูดเรื่อง Blueprint CSS พูดไม่ได้เร็วเท่าไร แต่ไม่มีเรื่องจะพูดซะงั้น lol
หลังจากนั้นมาได้เข้ามานั่งฟังเรื่อง Open Source Enterprises พูดเรื่องการ implement open source ค่าใช้จ่ายต่างๆ Commercial Software เกือบทั้งหมด จะมีชิ้นส่วนของ Open Source หัวข้อค่อนข้างยาว ง่วงนอนมาก
หัวข้อสุดท้ายมาฟังเรื่อง ใครว่าไมโครซอฟท์ใจร้ายโดยอาจารย์ศุภเดชและพี่หลาม งานนี้เพิ่งรู้ว่ามีของฟรีให้ใช้เยอะขนาดนี้ ไม่มาไม่รู้จริงๆ
ระหว่างวันได้เจอกับ iannnn ตัวเป็นๆ ไม่กล้าบอกว่าคุณคือไอดอลของผม จุ๊ฟๆ lol นอกจากนี้ยังมีพี่อึ่งที่เดินวนไปวนมา เจอกันทั้งวัน พี่อึ่งเล่าให้ฟังเรื่องรับอบรมติดตั้งระบบ Ubuntu หวังว่าสักวันคงจะได้ทำแบบนั้นมั่ง หาอิสระเสรีให้ชีวิต
ตัดจบดื้อๆ เขียนต่อไม่ออก.

CodeAndroid

Entry แรกหลังจากกู้ Server กลับมาได้จากอาการ “โคอาล่าเป็นพิษ”
หลังจากไป meeting ที่ SIS  มาได้ข้อสรุบว่า HTC ต้องการให้เหล่า Developer สร้าง App สำหรับคนไทยขึ้นมา เพื่อขยายฐานผู้ใช้ Android ในเมืองไทย ส่งผลต่อเนื่องถึงยอดขายของ HTC ในทางอ้อม
หากมองในตอนนี้เห็นได้ชัดว่า  Android ไม่ได้เปรี้ยงปร้างเท่าที่ควรจะเป็น ส่วนหนึ่งคงเป็นเพราะมันไม่หล่อเหมือน  iPhone อันนี้เรื่องจริงต้องยอมรับ แต่ในระยะยาวก็ไม่แน่ เพราะ Android Open source และยังมี Google หนุนหลังเต็มที่
สำหรับตัวผมแล้วติดว่า โทรศัพท์ที่ใช้ Android ส่วนใหญ่ราคาไกล้เคียงกับ iPhone แต่ความสามารถนั้นสู้ไม่ได้ อย่างน้อยก็มัลติทัช แล้วก็เอฟเฟกต์วิ้งๆทั้งหลายแหล่ จะมีดีกว่าก็เพียงแต่มันไม่ยุ่งยาก จุกจิกกวนใจเหมือน iPhone ทำอะไรนิดอะไรหน่อยก็หมดประกัน ถ้า HTC Magic ราคาลงมาสัก 5000 อย่างนี้จะเลือกง่ายขึ้นเยอะ
ด้าน Developer อันนี้ชัดเชน Android มาพร้อม Java ของดีที่ผมไม่เคยชอบ 8-( แต่ยังพอมีทาง ตอนนี้ผมมองไปที่ android-scripting หวังว่ามันจะใช้ Python ได้เข้าท่า ตอนนี้ขอเวลาไปลองก่อน ได้ผลยังไงจะมารายงาน

ติดตั้ง Postgres ลงบน Ubuntu 9.04 อย่างง่ายและรวดเร็ว

ผมมีปัญหากับการติดตั้ง postgres มาตลอด เมื่อเปรียบเทียบกับ mysql แล้วพบว่ายุ่งยากมาก ลองใช้วิธีต่อไปนี้ทำให้ติดตั้ง postgres ภายในสามนาที!!

sudo apt-get install postgresql pgadmin3 python-psycopg2

หลังจากรอขั้นตอนการติดตั้งจนเสร็จเรียบร้อยแล้วให้ตั้งรหัสผ่านให้กับ user postgres เพื่อไปติดตั้งส่วนอื่นๆต่อไปดังนี้

sudo -u postgres psql
postgres=# \password postgres
postgres=# \q

ได้รหัสผ่านของ user postgres แล้ว!!
อย่าลืมแก้ไฟล์ sudo nano /etc/postgresql/8.3/main/pg_hba.conf ตรงบรรทัด

# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

เป็น

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

เมื่อได้รหัสผ่านก็สามารถ login ผ่าน pgadmin ได้แล้ว เร็วใหม?