主页
在房间里放歌的土嗨文化
    音乐是人们陶冶情操的一种方式。     年轻一代越来越觉得外放音乐土,耳机才是音乐的最终归宿,我也曾一度认为我父亲在老家客厅放音响是很土的行为,现在依旧那样认为,不同的是,我明白了他放外放的动机。     对于不擅长活动气氛的内向者来说,在群体活动时,音乐可以很好作为气氛的催化剂,然而这或许并不是父亲放音响的全部原因,也许还有陶冶情操。     在你开心时音乐可以为你助兴,在你受伤时音乐可以促进你的自愈。       所以,音乐,其实是万金油。
莫言
觉得莫言有点意思,思路很清晰,作品没怎么看过,但就从其公开露面和其创作质量可以感受得出其本人内在的东西非常浑厚,字语行间是那种不骄不躁,客观准确,纵使荆棘依旧对向往有着赤子之心。 特别是那种台面文字功底(搞文学就是不一样啊),即表达出不羁的态度,而让某些人又难以断章取义,同时让明白人自然明白。 那关于其他方面呢,人无完人,即便光辉下应当会模糊一些其鄙俗,有些也应当作以反面案例,人是无法完美的,但是我们可以无限接近完美,甚至,也不一定要追求某些完美,只需向自己认同的方向迈进便罢。
室友勤快的女儿
说一个可爱的姑娘 室友的女儿特喜欢洗碗   背景,室友的女儿来找她玩。   上一顿,我吃完饭把碗拿厨房去,她主动把我的碗洗了,我一看,这小姑娘挺勤快啊,我再仔细看,这电饭锅的特氟龙(聚四氟乙烯,一种不粘锅的涂层)被钢丝球刷了,这女子估计平时家里也很少做家务。   然后在下一顿做饭时,我就给她妈妈说,你家女儿挺勤快啊,把我们的碗都洗了,但是吧我猜她在家里肯定不会这么勤快,我从一个小细节看出来的,不信你可以观察一下她洗碗。最后我也没说什么细节。   下一顿, 我吃完后去厨房发现锅又多了几道伤痕。
直面挑战
成长,是一个耐人寻味的词语。 比如,写下这段文字时,我还有些饿,羊肚菌已经泡好了,我还需要去买一些米,因为中午吃完了。内心有个声音,它不想动,不想起身。 我们都有这种惰性,同时我们也有另一种积极性,另一个声音想出发去拥抱更美好的生活。 有些时候,我们都有些不甘平庸,但是我们却拥有一般人同样的嗜好,沉迷自我世界,沉迷慵懒的生活状态,自我的感性和客我的理性时常交融,但是骨子里的东西是极难改变的,最好的方式是教育改变,很抱歉,平庸的教育教出平庸的人,我们这种人也没那些条件,摆在面前的只有自省这一条路,我们的世界是没有灯塔的。从家族的角度上讲,我们需要达到一个里程碑,为后代奠定良好的精神基础,我们需要直面这些困难,甚至在繁衍的长河中都不算困难,它只是选择,而对于我们而言,这种选择就是自己的生活意义,去发掘自己的可能,不然如何教育后代,去活出生活的色彩。 生命的画卷需要色彩,生活需要目标,追寻这一切的动力都是来自自我对美好的向往。
情商低下的我
之前有一个异性同事,和我一个星座,性格倒的确和我很像,就像个小孩子,她阅历比我还少,又比较神经大条。 有一次,她找我聊天,我调侃了一下她,大概就是说她又无聊什么的,然后建议她要发掘下自己的兴趣(可能被她理解成我有些烦她了),这也是我真诚的建议。其实我知道,对女孩子要温柔,说话要委婉,特别还把你当朋友的,但是我也把她当朋友,不然我怎会真诚建议她,但是,她后来不理我了,哈哈? 我在想,我们这个星座是忒小器了吗?或许是吧。以前估计我也像她这般“小器”吧,自己感觉不出来,现在应该已经好多了。 还有,我喜欢过一个女孩子,我还说她皮肤不好,显老,然后她也没有特别生气(估计是装的),对我说,让我以后千万别这样和女生说话,要换做其他女生可能就生气了。而且,我貌似不太会和女孩子开玩笑,不像其他人把能女孩子逗得漏出肚白,我要么就会把话题聊死,要么就会让别人觉得我在卖弄,因为我懂得就那么点知识,一旦话题到我的领域,我就突突突说个没完,如果我是个女孩子我都受不了自己。 其实我以前应该是很皮的,只不过有些时候把握不好度,所以我就变成闷骚型了,不熟悉的骚不起来,我也不是那种自来熟的类型,我自己很多年没有体验皮的感觉了,可能我得多看看书,看看古今中外的人是如何骚的。 虽然我单身这么多年,和我不会说话有非常大的关系,但其实,我只是单纯地皮而已,谁TM会没事儿去挖苦别人。 还有,就算我饱读诗书也改变不了某些天性,我就是皮,而且有点不稳定。
实现游戏引擎的思路
我虽未开发过游戏,但是却对其抱有热情,我也想做一个开源的引擎,但是我对游戏的了解,基本为0。 如何来实现呢? 游戏引擎一般会有世界的概念,所有的东西都在这个容器里,比如,我先做一个2D的游戏引擎,那么世界将是一个平面。 游戏还得有角色,角色泛指在世界里出现的东西,如固定的物体,游戏主角,ai,npc。 这些是游戏的基本元素。 下面还有各个工具和系统 物理引擎,如果是简单的2D可以考虑自己写,这里主要是为每个对象设置好属性,物理引擎的core在物体碰撞时给出对应的算法 脚本系统,这是一门编程语言,与引擎密切相关,你可以让其基本元素就带有角色属性,不过这个我觉得只能自己写。 构建规则也很简单,坚持低耦合模块分层的开发就可以做出来。
布局查看
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
[sicp] 1.1.7牛顿法求平方根

[katex] 

y为猜测值 基本思想是给猜测值不断添加阻尼 比如猜测值y小于x的开方,那么x除以y就肯定大于y,将二者加在一起平分,得出一个 中间值,然后用x除以中间值再与前一个中间值平分得出新的中间值。 这种计算是有偏差的,理论上无限的进行重复计算是可以得出无偏差的,但是实际上,我们还是应该使用符号运算,当需要一个具体值再求其近似。 在实现其过程时,捋清背后的过程模型再进行设计是朴素而高明的方法。 (define (sqrt-iter guess x) body ) 上面是过程函数的形参 (define (sqrt-iter guess x) (sqrt-iter (average guess (/ x guess) x)) ) 如果我们不考虑具体的求值,上面这个就是牛顿法的完美表述
应用序求值
解释器一般会采用应用序求值的方式 def p: return p() def func(x, y): return 0 if x == 0 else y() func(0, p) 结果是超过最大递归深度,这是因为python采用应用序求值,应用序求值会先将函数的参数的表达式返回值求出来再带入模型中,这里的函数 p 是一个无限递归函数,所以会无限调用导致出错,相对应的 正则序求值 则是将参数展开带入,直到展开到基本过程后再进行求值,然后通过递归树返回,上面的func在遇到 x==0 时就会返回0而不管后面的 y() 了,然而实际上大多数解释器都会采用应用序求值,因为这样求值复合运算时无需展开,只会发生一轮函数归并。
[sicp] 1.1.4复合过程
(define (sum x y) (+ x y)) 这是一个很神奇的语法, 后面说到解释器实现的时候,我们就会看到这是多么的有意思,但是现在我们先关注这段代码本身的意义。 在脑子里把括号扩起来的都看作整体 (让 a 等于 b) 这里的a是 "sum x y" , b 是 "+ x y" b是一个过程,接受两个参数,这两个参数是从a中引用的, 而a中的sum是一个名称,这是我们给b取的名字,a中的x y的作用就是被b引用。这有些绕,不过不用太过纠结,后面会提到一种

[katex] 

这个运算会使得我们用更加直观更加接近数学的方式来展现程序,欧,这又是一种及其伟大的机制。 下面是另一个表达式 (define (square x) (* x x)) 这是一个求方的式子,过程类似上面 我们现在可以组合两个表达式 (define (sum-of-square x y) (sum (square x) (square y))) 这就是过程的组合再产生新的过程