Happy New Year 2011

Happy 2011

感恩 2010

年终总结,感恩 2010。

感谢三高,这个毕业后的第一份工作。这个超低工资,没加班费,混乱又抠门的公司,有个“第一次”的Tag,怎么都不能忽略他的存在。在他的混乱下,其实有很多可以抓住的机会。独立担当,流程管理,甚至新人培训,这都是锻炼。感谢那些日本人教会我的严谨。

感谢豆瓣,很难想像我这个土鳖玩豆瓣吧?其实上豆瓣是因为这是国内最为成功的 Python Powered 网站。我这个 Python 初学者看不懂大牛们在 CPyUG 的讨论,就经常在豆瓣 Python 小组晃荡,于是就看见了那个招聘帖子。

感谢帅哥,刘帅。那个敏感日的晚上我坐 T敏感词 次火车北上面试,帅哥带我游北京,吃烤鸭;我确定北漂的时候帅哥又费力的帮我找房租房,让我北漂时候知道还有兄弟在,不至于那么凄凉,谢谢帅哥。

感谢 @Appwill,感谢团队对我的信任,帮助。弹性上班,水果时间,桌上足球,漂流,保龄球,在这样的团队工作环境下,做自己喜欢的工作,还有什么比这更好的么?感谢团队给我很大的发展空间,在项目开始,我是“产品经理”,天马行空般的去头脑风暴设计产品;然后是“架构师”,目标是一个伸缩性好扩展性好的产品架构,甚至在需要的时候推倒重构;然后是一个Coder、Tester;最后是反馈客服,根据用户的反馈迭代产品。这样的过程还会继续,我们也会继续专注于移动平台的开发,创造更大的移动价值。

感谢妞妞,陪我一路走过,然后一路走下去。我不坚强的时候有你,你不坚强的时候有我,这就足够了。

谢谢爸妈,谢谢小妹,想你们了,赶紧放假回家。

感谢这一年给我帮助的所有人,谢谢你们,祝你们新的一年顺利,幸福。

最后,未来不迎,既过不恋,当时不杂。

Compile vim 7.3 on Mac for Python

之所以想编译安装 vim 是因为一个 python vim script 需要 +python 支持,而 Mac 下默认的 vim 7.2 并没有 +python,所以每次 vim xx.py 的时候都会有一个警告;另一个原因就是 vim 7.3 is released,版本控。

Get the source first:

hg clone https://vim.googlecode.com/hg/ vim

cd to the vim source directory and:

./configure --with-features=huge --enable-cscope --enable-pythoninterp --enable-rubyinterp --enable-perlinterp  --enable-tclinterp   --enable-multibyte --enable-cscope --disable-gui

make && make install

Done.

All-IN-1 Ringtones Box

App Store link first: All-IN-1 Ringtones Box

All-IN-1 Ringtones Box gives you more than 500 ringtones in 12 categories.

这是我参与开发的第一个 iOS App,客户端有三分之一的代码量吧。

整体架构设计,细节代码完成质量都有很多收获;而且写 App 不是完成之后扔到 App Store 就够了,要把自己当成一个普普通通的用户,不停的去使用 App,琢磨哪里还有改进的地方,一步一步的迭代完善。

App 开发的创意很重要,运营也同样重要,要重视用户的反馈,根据用户的反馈有针对性地进行改进。

对话守则

  1. 对话的目的是寻求真理,不是为了斗争。
  2. 不做人身攻击。
  3. 保持主题。
  4. 辩论时要用证据。
  5. 不要坚持错误不改。
  6. 要分清对话与只准自己讲话的区别。
  7. 对话要有记录。
  8. 尽量理解对方。

via @zuola.

命运乎

你现在的生活是你三年前的选择和努力所决定的,而你现在的选择和努力又会决定你三年后的生活会是个什么样。

所以,你现在晚上加班到十点吃不上饭,没啥可抱怨的,你要为你三年前所荒废的时间付出代价;我们也没有必要更没有权利去同情可怜谁,这是他之前轻视自己生命的代价。

这就是命。

对过去的生活我们已无能为力,但是对我们以后的生活,我们还可以选择,还可以通过自己的努力去改变。你可以成为一个很成功的商人,或者是一个上市公司的 CXO,或者是你自己创业当老板,享受别人对你的一呼百应。

这同样是命。

不同的只是你对待他的态度。老天爷都是公平的,你得到多少,你就要失去多少;你享受多少,就要遭罪多少。

Memcache using notes

telnet 127.0.0.1 11211

Commands:

get/set/add/replace/append/prepend/incr/decr/delete

flush_all

stats

cmd_get 查询缓存操作,uptime 是运行秒数,cmd_get/uptime 是平均每秒请求缓存次数。

缓存命中率 = get_hits/cmd_get

Ubuntu 安装 Memcache 支持 Discuz X

安装 Memcached 和 php-memcache 模块:

sudo apt-get install memcached php5-memcache

默认安装后会自动在 php.ini 添加启用 extension=memcache.so

运行 memcached(-d启动守护进程,-m指定memcached内存):

memcached -d -u root -m 64 -l 127.0.0.1 -p 11211

重启 apache

sudo /etc/init.d/apache2 restart or sudo service apache2 restart

为安全起见可以先测试一下 memcache。

配置 Discuz! X 使用 Memcacha 内存优化,修改 config/config_global.php

$_config['memory']['memcache']['server'] = '127.0.0.1';

Done.

定时备份MySQL数据库到邮箱

照网上例子写了个 bash 脚本,自动备份 MySQL 数据库,并通过 mutt 发邮件到邮箱。

先设置 mutt:vim ~/.muttrc

set envelope_from=yes
set [email protected]
set realname="DBBackup"
set use_from=yes

Bash 脚本内容,vim back.sh

#!/bin/bash
date=date +%Y%m%d
mysqldump DBNAME -u USERNAME -pPASSWORD > /backup/$date.sql
tar czPf /backup/$date.tar.gz /backup/$date.sql
mutt -s "DBBackup" [email protected] -a /backup/$date.tar.gz < /backup/mailContent
rm -f /backup/$(date +%Y%m%d -d "5 days ago").sql
rm -f /backup/$(date +%Y%m%d -d "5 days ago").tar.gz

权限修改:chmod +x back.sh

更新 crontab:27 3 * * * root /back/back.sh

Sizes of iPhone UI Elements

Sizes of iPhone UI Elements

Window (including status bar) -> 320 x 480px

Status Bar -> 20px

View inside window(visible status bar) -> 320 x 460px

Navigation Bar -> 44px

Nav Bar Image -> up to 20 x 20 px (transparent PNG)

Tab Bar -> 49px

Tab Bar Icon > up to 30 x 30 px (transparent PNG)

Text Field -> 31px

Height of a view inside a navigation bar -> 416px

Height of a view inside a tab bar -> 411px

Height of a view inside a nabber and a tab bar -> 367px

Portrait Keyboard height -> 216px

Landscape Keyboard height > 140px

References: