Windows CRLF to Unix LF Issues in Cygwin Shell Script

เมื่อเรารัน shell script ของโปรแกรม Cygwin for Windows ซึ่งมีการเขียนคำสั่งไปตัดเอาข้อความผ่านคำสั่ง (Command Line) ของ Windows มาใส่ในตัวแปรของ shell script เช่น ในตัวอย่างนี้คือคำสั่ง ipconfig เมื่อได้ข้อความที่ต้องการมาเราจะได้ \r แถมมาให้ด้วยต่อท้าย เพราะ Windows style line ending จะมี CRLF (\r\n)  ในขณะที่ Linux style line ending จะมี LF (\n) เท่านั้น น่าแปลกใจมากว่า เราเคยรัน…

วิธี upgrade Node.js ใน Bash ของ Windows 10 ให้เป็นรุ่นปัจจุบัน

ปัญหาคือ บน Windows 10 เราสามารถใช้ Windows Subsystem for Linux (WSL) หรือ Bash Shell ได้ ซึ่งจริงๆมันก็คือ Ubuntu 16.04.3 แต่ว่า เวลาจะใช้งาน Node.js ติดตั้งพวก Firebase, Angular อะไรพวกนี้ จะทำไม่ได้ เพราะรุ่นที่ให้มามันเก่ามาก วิธีการคือ (Reference: https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) ใช้คำสั่งต่อไปนี้ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash – apt-get install…

วิธีป้องกันไม่ให้ Notebook Windows 10 เข้าสู่ Hibernate หลังจาก Sleep 180 วินาที

ปัญหามีอยู่ว่า บางที เราก็อยากจะแค่ ปิดฝา Notebook แล้วให้มัน Sleep แล้วเมื่อเปิดอีกครั้ง ก็สามารถทำงานต่อได้เลย แต่ค่า Default คือ ระบบจะเข้าสู่ Sleep เป็นเวลา 180 วินาที (3 นาที) แล้วหลังจากนั้นก็จะ Hibernate ทำให้ เวลากลับมาทำงานใหม่ ต้องรอสักพัก (แบบว่าอยากได้เหมือน Macbook อ่ะ เปิดปั๊บ ทำงานต่อได้เลย) วิธีการมีดังนี้ กดปุ่ม Windows แล้วพิมพ์ sleep > เลือก Power & sleep settings…

วิธีติดตั้งระบบ Cyrus IMAP Cluster (Cyrus Murder)

ต่อจาก Mail Clustering with Cyrus Murder และ How Cyrus Murder (Mail Clustering) work? คราวนี้ มาลง รายละเอียดทีละขั้นตอน ระบบ Cyrus IMAP Cluster หรือ Cyrus Murder นี้ ประกอบด้วยเครื่องคอมพิวเตอร์ ขั้นต่ำ 3 เครื่อง คือ frontend, backend, mupdate ต่อไปนี้ จะเป็นวิธีการทำ แต่ละเครื่อง   Prerequisite ทั้งหมดเป็น Ubuntu 16.04 Server, ทำการ…

ตรวจเช็คพื้นที่และเฝ้าระวังน้ำท่วมด้วย Google Earth

#ฝนตกต่อเนื่อง ตรวจเช็คพื้นที่และเฝ้าระวังน้ำท่วมด้วย Google Earth มาดูวิธีการเฝ้าระวังพื้นที่บ้านเรา จะเสี่ยงน้ำท่วมไหม? และต้องเฝ้าระวังพื้นที่รอบๆด้วยนะคับ #GoogleEarth #GIS #เฝ้าระวังน้ำท่วม

วิธีการใช้ Google Drive เป็น Private Git Repository

git คือ distributed revision control system เรามักใช้ github.com สำหรับเก็บ source code แต่มัน public ซึ่ง บางทีเราก็ต้องการอะไรที่ private ต่อไปนี้ คือวิธีการใช้งาน Google Drive เพื่อสร้าง Private Git Repository ติดตั้ง Google Drive File Stream, git ให้เรียบร้อย ใน Google Drive สร้าง Directory ชื่อ git ขึ้นมาที่ My Drive…

เตาะแตะไปกับ Docker ตอนที่ 13 Docker Machine

Docker Machine คือ tool ที่ใช้สำหรับจัดเตรียม (Provision) docker เป็น virtual hosts บน Mac หรือ Windows รวมถึง ติดตั้งเพิ่ม docker บน Native Linux Host ที่มีอยู่แล้วในเครือข่ายของคุณ ยิ่งไปกว่านั้นยังสามารถจัดเตรียม docker ไปบน cloud providers เช่น Azure, AWS, or Digital Ocean เป็นต้น Docker Machine จัดการ remote docker host…

Ambari #08 ปรับแต่ง pyspark ให้สามารถใช้งาน spark.ml ได้ ด้วย conda package management

เราสามารถใช้งาน Spark ในด้าน Machine Learning ด้วย pyspark แต่ปัญหาอยู่ที่ว่า python ที่ติดตั้งบน Ubuntu 14.04 นั้น ไม่มี package ที่จำเป็นต้องใช้ ได้แก่ numpy, scipy, scikit-learn, matplotlib ซึ่งขั้นตอนการติดตั้ง ก็จะยุ่งยาก เพราะต้อง compile code เองด้วย แต่ปัจจุบัน มีเครื่องมือที่เรียกว่า “conda” ทำหน้าที่ติดตั้ง package ที่ต้องการได้สะดวก ในที่นี้ จะเลือกใช้ python 2.7 และ จะติดตั้งลงไปใน /opt/conda…

Ambari #07 เปรียบเทียบความเร็วของการ Query ระหว่าง MySQL กับ Hive

จากบทความก่อนหน้า Ambari #05 การดึงข้อมูลเข้าจาก MySQL เข้าสู่ Hive ด้วย Sqoop ได้นำเข้าข้อมูล Mail Log จาก MySQL ซึ่งมีขนาด 27 GB มีข้อมูลประมาณ 12 ล้าน Record ต่อไปจะเปรียบเทียบ การ Query ข้อมูลจาก  Hive ซึ่งทำงานอยู่บน Hadoop Cluster กับ MySQL Server Spec MySQL Server: 1 Node x CPU 40 Core…