开始用gentoo

Gentoo常用的命令 #同步portage eix-sync / emerge --sync #安装某个软件包,自动处理依赖关系 emerge -av package #安装某个软件包,忽略任何依赖关系 emerge -Ov1 package #更新整个系统,自动处理所有的依赖关系 emerge -auvDN world #处理系统更新后由于某个动态库更新导致需要更新的软件 revdep-rebuild #处理python升级后部分python包的更新 python-updater #字体优化 emerge -av layman layman -L layman -f -a lcd-filtering 参考: http://blog.xtao.me/2011/11/gentoo%E5%AD%97%E4%BD%93%E4%BC%98%E5%8C%96/ http://gitorious.org/lcd-filtering/pages/Install ...

March 19, 2012 · notsobad

SICP python version

今天在hn上看到个资料,用python来讲SICP。 引述里面的一句话: The fundamental equation of computers is: computer = powerful + stupid Computers are very powerful, looking at volumes of data very quickly. Computers can perform billions of operations per second, where each operation is pretty simple. Computers are also shockingly stupid and fragile. The operations that they can do are extremely rigid, simple, and mechanical. The computer lacks anything like real insight .. it’s nothing like the HAL 9000 from the movies. If nothing else, you should not be intimidated by the computer as if it’s some sort of brain. It’s very mechanical underneath it all. Programming is about a person using their real insight to build something useful, constructed out of these teeny, simple little operations that the computer can do. ...

March 18, 2012 · notsobad

给console.log创建别名的正确方法

以前我在js里写log,一般是对console.log做个简单封装 var log = (window.console && console.log) || function(){}; 但是今天发现log('a')这样的语句会报错 >log=console.log function log() { [native code] } >log('a') TypeError: Illegal invocation 查了下,这篇文章讲的很详细,大意就是this作用域的问题,相对这些方法做别名的话,要用到apply、call等方法。 所以log函数应该这么写: var log=function(){ window.console && console.log && console.log.apply(console, arguments) } 有点疑问,为什么以前第一种写法没有报错呢? ...

March 16, 2012 · notsobad

IOS开发学习笔记

这里记下我学习ios开发的笔记,备忘用,不建议参考。 main.m是入口 @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorldAppDelegate class])); } app delegate的作用是提供window对象供主程序用,同时还可以在应用程序初始化前做一些准备工作。 ios中window对象是可见元素的容器,帮界面元素传递事件,帮app响应设备方向变化,window本身是不可见的。 ...

March 14, 2012 · notsobad

开始使用Octopress

octopress号称是: A blogging framework for hackers. 最近对wordpress比较烦了,就尝试下它,在github上找了个简单的工具,可以把wordpress的导出文章专程markdown,效果勉强可以吧,转了之后,我又用脚本处理了下,就是现在这个样子。 基本上参考http://octopress.org/上的说明装就可以了,只是mac lion下安装ruby是报错,如下就可以了。 ...

March 10, 2012 · notsobad

在家

放假在家,无网,暖气,无聊。 工作时想休息,休息时想工作。 最好的是想休息的时候就能休息,工作的时候随时就能工作。 离开家的时候感觉时间凝固在那个点上了,等回到家似乎又接到你离开时候那个点,生活又开始继续。 家里人似乎没什么变化,除了小孩长大了,有的人老去了。 ...

January 21, 2012 · notsobad

mongodb执行js的参数传递

在mongodb的js文件中,我想往test.js中传递参数,似乎没有好的办法,只能用下面这种方法模拟一下。 在test.js文件中可以这么写: if(typeof id == 'undefined'){ print('You need to pass id'); quit(2); } do_stuff(id); 运行脚本 mongo --eval="var id=1234;" test.js mongodb中关于js相关的文档太少了,可以直接看spidemonkey的文档

January 10, 2012 · notsobad

Hello 2012!

好快啊,居然2012了。 我想起来我经过的几个标志性的年份,1997、1999、2000、2010、2012. 新年快乐!

January 1, 2012 · notsobad

2011最后一篇

静态化网站: 动态发布的内容url伪静态,/news/123.html, /news/123/, 而不要是/news/?id=123 动态发布内容,数据库中可以增加最后修改时间的字段, 然后输出last-modified的http头,方便wget处理,避免更新时重复下载没有改动的页面 wget镜像整站 rsync同步内容到主站 nginx设置静态内容的缓存时间 注意: ...

December 31, 2011 · notsobad

最好的生活

网易的2011年终策划《最好的生活》,中国人的生活。 像视频中的人太多太多了,各行各业,从民工到白领,每个人都在卑微的生活着 工作、赚钱的目的是为了让自己过上更好的生活,可是现在似乎每个人都在忙忙碌碌的没有生活了,搞垮了身体,耗费了光阴。 我现在就觉得身体好差,一身的毛病。 ...

December 29, 2011 · notsobad