人和机制

上卫生间洗手,边上有一个自动出洗手液的机器。机器的下方常常有洗手液滴下来,滴在台子上,有些浪费。

公司最早使用的是手压式容器,每用一段时间就坏了,洗手液滴了一台子。现在自动了,但有人把手伸过去后,接了一点洗手液后就开始洗手了,剩下的洗水液自然就滴到台子上了。

把这个小小的洗手液容器,看成是一种机制。总有些人不按机制行事,从而导致机制的失效。换个角度来想,如果洗手液容器改进一下,在下面设计一个接收盒,如果有从上面滴下来的洗手液就自动回收到容器里,是否可以阻止这种浪费呢?

现实中人与机制的问题远比这个洗手液的问题,复杂的多。面对很多事情,到底是机制的问题,还是人的问题。很多情况下是无奈。

在Python里拿周序号

早晨有同事问为什么Python里的datetime模块使用strftime("%W")取出来的Week number不对呢,好象差一周。使用date "+%W"得出的结果与Python的结果是一致的。

造成这种差异的原因是对于周数的定义不太一致,通常使用的周数指的是ISO 8601中定义的。要输出这个ISO格式的周数应当使用strftime("%V")%U%W%V的区别在strftime(3)说的明白。虽然Python在strftime文档里没有说明可以使用%V格式化,但是在2.3、2.4、2.5和2.6里测试都可以正常的输出ISO的周数。Python提供的另外一种方法是isocalendar(),这个方法返回一个tuple(Year, WeekOfYear, DayOfWeek)

MB990的CPU型号

昨天用Plex看电影的时候发现MB990的CPU不是之前确认的P8400而是P7550。这就奇怪了,满世界都在说MB990的CPU是P8400,怎么成了P7550了,去Intel的网站上也是查不到P7550的信息。开始怀疑这个世界,是不是我的机器有问题,查来查去查出来了,这两个型号MB990都用了。iFixit拆机照也是P7550。

即然Apple用了这两种型号,那就不用怀疑世界了,但是这两个型号有什么差别呢?国民待遇有差?继续查,有人说p7550不支持VT,后来呢在MacX.cn找到了一个贴子,也查了贴子里的那些链接。看来这p7xxx系列应该是Intel专门给Apple的OEM货,参数上呢应该和p8400相差无几,而且也支持VT。Apple为什么会用两个型号的CPU在同一款机型上呢?费解。从这篇Benchmark来看,p7550的性能还要比p8400的好一些。

看来买机器要做的功课还很是很多的,像下面这个方法就可以查的出CPU的型号和特性列表。

% sysctl -a machdep.cpu.brand_string
machdep.cpu.brand_string: Intel(R) Core(TM)2 Duo CPU     P7550  @ 2.26GHz
% sysctl -a machdep.cpu.features
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1
% sysctl -a machdep.cpu.extfeatures
machdep.cpu.extfeatures: XD EM64T

这些特性码可以参考CPU feature flags and their meanings这篇文章。

参考: