很奇怪,给人家的server部署munin很方便(包括centos或者ubunt…

很奇怪,给人家的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, /var/lib/munin, /var/log/munin/, /var/run/munin的权限都修改为munin:munin(如sudo chown munin:munin /var/www/munin)
  • 然后登录为munin用户,sudo su – munin –shell=bin/bash
  • 执行/usr/bin/munin-cron,看看有什么报错,如果是权限问题就修改权限

此时/var/www/munin就不是空的了。最后分析主要原因就是执行了某教程上说的sudo /usr/share/munin/munin-update –force-root,结果造成munin的数据文件的权限编程了root:root,后面munin的cron脚本用munin的用户执行/usr/bin/munin-cron的时候就出错了,无法写入。

在ubuntu server里面删除并重新安装munin-node的时候出错: …

在ubuntu server里面删除并重新安装munin-node的时候出错:

Initializing new plugins..Restarting munin-node.. *
Munin-Node appears to be unconfigured.

这样解决:

sudo apt-get remove --purge munin

这样再安装就没有问题了

刚才好消息传来,居然G1又好了,是在没有Recovery系统的情况下用fastb…

刚才好消息传来,居然G1又好了,是在没有Recovery系统的情况下用fastboot boot recovery.img进recovery系统,然后刷SPL的。但是SPL刷后要重新进入recovery,由于没有,需要再次fastboot boot recovery.img。而后由于我这个版本的机器需要按住照相键重新启动,可是大牛 @quakelele 同学的机器是按住return的,所以一直无法启动,我们都已经以为这只年轻的G1变砖了。我都心灰意冷本来准备掏钱去中关村换的,失落的回到座位开始求助twitter,能看到朋友帮助retweet很感动,可是一时半会儿也没有有效的帮助。还好大胖同学帮忙实验了一下我的“砖”,没想到就正常启动了。他们过来的时候还骗我说只能去中关村了。我拿过来就想拆后盖实验一下,谁知实际上是想给我一个惊喜。机器又正常启动了,换了新的系统……谢谢 @quakelele 、大胖、还有我们team的几位兄弟为了安慰我给我买了美年达。可以放心了。

刚到手第2天,G1砖了,好大的悲剧呀。这次惨了。哥们刷机顺序出了些问题,现在ba…

刚到手第2天,G1砖了,好大的悲剧呀。这次惨了。哥们刷机顺序出了些问题,现在baseband是新的,但是recovery坏掉了,而且SPL也失败了,莫大的悲剧呀。只能看到TIM启动LOGO,然后就卡死了。一筹莫展中。

早上突然看到所谓的2009十大开源软件里面有一个Suse Studio,它是一个…

早上突然看到所谓的2009十大开源软件里面有一个Suse Studio,它是一个很有趣的项目。仔细看了看它支持software applicance,也就是把一个定制的Suse studio distro作为一个虚拟机镜像,运行在自己的Hypervisor上面。维基百科果真是好东西,解释了一下这个听起来有点耳熟,看起来才发现很熟悉的东西。其实它就是虚拟机的运行环境管理器,而且它有两种主要形式(Type1, Type2)。Type 1是一个固件层应用,它直接工作在硬件上面,并为Guest系统(guest operating system)提供运行环境,并监控Guest系统的运行状态,像Xensource的xen控制器,VMware ESX都属于这一类。而Type2就是工作在操作系统上的一个Guest系统运行环境,不直接工作在硬件上层,我们常用的VMWare workstation和Fusion,还有Virtual box就是这一类。所以Hypervisor就是运行环境的管理工具,当然也要提供相应的虚拟运行环境。以后企业内部对在虚拟环境下运行的linux distro的需求会大增,像Suse studio这样的提供在网站自定义distro的服务一定会很受欢迎!

HTC版G1到手了,黑色。昨天到今天一共操作了也就是20分钟,家务活好多呀。刚才…

HTC版G1到手了,黑色。昨天到今天一共操作了也就是20分钟,家务活好多呀。刚才才搞定了无线网连接,我家是的802.11n的wifi,但是昨晚G1一直找不到ssid,手动输入还是连不上。刚才看到有人说要11g才能连,我就把ap修改为802.11a/b/g混合模式,果真能够找到ssid,也能wifi上网了,然后就开始去market扫荡了。昨晚开着EDGE网络,结果早上就欠费了……幸好本来余额不多。下个月要开个150MB包月了。

我真的很讨厌Python的缩进语法,我真的不明白它为啥会存在。没啥美感可言,带来…

我真的很讨厌Python的缩进语法,我真的不明白它为啥会存在。没啥美感可言,带来的是无尽的烦恼。你经常要担心python解释器是否因为我的输入错误产生一些诡异的问题(虽然大部分不是因为这个问题)。不过这增加了很多无形的压力。I have python’s force indentation, it make me sick!

关于Textmate:我的同事都很不喜欢Textmate,总结并回复一下他们所说…

关于Textmate:我的同事都很不喜欢Textmate,总结并回复一下他们所说的原因。

  • 中文显示难看,这个是暂时解决不了的问题,是TM的硬伤。我也很讨厌它,凑合使用瘦体解决。
  • 讨厌它的上下文切换,不喜欢Cmd + T的快速导航,而喜欢左右Tab切换。我坚持认为左右切换Tab是开发者的一个坏习惯,尤其是两个人在结对编成的时候,一个使用缩写的导航远比眼花缭乱的切换左右(尤其是跨越多个的时候)要容易理解的多。所以我在使用Eclipse的时候也推荐同事使用Cmd + e,可是Eclipse让我不喜欢的地方是它排列context的方式是固定的,而不像TM一样是根据访问次序和频度。
  • Django的结构的文件名重复,所以Cmd + T的导航不太好用。这个我想是Django的一个痼疾,非常不友好。一个正确的文件命名可以帮助开发者快速定位代码片段,也帮助你把庞大的代码文件差分开。而Django居然默认了views.py、models.py、forms.py、urls.py,如果每样都有十几个到几十个的时候定位他们是多么烦人的一件事?但是如果有了一个正确的命名以后,用缩写定位他们是TM的杀手锏。相比之下Eclipse和Intellij都使用的是类似grep的搜索方式,只有TM是更聪明的模式匹配。
  • 同事讨厌TM的目录树显示,很小,而且目录排列是按照字表顺序,很不舒服。我觉得我的确也不喜欢它,可是幸运的是我很少和它打交道,因为目录操作我大部分情况下都使用Terminal。还有个很爽的功能就是在TM里面你用Cmd + T打开一个文件以后可以按Ctrl + Cmd + r在目录树中定位这个文件。所以终极使用方案就是搜索优于人工扫描目录。
  • 有人感觉TM的语法高亮差,也有人balme TM的HTML bundle里面连a的内置模板都没有。的确如此,可是1来你可以自己扩展,二来是在Eclipse里面我的同事估计从来没有用过任何快速模板功能……
  • Rails的自动完成是基于上下文的,我觉得大部分时候它已经很够用了。不过没有静态语法检查好像的确是不如Eclipse的Pydev,但是速度上TM从此收益要快于Pydev很多。
  • 最后是版本控制集成。同事们很喜欢Eclipse内置的Subclipse和Subversive,不过这两个东西我都很讨厌,因为如果你没有配置好Java HL的方式访问Svn,那么你就不能在命令行使用svn,否则你的svn功能就会崩溃。我简直想诅咒这个倒霉的问题……相比之下用了Textmate,你有天然的svn bundle,还可以轻松安装hg和git的bundle,让你的开发很清爽。而且它对于在极力推荐git svn转型的情况下非常适合。反正源代码集成功能不是我选择Eclipse的理由,反而是我放弃它的理由。
  • 命令行下的mate让我工作变得很轻松,因为mate .马上就可以开一个新的TM工程,很便捷,轻量。
  • 最后是Python的tabs和space缩进。TM处理的很好,只要你设置Soft tabs ( 4 spaces)使用起来就没有问题了。

最近被开发团队的成员blame的几个错误: 一个从老系统导入新系统的脚本,其中…

最近被开发团队的成员blame的几个错误:

  • 一个从老系统导入新系统的脚本,其中一些是订单导入,还涉及到相关订单的支付问题。结果这个脚本创建订单和支付的操作没有声明事务,而是默认的在它们自己的事务完成后自动提交。结果其中一些因为帐户余额不足无法支付的订单被创建了,造成账目对不上。这个错误的教训就是在复用系统逻辑的时候一定要用心察看事务边界,而且对于导入脚本这样的脚手架也一定要对“事务”有个弦,不能忽略。
  • 一个Django的项目,在重构阶段,一些包正在逐渐被移动到心的地方,我们测试环境中manage.py runserver这几日都正常,但是部署的时候发现mod_python部署报告一个模型无法Import,而后同事又换了mod_wsgi,但是问题依旧。他们用bisect的方法找到了开始出问题的revision,这个revision是我提交的(我那天solo),但是仔细看了diff也很难找到问题,经过多次尝试发现是某一个import后出问题。先开始李明同学怀疑是我用textmate的时候混用了tab和space,但是后来发现问题不它。他们最后定位到这个诡异的问题是循环依赖造成的,虽然说不出具体的问题在哪里,但是经过一些包移动后问题解决了。这个教训是不要太相信Django和脆弱的Python的提示,遇到问题要多怀疑python脆弱的包依赖管理。当然这不是主要问题,对于这个问题也许我们要做的是频繁的部署,这样我们就能早些发现这个问题了。

老婆说三里屯苹果专卖就像个网吧一样。想要体验一下要等很久,里面充斥在界面上寻找S…

老婆说三里屯苹果专卖就像个网吧一样。想要体验一下要等很久,里面充斥在界面上寻找Start按钮在哪里的朋友。几次过去我都没有体验到Wacom的Intous 4画板,非常不爽。

相比之下顺电里面体验Mac就轻松了很多,还可以体验各种单反,感觉不错,价格也比苹果专卖要便宜一些。顺电的3C产品价格也比苏宁、国美、大中这些店好很多,又能现场试用,再次表扬。

今天还试用了佳能S90,非常失望,操作杆非常差,弹出闪光灯的方式非常古怪(居然是自动弹出,但是又慢悠悠的,用手掰怕坏掉)。操作非常慢。而且S90的快门位置太难受了,快门的触感也很不像快门,有点像快门开关,实在是太失望了。从设计上和Lx3差距那是大了去了,佳能已经落后了。

还试用了佳能G11。一样超级失望,太重太大了,我感觉这个重量体积已经完全可以考虑松下的GF1了。G11的低光照反应很慢,不过那些按钮感觉能够提高操作效率,可是毕竟有点复杂,不省心。画面挺细腻的。不过这个体积已经赶上小单反了,从这个角度它又不如小单反细腻。画面颜色依然平淡(或者说黯淡),我不喜欢,不知道谁会喜欢。反正G11给我的感觉就是完全不如买女友一号GF1,这个才是真正的万人迷。佳能已经Out了。