恢复更新!

主机的问题其实很久以前就搞定了,用了非主流的办法:
  1. windows下常规AMP(Apache/MySQL/PHP)的设置
  2. 将域名monkey.za.org通过everyDNS绑定到网关,再对Router 做NAT映射到内网主机(似乎有更好的办法,router做DNS映射到内网,有熟悉的麻烦告知~谢谢谢谢)
  3. 安装openssh到同一windows主机,并做好NAT映射及SFTP的设置
  4. 在Blogger将Publish设置为SFTP
哈哈,把自己的Host方案都脱出来,似乎不甚安全呀。。。。。。。

p.s. 和自己希望的工作失之交臂,遗憾遗憾。9月来一直奔波劳碌(似乎从05年开始了),遗弃了一些乐趣。舍得。会好起来的,加油。

怪癖

发现自己有这样一个怪癖好久了:

喜欢把所有的事情归结在自己掌控范围内。然而,对时间和精力是一种莫大的挑战。有什么能够让自己下定决心去深入呢?我想是精致的体验和享受懒惰的快感吧,当然,没有什么是唾手可得的,也许达到 懒惰的精致 境界付出的努力不会比 无知的懒惰 少很多;即使是辛苦很多,我还是会毫不犹豫选择前者。比如对vi,opera,ff,miranda,python这类精致玩意的嗜好,很难说清楚的理由,非要说的话。

探索是美妙的,总是摸索却是痛苦的。加倍努力快点涨级吧。

写给犯错误的自己

这已然不是细节不细节的问题,而是对错问题,是非问题。

为什么在三次布线的过程中都会发生连线错误?认真做好每一件事,别管它是不是很没有技术含量,更别以为你能随随便便做得好这没有技术含量的事情。粗心大意不能一再当作你的遮羞布!

认真检查一次最终layout确认没有犯下低级错误低级错误会躲在你最难以发现的角落里嘲笑你的过失。

细节决定成败

在使用turbogears的过程中发现了@paginate的问题。为了解决这个问题,往往你会不得不绕一大圈去全盘考虑,花费很多精力去看粗枝大叶解决方案所不关注的问题,往往这个细节乍一看不显眼,实际却是掌控了你是否真正理解turbogears的核心。仅仅会使用 并不能说 懂了核心的东西。

就和 predistortion amplifier 的设计一样,最关键的其实是不为大家所重视的细节问题。

细节问题是决定成败的胜负手。


Kid/Genshi great tips!

因为写的模板是标准的 XHTML,所以我们可以直接用浏览器打开 Kid/Genshi 模板文件。这很重要而且很有用,可以保证你的模板在浏览器中看起来美观。

你可以从中观查你的样式表、JavaScript脚本、以及应该出现动态内容的部分,是不是同你设想的一样。

有时候,当你直接浏览模板文件或执行后的模板文件时,它们可能不能正确的链接到它们的样式表文件。要避免这个,你可以使用 href 标识要浏览的模板、使用 py:attrs 处理执行后的页面。例如:

这样再在浏览器中查看模板的话,浏览器只会去查找 href 属性,这样的话样式表就会正确的被载入了。

你犯下了交流十个错误了吗?

如果想做好的话,交流是门艺术。这是个很大的论题并且有很多完善点因为它将影响你的个人生活和职业生涯。本文将会有点用处。Henrik给我 有关交流技巧的文章 以介绍常犯的错误及解决办法。


  • 不去聆听
  • 问太多问题
  • 原则性太强以致顽固
  • 讲话无风度(Poor delivery)
  • 跑题(Hogging the spot-light)
  • 自己必须是正确的
  • 选择奇怪或消极的话题
  • 言论无趣
  • 无交互性
  • 无建设性

不错的常归错误的总结



绝大多数的错误不会真正让人远离交流,但是“自己必须是正确的”可一定会。交流不是争胜或者定义谁是“正确”的。如果某人这样对我,那么我会将其归结为辩论模式进而坚决避免和他/她交谈。

对你来说,哪条错误是最致命的?


Do you make these 10 mistakes in a conversation? - [The Positivity Blog]

living in ipython

In [2]: print "hello world" hello world

In [3]: %hi %hist %history

In [3]: %hist 1: True == False

2: print "hello world"

In [4]: In Out[4]: ['\n', 'True == False\n', 'print "hello world"\n', 'ipmagic("%hist ")\n', 'In\n']

In [5]: Out Out[5]: {1: False, 4: ['\n', 'True == False\n', 'print "hello world"\n', 'ipmagic("%hist ")\n', 'In\n', 'Out\n'], 5: }

In [6]: print i, _ii, _iii, , __, Out In ipmagic("%hist ") {1: False, 4: ['\n', 'True == False\n', 'print "hello world"\n', 'ipmagic("%hist ")\n', 'In\n', 'Out\n', 'print i, ii, _iii, , , \n'], 5: {...}} ['\n', 'True == False\n', 'print "hello world"\n', 'ipmagic("%hist ")\n', 'In\n', 'Out\n', 'print i, ii, _iii, , , ___\n'] False

编辑

  • 支持行编辑,默认为vi键绑定。可以按 ESC 允许行被编辑
  • 允许方便编辑所以代码
  • %edit调出 环境变量EDITOR定义的编辑器
  • %edit star stop 可以对某一区域编辑
编辑例子
In [4]: hist 1: class A: def init(self, start, end): """Some comment here."""

2: a = 1 3: b = 2 4: c = 0

%edit Will open up an empty editor %edit 2 4 Will open an editor containing lines 2 and 4 %edit 1 Will open up the class definition %edit 1:4 w Will open up the editor with lines 1, 2 and 3

会话和日志 每次使用后会话都有记录。并且可以重放会话快速恢复到上次会话的最后状态

开始记录日志可以使用 -log 或 -logfile 在命令行或者使用%logstart在interpreter。%logstate可以显示当前log的状态

%logoff可以暂停记录,%logon恢复

继续某次会话可以通过命令行使用 -logfile

对象自省 自省可以像标准python那样 ?是个快捷键 例子

In [2]: sys.path? Type: list Base Class:
String Form: ['', '/usr/bin', '/disk2/ag/common', '/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/lib/pyt <...> 2.4/site-packages/Numeric', '/usr/lib/python2.4/site-packages/gtk-2.0', '/home/dstanek/.ipython'] Namespace: Interactive Length: 13 Docstring: list() -> new list list(sequence) -> new list initialized from sequence's items
In [1]: class C(object): ...: a = "a string" ...: def f(self, name, value): ...: """my docstring here""" ...:

In [2]: C.a? Type: str Base Class:
String Form: a string Namespace: Interactive Length: 8 Docstring: str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the
same object.

In [3]: ?C.f Type: instancemethod Base Class:
String Form:
Namespace: Interactive File: /mnt/home/dstanek/ Definition: C.f(self, name, value) Docstring: my docstring here

其他技巧
  • 集成调试器
  • 集成profiler
  • Python jobs can be run in the background in a thread.
  • 支持配置文件
结论

It's a good thing and is available at http://ipython.scipy.org/

A sprint to add other cool things may be a useful exercise.

To set ipython to be the default:

Python honors the environment variable PYTHONSTARTUP and will execute at startup the file referenced by this variable. If you put at the end of this file the following two lines of code:

    import IPython
   IPython.Shell.IPShell().mainloop(sys_exit=1)
   

生病以后,想了很多。

追求真正的乐趣,否则就是丧失了真正生活的意义。以后,无论顶着多大的压力,要记住,Just For Fun。可以一时的变通,妥协,但是,切勿被过眼云烟迷住了视线,来句俗的,记住你最初的理想。

为了莫须有,放弃自己的乐趣,愚蠢。真正的善待自己,就是善待自己的乐趣,从而就会拥有能够善待身边各种各样的事和人的心怀和气度。

人真正重要的事情只有那么一件:寻找乐趣。

相信自己还会时不时回来看这篇帖子的。