tumblr.com

tumblr.com这个网站是在外滩画报上看到的,简单试了一下就喜欢上了,并用它的免费服务做了 _hi! 这个网站。

喜欢的理由很简单,它让我觉得很舒服,不像写博客那么费神。如果说要把互联网用户分成键盘用户和鼠标用户,那么我比较喜欢当一个鼠标用户,但鼠标用户也有分享的渴望,用tumblr就可以帮助完成这一点。

tumblr的’Share on Tumblr’ Bookmark 是一个非常好的设计,也是为什么说它能尽可能让用户完成鼠标的共享。你只需要在页面上选定文字,然后点这个书签,文字,链接,还有该页面的照片都能自动出现在弹出的编辑窗口里。 而且在提交后,这个弹出窗口会自动关闭,相当细节的设计,但非常周到。

tumblr另一个可爱之处在于它给我比我想要的更多。

比如,可以绑定自定义的域名,可以上传照片,可以自定义模板,中文支持也很好,而且不收费。据网站的FAQ上书,将来将保持免费,只对一些需要使用高级功能的用户收取一定的费用。

tumblelog和blog的区别是:后者是日记,而前者是随手贴。tumblelog以后完全可取代现在公司和朋友之间广泛转发中的搞笑邮件。

我觉得将来tumblr会加入以下的功能:

1. Friends功能,收到friends的更新消息或内容。

2. 反馈功能,对别人的post写一条反馈发布到自己的tumblr上,这和留言不同,这个twitter做得很好了。

3. 也是twitter做得很好的功能:从IM发内容。

计数器

四年前,我还在大学的时候曾听过一次某计算机牛人来讲课,说他一朋友,在澳大利亚做网站计数器软件,而且只做计数器软件,做得非常牛。

我觉得这个事情说明两个问题:

1. 做事情不用管技术含量的高低,关键是要持之以恒,等做到足够专业的时候就自然成功了。

2. 四年前的计数器如果放到今天来看一定是没有太大技术含量的一个东东了,四年时间技术的变化太大了,互联网的变化也太大了。

曾经在自己的blog上写过一篇网络奢侈品商店的文章,虽然觉得那个网站非常精美,但毕竟使用老的html+flash的技术,在这个Ajax流行的年代显得十分格格不入,技术的更新换代也总是不可避免,那么下一个技术热点会是什么?

也许互联网又从现在一味追求简洁、追求互动性,向个性化、向丰富的用户体验转换,就好像惠普的广告里说的:The computer is personal again!

婚礼摄影笔记

去拍过几次朋友的婚礼,上次去拍之前研究了一下Kung的婚宴摄影作品,Kung是一个香港的摄影师,他的作品生动之处在于可以让看的人感觉到,在那一天所特有的稍许紧张而又幸福的情绪,都融在一个个快门的瞬间。

在仔细研究后做了下面的笔记。

道具:手机/鞋子/花/名册/汽车/戒指/日历/头纱/小玩具/街景/街头广告/伴娘/小朋友/其他摄影爱好者

取景:脚的局部/牵手局部/捧花局部/对视/行走时用直对角线构图/倾斜构图/侧面拍合影/宴会观众从上往下取景/宴会司仪从下往上取景

p.s.我的作品: http://picasaweb.google.com/ericfish/kNzLH (虽然记了很多,真的拍的时候却忘了不少,毕竟经验是要靠积累的说)

PHP Defender

PHP Defender is licensed under GNU General Public License.

Author: ericfish © all right reserved.

关于:
* PHP Defender 是一个PHP的安全辅助类库
* PHP Defender 可以用于PHP应用的加密、修复Cross-site Script漏洞和SQL Injection漏洞

支持环境:
* PHP 3/4/5

使用说明:
* class.PHPDefender.php 支持PHP4/PHP5
* class.PHPDefender.php3 支持PHP3
* 使用方法请参考samples目录中的文档

安装Samples:
* samples中和数据库相关的例子需要是要到Oracle数据库,在Samples/Tools/dbinfo.php中配置数据库连接信息。

下载:

Release ver/1.00
Download URL:
http://phpdefender.googlecode.com/files/phpdefender.zip
Release Date: 2007-4-14

Summary:
* A simple PHP security libarary
* Can be used for encrypt/decrypt, and fix Cross-site Script/SQL Injection vulnerabilities

Support:
* PHP 3/4/5

How to use:
* class.PHPDefender.php is for PHP4/PHP5
* class.PHPDefender.php3 is for PHP3
* For detail information, please see the samples in the samples folder.

Install Samples:
* Database related sample will need db connection to Oracle database. You can set your database connection information in the Samples/Tools/dbinfo.php.

Download:

Release ver/1.00
Download URL:
http://phpdefender.googlecode.com/files/phpdefender.zip
Release Date: 2007-4-14

(http://code.google.com/p/phpdefender/

中国特色之电子书网站

最近开始学习WPF,因为国内相关的书籍几乎没有,其实而且就算有,其翻译质量页不敢恭维。

国外相关的书已经有好几本相当不错的了,于是本来是打算直接到amazon,或者通过51eng代购国外的原版书,不过价格实在很伤人,每本书加上国际运输的费用后价格都在300以上。

刚才去netyi上找了一下竟然全都找到了电子版的下载。虽然netyi下载需要积分,但和去国外买的价格是不能比的了。

很明显这个网站在内容的版权方面有很强的中国特色,但存在即合理,至少它让我们对于新技术的学习变得和创造它的国度一样平坦。

最近买了《世界是平的》在看,世界因为互联网的出现,以前非常的复杂的信息,冗长的过程,变得简单无比。

===Update=== 

写下上面的东西后一直在思考一个问题:不尊重产权,就是不尊重知识,于是打压了创新的动力,结果就是永远去学习别人的新技术,就好像我们被大量的好莱坞价值观所熏陶一样。也许我昨天得出的结论是一个完全的错误。 

喜欢看电影的程序员们

在装subversion的时候发现它的配置文件中的用户名和密码是这样的:

[users]
harry = harryssecret
sally = sallyssecret

自然就想到他的作者一定很喜欢这部电影,我也很喜欢这部电影,曾经在学校里下载到,很想买张碟收藏但却一直没有看到过。

另外,在 google code serach 上搜 ‘Get a life’ 发现了这样的代码:

    ‘ok 11 – have life # TODO get a life‘ => {
        description => ‘have life‘,
        number => 11,
        ok => 1,
        reason => ‘get a life‘,
        type => ‘todo’
    },

知道’Get a life’ 出自哪部电影的最后一句台词吗 ^^

风投与爱情

风险投资家说他常遇到两种人

第一种人喜欢骗别人,其实他自己也不觉得自己能做得那么大

另一种人喜欢骗自己,他觉得自己能做得那么大,其实并不实际

那么

当我向她描绘美好的将来时,是否我骗了她

我告诉我自己我没有骗她时,是否我骗了自己

可悲的是

十二世纪在普罗旺斯的风声中被歌颂着的爱情,如今变成了一种资本的理论

乱码笔记

在开发Graceric Version 2的过程中详细的研究了一下PHP页面中文乱码的问题,所以这篇文章的名字就叫做:乱码笔记。

1) 数据库Collation的中文乱码问题

PHP页面要从数据库取数据到前台显示,或者把输入传到数据库中保存,整个过程中可能有四个编码环节:
a) 页面文件的编码 b) 页面的编码 c) 数据库连接的character-set d) 数据库表的collation

a) 页面文件的编码: PHP文件是用什么编码保存的(比如utf-8, unicode, 或者中文系统默认的GB2312)。这个和数据库数据无直接联系,传到数据库的数据的编码只和页面的编码统一,但建议文件编码和页面编码一致。
b) 页面的编码: html的head中的 content="text/html; charset=XXX", XXX即页面编码。
c) 数据库连接的character-set: 可以在MySQL的配置my.ini中配置,一般写法是default-character-set=utf8,默认的charset是latin1,也可在执行SQL前用SET NAMES 'utf8'语句来指定。
d) 数据库表的collation: 在建数据库或者表的时候指定,phpMyAdmin可以先选择表,然后点‘Operations’进行修改。

总之,要正常显示简体中文这些编码一般必须是utf-8或者gb2312,而且四者需要一致。不过呢,数据库连接可以将utf-8隐式的转换为gb2312,反之则不然。

2) xajax的中文乱码问题 

经验总结,摸索出来的一点结果:

a) 当页面文件使用gb2312编码,使用xajax中用form onsubmit的方式来触发ajax函数,不论页面使用utf-8或者gb2312编码,都需要调用
iconv('utf-8', 'gb2312//IGNORE', $string)  来转换输入的中文字符,然后拼数据查询语句。
b) 通过其他方式触发ajax函数,只有当页面使用gb2312编码,需要调用
iconv('utf-8', 'gb2312//IGNORE', $string)  来转换输入的中文字符,然后拼数据查询语句。
c) 当页面使用gb2312编码,使用utf-8编码数据库表的数据库查询前,需先执行:
query("SET NAMES 'gb2312'") 使得数据库连接完成从utf-8到gb2312的隐式转换。
d) 当页面和页面文件都用utf-8编码,则没有任何问题,无需转换。

总之:xajax的中文参数总是在完成转换到utf-8编码后进行传递,故非utf-8中文操作需转换到与页面及页面文件的相同的编码中进行。

3) 页面编码和文件编码不统一的中文乱码问题

即如果页面用utf-8编码,PHP文件用的是gb2312保存,那么写死在文件中的中文字符输出成为乱码。

解决是:在输出中文字符前用iconv函数转换。或者将所有中文字符从数据库中取,文件中只写英文。

4) Zend Studio的中文乱码问题

Zend其实5.0的时候就已经很好的支持中文了,不过设置比较奇怪的说:

a) Tools -> Preferences

b) Desktop tab -> encoding 选择 utf-8 或者gb2312

c) Colors and fonts tab -> 点击Schema Name新建一个,Editor Font选择NSimSun

d) 文件保存时选择与encoding相同的编码

Crawlfish Project

Crawlfish Project is a security tools project.

Author: ericfish all right reserved.

关于:
* 一个安全工具集的项目。

开发环境
* .net framework 2.0

项目进展:

2007-8-28 CrawlFish Beta2 发布
下载:http://crawlfish.googlecode.com/files/CrawlFishInstallBeta2.msi
更新:
1.Cryptor
2.Auditor
3.Javascript Supported

2007-4-17 CrawlFish Beta1 发布
下载:http://crawlfish.googlecode.com/files/CrawlFish-r080.zip
更新:
1. HTTP Editor
2. Spider

Hologon Digg System

Hologon Digg System is licensed under GNU General Public License.

Author: ericfish © all right reserved.

关于
* 一个基于digg模式的开源网站。
* 比较多的使用了AJAX技术。

开发环境
* PHP 4 + MySQL 4

系统需求:
* OS: Any, Linux preferred
* Web Server: Apache 1.3/2.0/2.2
* PHP: 4.0 with MySQL
* DB: MySQL 4.1/5.0/5.1

下载:

Release ver/0.95 beta UTF-8 version
Download URL:
http://hologon.googlecode.com/files/hologon-release-095-utf8.zip
Release Date: 2007-4-29
统一使用utf-8页面及数据库编码,适合国外服务器空间如: MT/bluehost/dreamhost

Release ver/0.95 beta GB2312 version
Download URL:
http://hologon.googlecode.com/files/hologon-release-095.zip
Release Date: 2007-4-29
统一使用gb2312页面及数据库编码,适合国内服务器空间如: 512j

Release ver/0.90 beta
Download URL:
http://hologon.googlecode.com/files/hologon-release-090.zip
Release Date: 2007-3-1

Sample Site:
http://travel.ericfish.com/digg/

FAQ:
* 如何安装?见代码包中《安装说明.txt》
* 什么是'Hologon'?- Hologon是卡尔蔡司的一个传奇广角镜头的型号。

相关链接:
http://code.google.com/p/hologon

Subversion Trunk:
svn checkout http://hologon.googlecode.com/svn/trunk/ hologon
* 关于Subversion的使用参见"SubVersion 笔记"

截图: