Archive for the ‘Programming’ Category.
April 2, 2010, 12:34 am

目前全球有约10亿台计算机,每台按100Wh实际功率计算,总功率为1亿千瓦时。也就是说每小时耗电量为1亿千瓦。按计算机一天工作10小时计算,一天全球消耗总电量为10亿千瓦时。世界超大型水电站(如三峡电站)在汛期全部机组开动发电量不过4亿千瓦时(参见)。意味着我们需要2-3个这样的超大水电站全负荷供电才能满足基本需求。我们知道,建设一个这样的电站要耗费数以亿计的金钱和数十年的人工。但是,如果作为程序员,往往可以轻易地提高编码质量和运行效率以达到节省计算时间的目的,变相地节约了宝贵的能源,有利于保护地球环境。我觉得如果所有程序员都朝这个方向努力,每天节省一个三峡电站的电量是完全可能的。
April 1, 2010, 5:14 pm
Bash下可以使用”cd -”来实现在当前目录和上一次访问的路径间切换。 如果我们需要回退多级目录怎么实现呢?
Continue reading ‘Bash下的目录回退’ »
March 22, 2010, 7:54 pm
By default Notepad2 add a .txt extension to the file name when you save a newly created file. For files already having extensions, this will not be done. However, this is sometimes annoying if you often create files which do not use txt as extension although they are actually plain text files. I think this is almost a daily work for programmers. To cancel this feature, there are two ways. First, when you save the newly created file, simply add quote symbols around the file name like “new_file”, then the file will be save without an extension or with any extension you give. This trick also works for the Windows Notepad program. Another hack is to modify notepad2.ini, there you can create a new section (if it’s not there already) named “[settings2]“. The settings given in this section will override the default behavior. Then add an entry “DefaultExtension=”, yeah just leave nothing behind the equal sign, no suffix will be appended automatically then. There are more options for the customized section, see here.
Continue reading ‘Control file extensions of Notepad2’ »
March 22, 2010, 12:58 pm
经常在C++程序中加入中文注释,但是如果使用不同的编辑器,编码识别或转换不当,会导致非ASCII字符乱码。
Continue reading ‘用VC和gcc同时编译unicode编码的c++源程序’ »
March 11, 2010, 11:57 pm
某些VS的Addins会导致程序异常缓慢或出错,一个小技巧是在启动VS的时候提前按住左边的shift键,即可禁止加载所有插件。
March 1, 2010, 4:32 pm
Both Linux Bash and Windows DOS support random number generation. The random number is ‘stored’ in a system environment variable named “RANDOM” (I believe this variable links to a script to generate the actual random numbers on both systems), use it in the same way as you use other ENV variables. E.g.
Continue reading ‘Get random numbers under BASH and DOS’ »
February 10, 2010, 1:24 pm
February 5, 2010, 1:54 pm
Useful commands:
- wait <pid>: wait the background job with specified pid to be finished and return the exit code ( hint: stored in $? )
- jobs -p: list the pids of all the background jobs (hint: use for statement of bash to loop over each process)
- ( sleep 30s; /bin/false ) & : generate a background testing job with a error exit code
Continue reading ‘Bash: exit codes for background jobs’ »
January 12, 2010, 2:42 pm
This is just a rough comparison of the influence of compilers on the performance of lammps code on a VIC3.
Continue reading ‘Lammps performance with different compilers’ »
January 8, 2010, 12:42 pm
It’s always nice to get notified about the status of a long job, e.g. copying a huge file via a not-that-fast network. For GUI programs, normally you get a progress bar, but we have no such luxury under bash. But wait, here is a nice bash script can do that. It works pretty well. You will find it useful in many places.
Continue reading ‘Give your bash job a progress bar’ »