博文

目前显示的是 十一月, 2006的博文

数学学了什么

刚才在床上证任何一个半正定矩阵都可以写成另一个半正定矩阵的k次方,不仅想到刚开始学数学分析的时候,证明任何一个非负实数都可以写成另一个非负实数的k次方(且这样的实数是唯一的),简单点说,就是要证任何非负实数的n次方根都是存在且唯一的。这种东西在初中生看来都是显然的问题。你让一个初中生计算4的正平方根是多少,它绝对会告诉你
"因为2*2=4,所以4的正平方根就是2"(你怎么知道3就不是?1就不是?你怎么知道这个问题你已经回答完了,这个问题没有其它的答案?)如果这个问题交给一个数学系的学生,则首先得证明4的正平方根是存在的,然后证明4的正平方根是唯一的,然后计算出来它等于2,然后告诉你,2是这个问题的唯一解。昨天上课的时候从抽屉里面拿了一本高等数学的考研题集来看,非常的无奈。非常的讲究技巧性。无论什么东西要求极限,先看能不能做同阶无穷大(无穷小)替换,然后就调洛必达法则上下求导,然后就告诉人,"看,我做出来了。"最可恨的是那作者在题目后面点评:
"易犯错误:考生对极限运算和同价无穷小不熟悉,导致得出结果为0或者说极限不存在"这就完全是一种逻辑上的颠倒,把前提当结论。那天,小蓓让我帮忙写一些东西,来举例说明一个中学生是多么多么的热爱数学。她所能想到的,就是模糊数学啊、统计学啊这些能在实际当中切实用到的数学分支,来激发中学生的兴趣。而我费了好大的劲想她解释,对于一个中学生水平的人而言,要想在数学方面继续走下去,那么必须先从"实数为什么是连续的"、"实数为什么比有理数多"这些问题问起。昨天我和阿勇出去吃饭,走在路上还在谈到了数学。他说他发现现在银行有自动存款机,他觉得好先进。于是我们就讨论怎么自己开发一个自动存款机。首先想到的是要对输入信息进行模糊聚类,这样才能分辨出10元、50元、100元的钞票。而我们刚刚在学模糊数学的时候学过模糊聚类,而我现在也正在和马老师做trust
region和聚类分析。然后感叹一下,数学真的是无处不在,我们学的东西都是很有用的。可惜……可惜……国内有实力开发自动取款机的公司太少。就算我们开一个这样的公司,2个山里来的穷孩子,也没有渠道可以卖出去。我后来才明白我之前走了不少弯路。例如先学MFC,后学怎么写C++控制台应用程序、CGI.
大一的时候就在学神经…

gatsby

刚刚囫囵吞枣的读完了《了不起的盖茨比》(The tireat Gatsby)第一遍。读完之后我一直在想一个问题,Gatsby了不起在哪里?这本书让我想起了大一时读过的《天堂向左,深圳向右》。并不是在一个地方生活过便可以了解一个地方,在北京、上海,我结交了不少和我年龄相仿的年轻人,都不满30岁,但是没有一个像Gatsby这样有钱,这样执著,更甭说死的这般莫名其妙。故事以我难以想象的方式结局了。《天堂向左,深圳向右》去描述主人公如何发家,如何离弃最初的恋人,又如何挥霍,又如何空虚、怀旧。而《了不起的盖茨比》将这一切结为一个个疑问,描述个大概,然后任读者去想象。唯一可以肯定的是,Gatsby是个暴发户,他的钱来的不光彩。Gatsby 出身不好,但是他是一个聪明而勤奋的人。但是这并不能说明他了不起。他再见戴西时的那拘谨和紧张,是整本书最令我感动的。他们俩之间的爱情故事是被分散成一个个小碎片写在书中,可是我越读越不觉得Gatsby
有什么了不起。我觉得他值得悲叹。就好比他的死。贝克是一个橄榄球运动员,我很难想象一个大头肥耳的运动员能这么敏锐觉察出妻子的变化,然后这么精巧的害死了Gatsby。与之相对的,他们是贵族,而
Gatsby 无论再有钱,也只是一介平民。贵族的一举一动都是高雅的,而 Gatsby 的高雅都是拘谨。Gatsby
为什么会死呢?为什么……Gatsby死后戴西有想过他吗?还是说,戴西最迷人之处就在于全身上下无处不显露着金钱的光辉?贝克·乔丹让我想起了《围城》里面那位高贵的留洋回来的苏小姐。《了不起的盖茨比》最适合我这样的傻孩子去读,因为我没有钱,我出身贫穷,而我将来会很有钱,我确信。不过大概不会有 Gatsby
那么有钱。哈哈p.s.最近几天在看Trust
Region算法,很有可能毕业设计要从这里选题了,而不是事先计划的类型论与机器证明。如果能从这两个风马牛不相及的论题之间找到一个接合就好了。烦路过者给一些指点。今天是张r老师的生日,我9号,她老公19号,她29号,所以我才记得如此清楚。
祝漂亮可爱张r老师生日快乐,生活美满,身体健康,薪水涨涨涨,早点买套大房子然后租给我,嘻嘻。

"通过手机观看奥运赛事直播"

"通过手机观看奥运赛事直播",刚在华尔街日报上看见这句话,用于对3G的展望。
我在想,这对于传统网站,该是多么大的一个冲击。
无论是sina还是sohu,都将目标聚焦在了2008。

难办

意外的发现我这个网段的交换机提供了一个23端口可以输入密码
想探测一下它的密码
于是就扫了一下端口,它竟然说我感染了病毒把我封了。害得我换了个mac才爬上来。
奇怪的是它开了pop3和smtp端口,但是又不像是运行的有这样的服务。
咋办?

特征向量的疑问

假如μ、λ是矩阵A的两个不同的特征值,x是A关于特征值μ的左特征向量,y是A关于特征值λ的右特征向量。那么x、y正交。这个很好证明。
但是,反过来。假如μ=λ,是A的单重特征值。那么x、y不正交,这个怎么证明?条件稍微放弱一点我会证。
假设A是n*n的矩阵。如果A的所有特征值都不相同,那么A有n个右特征向量,它们相互正交。
假如μ、λ是矩阵A的两个不同的特征值,x是A关于特征值μ的左特征向量,y是A关于特征值λ的右特征向量。那么x、y正交。而x是A的左特征向量,如果x与A的某个右特征向量正交,由上面可知,它与其它n-1个特征向量都正交。n维空间中不可能出现n+1个两两正交的非零向量。于是矛盾。

新发现

中越边境交易非常频繁,而且成功率很高。
不过不知道把人从那里运到华东华北,花费大不大

矩阵的2范数

今天做卷子,我以一个巧妙的方式从向量的2范数导出了矩阵的2范数。
采用的是构造一个函数,求导,它的极值点恰好是矩阵的特征向量在证明和范数有关的问题是,一定要牢记,有界闭。欧氏空间中的有界闭集是紧集,这样才能保证一致连续,才能确信最值、中值的存在单位圆,恰好是这样一种情形

Dungeon Siege 2的反调试做的真是厉害

用ollydbg直接运行,不行
附加到进程,得到
ERROR_MOD_NOT_FOUND (0000007E)
Dungeon Siege 2的mod是什么东西,我至今不甚清楚

unitary matrix

计算矩阵的特征值是一件困难的事情。由于相似的矩阵具有相同的特征值,所以我们能想到的最直接的方式就是通过一系列相似变换把矩阵变化到一个易于求解的形式。3个易于求解的形式:
1、对角阵。其对角线上的元素就是其特征值
2、上/下 三角阵。其对角线上的元素就是其特征值。对角阵其实也是特殊的对角阵。
3、三对角矩阵,可以方便的化为上面两种形式。三对角矩阵是特殊的Hessberg矩阵。而相似变换要求矩阵的逆,而矩阵的逆是难求的。特殊的矩阵的逆是容易求的,例如Unitary matrix,它的逆就是它的Hermite伴随。
Unitary matrix组成的相似变换也够成一个群,就是Unitary group,它是一个闭集并且有界,所以它是一个紧集。Unitary matrix中最重要的两类就是Givens Matrix和Househoulder Matrix,分别对应几何学上的相似变换和对称变换。一个重要的定理是,对于任何一个矩阵A,总是可以找到一个unitary matrix U,使得A通过U相似于一个上(下)三角阵。即
UA=RU,其中R是上(下)三角阵,U是unitary matrix.一个特殊的情形是,实对称阵可以通过一个实unitary
matrix相似到一个对角阵。但是对于一般的矩阵不行,因为它的特征值可能是复数。如果这样可以的话,那么那个对角阵上的对角线的元素就应该有复数,而实际上,实矩阵之间的相似变换是不可能出现复数的。但是它可以通过实unitary matrix 相似到一个Hessberg
matrix,更特别点说,相似到一个三对角矩阵,而这就是Givens变换求矩阵特征值的基本思想。而QR方法,就是通过一系列Householder变换把矩阵的列向量单位正交化,采用的就是传统的G-S单位正交化方法,在这里,就是QR方法,也就是很多个Householder变换。

顶级黑客

刚才借了移动硬盘来传文件然后去拉屎听着音箱兹拉兹拉的响,我就在策划开这么一家公司,开发一种很小的电磁感应器,偷偷的放在服务器的机箱内,然后装做普通服务器的样子,拉到电信机房去托管。电磁感应器外观起来看起来像硬盘,内部要设自毁装置,数据存储在服务器的硬盘中通过网线传回来。然后在家里解析数据。然后……被黑的服务器打死也猜不出他们的服务器是怎么被黑的,改管理员密码、换防火墙、换系统,做什么都没用。最后,乖乖的屈服,交上保护费来。

gcc最近让我很窝火

tests_conv in realloc(): error: pointer to wrong page
tests_conv in malloc(): error: recursive call
tests_conv in malloc(): error: recursive call
tests_conv in malloc(): error: recursive call
tests_conv in malloc(): error: recursive call
tests_conv in malloc(): error: recursive call
tests_conv in malloc(): error: recursive call
...
一运行,类似的错误狂出不止
仔细一查,原来是调用wcsnrtombs的时候越界了。

艰难的UTF-8之旅

在打完数个patch之后,FreeBSD的mount_ntfs命令终于可以正确把的把汉字从UCS-2转换到UTF-8了
My god!
为了让emacs能正确的处理utf-8文档,我从cvs checkout了unicode 分支的emacs.
阿门!
痛苦永无止境。

可怜的C++

哎,C++哦,懂它的语法就好了
它的标准库嘛……
等再过几年再说吧。
反正现在,不要轻易的用。尤其是locale之类的。
换个不支持的平台怎么办?
旧代码扔掉,重写。
要用就用C的库,流行!

正在从cvs down emacs23

http://www.m17n.org/mlarchive/mule/200601/msg00000.html
emacs \< 21.4 does support utf-8 chinese
emacs 22.x (CVS MAIN trunk) provide limited utf-8 chinese support
emacs 23.x (CVS emacs-unicode-2 brunch) have full utf-8 chinese support,
but it's not a very stable version, it's in alpha state
正在从cvs down emacs23
准确点说,是,emacs unicode 分支
目前还是alpha版
不明白,为什么vim从6.0开始就对utf8完美支持
emacs到今天了,无论是unicode还是xft,都需要大讨论一翻,然后在N年以后才会被加入。
OMG~
最新的喜讯是emacs23中在暑假的时候终于把xft的代码merge进去了

设置metacity的主题

gconftool-2 --type string --set /apps/metacity/general/theme Ana

flash

迫于flash的缘故我换了linux-firefox,结果发现不能在其内输入中文
无奈。
加装一个opera
发现情形也没有好多少

gcc 43编译成功

没有编译gcj
语法上的细节变化,有待再研究
反正,在FreeBSD下面,是无法用--clocale=gnu的。编译失败。
我强行加上了nls支持
现在,gcc的错误信息可以输出漂亮的汉字了

autotoolset 年久失修

用autotoolset的时候经常会卡在autoheader这一步,
autoheader: warning: missing template: CXX_HAS_BUGGY_FOR_LOOPS
autoheader: Use AC_DEFINE([CXX_HAS_BUGGY_FOR_LOOPS], [], [Description])
autoheader: warning: missing template: CXX_HAS_NO_BOOL
autoheader: warning: missing template: NDEBUG
autoheader: warning: missing template: YOUR_OS
为了查出原因何在,今天可费了好一翻功夫。
以YOUR_OS为例,它是在m4/lf_host_type.m4中定义的
AC_DEFUN(LF_HOST_TYPE, [
AC_CANONICAL_HOST
if test -z "$host"
then
host=unknown
fi
canonical_host_type=$host
if test "$host" = unknown
then
AC_MSG_WARN(configuring for unknown system type)
fi
AC_SUBST(canonical_host_type)
AC_DEFINE_UNQUOTED(YOUR_OS,"$canonical_host_type")
])
我仔细查了一下autoconf259的手册
-- Macro: AC_DEFINE_UNQUOTED (VARIABLE,
VALUE, [DESCRIPTION])
-- Macro: AC_DEFINE_UNQUOTED (VARIABLE)
没有一个宏接受两个参数。
故,把
AC_DEFINE_UNQUOTED(YOUR_OS,"$canonical_host_type")
修改为
AC_DEFINE_UNQUOTED(YOUR_OS,"$canonical_host_type",[canonical host type])
AC_DEFINE(CXX_HAS_NO_BOOL)修改为
AC_DEFINE(CXX_HAS_NO_BOOL,,[C…

搞定!!!

mp3可以用了。
p.s.xmms可以用手柄控制。FreeBSD下装了linux_js驱动即可
左右是切换歌曲
上下是增减音量

mp3插上去不认

朋友的老mp3不用了,就送给我了
可以插上去后不认
我的系统是FB6.0
他显示:
usbd_setup_pipe: failed to start endpoint, IOERROR
我打开调试后,详细的错误日志如下
Nov 6 13:00:03 localhost kernel: umass0: SigmaTel, Inc. USBMSC Audio Player, rev 1.10/0.01, addr 2
Nov 6 13:00:03 localhost kernel: umass0: SCSI over Bulk-Only; quirks = 0x0000
Nov 6 13:00:03 localhost kernel: usbd_setup_pipe: failed to start endpoint, IOERROR
Nov 6 13:00:03 localhost kernel: device_attach: umass0 attach returned 6
Nov 6 13:00:42 localhost login: ROOT LOGIN (root) ON ttyv1
Nov 6 13:01:16 localhost kernel: umass0: at uhub1 port 1 (addr 2) disconnected
Nov 6 13:01:23 localhost kernel: umass0: SigmaTel, Inc. USBMSC Audio Player, rev 1.10/0.01, addr 2
Nov 6 13:01:23 localhost kernel: umass0: SCSI over Bulk-Only; quirks = 0x0000
Nov 6 13:01:23 localhost kernel: usbd_setup_pipe: failed to start endpoint, IOERROR
Nov 6 13:01:23 localhost kernel: device_attach: umass0 attach returned 6
Nov 6 13:02:51 localhost kernel: umass0: at uhub1 port 1 (addr 2) disconnected
Nov 6 13:…

正在编译gcc4.3

用的是2006年11月4日的包
FreeBSD自带的gcc,对locale的支持太差。
只好自己编译
哎,郁闷!

一条命令,安装整个kde

pkg_add -r ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-6-stable/All/kde-3.5.4.tbz

给FreeBSD用户推荐一个插件

flashblock
禁止显示所有的flash
也不会提示你安装flash插件。
原因很简单,若是用firefox或者mozilla的话,每打开一个含有flash的页面,都会弹出来一个窗口提示你安装插件,就像当年的3712,
baidu工具条一样烦
“自从有了flashblock,我的一切烦恼都没有了!”

尴尬

最近一件事情弄的很尴尬。
某个人让我帮他的网站改版,而我磨磨蹭蹭了一个月,最后还是没有动手,只是帮他的服务器做了一些日常维护。
原因很简单,他用的是盗版的asp的程序写的后台,他面临的第一个问题是盗版的序列号到期了。那么好吧,把他的盗版后台升级到新的版本,然后换新的序列号(违法的事情交给别人来作)。
紧接着,我发现他的整个网站都是由这个后台生成的。因为这个网站没有专业人员来维护,所以没有人为这个网站写过一行代码。
而我,作为一个程序员,想法很简单,你要我改版,那么我修改源代码,把你需要的功能加上去就是了。(我没有这个网站的后台登录权限)
可是,面临的问题将是,我走之后,这个网站就无人可以维护了。而且,他新换的序列号也只有一年的期限,一年之后……
也许我大可不必考虑一年之后的事情,我只需要拿了钱就走人,因为我未必会在这个城市呆到07年。
可是,这样的工作让我很不爽。如果我继续拿着那套盗版系统给那个网站继续做下去,某些朋友和同事一定会表示反感。例如徐继哲,一定会跳出来大叫说他看错了人。
很简单,坚持自己的原则,我是对的!

splash_bmp要怎么设置video mode?

splash_bmp: No appropriate video mode found
奇怪!

Xpt出了很多warnings

Nov 1 18:41:47 localhost Xprt_33: No matching visual for __GLcontextMode with visual class = 3 (32772), nplanes = 12
Nov 1 18:41:47 localhost Xprt_33: No matching visual for __GLcontextMode with visual class = 3 (32772), nplanes = 12
Nov 1 18:41:47 localhost Xprt_33: No matching visual for __GLcontextMode with visual class = 1 (32774), nplanes = 12
Nov 1 18:41:47 localhost Xprt_33: No matching visual for __GLcontextMode with visual class = 0 (32775), nplanes = 12
Nov 1 18:41:47 localhost Xprt_33: No matching visual for __GLcontextMode with visual class = 0 (32775), nplanes = 12
Nov 1 18:41:48 localhost Xprt_33: Could not init font path element /usr/X11R6/lib/X11/fonts/, removing from list!
谁知道是为什么啊?
郁闷!

求助,声音的问题

我以前的windows manager是windows maker
最近换成了gnome2+sawfish
现在出现一个问题
gnome-terminal,emacs下,出错的时候是主板在响,而不是声卡
但是我的beep-media-player放歌是正常的
gnome2启动的时候也可以听见正常的启动音效

pkg-config用起来不错

CFLAGS+= `pkg-config --cflags ACE` -I. -DHAVE_CONFIG_H -Wall -pthread
LDFLAGS+=`pkg-config --libs ACE`
这样写就可以了,省去不不少麻烦。
不过还不是不懂uninstall.pc是做什么的。

重新编译cairo

今天在X启动的 logs里面看见这个
Warning: FreeTypeRasteriseGlyph() returns an error,
so the backend tries to set a white space.
FreeFontPath: FPE "/usr/X11R6/lib/X11/fonts/misc" refcount is 2, should be 1; fi
xing
且,gdm变成英文的
后来才发现需要重新编译cairo
重新编译后,一切问题都解决了