Skip to main content


Showing posts from March, 2015

Silent Thursday? Good idea for companies!!!

This is a TED talk of Jason Fried, co-author of the best selling books REWORK, REMOTE, co-founder of Basecamp. In this talk, he discussed about the problem of companies's workplaces, the real distraction that prevent workers from making their job done, and what we can do to fix it.

Filter email addresses with egrep

You can use the following command to filter email addresses from text:

egrep -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b"

For example, to get email addresses of all users with wp-cli:

$ wp user list | egrep -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b"

Cool huh?!

How I killed my Android phone and brought it back to life using ADB

Yesterday, I rebooted my rooted Android phone, the Lonovo P770, and I could not get the keyboard to work because the Language & Input settings kept crashing. I tried to do a factory reset but forgot that I uninstalled some of the Lenovo's stock apps including the stock launcher and keyboard. So, after the reset finished, the phone was useless because I could not open any apps.

Basically, I couldn't do anything with my phone except for the settings app. But as a Linux user (proudly face :D) I wondered there is any way to install and configure my phone from a computer. And here it is:

The Android's ADB

ADB allows me to do a lot of things with my Android phone from a computer including install apps (apk packages) and apply some settings (for example: change keyboard, set language...). Here are the steps:

1. Install adb utilities in Ubuntu 14.10 (or 14.04)

$ sudo apt-get install android-tools-adb android-tools-fastboot

2. Setup driver for my phone (Lenovo P770)

a. Check my phon…

Google Code is being shutting down

Chris DiBona, Director of Open Source of Google just announced yesterday that Google will close its code repository service in about ten months and stop accepting new repo creation. They also provide some migration tools for developers:

Google Code to GitHub exporter tool:
Stand-alone tools

It quite a memory to me that Google Code is the first free repository service I used since I still was a student. It's not as great as Github but it's the only one available back then.



How a Bicycle is made

The Internet's Own Boy: The Story of Aaron Swartz

The last lecture by Randy Pausch

Achieving Your Childhood Dreams

"Experience is what you get when you didn't get what you wanted." "Most of what we learn, we learn indirectly (or by 'head fake')." "Brick walls are there for a reason: they let us prove how badly we want things."
References: [0] [1]

VTC 2015 T-Shirt arrived!!!

This is the T-Shirt I designed for the Vietnam Tech Conference 2015:

BTW, check out the VTC 2015's website:

Cannot push code to gitlab after upgraded to v7.8 from v6.9 and how to fix

After we upgraded our gitlab server to v7.8 from v6.9, we could not push code to it and always got this error:

remote: /usr/local/lib/ruby/gems/2.1.0/gems/bundler-1.8.3/lib/bundler/shared_helpers.rb:2:in `require': no such file to load -- rubygems (LoadError)
remote:         from /usr/local/lib/ruby/gems/2.1.0/gems/bundler-1.8.3/lib/bundler/shared_helpers.rb:2
remote:         from /usr/local/lib/ruby/gems/2.1.0/gems/bundler-1.8.3/lib/bundler/setup.rb:1:in `require'
remote:         from /usr/local/lib/ruby/gems/2.1.0/gems/bundler-1.8.3/lib/bundler/setup.rb:1
To http://our.repo.url/myusername/my-project.git
 ! [remote rejected] my_branch -> my_branch (pre-receive hook declined)

I was trying to re-compile ruby 2.1 so many times but had no luck. After messing around, I finally fixed this issue by:
1. Remove and Purge all ruby binaries except for ruby 2.1 from my server:
sudo apt-get remove ruby1.8 sudo apt-get remove ruby1.9.1 libruby1.9.1 sudo aptitude purge ruby ruby1.9.1 libruby…