【转】 我是住在山里的小和尚,我把我的寺庙生活告诉大家

整理:百度贴吧 http://tieba.baidu.com/f?kz=197949167

            天涯 http://cache.tianya.cn/publicforum/Content/free/1/898731.shtml 

            另外这个是整理版 From 百度空间 

百度空间的字比较小 贴库 整理版

——-

小和尚QQ空间整理版

      

现代寓言小故事

大家好,我是戒嗔,大家别叫我大师,我年纪也不是很大的。
我十二岁那年剃度的,剃度可不是简单的剃头,首先找一位比丘(也就是大家说的和尚),请他做自己的“依止师”,我的“依止师”叫智缘大师,由他向全寺僧侣说明情由,如果没有意见,才可以收我为弟子,剔除须发,授沙弥戒,这个沙弥戒有十条,也就是“初坛”,是出家的第一步。沙弥戒只能单独受,也就是一次只能有一个沙弥受戒。
沙弥最小也要7岁,我当时进寺的时候已经12岁了,所以年龄上是符合要求的。
到了20岁的时候,如果僧侣们同意,那么就可以召集了10位大德长老,一起为沙弥授予比丘戒,也叫具足戒,这个戒比较多,一共有250条。
只有受了比丘戒才成为真正的比丘,这个叫“二坛”。比丘戒可以三人同时受戒。受比丘戒满5年后,方可离开依止师,自己单独修行。
我前年授了比丘戒,现在还没有满5年,所以我还跟着智缘大师修行。
我现在已经是比丘了,不是沙弥。也不是所有的人到了20岁就可以变成沙弥,和我一起进寺的几位师兄,只有我和戒傲两个受过比丘戒,其他几位至少要等到明年才有机会受戒了。
比丘戒授满5年后,就有机会受“三坛”菩萨戒了。具体我就不说了,这些坛什么的,有点像施主们的职称,其实很复杂,说多了大家可能糊涂了,不过不同的受戒在寺里的待遇是不一样的。
师傅现在叫我了,等会我再过来和大家说说寺里的事情,请施主们等等我。
也不知道大家爱听不爱听?如果爱听的话就留个言,我和几位师兄合用一台电脑的,只有长老才用单独的电脑。

发表在 网摘, 软件 | 留下评论

And you cant

They can’t break me,

The only way to break is to kill.

And what can’t kill me makes me stronger.

发表在 唠叨 | 标签为 | 留下评论

深入理解计算机系统——第二章小结(5)

通讯原理考完,终于有空结束第二章。
首先来看这样一个例子。

double recip(int denom)
{
return 1.0/(double) denom;
}

void do_nothing() {} /* Just like name say */

void test1(int denom)
{
double r1, r2;
int t1, t2;

r1 = recip(denom); /* Stored in memory */
r2 = recip(denom); /* Stored in register */

t1 = r1 == r2;        /* Compares register to memory */
do_nothing();         /* Forces register save to memory */
t2 = r1 == r2;         /* Compares memory to memory */

printf ("test1 t1: r1 %f %c= r2 %f \n", r1, t1 ? '=' : '!', r2);
printf ("test1 t2: r1 %f %c= r2 %f \n", r1, t2 ? '=' : '!', r2);
}

上面一段代码的内容是很明确的,函数recip进行直接的倒数,函数do_nothing确实什么也没干。
而且,变量t1,t2都是由 r1==r2 计算出来,所以我们预计他们是相等的。

然而,当带优化选项”-o2″编译,并用参数10运行时,我们得到:

test1 t1: r1 0.100000 != r2 0.100000
test2 t2: r1 0.100000 == r2 0.100000

优化编译器的基本原则是,无论优化与否,程序应当产生完全相同的结果,
不幸的是,GCC对IA32机器上的浮点代码没有满足这一要求。

小注解: 研究机器级代码(如汇编),对于程序员的进阶常常是很有必要的。仔细观察代码段的注释,
在两次比较中,由于优化选项的存在,
第一次的比较的两个单位会是扩展精度(特殊的80位浮点寄存器)与双精度(double),
而第二次则是两个双精度。
存在这样的杯具是因为一段时间内编译器把r2存放在临时的浮点寄存器

此外,大的浮点数转换成整数是一种常见的错误来源,Ariane 5号火箭初次航行的浮点数错误,
仅仅升空37秒便爆炸掉5亿美元的通讯卫星。当然错误来源复杂的多,其根源确实是浮点数转换时未仔细处理的问题。
(在早期工作人员设计Ariane 4时设计16位整数,而5号的浮点运算发现转到16位会产生溢出,于是系统返回了溢出模式,而不是继续控制。)

谨慎操作浮点数

发表在 C, 编程 | 标签为 , | 留下评论

无题

好了,非个人主页性质的留言一律屏蔽。

另外最近准备期末。

发表在 唠叨 | 留下评论

[ZZ]Twitter系统运维经验

难得一见的好文。赞,文章来自:Tim[后端技术]

全文点击查看。

继续阅读

发表在 网摘, 网络 | 标签为 | 留下评论

代码高亮其他用法

 ┏┓   ┏┓
┏┛┻━━━┛┻┓
┃       ┃  
┃   ━   ┃
┃ ┳┛ ┗┳ ┃
┃       ┃
┃   ┻   ┃
┃       ┃
┗━┓   ┏━┛
  ┃   ┃         
  ┃   ┃
  ┃   ┗━━━┓
  ┃       ┣┓
  ┃       ┏┛
  ┗┓┓┏━┳┓┏┛
发表在 唠叨 | 留下评论

限制时空的循环左旋小节

一个基础的问题,常常会源于几点限制而上升到艰难解答的猜想,
比如:大数问题,经典的高精度算数。
大量问题,OI时代常常遇到的大量数据,算法不当常常导致超时.
内存限制问题,在很多极限内存限制的时候,算法截然不同,这个等下会提到.
时间限制问题,O(n^2)与O(nlogn)算法之间的区别,在于n为100万时,这两种算法的运行时间分别为3小时和1秒。

首先来个很简单的例子。实现单位字节(8 bits)内部循环左移。

要求:循环左移x位
基础:基本位操作

int leftmove(int x, unsigned char B)
{
    B = (B << x) | (B >> (8-x));
}

大部分时候我们会左移大得多的东西,例如字符串。
关于循环左移字符串,这里记录两个算法

要求:循环左移字符串
A: 
基础:迭代思想
旋转向量x其实就是交换ab的两段,得到向量ba。
假设a比b短,将b分成bl与br, 使 length(br) = length(a), 
交换 br与a, 得 br bl a 向量,则新任务是交换br与bl,与之前思想想通。

B:
基础:逆序思想(准确的说,近世代数)

一开始就分别对ab求逆序,ab-> ar b-> ar br 
然后对a‘b’整体求逆  (ar br)r->ba
例如对于”abcdefg“
i = 3;
reverse(0, i-1);  /* cbadefgh */
reverse(i, n-1);  /* cbahgfed */
reverse(0, n-1); /* defghabc */
发表在 C | 标签为 , , | 留下评论

深入理解计算机系统——第二章小结(4)

浮点数

一直以来我们对浮点都比较郁闷,他们在C里长期存在,但是大多数时候都被认为没意思和深奥难懂。
甚至C标准也未要求机器使用IEEE浮点,乃至 Intel IA32处理器对于浮点的特殊寄存器常常会打乱程序员思路。

这些都是这一次小结讲述说的内容。

现在大多数计算机都使用被称为IEEE浮点(IEEE floating point)的标准。 PS:IEEE读作 “I-Triple-E” .

V = (-1)^s * M * 2^E

s:符号位 1位
M:2进制小数 n位
E:2的幂,对浮点数加权 k位

对于单精度float, snk分别为1位,k=8位和n=23位。
对于双精度double,snk分别为1位,k=11位和n=52位。

根据E(exp)的值,浮点编码分为三种情况

1. 规格化值
exp非全0(数0),也非全1(数255或2047)时,指数的值被偏置(Biased),
指数域 E = e – Bias = e – 2^(k-1) + 1 e为指数域的无符号值
小数域 M = f + 1 其中 0<= f <1, 被认为是隐含的以1开头的数(implied leading 1)

2. 非规格化值
exp全0
指数域 E = 1 – Bias
小数域 M = f
非规格化数常常来表示 +0和-0 ,除了表示0值,也用于逐渐下溢出(gradual underflow)

3. 特殊数值
指数域exp E 全1
小数域 M 全0
符号位 s = 1 表示 负无穷 s = 0 表示正无穷
此时如果 小数域不全为零,这表示这个是 NaN,不是一个数(Not a Number).

发表在 C, 系统 | 标签为 | 留下评论

Show off.

CS:APP浮点部分写了一半,比较纠结。
去大波那里看了下,发现他在Qzone留言一个C题目,并且大言不惭的问谁会,于是果断解决了 🙂

      试解释(*(void(*)())0)();  是什么意思?

      很简单的代码,却很有意思,谁会?

记得之前在书上看过,记得不太清楚了,自己又重新试了一下,不知道准不准确。

    (*(void(*)())0) | ();   分离第一步,确定是一个函数,调用"(void(*)())0" 的函数指针使其运行。
    (void(*)()) | 0         分离第二步,确定是一个强制类型转换,使用"void(*)()" 强制类型转换。
    void(*) | ()            分离第三布,确定是一个函数。

   所以他总体的意思是: 运行在内存0位置的函数。
   最早的出处在《C语言陷阱与缺陷》。                    
发表在 C, 编程 | 留下评论

看到你的心 ——《美丽心灵》

美丽心灵(A Beautiful Mind)。

i will watch you in the darkness ,show you love will see you through。

                                                                                                               ———-   《all love can be》

如果有一天早上起来,发现要开始相信昨天做的一切都成为虚假,近乎是人生中遇到的最恐惧事情。

最难忘的回忆,最要好的朋友,一切没有活着,没有死去,而是应该消失。

        Nash: Thank you.

I’ve always believed in numbers ,in the equations and logics that lead to reason.

But after a lifetime of such pursuits, I ask, "What truly is logic? Who decides reason?"

My quest has taken me through the physical, the metaphysical, the delusional — and back.

 

那究竟是怎样的困境,现实与虚幻交错时,不再是现实,也不再是现实之上。

当纳什最后站在领奖台上,似乎证明了这样的希望,证明了这样的力量。

超越逻辑和理性,剩下的心灵,和身边最重要人的守护。支持着你走过这一切。

And I have made the most important discovery of my career,

      the most important discovery of my life:

              It is only in the mysterious equations of love that any logic or reasons can be found.

       I’m only here tonight because of you (my wife, Alicia). You are the reason I am. You are all my reasons.

Thank you.

看到你的心灵,那埋藏在灵魂深处,给予你最初的力量,给予一切空间的力量。

不再是积累的习惯,不再是跳跃的思维,不再是严格的逻辑,心灵一直在,却很少被你看到。

用心灵的力量改变生活,远远大于用心力的努力,我想,也是纳什所表达的,艾丽西娅在绝望中寻找心灵的力量,

和最后证明爱的力量。

Nash: I don’t, I just believe it.

Alicia: It’s the same with love, I guess.

发表在 唠叨, 网摘 | 标签为 | 留下评论