Build OpenWrt từ nguồn

Trước kia tôi đã có bài giới thiệu về OpenWrt. Hôm nay tôi sẽ hướng dẫn cách build một bản OpenWrt từ mã nguồn. Bởi vì tôi dùng Ubuntu trong công việc hàng ngày nên các dòng lệnh, minh họa dưới đây là áp dụng với Ubuntu. Bạn vẫn có thể áp dụng tương tự với các bản Linux khác.

Ta có thể tìm các dòng lệnh để lấy mã nguồn OpenWrt ở trang này: https://dev.openwrt.org/wiki/GetSource

Nhưng trước đó, hãy cài đặt các phần mềm công cụ cần thiết cho việc build cái đã.

Tập bơi đi

Hi vọng sự kiện Ánh Viên sẽ giục giã nhiều bạn trẻ lao vào con đường bơi lội, nhằm tìm 1 tài năng xêm xêm Ánh Viên để gặt nốt HCV nội dung tiếp sức cho Việt Nam. Nói gì nói, đội hình Việt Nam chênh lệch quá làm Ánh Viên bị thua số huy chương so với anh chàng người Singapore.

Và nhân trong 1 khí thế hừng hực này, NXB Trẻ nên tái bản và marketing mạnh mẽ bộ truyện Rough của tác giả Adachi Mitsuru. Đây là bộ truyện đã truyền cảm hứng cho mình lao vào tập bơi, trong bối cảnh môn bơi VN khi đó vẫn còn nhạt nhòa so với các nước trong khu vực, chưa có 1 VĐV nào đủ sức gây nên cơn sốt.

Rough

Khi nói về chặng đường học bơi của mình, không chỉ có bộ truyện tranh Rough, mình còn phải cảm ơn rất nhiều bạn Thành, người "thầy" đầu tiên dạy bơi cho mình. Sau khi chia tay bạn vì học hết lớp 12, với món bơi ếch sơ sơ học được, mình tiếp tục tự tập các kiểu bơi khác, và cũng "tầm sư học đạo" từ nhiều nguồn khác nhau, chủ yếu là để ngộ ra một số bí kíp, khiến mình giải quyết được những bế tắc khiến mình không thể tiến bộ. Nhân tiện kể ra ở đây, nhắm giúp ai có gặp những khó khăn tương tự thì có thể tháo gỡ, để càng có nhiều người giỏi bơi thêm nữa.

Building debian package for Nginx + pagespeed + passenger modules

Nginx, unlike Apache, doesn't support dynamically load additional modules. If we installed Nginx from distro's package repository, like installing for apt-get under Ubuntu, we cannot have additional nginx-somemodule package for easily installing more modules. If we need more than a standard Nginx, we have to remove the one installed with package manger, then build and install again from source. But installing via this method means we lose some advantage of package manager.

So, this tutorial will show you how to build and combine Google PageSpeed and Phusion Passenger in the same package as Nginx, to let it installed and controlled by Debian/Ubuntu's APT package manger.

Why building debian package?

  • Can revert to original Nginx by uninstall our deb package.

Việc làm cho người Việt tại Malaysia

1. Lập trình viên Python tại EasyUni

Làm việc tại Kuala Lumpur.

Nhiệm vụ

Xây dựng, bổ sung tính năng cho website: www.easyuni.com.

Flask extension and isinstance conflict

The way of importing Flask extensions is so annoying:

from flask.ext.foo import Bar

It is annoying because most of the Python IDEs (Komodo and PyCharm) cannot parse it to provide code navigation or autocompletion.