Just my daily though and stuff

me :-)

Con gái 2 tháng tuổi

Hôm nay Mochi đúng 2 tháng tuổi, từ ngày 28 tháng 3 đến 28 tháng 5. Sinh nhật của ba vừa qua. Hai ba con tha hồ ăn bánh. Ba bế Chi chụp ảnh. Mochi bị mọi người gọi chủ tịch hội đồng quản trị, hay gọit tắt là chủ tịch, như kiểu phim Hàn. Ông ngoại có điện thoại mới, chụp hinh Mochi rất nhiều. Facebook tràn ngập ảnh Mochi. ba mẹ ngắm nhìn ko biết chán. Bế chi, sờ chi, nắn chi mãi ko bao giờ chán. Nhìn chi như trái táo ngon lành, chỉ muốn cắn 1 cái vào 2 cái má phung phính.

Sáng nay chi đi chích ngưa TDAP. Ba mẹ chuẩn bị tinh thần chi khóc vì chích này đau lắm. Nhg hôm nay chi thật ngoan. Chi đc 10 pounds 36, 21.5 inches. Chi 2 tháng tuổi ngoan và cứng cỏi hơn. Ko còn khóc nhè lúc khám bác sĩ nữa. Chi gan hơn, ko bị ói, bị chích liên tiếp 2 shoot tdap but Chi chỉ nhè 1 tí là nín liền, sau khi bà dỗ. Chiều về nhà, chi sốt nhẹ. Cả nhà xúm xít, đấm bóp, massage mở máy lạnh. cho chi uống thuốc. Ba cảm thấy chi giống mấy chủ tịch đc 1 loạt em út đấm bóp massage, vì Chi là chủ tịch của cả nhà mà. KO hiểu những ng ngoài nghe gọi chi là chủ tịch thì sẽ thấy sao :D. Chủ tịch bé nhỏ của ba.

Từ ngày có Bé Chi, công viêc của ba trôi chảy hơn :D. Có lẽ là nhờ chi hết. Chi lớn mau để ba dẫn đi chơi. Đi bơi, đi đánh kiếm, đi học ukulele để đàn lên những bài vui nhộn cho cả nhà, học tiếng Nhật để diễn atsumori cho ba thấy.

Con người ba thay đổi từ khi Mochi ra đời. Ba chết đi con người củ của mình. Ba mong Mochi lớn lên từng ngày. Ba nhìn vào mắt con gái của mình, và đoán xét tình cách
của Mochi :). Ba muốn Chi mau lớn xem thử ba đoán có đúng ko :D.

Đời ngươi ngắn ngủi. Con gái của ba 10 năm nưã sẽ phải nềm mùi vô thường của cuộc sống. Vì vậy, mà phải sống sao cho thật có ý nghĩa, giúp ích đc cho thật nhiều người.

me :-)

Con gái 3 tháng tuổi

Còn 2 tuần nữa là Moch được 2 tháng tuổi. Bây giờ bự, lớn gấp đôi hồi xưa nhug chưa cao lên. Có lẽ Mochi cũng sẽ lùn như ba :). Nhg ba sẽ tập thể dục cho Mochi,ko để Mochi đi vào vết xe của ba nữa.

Mochi là 1 lực lượng. Như kiểu truyện Cổ Long nói, có những lực lượng ko sao nói được. Mỗi khi buồn, mệt vì công viêc, gặp bế tắc, lúc nản chí, ba luôn cảm thấy răng mình có thể được nhìn mặt Mochi là ba thấy hết hẳn mọi thứ bế tắc. Mặc dù sau đó quay lai ba vẫn bế tắc như thường. Mochi Lan của ba vẫn chưa tiến triển gì nhiều. Ba buộc phải bỏ ý định code Noty.Im bằng Mochi rồi.

Dạo này Mochi hay khóc đêm, theo mẹ nói là vì metanin gì đó. Ba mong Mochi sớm qua giai đoạn này. Ba là người hay khản cổ nên ba biết, khcos nhiều hay nói nhiều cổ họng khô rát lắm. Mochi lớn mau rồi cùng ngồi uống trà, đi dạo đêm, đi chơi biển. Nhg con nít ko đc uống trà nên ba chuea biết có nên cho Mochi uống ko đây. Ba thấy quý những ngày còn đc ở bên Mochi lắm. Bài chục năm nữa con gái của ba đi lấy chồng, ko còn được nhõng nhẽo ba như ngày hôm nay nữa, Ko còn ở bên cạnh ba để khóc ré lên sẽ được ba vỗ về nữa.

Ba may mắn vì làm việc ở nhà, cảm thấy như ở với Mochi mãi. Thời gian trôi, rồi ba có thể sẽ làm viêc mới, ko biét có đc như giờ, ở nhà với Mochi ko. Ba muốn mình làm việc và Mochi chơi xung quanh ba. Mochi sẽ ko là đứa trẻ annoying để yên cho ba làm viêc, cùng ngắm vườn ngắm hoa ngắm lá ngắm trời với ba khi ba nghỉ ngơi.

Ba sẽ chỉ cho Mochi thấy bầu trời xanh, nắng vàng, mây trắng như nguồn gốc tên của Mochi. Ba sẽ dạy Mochi biết yêu thiên nhiên và những gì nhỏ bé nhất. Bởi Mochi cũng đã từng nhỏ bé như hạt đậu mà thôi. Nhưg giờ đây đã khóc, quậy, ré lên, đạp chân và ỉa hết vào mọi người trong nhà.

Mùa xuân đến, hoa trong vườn đã nở nhiều rồi. Hoa Quỳnh nở rộ khắm hai châu. Dù được trồng trong 2 chậu đất bé tí teo, ko có tí phân bón nào, nhg nó vươn cả ra khỏi chậu, xà rạp hẳn xuống đất. Hoa Quỳnh thân mềm, ko đứng thẳng lên được. nhg nó nở hoa to vô cùng và diễm lệ. Cái đẹp của nó thoanh thoát. Nó ko hướng lên hùng vĩ như những loài hoa khác, nó cúi xuống, có khi còn bị bụi đất bám vì nó mọc sát đất mà. có khi nó cụp vào trong. Chỉ những người để ý, chịu quan sát, gột rửa đi lớp bụi mới có thể nhìn ngắm đc vẻ đẹp của nó. Mochi phải hiểu những điều đó để sống trên đời.

Hoa dâm bụt vàng, hau màu cam, cũng nở chói. Ba vốn ko thích gì màu cam, nhug khi ba nhìn thấy nó ba nhận ra cái màu của nó thât tuyệt, đằm thắm và dịu dàng. Con gái của ba ra đời, đôi khi cũng đừng nên quá cố chấp. Có những điều bát biến vẫn có thê thay đổi.

Ba mong Mochi lớn nhanh, để cùng ba ngắm hoa uống trà vào những mua xuân như vậy. Ba ko hút thuốc, nhưg ba uống bia. Ko gì thích bằng uống bia vào những ngày trời nóng. Ba mong chờ con gái tới ngày mở bia cho ba. Khi còn nhỏ, con mở bia cho ba. Nhưng rồi cũng đên ngày ba lại là người mở rượu cho con, sẽ không còn ở bên cạnh con nữa.

Nhg từ giờ đến đó vãn còn vài chục năm. Mochi sẽ mãi là Mochi bé nhỏ khóc oe oe vật vã bên cạnh ba như đêm nào.

me :-)

Setup IPtable for docker container

Today I’m setting up InfluxDB in container. As always, I configured `iptables`, it looks like a simple rule:

sudo iptables -A INPUT -s myip/32 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8083 -s 0.0.0.0/0 -j DROP

To my surprising, this doesn’t work. I quickly shut it down. Fireup `nc`

nc 0.0.0.0 -l 8083

Then

echo "work" | nc 0.0.0.0 8083

Strange. I tried a HTTP server, still, Iptable rules worked.

It just not work when I run the container. Then I realize docker has its own table.
Turning out Docker has NAT rule so that it actually forward to DOCKER chain. So
the correct way to do it is to create rule in `DOCKER` chain.

sudo iptables -I DOCKER 1 -s myip/32 -j ACCEPT
sudo iptables -I DOCKER 1 -p tcp --dport 8083 ! -s 172.17.0.0/16 -j DROP

With these rules, we allow a single ip access every thing. However, IP address doesn’t come from `172.17.0.0/16` will be dropped. This mean on server, process can communicate with each other.

me :-)

Clojure recompile from Repl

When calling `require` from REPL, we can use `:reload-all` to force recompile and reload the module so we don’t have to quit the REPL.

(require '[receipts.reader :as r] :reload-all)

When we change the file `receipts/reader.clj` again, just re-run above require again.

me :-)

Centos 6 “Could not open session” with su

I’m using a docker image with `initscripts` as CMD to simulate a real, lightweight Centos VM. One issue with it is that when using `su` I got an error:

su cassandra -c "ls"
could not open session

Google points out some results:

https://github.com/docker/docker/issues/7040
https://github.com/docker/docker/issues/7056

At first, it seems running with full privileges fixed it but that’s a quick hack. The real issue is in https://github.com/docker/docker/issues/7056#issuecomment-49390947

Turning out, in my case I have this file:

cat /etc/security/limits.d/cassandra.conf
cassandra - memlock unlimited
cassandra - nofile 100000
cassandra - nproc 32768
cassandra - as unlimited

Changing `-` to `soft` works:

cat /etc/security/limits.d/cassandra.conf
cassandra soft memlock unlimited
cassandra soft nofile 100000
cassandra soft nproc 32768
cassandra soft as unlimited

I’m still not understanding why that fixed yet :). Note here so that I can blog more when I found out.

me :-)

Upstart “Unknown job” error

Upstart is built-in to Ubuntu and I don’t know why people jus keep using supervisor, together with all bloated Python stuff.

One day, I edit some job and when try to run it, got this short message:

Unknown job

I thought it was some permission issue or wrong file name. Turning it cuases by invalid syntax in job file. We can check it with:

init-checkconf /etc/init/twemproxy.conf

It should show some more helpful error. Correct until it’s go

File /etc/init/twemproxy.conf: syntax ok

It’s probably more helpful if Upstart can spit out that informatione earlier.

me :-)

Run a particular test with rebar

This is a small tip to run a particular EUnit test file.

Say we have fiels `tests/tables_tests.erl`, we can use this to invoke only that file:

rebar eu suite[s]="tables"
# of if using ZSH shell
rebar eu suite\[s\]="tables"
me :-)

ZLIB: configure: error: Cannot find libz

I’m upgraing to PHP7 and got this error:

checking for ZLIB support... yes
checking if the location of ZLIB install directory is defined... no
configure: error: Cannot find libz

This ususually happens when I upgrade Mac and I have to download some component with XCode. The fix is simply launching XCode and install command line tool.

me :-)

Access denied for user ‘debian-sys-maint’@’localhost

I recently migrated my server to a new provider. After restoring MariaDB data, I encountered this error

sudo /etc/init.d/mysql restart
Stopping MySQL database server: mysqld...failed.
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

Turning out `debian-sys-maint` users is used to invoke `postrotate` action:

File: `/etc/logrotate.d/mysql-server`

# - I put everything in one block and added sharedscripts, so that mysql gets
#   flush-logs'd only once.
#   Else the binary logs would automatically increase by n times every day.
# - The error log is obsolete, messages go to syslog now.
/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mariadb-slow.log {
	daily
	rotate 7
	missingok
	create 640 mysql adm
	compress
	sharedscripts
	postrotate
		test -x /usr/bin/mysqladmin || exit 0

		# If this fails, check debian.conf!
		MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
		if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
		  # Really no mysqld or rather a missing debian-sys-maint user?
		  # If this occurs and is not a error please report a bug.
		  if ps cax | grep -q mysqld; then
 		    exit 1
		  fi
		else
		  $MYADMIN flush-logs
		fi
	endscript
}

The user/password is in `/etc/mysql/debian.cnf`

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = *****
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = *****
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

When I installed MariaDB on new server, `debian-sys-maint` is created with a different password. When I restored from my backup, the new system password is no longer
correct. We can fix this by updating password for `debian-sys-main` to match the value in /etc/mysql/debian.cnf

me :-)

Mochi, review, cuối năm 2015

Mochi chưa nói được, vì còn nằm trong bụng me. Ba mẹ coi những cái đạp của Mochi là phương pháp giao tiếp với ba mẹ. Mỗi lần ba mẹ đặt tay lên bụng là Mochi đạp đạp khoái chí. Đôi khi chả đạp gì làm ba mẹ cũng lo.

Điều hạnh phúc nhất năm nay của ba, cuôi năm nhìn lại là có Mochi. Khi chưa có Mochi ba ko ngờ có Mochi lại mang nhiều niềm vui đến vậy. Ngào nào ba cũng tưởng tượng ra bé Mochi của ba chập chững bước đi trong nhà.

Năm nào nhìn lại ba cũng thấy mình làm được thật nhiều việc. Nhưng năm nay đã khác hẳn. Ba đã bước ra khỏi vỏ kén của mình. Ba đã nói được tiếng Anh nhiều hơn. Nghe hiểu nhiều hơn. Ba thậm chí đã write book đầu tiên của mình. Ba bước vào 1 lĩnh vực mới. Ba đã học Erlang, Go. Ba đã chịu tiếp cận những điều ba không thích, để tim ra được cái hay của nó. Ba hiểu nhiều hơn về những điều căn bản của TCP, ba tiếp cận nhưng thứ basic hơn, nhưg là foundation của nhiều thứ. Ba duy trì 173 ngày code liên tục khi ba đang viết. Ba bắt đầu chạy bộ mỗi tới 30p cả tháng nay. Ba làm được thật sự nhiều, ba nghĩ vậy.

Nhưng trên hết tất cả, đó vẫn là cưới mẹ và có Mochi. Hai điều mang lại niềm hạnh phúc cho ba rất nhiều. Nuôi dạy Mochi sẽ là những khó khăn sắp tới, nhg môt năm đã qua đi, và ba mẹ vẫn chống chọi được.

Cả nhà giờ đây tràn ngập những câu chuyện về Mochi. Mochi lấy ngôi của mẹ, trở thành đề tài cho những cuộc nói chuyện của gia đình. Đồ đạc của Mochi nhiều hơn cả mọi người. Mong Mochi khoẻ mạnh, để trở thành người thứ 5 hóng hớt và tám chuyện cùng gia đình.

Nhìn lại khoảng thơi gian chuẩn bị đám cưới, và đám cưới của mình. Ba thấy nó thật đẹp và ấm áp. Nó không hào nhoáng, ko hoành tráng, nhưng cái gì cũng dễ thương. Đôi lúc ba ước Mochi có trước, để cùng ba mẹ hưởng niềm vui trong đám cưới của ba mẹ. Vì ba ko biết làm sao để diễn đạt thành lời cảm xúc của mình cho Mochi. Lúc chưa có Mochi, ba cũng ngại lắm, nhưng ngày biết tin co Mochi ba cũng vui. Nhg ngày ba cảm nhận được cái đạp của Mochi trên tay ba, ba thật sự hạnh phúc, ba vì vậy mà đã làm app để track Mochi đạp cho mẹ dùng. Vừa là cơ hội cho ba học, vừa là để Mochi biết Mochi hư như thế nào. Mỗi lần ba chạy trên freeway 85, đi nagng qua con đường đó, ba mong có ngày ba chỉ cho Mochi thấy. Ba mong có ngày Mochi sẽ đi bước đi đầu tiên trên Hakone của mình. Mochi là tất cả của ba lúc này. Đôi khi làm mẹ ghen.

Ba đã mua xe mới, xe bự, để chở Mochi đi chơi, ngồi trên xe ngắm cảnh đường. Mochi thật may mắn, dường như may từ trong bụng mẹ rồi. Đi đâu cũng gặp may.

Sang năm, đây là những việc ba đang cố gắng hoàng thành:

– Launch được NotyIM của ba: cả web và mobile.
– Sửa lỗi chính tả trong sách
– Release Mochi Lang và bắt đầu dùng nó cho những basic task, đặc biệt là scripting.
– Ổn đinh hơn về tài chính
– Và vẫn bỏ ra được thời gian để chơi với Mochi. Để Mochi của ba có kí ức của tuổi thơ.
– Đi du lịch với mẹ và Mochi. Nên Mochi phải khoẻ mạnh mới ra ngoài được.

Mochi lớn mau, khoẻ mạnh, để còn dạy ba tiếng Mỹ nữa.