Book_Notes

《战争与革命中的西南联大》-- 读书笔记

近代史上至少有三次长征应该载入史册,一次是故宫博物院的文物藏品的辗转,它保存了中华文化几乎最为重要的“物证”;一次就是西南联大师生的转移,它维系了中国刚刚萌芽的现代教育的“命脉”(当然,后来还是被掐死了);还有一次也很重要。 ---- 何炳棣

学术界战时教育大辩论

迁徙计划,基本都是在卢沟桥事件后才开始计划的。当然由于清华在前两年有所顾虑,所以在长沙已经建立了分校,(这也是为什么之后会迁徙到长沙,而清华作为主力的原因),而对于北大、南开来说,

“有些事并不想做,最后却不得不做”。

主战派

百万将士流血过野,他们平日何尝得着国家的好处?而我们却是平日受国家待遇最优者,每个入学生每年国家津贴至少一千元……今日还依恋这辉煌的校舍,能不愧对死者? 最后这帮人都去共产党那里了,我估计文革都被打倒了

保存派

中国有成千上万的士兵,但最缺乏的是有知识的人,而“你们是国家最后的希望”,是当之无愧的“国宝”。倘若国之大器都化为炮灰,那么将来的形式肯定会非常严峻。

所以大多数最后到昆明的都真的是好好钻研的,如果不是这样早就被蒋介石管制了。

穿越一下, 最后一章有段话总结了当时的现状和窘境:

20世纪40年代中期,知识分子心照不宣:他们即将与蒋介石分道扬镳,却未找到与中共合作的方式。 从50年代初的思想改造运动开始,特别是57年以后毛派大搞政治运动,知识分子从中得到一个明确的信号:只有放弃自我————骄傲的、独立的、批判的自我————他们才能与新社会共存。 爱国与生存成为不可兼得的选择

这代人的悲哀啊。相比较我们,我们至少在生存上还不存在问题,万幸啊

大迁徙


查看大图

我觉得对于这帮孩子来说 他们再也不会觉得祖国和人民是遥不可及的抽象了。所以每次我都特别喜欢坐火车出去旅行,尤其是坐票,形形色色的人,讲述者与众不同的故事,观点在不断撞击中迸发,农民有农民的看法,学生有自己的见解。往往像我这样的人,还说不过一个有风霜的老者,他们总是会知道好多小道消息,举出很多例子,虽然很多都很难考证,更美的是大家都会在最后一笑而过,一起下车,说一声再见。

文法学院在蒙自

当法律系只有蔡枢衡一位教授按时抵达,所以在人手不够时,

他以学生自学取代讲授,以报告和论文代替考试。结果,他成功了。 与那些通过程式化的课堂讲授来学习的毕业生相比,他的学生更胜一筹。

可见中国教育问题出在方法上。课前没人预习,老师上到哪里就那里,听的懂则听,听不懂就算了,久而久之,逃课是无法避免的,上课死寂也是无奈

重庆和昆明

这段还是很有意思的。

首先是关于 通才和专才 的讨论, 重庆方面重申课程设置的专业化和职业化方向, 金岳霖却反驳到:

如果我们回到教育本身,比如,追求新知,培养人才…… 那么,我们一眼就能看出,过分强调一两个非常实用的方向,迫使青年转向这些学科,并不会给某些人带来他们想要的国民

对于现在来说,如果为了就业而培养人才,必将失败。不再有人去好好的搞研究,为就业而学习的,永远只是皮毛。但政府依然走在一条错误的路上,永远以就业率为第一。

然后是关于 道德训育, 重庆方面显然和如今的教育部一样,要求开始一门强制性的政治课,即三民主义。(和中马概,毛邓三多象啊),但幸好有潘光旦等社会学家一致反对,才使这门课行于流程

教育者的职责是指导学生如何思考,而不是思考什么,有些人关于把宣传灌输同教育混为一谈。

最后是关于 教师入党 的问题。与共产党相比,国民党更强调党员的职责,而不是荣誉。所以一些联大的领导和院长都被迫入党。但是显然联大是个‘民主的堡垒’,至于为什么,书中没有解释清楚

联大的学风

有人说,联大的学生都是尖子,是进步的,是天才。这不见得,他们还是一般的学生。一般人在某种条件下也可以做出一番事业来,不一定天才才有大的成就

这个我觉得应该是 通才教育 给他们带来的底蕴。

另外一方面,学风也是靠老师培养起来的,整体而言,联大的老师有两个特点,一个是他们都是 世界主义者, 大多数人都留过学,赞同西方自由主义。另一个是,他们都非常有创意,传授的都是自己的研究成果,而不是人云亦云。

联大几乎允许任何意见的发表,百花齐放。但除了马克思主义,似乎只有闻一多和吴晗,但他们都没有达到专业水平,但总的来讲,学术自由已经是100年难见的啊

学术自由,在军阀统治下的北京和龙云护卫下的昆明臻于顶峰,却不见容于国民党,最终被共产党摧毁

联大良师

这里就不多阐述了

编译 openJDK source code 札记

0. Prepare for Build

1
2
sudo aptitude build-dep
sudo apt-get install gawk

1. Download JDK

  • 这次准备从官网的repo上直接取source code 先下载 mercurial 和 hg
    1
    2
    
    sudo apt-get install mercurial
    hg clone http://hg.openjdk.java.net/jdk7/jdk7
    
  • 其实真正的code 还没下载下来,需要运行 get_source.sh
    1
    
    cd jdk7/ && sh get_source.sh
    

2. Environment Setting

因为编译的时候可能会出现如下错误: ERROR: Cannot find source for project jaxp.

这个需要下载,所以需要在make选项添加 ALLOW_DOWNLOADS=true

最终的编译脚本如下:

1
2
3
4
5
#!/bin/sh
export ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-amd64/
export ALT_HOTSPOT_IMPORT_PATH=/local/code/lang/jdk1.7.0_13/
unset JAVA_HOME
make LANG=C ALLOW_DOWNLOADS=true DISABLE_HOTSPOT_OS_VERSION_CHECK=ok 

2. Build

下面就是解决make出现的各种问题和解决方案:

  • ERROR: You do not have access to valid Cups header files.

需要安装cpus的dev包

1
sudo apt-get install libcups2-dev
  • ERROR: The version of ant being used is older than the required version of '1.7.1'. The version of ant found was ''.

这说明没有装ant

1
sudo apt-get install ant
  • ERROR: FreeType version 2.3.0 or higher is required.

安装freetype的dev包

1
sudo apt-get install libfreetype6-dev
  • ERROR: You seem to not have installed ALSA 0.9.1 or higher.

不需要从ALSA官网下载alsa-dev和alsa-drive, ubuntu提供包的

1
sudo apt-get install libasound2-dev
  • ERROR: echo "*** This OS is not supported:" 'uname -a'; exit 1;

很奇怪的错误,anyway,注释掉hotspot/make/linux/Makefile里面的checkOS

1
2
3
4
check_os_version:
#ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)
#	$(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
#endif

Update: 最好的办法是在make参数后面添加 DISABLE_HOTSPOT_OS_VERSION_CHECK=OK 即可

  • ERROR: error: "__LEAF" redefined [-Werror]

这个是已知的bug, 在hopspot下打入该patch即可

  • ERROR error: converting ‘false’ to pointer type ‘methodOop’ [-Werror=conversion-null]

这个的问题是把 false 转换成 NULL的时候出错了

同样在hotspot下 打入该 patch

  • ERROR gcc: error: unrecognized command line option '-mimpure-text'

这个-mimpure-text是gcc给Solaris的编译选项,所以注释掉即可

文件在./jdk/make/common/shared/Compiler-gcc.gmk +70

  • ERROR undefined reference to 'snd_pcm_format_**'

folow this link Build openjdk in Ubuntu 11.10jdk/make/javax/sound/jsoundalsa/Makefile 里面

1
2
3
4
5
6
7
8
9
@@ -65,7 +65,7 @@
 	$(MIDIFILES_export) \
 	$(PORTFILES_export)
    
-LDFLAGS += -lasound
+OTHER_LDLIBS += -lasound

CPPFLAGS += \
 	-DUSE_DAUDIO=TRUE \

4. Success Output

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
########################################################################
##### Leaving jdk for target(s) sanity all docs images             #####
########################################################################
##### Build time 00:05:35 jdk for target(s) sanity all docs images #####
########################################################################

-- Build times ----------
Target all_product_build
Start 2013-02-05 13:47:18
End   2013-02-05 13:53:04
00:00:03 corba
00:00:02 jaxp
00:00:03 jaxws
00:05:35 jdk
00:00:03 langtools
00:05:46 TOTAL
-------------------------