我开始使用diamondtin.com域名,老婆使用zzjane.com域名。因为考虑到消息单一化的问题,我决定还是分开域名。
以前的zztin.com域名还可以使用(有效期还有1年),不过会被permanent redirect到新的域名上面。
you are coming a long way…
我开始使用diamondtin.com域名,老婆使用zzjane.com域名。因为考虑到消息单一化的问题,我决定还是分开域名。
以前的zztin.com域名还可以使用(有效期还有1年),不过会被permanent redirect到新的域名上面。
不得不抱怨Mysql的权限实在很二。我昨晚搞了半天都没有搞定我的MBP上的古怪问题:
我在机器上面的mysql在命令行下面用mysql -u root可以直接登上去,但是在django里面设置user = ‘root’, password=”却登不上去,而用有密码的用户可以登上去,告诉我access denied。
我尝试重置密码,用sql更新总是不管用,而且我发现更新结果实际上就在mysql.user表里面,直接更新表比使用命令还简单。
幸好 @nicholasdsj 同学指了一下问题,发现因为我的Terminal里面的mysql客户端即使-h登录进去它也默认使用socket连接,但是socket连接忽略了密码……我不知道这是否是我的机器的配置有问题,但是这个古怪的原因造成我使用mysql客户端尝试密码完全失效……实际上总是有密码。最后干脆执行sql清空一下密码:
update user set Password = '' where User = 'root' and Host = 'localhost';
而后python连接没有问题了,清净了。可是Terminal里面每次都需要输入-p参数然后回车进去了。
原来adb shell到G1里面即使su了也不具有对system的读写权限,需要:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
– I really don’t like programming. I built this tool to program less so that I could just reuse code.
– PHP is about as exciting as your toothbrush. You use it every day, it does the job, it is a simple tool, so what? Who would want to read about toothbrushes?
– I was really, really bad at writing parsers. I still am really bad at writing parsers.
– We have things like protected properties. We have abstract methods. We have all this stuff that your – – computer science teacher told you you should be using. I don’t care about this crap at all.
– There are people who actually like programming. I don’t understand why they like programming.
– I’m not a real programmer. I throw together things until it works then I move on. The real programmers will say “yeah it works but you’re leaking memory everywhere. perhaps we should fix that.” I’ll just restart apache every 10 requests.
– I do care about memory leaks but I still don’t find programming enjoyable.
看这里
Reply lifesinger’s blog post: jQuery 让人恋恋不舍的秘密
是pattern matching,基于消息的函数调用经常使用这样的模式。因为jQuery的functional风格,所以它使用了pattern matching来收紧api数量,效果很不错。
但是上次mootools的开发者说过jQuery的这种设计也意外的鼓励了一次使用就抛弃的代码风格,容易造成你写只为一个页面而作的代码段。这对于鼓励前端开发减少代码重复不利,从长期来看,由于js还不支持原生的pattern matching,所以jQuery这种方式也能由于api灵活降低一些代码的可读性。
每次用Tunnelblick连接我的zztin.com主机后(我的是Mac OSX 10.6)再断开后,我的zztin.com的主机就无法到达了。ping的时候会报告:
ping: sendto: No route to host
这是路由错误的表现,用netstat -nr查看当前的路由设置,发现连接OpenVPN时候推送的route信息没有被清除。我手动试验了一下重建route表:
sudo route flush
然后所有网都连不上了,又netstat -nr一下,发现默认路由没有了,手动添加一下(我家的无线路由器IP是192.168.1.1:
sudo route add 0.0.0.0 192.168.1.1
所有网站都可以用了,包括ssh我的zztin.com。可是不能每次都手动清理呀。查看了一下log,发现的确有问题,有好几行route -delete的时候报错:
ERROR: OS X route delete command failed: external program exited with error status: 77
搜索了一下,发现需要注释掉我的openvpn客户端配置里面的:
# user nobody # group nobody
然后一切都OK了。
配合O’reilly老爷爷的一些想法,我也想想我共鸣的想法:
这只是第一部分,时间不够了,待续……
Rails 3的Route看起来的确更舒服了,简单明了,请看Revamped Routes in Rails 3
昨天在linode上面提了一个ticket,把我的linode从Newark迁移到了Dallas数据中心。主要原因是最近Newark机房实在太慢,慢到无法忍受,而且经常丢包,ssh也经常被reset。昨晚测速,我是北京的网通,Newark机房scp文件的速度也就是5-6k/s,实在无法忍受。所以下决心迁移。
Re-locating a linode installation这篇文章有详细的介绍
我提交ticket以后大概1个小时以后被通知需要重启以后进行一个migration就OK,我的镜像只有1.7G,所以迁移很快,十几分钟以后就迁移完毕了。然后需要更新一下DNS的指向,因为换掉机房以后IP也变化了。
很奇怪,给人家的server部署munin很方便(包括centos或者ubuntu),但是自己的ubuntu server的munin却一直什么都输出不了。我已开始只看了/var/log/munin下的munin-node.log和munin-update.log,但是没什么迹象,只是发现有个别文件无法写入。后来修正了一下权限就都解决了。可是我的/var/www/munin还是空的。
后来才发现问题都记录在/var/lib/munin下的munin-update.stats和munin-graph.stats里面。其实罪魁祸首还是权限问题。解决方法如下:
此时/var/www/munin就不是空的了。最后分析主要原因就是执行了某教程上说的sudo /usr/share/munin/munin-update –force-root,结果造成munin的数据文件的权限编程了root:root,后面munin的cron脚本用munin的用户执行/usr/bin/munin-cron的时候就出错了,无法写入。