Monthly Archives: December 2012

2013,新年快乐

看完跨年演唱会,在QQ空间,微博还有人人写下祝福语,代表2012已经过去,2013,新的一年已经到来。

Table of Contents

2012总结

数学分析已经学习完毕,开始学习级数理论,为具体数学的学习而准备;入门tcp/ip,研习完毕4.4BSD的网络协议栈实现;对农村和城市发展的问题更为关注;学习一些半调子的经济知识;工作有一年半。没有什么特别出彩的事情,平平淡淡过完本命年。

2013前半年计划

掌握级数理论,特别是生成函数的理解和使用;在线学习Robert Sedgewick的分析组合学;Jeffrey D. Ullman的自动机理论;微观经济学和宏观经济学的学习。

新的一年,新的心情,新的奇遇,新年快乐!

工作到现在一年半以来的读书单

“活到老,学到老”,在大城市混要读书,跟不上节奏会被淘汰的;这里列举一些工作到现在已经读完,正在读或者即将读完的书籍。下面的这些书籍可以到豆瓣上查看书评。

1.TCP/IP详解,卷1

作者是一位已故的网络和unix专家,这是他留下来的unix五步曲之一。作者通过丰富的经验,迫使某些条件在特定的情况下产生,从而通过这些大量的例子来深入理解TCP/IP协议族的基本概念,强烈推荐。

2.TCP/IP详解,卷2

这本书详细介绍BSD4.4 TCP/IP协议栈的实现,约15000行代码,麻雀虽小,五脏俱全,这个实现非常重要,是当年互联网运行的基础;如果你在BSD平台开发内核态网络程序,这本书你是必须要看的,因为你必须至少知道mbuf;如果你想要深入理解tcp/ip运行机制,这本书也是必看的。

3.TCP/IP Protocol Suite

这是一本教科书,主要介绍tcp/ip各个协议族,该书浅显易懂,适合用来入门tcp/ip;书中大量的情景对于理解tcp/ip协议很有帮助。

4.HTTP:The Definitive Guide

HTTP协议是每个Web开发这必须掌握的,必须要熟读RFC2616;这本书深入浅出介绍HTTP协议的每一个细节,强烈推荐配合RFC一起学习HTTP协议。

5.Introduction to Analysis,by Arthur P. Mattuck

极其经典的数学分析入门教材,复旦大学很推崇的一本教科书(http://www.library.fudan.edu.cn/guide/wjzx/jcxp.htm); 为了高爷爷的计算机程序设计艺术,想静心学习数学,得从数学分析开始,基础中的基础,看了将近一年半才将要看完,算是对微积分的一次复习,也为了提高逻辑思维而努力。本书注重对基本概念的理解,推荐把书中的所有习题都做完,一定收获很多。

6.具体数学

RLG合著的书籍,作者对方程的操纵和生成函数的使用已经到了登峰造极的境界,为了计算机程序设计艺术,该书也是必看的。目前只看到超几何函数那部分,很有难度,正在查阅超几何函数的相关文献。

7.中国在梁庄

有些中国在北京,有些中国在重庆,有些中国在沿海,但,更多的中国在梁庄。—梁鸿 作者通过几个月在家乡的走访,记录村庄变迁的很多例子,这些深刻反应中国农村的现状:留守儿童,农村养老,农村教育,农村医疗。。。 “回不去的故乡,进不去的城市。”;这是读后感。

8.粮民

作者是一位扶贫志愿者,十年如一日的帮助贫困农民脱贫;他已经行走数万里,走访数万家,拍下数万照片,以日记的形式写下这本书。书中深刻反应农村和农民的贫困现状。 有一句话特别深刻:“我没了地又没有个正二八经的工作,一下子觉得活路都没有了。”

9.时寒冰的三本书

欧债危机,经济大棋局,次贷危机。 近四年宽松的货币政策导致房价涨成这样,有必要学习学习经济学知识,即使不成大富翁,至少应该有理财的思维。

10.十四家

该书详细跟踪云南,甘肃,山西,贵州等十四个十分贫困家庭10年(2000到2010年)的真实生活变迁史,深刻反应中国城镇化过程中给乡村带来的种种改变:物质生活,精神生活,以及带来的额外的问题:农村养老,农村医疗,农村教育以及留守儿童等等一些深刻的问题。

FreeBSD安装tsung

1.OS版本

FreeBSD AN 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Wed Dec 12 23:19:45 CST 2012

2.tsung的一些依赖关系

  • Erlang/OTP R12B-5 and up (http://www.erlang.org/download.html). Erlang is now part of fedora and debian/ubuntu repositories.
  • pgsql module made by Christian Sunesson (for the PostgreSQL plugin): sources available at http://jungerl.sourceforge.net/ . The module is included in the source and binary distribution of Tsung. It is released under the EPL License.
  • mysql module made by Magnus Ahltorp & Fredrik Thulin (for the mysql plugin): sources available at http://www.stacken.kth.se/projekt/yxa/ . The modified module is included in the source and binary distribution of Tsung. It is released under the three-clause BSD License.
  • eldap module (for the LDAP plugin): sources available at http://jungerl.sourceforge.net/ . The module is included in the source and binary distribution of Tsung. It is released under the GPL License.
  • mochiweb libs (for xpath parsing, optionally used for dynamic variables in the HTTP plugin): sources available at http://code.google.com/p/mochiweb/ . The module is included in the source and binary distribution of Tsung. It is released under the MIT License.
  • gnuplot and perl5 (optional; for graphical output with tsungstats.pl script). The Template Toolkit is used for HTML reports (see http://template-toolkit.org/)
  • python and mathplotlib (optional; for graphical output with tsung-plotter).

for distributed tests, you need an ssh access to remote machines without password (use a RSA/DSA key without pass-phrase or ssh-agent) (rsh is also supported)

  • bash

一般情况下,我们只需要安装erlang,Freebsd默认没有java解释器,所以需要安装java解析器还有erlang.

3.FreeBSD安装java

有开源的java解决方案,也有oracle的官方版本,详情请看: http://www.freebsd.org/java/ http://www.freebsd.org/java/install.html

这里使用开源的openjdk:

cd /usr/ports/java/openjdk6 
make install clean

4.安装tsung

获得tsung,不需要最新的,用官方推荐的R12B版本就行:

wget http://www.erlang.org/download/otp_src_R12B-5.tar.gz
tar zxvf otp_src_R12B-5.tar.gz
cd cd otp_src_R12B
./configure && make && make install

5.可能会出现的问题

5.1 无法找到java解释器

*********************************************************************
------------------  APPLICATIONS DISABLED  **********************
*******************************************************************

jinterface     : No Java compiler found
odbc           : ODBC library - link check failed

*********************************************************************

需要按照步骤3安装java解释器

5.2 安装openssl出错

bss_dgram.c: In function 'dgram_sctp_handle_auth_free_key_event':
bss_dgram.c:962: error: 'SCTP_AUTH_FREE_KEY' undeclared (first use in this function)
bss_dgram.c:962: error: (Each undeclared identifier is reported only once
bss_dgram.c:962: error: for each function it appears in.)
bss_dgram.c: In function 'dgram_sctp_read':
bss_dgram.c:1053: error: 'SCTP_SENDER_DRY_EVENT' undeclared (first use in this function)
bss_dgram.c:1085: error: 'struct sctp_event_subscribe' has no member named 'sctp_sender_dry_event'
bss_dgram.c: In function 'BIO_dgram_sctp_wait_for_dry':
bss_dgram.c:1544: error: 'struct sctp_event_subscribe' has no member named 'sctp_sender_dry_event'
bss_dgram.c:1595: error: 'SCTP_SENDER_DRY_EVENT' undeclared (first use in this function)
bss_dgram.c:1612: error: 'struct sctp_event_subscribe' has no member named 'sctp_sender_dry_event'
--- Error code 1

Stop in /usr/ports/security/openssl/work/openssl-1.0.1c/crypto/bio.

make -DBATCH install clean
--- Error code 1

Stop in /usr/ports/security/openssl/work/openssl-1.0.1c/crypto.
--- Error code 1

Stop in /usr/ports/security/openssl/work/openssl-1.0.1c.
--- Error code 1

Stop in /usr/ports/security/openssl.
--- Error code 1

Stop in /usr/ports/security/openssl.

去掉STCP的选项:

cd /usr/ports/security/openssl
make config

去掉 []SCTP SCTP protocol support,然后:

make clean
make instal clean

5.3 很多已经安装,需要更新

出错信息类似:

tall'' to upgrade it properly.
      If you really wish to overwrite the old port of devel/libcheck
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
--- Error code 1

安装的时候加入选项FORCEPKGREGISTER=”yes”

make FORCE_PKG_REGISTER="yes" install clean

安装过程可能还会缺少很多软件,很可能需要手工安装。顺便发一下牢骚,freebsd的ports系统真没有gentoo好用。

6.参考文献

这里还教你如何使用tsung