在 OSX 10.5 (Leopard) 安装 MySQL-Python

友人nicholas.ding说:

尝试安装了一下 MySQL-python,发现竟然编译不过去,在网上搜了一下,找到了一个 workaround,应该是作者疏忽了。

原文在:http://www.keningle.com/?p=11

需要下载源码自行编译,首先修改 _mysql.c,删除从 34 行开始的 3 行。

#ifndef uint
#define uint unsigned int
#endif

uint port = MYSQL_PORT;
uint client_flag = 0;

修改为

unsigned int port = MYSQL_PORT;
unsigned int client_flag = 0;

创建一个符号链接

$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

最后编译安装就可以了

$ python setup.py install

在我这里这样还是不可以,最后发现还要做如下改动,原因可能是我使用了mysql官方提供的package安装mysql,结果路径有些差异造成的:
在安装前还需要修改setup_posix.py,把mysql_config.path = "mysql_config"修改为:
mysql_config.path = "/usr/local/mysql/bin/mysql_config"

然后再sudo python setup.py install就OK了。

解决Hg在MacOSX leopard上的locale问题

简短说,因为重新在新mac上装mercurial,没有装macports也没有fink,这次也不想自己编,所以选择了预编译的package。但是后来发现报错!
我用的是http://mercurial.berkwood.com/这里的包,1.0.1的mercurial package,是08-05-25出的那个包。

line 373, in _parse_localename
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

那么,如何解决呢?这里找到了答案:
http://www.selenic.com/pipermail/mercurial/2007-October/015296.html
解决的方法就是在你的.profile加入下面这样的声明,如果你用的是bash的话。

export LC_ALL=es_ES.UTF-8
export LANG=es_ES.UTF-8

然后就工作正常了,如果想知道为什么,可以看看这里有更详细的原理介绍,LC_ALL是给字体字符集使用的环境变量。
http://www.madboa.com/geek/utf8/

结绳记事,希望有帮助。

使用“简单文件共享”一点不简单!

因为懒惰,所以一直没有解决一个问题。我的苹果一直不能访问家里的台式机,但是家里的台式机实际上是我家的文件中心,在已经卸下两块硬盘的情况下,这台机器上还有320X2+250+120=1010G的硬盘空间。我从用笔记本看电影的时候希望可以访问Windows的共享目录,但是却每次都提示您没有权限访问文件共享。可是我已经为苹果设好特别的帐号了,非常费解。但是在苹果上访问别的Windows电脑却正常。
百思不得其解,但是最终还是解决了。不废话,说方法,我的是Windows XP SP2:
1、去Windows上,在我的电脑的工具-设置里面,取消“使用简单文件共享(推荐)”这个选项。
2、这个时候再去共享目录或者驱动器根的时候你就可以选择帐户和连接数了。选择你要使用的帐户,加入到授权访问的帐户列表中去,即使里面已经有Everyone了。
3、去苹果上在浏览器(如Safari)里面输入smb:\\192.168.1.x,或者直接在Finder里面选择相应的主机名。这个时候会询问你帐号和密码,然后输入你在Windows上面的帐号就可以了。

怀疑原因是我的Windows正好出了什么毛病,我的新帐户可能也许不在Everyone里面,虽然不应该,但是不管它了,你完全可以将目录的访问授权只给特定的用户,如我的电脑上有个mac用户,使用密码保护,这样可能更加明确。
那么,反正这次的麻烦就归在倒霉的“简单文件共享”上免了,它一点也不简单!

原来Mac的Lotus Notes客户端真得可以显示中文!

这样做:

去’系统偏好设置-System preference’里面的’国际化-International’把简体中文设为首选语言.关闭你的Notes客户端.然后开Terminal,在里面输入’killall Dock’,你的Dock会自动重新启动.然后再启动Notes客户端,你就可以看中文了.

不过我发现再启动的时候你发现Notes又不可以显示中文了.

问了下徐X,他说他都是拷贝中文的’**’出来粘帖到文本编辑器里面就可以显示出来了,笨方法,不过可能也不算麻烦.

不过忘记说了,前提是你用的mac lotus notes客户端的版本在7以上,我的是7.0.3.

这个方法是从手工帽匠的博客里面发现的.

重构我人生

我是一名程序员,但是其实我从来没有规划过我会成为一名程序员。从小我的爸爸就培养我的各种兴趣,其实所有的兴趣对于我都是一样,兴趣本身不是目的,收获的是一种态度,这种态度会指导我的生活。所以我有了现在,我是一名程序员了。

那么这个引子的目的是想说我的程序员中最大的收获,这个收获就是方法和态度。这个名字就是敏捷,敏捷就是这几年以来我接受的最有用的一个态度。敏捷是一个基本的不能基本的概念,但是我在这里不想展开,但是敏捷的所有方法中都提到的迭代与反馈的方法。而人生也是这样的,年复一年人生在迭代,每年我们都会回顾这一年,给这一年的生活一个反馈。所以说基本上我们的生活也可以是一个敏捷过程,那么我们还没有做的是通过改变自己的生活提升自己生活的质量。这个过程我们可以用程序员的一个术语,重构来描述,当然这是片面的。重构就是在不改变程序结果的情况下重新调整逻辑体,为程序的改变或者提升可读或者正确性等尽行的改变工作。那么人生也需要自己从自己的生活中找到可以提升效率或者改进行为方法的地方,为未来的变化做好准备。

扯多了,但是这个问题其实简单,所有的自发的变化都有可能产生重构的效果。那么这一段时间我进行了什么重构呢?

  • 1、开始消灭我的个人电脑的硬盘分区。从很就以前我的Windows机器的硬盘都是有很多分区,里面力图放相应的内容。但是后来发现这样一点也不好,因为最后数据的无序造成分区的最早企图的失败。那么后来我发现Unix的树型管理很科学,你也可以把不同硬盘/分区挂载到树的不通节点,很灵活。而且Windows的盘符其实和目录没有本质区别,但是灵活性奇差。硬盘的第二个变化就是买大硬盘替换多个小硬盘。我有80G+120G X2+160G+250G+320G这么多硬盘,放到机器里面实在费电,所以应该做的就是买500/750/1T这样的硬盘替换它们,这样省电省事。同时,随着关键数据的量的增大,逐渐我也要开始使用Time Machine备份来提高安全性。
  • 2、使用好Mac,这个的确提升了我的效率,而且也有机会接触更多Unix哲学。不是说Unix哲学怎样,而是多学习很有好处。
  • 3、读书。我在包里面放一本技术书、一本文学/哲学书、一本杂志,分不同场合查看。这个是好看簿的大野狼告诉我的一个方法,后来我发现真的很好。原因就是如果专注技术而忘记了人文知识的补充,那么人生就会暗淡下去了,所以这种方法引诱我丰富自己,感觉很好。
  • 4、重新思考自己的选择。看着我去年写的wishlist,关于一些男人的玩具,如大液晶,好手机,昂贵的镜头,这些愿望在去年没有实现,但是去年的目标都是一些“超值”的选择,但是经过一年的思考,从《身份的焦虑》这本书里面我知道对物品的期待如果画一条满足度的曲线,那么得到那个物品以后这条曲线会急速下降。所以其实我能够享受的很多就是拥有前的期待,尤其对于这些男人的“玩具”也许逐渐提高你的期待才是更有意义的。比如,现在如果我再期待拥有的单反已经是D300+17-55 DX+105VR+S 10-20+SB800这样的配置了,而长焦我基本上放弃了。而去年购入的LX-2给我带来的满足非常之大,这半年来我也的确照到了不少的好照片,记忆满满。提高的需求可以延缓无谓的投资带来的资金损失,在头脑清醒后可以增加准确度。
  • 5、经常整理你的物品/文件,删除或者扔掉没用的东西,这样可以减少下次整理它们带来的麻烦。减少没有必要的需求,让你能够享受的需求的质量更加高一些。

等我写到这里的时候我知道题目说大了,上面的这些还和敏捷搭不上边际。但是在实施和回顾的过程中,我发现我的生活变化了,变好了,这就够了。

买笔记本的想法

如果你买笔记本使用Linux,如Ubuntu或者Fedora,那么买Lenovo的Thinkpad吧,血统很好,耐用,好用,符合Linux的原则。

否则,如果你买了笔记本即用来生活工作又用来享乐,那么选择装了Mac OSX的Macbook Pro或者Macbook是非常爽的。

如果你还是需要Windows,如网上银行什么的,那么装个虚拟机吧。VMWare在Linux下和Parallels在苹果下面都是很好的虚拟机。

那么,如果你说我还要玩游戏……去……买个游戏机就好了,PSP、NDSL、PS3、XBox360、WII、PS2都比PC好玩……玩网游么?还是戒了吧……

给友人的好看簿的UI重构建议

首先,技术角度:
1、使用XHTML和基于语义化结构标签和CSS的布局,使用CSS Sprites。减少页面体积,同时得到SEO的好处。
2、信息结构设计。从信息结构入手来产生排版的设计,要符合人的阅读习惯。
3、合理安排字体(减少字体大小的跳跃),使用相对字体em(并结合使用yui-css框架)。合理安排所有padding和margin,让页面的元素间距高度一致,也就是同一层次的信息结构应该使用同样的字体和元素间距。可以参考写Word文档时候的章-段-节那样的结构去思考结构。

可用性角度考虑:
1、使用弹性的页面布局?虽然有点难度,但是对于使用大显示器的用户十分友好。
2、增加inline的帮助,遇到问题最好用户在最近的路径就找到帮助。
3、如果要区分大家的和自己的地盘,那么一定要使用几乎完全不同的颜色甚至是排版,而且要增加足够清晰的Bread Crumb来告诉用户位置。我觉得JavaEye的首页和博客区分的就比较清楚。

开始使用新的域名

朋友的服务器换了机房,所以IP变了,域名指向也暂时不可用了。所以我想是时候换个域名了,老婆说就要zztin.com了,我尊从了她的想法。域名是从godaddy买的,服务器还是托朋友的福继续……

WordPress的域名迁移比较麻烦,费了点周折,不过搞定了,等有空再去忙活更加好看的域名设计,不过现在已经可以使用:

http://tin.zztin.com和http://zz.zztin.com来访问我们的Blog了。高兴呀!

Google apps + Saleforce,新mashup,新SAAS

半年前我在InfoQ上面报道了一下SAAS的事情,现在看到这个,想想mashup的益处,很快这张大网就要收了。Google花了这么久来织网,我们看到了facebook和amazon也挤进了这班车,可怜MS,我看及时收购了Yahoo也搭不上这班车了,因为Yahoo自己也没买到车票。