Shell - Mọi thao tác với tệp và thư mục trên Bash

Shell bash trên Linux nếu như biết khai thác thì nó sẽ là một công cụ rất mạnh, trong bài này mình sẽ liệt kê các thao tác với tệp và thư mục (copy, move, rename, zip, ...). Like a hacker :))


Writefull

Writefull là tool hỗ trợ viết report, tài liệu khoa học bằng tiếng Anh khá hay, nó giúp mình tra cứu từ, sử dụng từ theo ngữ cảnh, so sánh từ, dịch, Writefull sử dụng CSDL từ Google News, Google Scholar, Web, ...

Javascript Weekly #10

Javascript Weekly #10 gửi đến cộng đồng một số tin tức JS mới: top frameworks 2017, Angular Next 4.0, Voca xử lý string cực kỳ mạnh, Hyper 1.0 - terminal on top JS, Vuetify, ...

The Evolution of a Software Engineer

Funny story about the Evolution of a Software Engineer, I copy from Sean Hickey Med.

The first year:

Merge conflicts on GitHub website

You can now resolve simple merge conflicts on GitHub right from your pull requests, saving you a trip to the command line and helping your team merge pull requests faster. - Github Blog.

vnTokenizer trên PySpark

vnTokenizer của tác giả Lê Hồng Phương ở phiên bản thứ 3 (vn.vitk) này được build trên Apache Spark, cho phép xử lý dữ liệu lớn. vn.vitk hỗ trợ các tác vụ: Word segmentation, Part-of-speech tagging, Dependency parsing.

Tuy nhiên vn.vitk được viết trên Java và sử dụng như một công cụ command line tools, khó tùy chỉnh và sử dụng dạng programming:
./bin/spark-submit ~/vitk/target/vn.vitk-3.0.jar -m <master-url> -i <input-file> -o <output-file> -v

Trong blog này mình sẽ custom lại vn.vitk để có thể chạy như một thư viện lập trình, sử dụng ngôn ngữ python (trên PySpark và Jupyter Notebook).

Javascript Weekly #9

#9: Date-DNS, chi tiết về các bản cập nhật mới của V8, React và Angular.


R trên Jupiter Notebook (Ubuntu 14.04 / 14.10 / 16.04)

Jupyter Notebook là công cụ khá mạnh của lập trình viên Python và Data Science. Nếu dùng R, Jupyter cũng cho phép ta tích hợp R kernel vào Notebook một cách dễ dàng.


Openstack - App Catalog và Docker trên Devstack

DevStack là giúp triển khai mô hình Openstack cho Developers, có thể chạy trên Single-Machine.
Trong bài này sẽ hướng dẫn cách cài đặt DevStack, với các module mở rộng như Magnum [1] (triển khai Containers trên Openstack), Murano [2] (Application catalogs), ...


Yarn: A new package manager for JavaScript

Facebook has launched Yarn, an open source JavaScript package manager that promises faster and more reliable installs than the massively popular npm. The company says its new creation is capable of reducing install times from several minutes to just seconds in some cases – depending on the size of the packages you’re working with, of course.

Try Ubuntu on Web

Ubuntu Tour là trang Web của Ubuntu cho phép người dùng có thể sử dụng thử trước Ubuntu trên giao diện Web mà không cần phải cài đặt. Thoạt đầu tưởng họ dùng VNC để Connect vào Docker, nhưng thực ra đây là một Web Application hoàn toàn được họ mô phỏng lại giống hệt giao diện Ubuntu.

Xem tại đây:  http://tour.ubuntu.com/en/
Github của tour.ubuntu.com: https://github.com/ubuntudesign/tour.ubuntu.com


Spark: Convert Text (CSV) to Parquet để tối ưu hóa Spark SQL và HDFS

Lưu trữ dữ liệu dưới dạng Columnar như Apache Parquet [1] (https://parquet.apache.org) góp phần tăng hiệu năng truy xuất trên Spark lên rất nhiều lần. Bởi vì nó có thể tính toán và chỉ lấy ra 1 phần dữ liệu cần thiết (như 1 vài cột trên CSV), mà không cần phải đụng tới các phần khác của data row. Ngoài ra Parquet còn hỗ trợ flexible compression do đó tiết kiệm được rất nhiều không gian HDFS.


Nếu bạn chứa dữ liệu dạng text trên HDFS và dùng Spark SQL để xử lý, một biện pháp tối ưu bạn nên thử là chuyển đổi text đó sang Parquet, tăng tốc độ truy xuất và tối ưu bộ nhớ.

Theo một bài viết của IBM[2], chuyển đổi sang Parquet giúp tăng tốc độ truy xuất lên 30 lần (hoặc hơn) tùy trường hợp, bộ nhớ tiết kiệm đến 75%!