坚强的理由

标题的歌名,博客的名字就来自这首歌。很有感觉的歌词,最初听到是来自这个视频

流浪可能是很多人不能去实现的梦。80后们在这个价值观、信仰缺失的社会下成长,多少会有些莫名的孤独感吧。

附上歌词,真的能让人有感觉的还是这样的歌啊。

我想知道 我们是不是醉了
我想知道 我们是不是老了
我想知道 天空为何是蓝色的
我想知道 理想是什么
我想知道 他们是不是笑我
我想知道 你脸上的哀愁
我想知道 明天是不是最后
我想知道 我是恐惧的小丑
那些孤单的夜 路上简单的人们
告诉我,我被抛弃的理由
那些平凡的欲望 甚至沉默悲伤
告诉我 让我坚强的理由

我想知道 我们是不是醉了
我想知道 我们是不是老了
我想知道 天空为何是兰色的
我想知道 理想是什么
那些孤单的夜 路上简单的人们
告诉我 我被抛弃的理由
那些平凡的欲望 甚至沉默悲伤
告诉我 让我坚强的理由
那些孤单的夜 路上简单的人们
告诉我,我被抛弃的理由
那些平凡的欲望 甚至沉默悲伤
告诉我 让我坚强的理由

MacBook

自从开始接触到IPhone开发之后,就一直在打着小算盘,想要给自己弄一台Mac的本子。
没想到当年在学校那么忠实于Linux,现在这么快就动摇了。。。。

但是预算有限啊,想象MacBook也够用了,在多核时代来临这么久之后,这还是八子的第一个多核的本子。。。-_-!

虽然还是很心疼那7000多大洋,本子还是很令人兴奋啊,^_^ 拿到之后就一直折腾到现在。

持续的兴奋和心疼中。。。

Vim Encoding

每次新装VIM都得设置编码相关的选项,记在这里备忘吧。

encoding: VIM内部编码,也就是内容在VIM内部的表现形式。

fileencoding: 文件读写编码,在打开文件时VIM认为此文件是采用fileencoding所指的编码,于是会进行编码转换,转换为encoding所指编码。

fileencodings: 一个编码序列,VIM依次尝试其中的编码,看看是否能成功转换为encoding所指编码。
termencoding:terminal采用的编码,vim如果要输出到terminal,会将文件转码为termencoding所指编码。

在Linux下,八子一般采用

let &termencoding=&encoding
set fileencodings=utf-8,gbk,ucs-bom,cp936

感谢:
http://edyfox.codecarver.org/html/vim_fileencodings_detection.html

awesome

又开始折腾系统了。前几天试图给自己装个黑苹果,想着下班之后也还可以玩玩Mac。下了包括海盗湾,东皇几个常见的PC破解版。着实浪费了一些生命和流量。结果也不尽如人意。各种常见的错误都碰到了。

最后也是峰回路转,装上了一个不知名的破解版,10.5的。接着花了好些时间,拖下来一个Xcode+Iphone SDK。居然要求10.6以上的MAC!无奈再尝试安装原版,但是死活进不去系统。现在淡定下来了,重新折腾Linux吧。久闻Awesome大名,刚刚开始试用,还没有尝到甜头。很是期待啊,哈哈。

本来想弄些IPHONE的东西到Blog上,可惜黑MAC装不上,看看什么时候能给自己攒一台Macbook吧,期待啊。

URL编码和字符转义

使用基于Web的服务时,可能会需要在代码里生成URL。这里就涉及到URL的编码 (Encode) 和 解码 (Decode) 。

一个小工具,用来手工Encode/Decode:
Tools/Dencoder

IPHONE下可以使用stringByAddingPercentEscapesUsingEncoding来编码。
但是实际使用中,编码后的URL仍然可能会无效。因为URL的编码方式并不唯一。参见:
Encode-Compare URLEncoding

NSString* escapedURLString = [unescapedString
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

不同的编码方式下,有些字符不会被编码。
所以,客户端使用什么样的编码方式应该和服务器端的解码方式配对。
可以使用CFURLCreateStringByAddingPercentEscapes
编码URL中参数部分后,再用前面stringByAddingPercentEscapesUsingEncoding编码,应该可以适应多数解码方式。

NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes
(NULL, (CFStringRef)yourtext, NULL, 
(CFStringRef)@”!*’();:@&=+$,/?%#[]“, kCFStringEncodingUTF8);

使用中发现,除了编码问题以外,字符的转义也是问题,这里附上一些常用的转义处理:

Javascript下:
转义字符: ‘\’
$转义为\$

XML下:
& —-> \&
< —-> &lt;
> —-> &gt;
‘ —-> &apos;
” —-> &quot;

SQL下(MS Access):
# —-> ##
! —-> !!
‘ —-> ”