Friday, 21 August 2015

Vagrant, những bước chân lang thang...

Mình luôn là fan cuồng của những dòng lệnh, và lý do mà mình không đến với vagrant sớm hơn cũng vì điều này. Nhưng muộn còn hơn không, nhỉ?!!!
 
Trước kia dùng linux, sử dụng KVM để chạy máy ảo, chỉ cần vài câu lệnh là đủ để 1 cái máy chạy ngon lành, ssh vào ầm ầm, và chẳng có lý do gì để mình phải cài lên máy 1 phần mềm viết bằng Ruby, chỉ để phục vụ mục đích tương tự - lại còn phải chạy với Virtualbox (ngày xưa thế, giờ chắc đã hỗ trợ KVM).

Nhưng giờ đã khác, mình không còn dùng Linux nữa, Virtualbox là giải pháp duy nhất trên hệ điều hành này, cách để bật một máy ảo lên không gì khác ngoài sử dụng giao diện GUI. Sống tạm bợ được hơn một năm, và một ngày cuối tuần, mình bất ngờ tìm lại với Vagrant.

Từ khoá
vagrant: /ˈveɪɡr(ə)nt/ Vietsub: vâygrờnt :  có nghĩa là người lang thang

Vagrant đơn giản đến bất ngờ, cái doc đọc xong trong vòng 20 phút, và cuộc đời sang trang.


Cài đặt
xem chi tiết tại: http://www.vagrantup.com/downloads

Từ giờ cần bật máy, chỉ cần cd vào thư mục tương ứng, gõ
$ vagrant up && vagrant ssh
Tất nhiên bài viết này không viết lại hay dịch cái document rất ngắn gọn và dễ hiểu của vagrant, nên đừng gõ dòng lệnh trên nếu bạn chưa đọc doc.

Saturday, 8 August 2015

[bash] trôi - in từng dòng của file theo phong cách slow-motion

Xin giới thiệu phát minh vĩ đại nhất của ngày hôm nay mang tên "trôi", một câu lệnh siêu khủng khiếp có khả năng in ra từng dòng của một file - theo cơ chế quay chậm (slow-motion) : ))

Ứng dụng:
- xem cho đẹp, ngắm cho vui
- auto scroll,  tự cuộn trang như boss

Câu lệnh:
$ alias troi='while read i; do echo $i; sleep 0.5; done <'
$ troi /etc/passwd

và rồi nói cứ thế trôi, 
như suối trong khe, 
như xe trên phố 
trôi đi trôi đi
như thế này này
xe xe xe xe
nước nước nước nước
...

[Golang] awesome-go, log to syslog

Log là chuyện hiển nhiên của mọi phần mềm,
Module "log" của Golang là một nỗi thất vọng tràn trề cho ai đến từ Python với logging module, hay Java với Log4j thần thánh.

Và đây là lúc sức mạnh của mã nguồn mở bắt đầu...

Google là cái bản đồ kỳ diệu, nhưng cuối cùng nó cũng chỉ dẫn đến đích là GitHub, nơi kho báu nằm chờ. Cộng đồng mạng của tây thay vì ngồi thể hiện quan điểm về đất nước mình, họ đã xây dựng lên 1 hệ thống gọi là awesome-xyz, lưu trữ đầy đủ mọi tài nguyên liên quan đến mọi thứ. Danh sách đầy đủ các loại some xem ở đây hoặc đây.

Awesome-go cũng góp phần vào sự thần kỳ ấy với đầy đủ các package của cộng đồng, với mục logging gồm hơn hai chục package, làm sao để tìm ra cái mình cần?

Có nhiều cách để đánh giá, nhưng phổ biến nhất là theo lượng star/fork nếu đây là một project trên Github, vậy là từ một thứ "awesome", một sản phẩm hơn cả "awesome"  - fucking awesome đã ra đới ^^

Logrus dẫn đầu cuộc đua sao với 1500+ star, tiếp sau là glog (có sự tham gia của Rob Pike - tác giả của Golang) với 700+ và seelog với 400+