Tips and Tricks

How to convert MKV to AVI using MEncoder

MEncoder actually is able to decode MKV (Matroska). However, I encounter some strange problem regarding the conversion of MKV to AVI using 1 pass encoding. The error message looks like below.

Too many audio packets in the buffer: (4096 in 8255101 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.

Unfortunately, my video is not AVI files. Anyway, there is a workaround for this problem.

My world, My rules

News? Article? Forum? Blog? What are the difference characteristics of them in Web 2.0 era? This question suddenly appeared in my mind for so long. I think I have a good answer now. At present, Web 2.0 usually means to feedback from visitor. There are various feedback, e.g., visitors may publish their own contents or comment existing contents. News, Article, Forum and Blog have this feature built-in. Anyway, the difference is ownership and rules just like below quote from The Cell.

My world, My rules!

Turtle Interpreter in Python

The second computer science homework at Codenone is to develop a turtle interpreter. In fact, I don't like to write this kind of code. It has been so long since I wrote ultra mini assembler and compiler both manual and using lex and yacc. However, the ruby version inspired me. The ruby code looks very pretty and the author also convinces about how easy in Python. So I would like to try to solve this homework in Python.

Lindenmayer System Translator in Python

According to the third question of a computer science homework, it is about Lindenmayer System Translator. Lindenmayer system aka L-system is a formal grammar for modeling the growth process of plant development. In fact, it is very easy to implement L-system as long as we understand the grammar. In Python, implementing L-system is very very easy.

How to bypass web blocking using Tor and Firefox

Some day, you might find the truth that you are not alone. Someone is watching you and the same one is also trying to restrict your access to some web sites. You may notice that you are unable to visit some urls or the whole sites. In conclusion, your internet connection is monitoring and filtering to prevent visiting to some urls. Don't worry. It is possible to bypass this kind of problem easily. My trick is The Onion Router, Firefox and its extensions.

How to measure memory consumption of a program on Linux

According to the hard fight which is a comparison of Java, Python and Ruby side by side, the performance is very impressive because Python is faster than the rest. A java guru immediately identified flaws of this test in Java codes. In addition, he also improved the codes for getting faster program. However, he was too busy to perform the benchmarks again himself. I volunteered to do this task on my laptop. After preparing all codes in Java, Python and Ruby, I have to measure how long it takes to execute each code. The tool I used was "time". Everything went well until I was asked to also measure memory consumption in each case. time always gave me zero without any error message. It seems this is a bug in Linux kernel that getrusage() will return zero in all memory related values. Fortunately, I found a workaround using Python!