3083 items (0 unread) in 19 feeds
可喜可贺:)
今天是单双号实施以来第二天坐公共汽车上班,情况比前天要好多了,不光是因为今天坐的是主路快车。。。 之前很支持单双号,觉得经常开车不仅对身体不好,并且不环保也不节约能源,但这两天的感觉是:大公共终于会排队进站了,但是导致进出站效率更低了;终于敢走航天桥花园桥紫竹桥一线了,但是明显特别堵,所以明天绝对不会走了;奥运专行线终于开通了,导致我去过有专行线的地方行车都变的更缓慢了,最严重的就是机场高速路了;终于觉得每天都有盼头了,就是盼着明天可以开车了;还有很多感觉都忘了,总之我还是会继续支持北京奥运的:-)
自从这首歌流传开来以后,很多人得了同一种毛病……就是会经常不自觉地哼哼这首歌,我也是其中之一……
言语对于现在我所想表达的感觉已经微不足道,只好贴上一张大大的照片,和你一起分享我们最美的时刻
in the end, hand in hand, we will get there.
2008年5月12日下午14时28分,四川省汶川县发生7.8级地震,四川本省及周边其他地区都受到很大影响。这场突如其来的自然灾害,给灾区群众造成了巨大的经济损失和精神创伤。灾区人民正面临着缺电少水、供应短缺、交通阻塞和通讯不畅等各种考验。地震发生之后,胡锦涛总书记立即做出重要指示,要求尽快抢救伤员,保证灾区人民生命安全;温家宝总理赶赴灾区,连夜指导救灾工作。
随着救援行动的进一步展开,当地受灾群众和相关救援人员心理救援工作日渐显现,中国心理学会拟组织志愿者队伍赴四川成都和绵阳地区开展灾后心理援助工作,现面向所有专业人员招募志愿者,参与心理救援工作。
自愿报名人员须符合下列条件:
所有符合以上条件并有志参与救灾工作的专业人员,请将姓名、年龄、性别与工作单位信息发邮件到sichuanzyz@gmail.com或致电62751093(周四周五9:00-16:00)报名确认,我们将于本周六(5月17日)上午8:30开始在北京大学老化学楼(北京大学东门附近,光华管理学院北)三楼会议室进行前期培训,也欢迎直接前往培训地点,培训时间为两天(5月17日和5月18日),之后将在参与培训的人员中遴选符合条件的专业人员分批到灾区参与抗震救灾工作。
中国心理学会临床与咨询心理学专业机构与专业人员注册系统
中国心理学会临床与咨询心理学专业委员会
北京大学心理学系
2008年5月14日
自2008年5月12日14时28分以来,无数的同胞在地震中离开了我们,尤其让人心痛的是其中有很大一部分是正在上学的孩子,他们的离去让我觉得十分痛惜,他们本应该是中国未来的希望,但现在却成了中国现在最大的遗憾,我一直认为只有教育才能让中国更加强大!现在只希望当地的学校重建后不再是豆腐渣工程,希望有善心的朋友能多奉献一些,哪怕只是一顿饭钱,谢谢
地址:北京市东城区东单北大街干面胡同53号
电话:8596181065599762
邮编:100010
接受人民币捐赠:
户名:中国红十字基金会
开户银行:中国银行北京分行
账号:800100921908091001
外币人民币捐赠:
银行:中国银行
账号:800100086608091014
电代码:BKCHCNBJ
地 址:北京市朝阳区朝外大街吉祥里208号民建中央239室
邮政编码:100020
1.开户行:中国银行北京朝阳门外支行
账 号:817020634708091001
2.开户行:北京银行灯市口支行
账 号:01090342700120111009110
捐赠热线:4008877456-119#
(010)85698220、85698221、85698222、85698223、85698224
官方网站:www.sygoc.org.cn
说 明:请在汇款时注明“重返校园基金”。
最近在家里又登陆不了Hotmail了,Google后得到了两个解决办法

Hi ,抢先体验!
早上一来邵麟就给了我baidu hi的邀请,百度终于正式踏足即时聊天市场,不知道会给这个市场的格局带来什么变化?下载安装后因为邀请的时效等了几分钟后才能登陆,安装文件并不大,跟Gtalk大小差不多,使用后感觉除了小的icon很可爱以外其它功能都很一般,没有什么可圈可点的地方,当然这可能是因为还在内测的缘故。没啥多说的,大家可以自己体验看看:申请体验的地址,不过这么申请还得等着审核,还是直接使用邀请链接来得快:)需要的朋友可以留下自己的baidu id,我会给大家发送邀请:P
以上四点是国际上用来鉴定钻石品质的4个标准,简称4C。除了重量外,其它三个C 都依照国际公认的钻石分级系统GIA来进行评判。 GIA是美国宝石学院 (Gemological Institute of America)的缩写,由Mr. Richard T. Liddicoat 于1953年创立,是全球珠宝业界最具规模,最被认同的珠宝钻石鉴定机构。GIA鉴定室所发的GIA证书,被公认是世界上最具公信力的证书。
FL(Flawless) ,完全洁净级。钻石内外无任何缺陷。此级可容许在亭部有多余的小刻面,但小刻面从台面上看不到;可见到天然原生小晶面或解理面,其大小不超过腰围的宽度,或者没有使腰部不圆;内部有极微细小点,既然无色又不影响透视。
IF(Internally Flawless),内部洁净级。内部无任何瑕疵,表面有一点瑕疵。
VVS1(Very very slight included), 非常非常细微的内部瑕疵级。有极微小的瑕疵,只有从亭部可以观察到或表面有很小的瑕疵。VVS2与VVS1的区别在于VVS2有极小的绵装点及小毛茬等(基本上内部没有什么缺陷)。
VS1或VS2(Very slightly included),很轻微的瑕疵级。可以看到非常微小的瑕疵,能看清大小及位置。VS1及VS2的区别在于VS2可能有微小的绵状物及毛茬。
SI1及SI2(Slightly included) ,轻微瑕疵级。在十倍放大镜下可看到瑕疵。
I1、I2、I3(Inperfect) ,不洁净级。可以明显地看到瑕疵,有时也能清楚地看到明显的解理。
钻石重量以Carat(克拉)计算。“克拉”作为重量单位最早来源于欧洲地中海边的一种角豆树的种子(稻子豆)。角豆树有一个奇特的现象,无论长在何处,它所结的果仁,每一颗重量均一致。在历史上这种果实就被用来作为测定重量的砝码,久而久之便成了一种重量单位,用它来称贵重和细微的物质。1907年国际上商定为宝石的计量单位,沿用至今。 1克拉=0.2克,因为钻石珍贵稀有,在计量上势必会需要更进一步的细分,故再将1克拉分成100分,比如,可以将一颗重0.18克拉的钻石称为18分。
钻石的颜色有很多种,一般我们会碰到无色、白色、淡黄色三种,色调的深浅直接影响到钻石的质量和价值。GIA将钻石颜色从D至Z分为23级,最白无色的为D级,黄色最深的则为Z级。对于色级的鉴定主要依靠多看,需要经验的积累,一般掌握好I级的色级,高于I级是 越高越明亮,甚至晶莹,相对价值也就越高。低于I级则逐渐开始有微黄甚至黄色的感觉。等级不同,会有一定的差价,故在初次购买钻石的时候,建议购买含有GIA鉴定书的钻石,比较有保障。
切工,即钻石切割和抛光的方式,是钻石加工最重要的一步。如果说颜色和净度都是自然形成的话,那切工则是人的杰作。只有经过精细的切工,才能拥有精确的刻面角度,才能反射、折射出最大量的光,真正成为闪烁耀眼的钻石。鉴定切工主要依据钻石款式是否能尽显其美,角度与比例关系是否正确以及琢磨是否精细等。切工分级的主要评价指标有:台面百分比,冠部角度,底部深度百分比,腰部厚度,尖底大小尺寸,修饰度(抛光程度和对称程度)。一般说来,台面百分比以55%~66%为最佳,冠部角度在30.7°~37.7°为最佳,亭部角度在40°~42°为最佳。同样,切工也有权威鉴定部门出具的鉴定证书,方便初购者放心购买。
最近几周确实有点疲劳,也没有太注意气温的变化而增减衣服,导致被流感的末班车给捎上了;连续高烧了四天,每天都很痛苦,白天无聊的待着,晚上则和痛苦作着斗争;突然觉得春捂秋冻还是很重要的,流感一年比一年厉害,今年香港甚至有四名小学生死于流感,不注意恐怕是不行的,另一方面自身的锻炼也要加强,提高免疫力抵抗病毒才是最有效的办法;病好后就得开始筹备健身计划了,身体健康永远应该都是第一位的事儿,希望明年的时候彻底摆脱流感的困扰,现在开始好好锻炼身体……
上周在迁移网站到新服务器的时候出现了数据乱码的问题(两边的服务器都是Mysql5),除了Wordpress以外,图片博客和聚合程序的旧数据都是乱码,my.ini中的配置是default-character-set=GBK,程序连接数据库的默认字符集都是GBK,为什么以前程序可以正常显示汉字而导出的时候数据确是乱码呢?网上搜索了很多解决办法包括导出时增加字符集参数什么的,都没有效果。。。。因为Wordpress所有表的默认字符集是utf-8,所以导出时都是正常的,但是Pixelpost和Gregarius的表默认字符集是latin1,所以我才想到把my.ini中的字符集设定改成latin1,就这么简单的解决了导出乱码的问题……
下面是导出的时候增加字符集参数的方法,但尝试过无效。mysqldump -uroot -p --default-character-set=latin1 database > database .sql
Gregarius支持中文的程度很不错,唯一的缺陷就是在日期格式上会出现乱码。其实只要修改根目录下util.php文件的rss_locale_date方法就可以解决这个问题,希望可以帮助使用Gregarius的朋友,修改后的方法代码如下:
rss_locale_date()
function rss_locale_date ($fmt, $ts, $addTZOffset = true) {
if (isset($_SERVER["WINDIR"])) {
//%e doesnt' exists under windows!
$fmt=str_replace("%e","%#d",$fmt);
}
if ($addTZOffset) {
return iconv("UTF-8", "utf-8", strftime($fmt, $ts +3600 * getConfig('rss.config.tzoffset')));
//return utf8_encode(strftime($fmt, $ts +3600 * getConfig('rss.config.tzoffset')));
}
return iconv("UTF-8", "utf-8", strftime($fmt, $ts));
//return utf8_encode(strftime($fmt, $ts));
}
一直使用gregarius这个聚合工具,但是它的升级速度实在有够慢的,版本号一直锁定在0.5.5上,由于现有版本的一些问题我决定升级到最新的SVN版本。Gregarius支持中文,并且使用MO作为全球化语言文件的格式,但因为我需要在界面中增加博客和摄影的链接文字,所以需要修改Gregarius自带的PO语言源文件并且编译成MO语言文件格式。
POEdit是一款支持多操作系统的PO文件转换软件,大家可以在这里下载,Windows环境下直接读取PO文件再保存就可以编译生成MO文件。另外如果自带的程序中只有MO文件,那么大家可以使用Gettext来反编译MO文件,使用方法也很简单:msgunfmt a.mo -o b.po,就可以生成PO文件了,很简单很方便:)
困扰已久的网站速度问题终于在本周末得到解决,我痛下决心购买了Hostmonster(简称HM)的空间服务,并且把所有应用都部署到了新的服务器上,现在博客、摄影、聚合都已经可以正常访问,南方北方的用户访问速度都会很快,只是在解析域名的时候会有一点延迟,这是因为DNS服务器是在美国的原因。购买HM空间的时候出现了一些小问题,在这里做个记要,方便以后大家购买时参考:-)
总之使用Hostmonster的感觉还是很不错,虽然不像之前使用VPS一样足够自由,但是对于我来说也已经足够了:)
今天和媳妇一起去了西单新开的大悦城,起初只是想随便看看,却无意中在Casio专柜发现了之前寻找多次未果的Casio2007年天使与恶魔系列的情侣表,马上出手购得,这也许是本次限量版在北京商场上最后出手的一对了。下面晒晒天使与恶魔系列的寓意和照片:
传说中,天地开辟之初,具有强大力量的天使 Lucifer,遭到愤怒的上帝惩罚,堕落至罪恶的地狱,但身在天堂的天使 Michael,仍深深爱著 Lucifer,於是对立的两个角色-天使与恶魔,充斥著善与恶、黑暗与光明及爱与恨的冲突,象徵著恋人间永无止尽的爱恨情仇,故特地在表背上烙印上天使与恶魔的图腾,纪念情人间的深深爱恋。

天使与恶魔

天使与恶魔

防止盗链接的图片
自从上次在博客中推荐《you are my everything》以后,服务器的流量突然多了起来,有几次甚至导致了VPS的当机。后来经过分析:盗链这个MP3的网页包括诸如QQ空间、校内网空间、更有甚者还放到了Taobao小店、个人博客也有不少,全部作为了背景音乐,并且导致各种爬虫疯狂抓取这个文件。找到了问题原因就只有一个办法了,就是利用Apache的mod_rewrite模块把盗链行为拒之门外。
#开启mod_rewrite引擎 RewriteEngine On #设置合法请求源 RewriteCond % [HTTP_REFERER}] !^$ [NC] RewriteCond % [HTTP_REFERER}] !zhangzhang.net [NC] RewriteCond % [HTTP_REFERER}] !google.com [NC] RewriteCond % [HTTP_REFERER}] !baidu.com [NC] RewriteCond % [HTTP_REFERER}] !yahoo.com [NC] RewriteCond % [HTTP_REFERER}] !msn.com [NC] RewriteCond % [HTTP_REFERER}] !bloglines.com [NC] RewriteCond % [HTTP_REFERER}] !feedburner.com [NC] RewriteCond % [HTTP_REFERER}] !feedsky.com [NC] #指向警告页面 RewriteRule .*.(gif|jpg|png|mp3)$ outlink.gif [L,NC]
在项目开发的过程中我们往往需要面对很多选择,尤其是在时间紧迫的情况下,是否采用开源项目来节省时间、成本就成了一个需要好好权衡的问题,这里暂不考虑内部系统,我认为大多数情况下内部系统的安全问题远没有外部系统的安全问题重要。不管在何种语言社区,开源项目都是种类繁多的,而且其中不乏成熟优秀的项目,但我们考虑的是根据某些点来权衡开源项目是否真正的帮助我们降低了成本和使用风险,并且可以很好的帮助我们满足用户的需求:
我们在了解开源可以带给我们便利的同时也需要考虑到这些问题,从而去选择是否应该使用开源项目。

Sina艳照门专题(图)
Sina终于被迫关闭了“艳照门”专题……他们不仅删除了专题页面,而且还删除了相关视频,之前的专题页面 [ent.sina.com.cn] 网页快照还保存着专题的首页。不知道现在天涯的各位怎么想,一路顶风无所畏惧的宣扬这次事件,天涯会什么时候轮落到Sina的下场呢?当然从某种角度天涯论坛借着“艳照门”间接的实现了两岸三地的文化交流,也不完全是件坏事:)
我不鼓励传播照片,但是新闻就是新闻,如果失去了独立性,就没有人再会信任它。Sina显然失去了上次被盛大收购时客观报道的勇气,当然可能两次事件的性质有所不同,但如果人们失去了获取新闻的正轨途径,那么是否各种小道渠道就会泛滥?是否某种病毒或黑客程序会随着照片的传播而传播?光是看看那些愚蠢的留下自己邮箱,满心期盼收到艳照的人就知道了……
到今天为止,腾讯的相关专题也没有了,网易的相关专题也没有了……

Flickr用户上传的反微软收购图片
在外界得知微软要收购雅虎后,从雅虎股价的涨幅上大家就可以得知31美元是收购不了雅虎的,雅虎拒绝这个价格看起来也是顺其自然,看来一半现金加上股票还是没有足够的诱惑力。
但我好奇的并不是多少钱才能让这两家巨头合并,而是如果真的合并后两家公司产品线上的整合,光是美国雅虎就是块大肉,再加上雅虎日本、台湾、欧洲、中国地区的阿里巴巴,还有近些年来收购的诸如Flickr、del.icio.us等优秀的web 2.0网站,微软光是消化他们恐怕就够受了。再来就是对于处于竞争关系的产品是采取优势集中还是去差留优?这些问题的关键主要在搜索引擎、广告平台、IM、MSN门户&Yahoo.com、Spaces&360以及最重要的邮箱业务上。
显然这两家公司的互联网业务现状都不甚满意(裁员、广告、搜索份额下降等等),为了对抗Google合并确实是条出路,但也具有很大的风险,并且还有Google这个捣蛋鬼,Google的目的是阻止合并,Yahoo的目的是抬高身价,明显不一致,所以说什么谷歌助雅虎抵抗收购就不太和逻辑了。
对于本次收购可能带来的互联网格局的变化真是让人期待,不管从软件帝国(M¥)到互联网王者(Yahoo)再到搜索引擎霸主(Google),以及人们期待的新一代互联网强者(Facebook)都给大家带来了很多意想不到的东西,我很期待未来的变化…… 说了这么多最后担心的是Yahoo这个品牌,怎么说也是在雅虎中国服役过一段时间还是有点感情D,希望不要像当初惠普收购康柏一样,从最初的世界第一品牌电脑,到了现在无人知晓的名词…… 希望10年后Yahoo这个品牌依然能代表世界流量第一门户的光辉!
Team Hoyt - Dick and Rick Hoyt:
一段令人震撼的片子,这部影片叫”Team Hoyt”,是在讲一对父子的故事,爸爸叫做Dick Hoyt,儿子叫做Rick Hoyt,这对父子是长跑健将在过去二十五年间他们一共跑了3770 miles,其中包括78次半马拉松赛,64次的马拉松赛,24次著名的波士顿马拉松赛,20 次duathlons赛,7 次18.6 milers赛,34 次 10 milers赛 ,143 次5 milers赛,620milers 赛,27次 falmouth 7.1 milers赛,15次 4 milers赛,2次11公里赛,8次15公里赛,204 次10公里赛,4 次8公里赛,92 次5公里赛,206 次奥运标准的三项铁人赛,6次被公认不是平常人可以承受的ironman distances的终极三项铁人赛……
但是你知道吗?儿子rick是不能说话也不能走路的!
rick在出生时因脐带绕颈导致脑部缺氧受损,医生告诉dick,孩子是植物人,没有任何希望了因此他只能在轮椅上渡过他的一生。dick引述在rick九个月大时,医生对他和他妻祖迪(judy)说︰「他从此会像植物人一样,还是把他送到疗养院吧。」
然而,他们两夫妇对此并不认同。他们发觉当他们在屋内活动时,rick的眼睛会紧盯着他们。当rick十一岁时,他们把他送到特夫斯大学 (tufts university)的工程系,询问是否有令孩子与人沟通的办法,可惜dick得到的回复是︰「不可能,他根本没有任何脑部活动。」
dick反驳说︰「跟他说个笑话吧。」他们便说了个笑话,rick果然笑了,证明了他的脑内确有不少活动。结果,他们为rick加装了一部能用头的侧面控制鼠标标的计算机, rick终于能和外界沟通了!
在rick十五岁时,rick的一位中学的同学因意外而瘫痪了,学校为那位学生举行跑步筹款,rick便透过计算机打出︰「爸,我也想参加。」dick之前并非跑步运动员,也没有跑过马拉松赛,但因为儿子的要求就参加了,于是他就推着rick跑完了5mile的全程。
在结束之后rick对父亲说:”我今生第一次不觉得残障了!”这句话深深地震撼了爸爸dick!他决心要把那种感觉尽可能带给儿子,预备好参加1979年 的波士顿马拉松。「不接受报名。」便是比赛当局给dick的话,原因是hoyt父子既不是单独跑手,又不是轮椅参赛者。结果几年来,hoyt父子只在赛事 中跟着大队一起跑,但他们终于找到正式参加比赛的方法︰
1983年,他们参加了另一个马拉松,他们速度之快,令他们能入围参加之后一年的波士顿马拉松。
不久后便有人对dick说︰「何不参加三项铁人赛?」一个从来未曾学过游泳的人,一个自六岁起便从未踏过单车的人,如何能拖着110磅(50公斤)的儿子完成三项全能赛?
但dick还是勇于一试。屈指一算,他现在已完成了212次三项全能赛,当中包括了四次在夏威夷举行,极费体力的15小时铁人赛!
因着父爱,父亲去学习游泳,学习踏自行车…
他愿意为rick做出许多的牺牲和付出,他又曾拖着他的儿子越野滑雪,又曾背着他爬山,其中一次更用单车拉着他横越美国。
于是从那时候开始他们父子就常以”team hoyt”报名参加马拉松和三项铁人赛:跑步时dick就推着rick跑游泳时dick就拖着rick躺着的橡皮艇游。骑自行车时dick就骑着特制的自行车将rick放在自行车前骑乘……
那么dick为何不试试自己一个人参加比赛,看看表现如何?「我不会独个儿参赛。」dick说。他参加比赛纯粹是为了当他们一起跑步、游泳和踏单车,看到rick面上露出甜美笑容时的「奇妙感觉」。
今年,dick与rick分别65和43岁,已完成了他们第24次波士顿马拉松,在20,000名参赛者中排名第5,083。他们的最佳时间?是在1992年的两小时40分——只落后世界纪录35分钟;当然,或许你还未留意到,这纪录是由一个没有推着轮椅的人所创的。
两年前,在一次比赛中,dick轻微心脏病发。其后医生发现他的一条大动脉有95%栓塞了。其中一名医生对他说︰「若非你一直保持着这样好的状态,你大可 能15年前已不久于人世。」现在,尽管rick有自己的住宅单位(他享有居家照料服务)并在波士顿工作,而dick从军队退役后已在麻萨诸塞州的荷兰市居住,但他们总有团聚的方法。他们经常在全国各地发表演说,而每周末也会参加极耗体力的比赛,当中包括今年的父亲节。
当晚,dick会请父亲吃晚饭,但他最想送给父亲的礼物,是他永远买不到的。rick打道︰「我最想送给爸爸的,是爸爸坐在椅上,由我推他一次!」
在影片中dick推着rick通过终点时他们父子都受到众人的鼓掌和欢呼。但这中间rick什么都没有做…他也什么也都不能做…一切都因为他父亲的爱而白白领受这些…
之前一直使用Yahoo UI工具包中自带的syntaxhighlighter作为代码显示工具,但是版本比较低,支持的语言种类也相对较少,这次借着升级wordpress的机会去了SyntaxHighlighter的网站下载并安装了最新的版本。新版本的SyntaxHighlighter支持更多语言种类和别名标记,而且样式也更加美观了。
Supported languagesHere's a list of supported languages and their aliases:
| Language | Aliases |
| C++ | cpp, c, c++ |
| C# | c#, c-sharp, csharp |
| CSS | css |
| Delphi | delphi, pascal |
| Java | java |
| Java Script | js, jscript, javascript |
| PHP | php |
| Python | py, python |
| Ruby | rb, ruby, rails, ror |
| Sql | sql |
| VB | vb, vb.net |
| XML/HTML | xml, html, xhtml, xslt |
#!/usr/bin/python
from datetime import date
from datetime import timedelta
if __name__ == ‘__main__’:
now = date.today()
monday = now - timedelta(days=now.weekday())
print monday.strftime(”%Y%m%d”)
import org.json.JSONException; import org.json.JSONObject;
JSONObject jsonObject = new JSONObject();
jsonObject.put(”a”, 1);
jsonObject.put(”b”, 1.1);
jsonObject.put(”c”, 1L);
jsonObject.put(”d”, “test”);
jsonObject.put(”e”, true);
System.out.println(jsonObject);
//{”d”:”test”,”e”:true,”b”:1.1,”c”:1,”a”:1}
jsonObject = getJSONObject(”{d:test,e:true,b:1.1,c:1,a:1}”);
System.out.println(jsonObject);
//{”d”:”test”,”e”:true,”b”:1.1,”c”:1,”a”:1}
System.out.println(jsonObject.getInt(”a”));
System.out.println(jsonObject.getDouble(”b”));
System.out.println(jsonObject.getLong(”c”));
System.out.println(jsonObject.getString(”d”));
System.out.println(jsonObject.getBoolean(”e”));
getJSONObject(String str)
public static JSONObject getJSONObject(String str) {
if (str == null || str.trim().length() == 0)
return null;
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(str);
} catch (JSONException e) {
e.printStackTrace(System.err);
}
return jsonObject;
}
这样我们不仅可以处理多种数据类型,还可以随时添加配置相,这种方式相当灵活。
import java.awt.Dimension; import java.awt.Rectangle; import magick.CompositeOperator; import magick.ImageInfo; import magick.MagickException; import magick.MagickImage;
public static void mask(String logoPath, String srcPathName, String destPathName, int location, int scale) throws MagickException {
int width = getWidth(srcPathName);
int height = getHeight(srcPathName);
int x = 0, y = 0;
int w, h;
w = scale * 70 / 100;
h = scale * 65 / 100;
boolean lc = true;
if (width width) {
x = width - w * 2 - 10;
}
if (y height) {
y = height - h - 10;
}
if (lc) {
ImageInfo info = new ImageInfo();
MagickImage image = null;
MagickImage mask = null;
MagickImage dest = null;
try {
image = new MagickImage(new ImageInfo(srcPathName + “[0]“));
mask = new MagickImage(new ImageInfo(logoPath));
image.setFileName(destPathName);
image.writeImage(info);
dest = new MagickImage(new ImageInfo(destPathName));
dest.compositeImage(CompositeOperator.AtopCompositeOp, mask, x, y);
dest.setFileName(destPathName);
dest.writeImage(info);
} finally {
if (image != null) {
image.destroyImages();
}
if (mask != null) {
mask.destroyImages();
}
if (dest != null) {
dest.destroyImages();
}
}
}
}
getWidth(String src) & getHeight(String src)
public static int getWidth(String src) throws MagickException {
MagickImage magImage = null;
try {
ImageInfo info = new ImageInfo(src + “[0]“);
magImage = new MagickImage(info);
Dimension imageDim = magImage.getDimension();
return imageDim.width;
} finally {
if (magImage != null) {
magImage.destroyImages();
}
}
}
public static int getHeight(String src) throws MagickException {
MagickImage magImage = null;
try {
ImageInfo info = new ImageInfo(src + “[0]“);
magImage = new MagickImage(info);
Dimension imageDim = magImage.getDimension();
return imageDim.height;
} finally {
if (magImage != null) {
magImage.destroyImages();
}
}
}
import magick.ImageInfo; import magick.MagickException; import magick.MagickImage;
public static String SIZENAME_LARGE = “large”; public static String SIZENAME_SMALL = “small”;
MagickImage source = ImageUtil.getMagickImage(”image file name”); Map map = processHead(source); System.out.ptineln(map.get(SIZENAME_LARGE)); System.out.ptineln(map.get(SIZENAME_SMALL));
ImageUtil.getMagickImage(byte[] byte)
public static MagickImage getMagickImage(byte[] byte) throws MagickException {
ImageInfo info = new ImageInfo();
return new MagickImage(info, byte);
}
processHead(MagickImage source)
private Map processHead(MagickImage source) throws Exception {
MagickImage regulate = null;
MagickImage large = null;
MagickImage small = null;
//保存图片的临时目录
String tempPath = “….”;
//随即生成一个文件名,真是情况生成的目录可能更复杂
String fn = FileUtil.getInstance().getRandName();
String largeName = SIZENAME_LARGE + “_” + fn + “.jpg”;
String smallName = SIZENAME_SMALL + “_” + fn + “.jpg”;
try {
//改变图片大小
regulate = ImageUtil.regulate(source);
large = ImageUtil.resizePhoto(regulate, tempPath + largeName, 500, 750);
small = ImageUtil.resizePhoto(large, tempPath + smallName, 90, 120);
byte[] largeByte = large.imageToBlob(new ImageInfo());
byte[] smallByte = small.imageToBlob(new ImageInfo());
//保存图片的目录
String uploadPath = “….”;
//写文件到目录
FileUtil.getInstance().writeFile(uploadPath + largeName, largeByte);
FileUtil.getInstance().writeFile(uploadPath + smallName, smallByte);
//返回图片地址
Map map = new HashMap();
map.put(SIZENAME_LARGE, “/” + dir + largeName);
map.put(SIZENAME_SMALL, “/” + dir + smallName);
return map;
} catch (Exception e) {
throw e;
} finally {
if (small != null)
small.destroyImages();
if (large != null)
large.destroyImages();
if (regulate != null)
regulate.destroyImages();
}
}
}
ImageUtil.regulate(MagickImage source)
public static MagickImage regulate(MagickImage source) throws MagickException {
int width = (int) source.getDimension().getWidth();
int height = (int) source.getDimension().getHeight();
if ((height + 0.0) / width > 1.5) {
MagickImage image = null;
MagickImage scaled = null;
try {
int newHeight = (int) Math.round(width * 1.5);
Rectangle rect = new Rectangle(0, (height - newHeight) / 2, width, newHeight);
ImageInfo info = null;
info = new ImageInfo();
scaled = source.cropImage(rect);
return scaled;
} finally {
if (source != null) {
source.destroyImages();
}
}
} else {
return source;
}
}
ImageUtil.resizePhoto(MagickImage source, String destPathName, int maxWidth, int maxHeight)
public static MagickImage resizePhotoStep(MagickImage source, String destPathName, int maxWidth, int maxHeight) throws MagickException {
int width = 0;
int height = 0;
boolean change = true;
width = (int) source.getDimension().getWidth();
height = (int) source.getDimension().getHeight();
if (maxWidth > width && maxHeight > height) {
change = false;
} else {
if (width > 0 && height > 0) {
if (height / width > maxHeight / maxWidth) {
width = width * maxHeight / height;
height = maxHeight;
} else {
height = height * maxWidth / width;
width = maxWidth;
}
}
}
MagickImage scaled = null;
scaled = source.scaleImage(width, height);
scaled.setFileName(destPathName);
return scaled;
}
下次介绍打标签的方法。
由于无法忍受typo的一些bug,所以用wordpress更换掉了typo,其实问题也不能全怪到typo头上,rails的速度和升级带来的问题的确比较让人头疼,wordpress社区、许许多多优秀的插件也是让我动摇的原因。此次迁移界面上没有变动,只是制作了一个wordpress的模版,所有样式脚本不变。wordpress的安装和使用都非常简单,而且对中文的支持很好,功能上也比typo强大(我一直很在意为啥typo自己不默认提供日历功能),另外不安装插件的前提下,2.3.2的程序对seo的支持也是够用的。下面罗列了我安装和使用上的插件:
老婆生日买了一台最新的XBOX360作为礼物,早在几年前就开始关注XBOX游戏机了,苦于三红现象一直不敢出手,不过最新的65纳米技术已经彻底解决了三红现象(我买的就是机器生产日期是20071127),随机附送了三十多张游戏盘,我自己另外又买了十几张,可能是由于电视的原因,很多画面精细的游戏效果都是一般,不过等以后换上HDTV就应该可以解决这个问题了,下面主要介绍几款游戏的心得:
好久没写安装笔记了,因为好久没有摸过Linux了…… 由于自己用JMagick写了一个图像处理引擎,所以需要在服务器上安装这两个软件。
安装ImageMagick和JMagickshell> cd /usr/local/src shell> tar -zxvf ImageMagick-6.3.2-9.tar.gz shell> cd ImageMagick-6.3.2 shell> ./configure shell> make shell> make install shell> make check shell> cd ..
看看测试结果,总共有六百多个测试。。。。这里有一个重要问题,很多服务器虽然都安装了必须的zlib、freetype、libpng和jpeg-6b,但是在这里安装程序根本找不到他们,尤其是jpeg-6b,我们开始就忽略了这点,导致JBoss在处理jpg文件时直接灸崩溃了,真是够烂的,想比之下Resin就做的很好,很友善的提示了个错误,虽然跟没提示差不多吧:( 无奈,只要重新下载jpeg-6b的src,安装完成后Resin下一切正常,JBoss继续崩溃……
shell> cd /usr/local/src shell> tar -zxvf JMagick-6.2.6-0.tar.gz shell> cd JMagick-6.2.6 shell> ./configure –with-java-home=/opt/java shell> make shell> make install shell> make test shell> cd ..
最后的test是运行JMagick自带的java程序,目的是测试安装后的JMagick是否可用
初中的时候经常去买学校门口的馅饼,九毛钱一个,因为实在太好吃了,好吃到我中午回家都吃不下爸爸做的饭…… 想想有时候觉得小时候的我很单纯,追求的就是一张肉饼,吃到后就会特别满足。现在的我,已经没有最初单纯的追求,甚至有时候根本不知道自己追求的是什么,也不知道自己到底想要的是什么,是不是见到的、遇到的多了,就特别容易迷失掉那个曾经单纯的自己?但是,当我遇见你,我才发现我的世界不会一直孤单;当我爱上你,我才发现世界是可以如此美好;当我拥有你,我才发现我现在所应该追求的是就是给你一生的幸福!虽然会有很多问题和痛苦困扰着我们折磨着我们,但我只是想一直在你身边保护你,不管未来会有何种痛苦伴随而来,因为我相信真正的喜欢是不会因为任何挫折而放弃的!
吴迪 my last mission is to marry you
一个越南裔的加拿大人Chuckie Akenz,自幼生活在混乱的多伦多芬治大街(Jane & Finch),一直到19岁。从一个因为家庭的原因而与朋友加入黑帮的小混混,后因为机缘巧合成长为一个拥有全球惊人CD畅销量的歌手,被多伦多 Kiss 92 FM 评为顶尖MC,先后受到Toronto Star, Toronto Sun, and CBC radio的采访而引起关注。网上关于他的资讯和相片少之又少.you were my every,一首非常特别情歌式的Rap,因为背景里女声天籁般的吟唱,听来将是美妙的忧伤…
量化用户体验(术语“用户体验”指的是应用软件和审美价值,它以用户至上的观点作为基石)有四个重点因素,它们相互关联,不可分割,共同形成正确的用户体验。这些因素也是一个网站成功所必不可少的主要因素:
如果你的新领导:他们对网站的现状并不满意,希望你来把握网站的正确航向。如果你认同我的话,那么首先你要做的是浏览网站并作一些粗略的记录,在没有对网站进行哪怕粗略的分析之前,你如何把创意和想法简要得传达给客户呢?一个客观的衡量和分析工具,能帮助你为客户提供有实事依据的建议。而不光是推测的意见和观点。我们在这篇文章中的探讨能帮助你:
问题在于,我们对一个网站好与坏的感知评价,更倾重于个人的背景和性格。
用户体验正如上面所说的4大重要因素。但是我们如何量化和徇这些看似无形的元素呢?
我们把我们的分析分成四部分,每个用户体验元素为一个部分。对每个元素我们创建一系列的描述和参数,有针对性的考查网站。每个描述分类1-X个级别,我们在这个范围内给每个描述打分,等到你完成了第一部分的分析,你应给四个部分的描述分别打分。
文章中的示例分析,在每个元素中仅用了5个参数,因为我们设20分一个档,最大分值为100,在每个元素中如果我们加上另外五个描述/参数每个元素就是10分一个档,下面就是有关每个元素和描述/参数的概要。
一.品牌用来衡量网站品牌的描述包括:
功能性包括所有的技术上的及屏幕之后的流程及应用,它伴随着为所有最终用户提供互动服务。而且有时对公众和管理员都有意义。用来衡量功能性的描述包括:
使用性包括 一般意义上的对所有网站的内容和特点的易用性。在可能之下的二级主题还包括导航的友好性。他们包括:
内容指网站的实际内容,文本,图片,多媒体等到,以及其结构,信息体结构。我们考虑信息和内容是如果根据用户需要和客户业务要求而组织的。他们包括:
最近在图书馆偶尔乱翻了一本书(《The Starbucks experience : 5 principles for turning ordinary into extraordinary 》),是采访星巴克公司各阶层管理人员的整理专辑,书作者希望通过它的内部找到这个公司的成功之道,俺用了大半个小时快速翻阅,一边做了下面笔记。
星巴克的成功不靠奇迹,而是靠一群人对产品的强烈热爱。
人、感受和社区,带出“星巴克体验”,它意味着:
星巴克代表了财富分享
星巴克 (现在这个价格是已经被拆分N次后的)在1992年登陆纳斯达克,第一天收盘价$21.5元,比招股价$17块高出26%,这一天不仅仅它的首席执行官发财了,它还给公司所有员工带来财富:通过股票期权奖励制度。
和别的公司只奖给关键管理人员不同,星巴克送给每一个员工期权,只要每周工作20小时以上的都有份,哪怕是那些站在某个小小星巴克分店里销售柜台后面的普通原工。
通过分享,员工们像合作伙伴那样,直接把自己的努力和企业的成功关联起来。
例如其中一个从肯尼亚移民来美国的普通员工,六年后执行了自己的期权,得到两万五美金,为自己寡居的母亲建了所拥有4个房间的独立房子。
和其它管理层避谈“利润”不同,星巴克通过股票期权把员工和企业连在一起,企业要创造利润,公司股价上升,员工手上期权才能获利。
但另一方面,公司却提供员工医疗保险——这个增加成本、减少利润的员工奖励。
除期权和医疗保险外,公司还花巨资对员工进行昂贵的培训,令其认识产品,指导掌握事业成功经验,满足个人成就,更重要的是使员工懂得如何创造让顾客温暖体贴的客户体验。
星巴克花在培训员工方面的费用远比广告投入高得多。
这种独特的管理方法造就了令人意想不到的顾客满意度,他们不断介绍新的客人来,而员工流失率比快餐同业平均水平低120%。
星巴克员工从1987年的100人增长到2000年的10万人,当一个企业人员大规模增长时,员工们常常会有这样的感觉:
当这种“无联系”的感觉存在,通常是因为企业内部管理人员不能为自己的下属做一个好的示范。因此,公司内部还设有独立的星巴克监察委员会,确保各分店管理人员贯彻公司对员工爱护、尊重的政策。
星巴克为顾客营造“星巴克体验”
星巴克里除了咖啡外,主要卖饮料和食品。
顾客坐在店内享受一个非常个人的体验,要达到这个目标,店里必须营造一个让人愿意和朋友流连的气氛,星巴克人经常把这种“坐”定义为“第三个地方”,即除了工作和家以外,一个能让人天天呆着的地方。
要让顾客有宾至如归的感觉,就要让其能够按照自己的喜好组合饮料成份订单,针对顾客提供很多创造性服务。
星巴克要建造的是和顾客之间的直接私密性感情维系,这目标在一间店由小变大的时候,就很难保持这种气氛,所以星巴克宁愿选择“小店+大规模”,运用多网点覆盖的方法。
综述
星巴克的管理目标就是为顾客提供一个最好的、用私人情感维系的服务,让员工明白这种目标,学会如何达至,令员工开心自愿地保持这种服务,从而让公司挣钱,股价持续上升,自己也通过期权带来除工资外的额外收入。
今天是爷爷去世后的第七七四十九天…… 人有时候就是只愿意记起高兴的往事,而不愿意去想起伤心的往事,我就是这样,很多人都是这样;不是因为不再伤心,而是因为不愿意去想;记得出事后的头几天自己不管睁着眼睛还是闭着眼睛满脑子全是和爷爷的往事,眼泪停不住一样的流出来,直到自己觉得干枯了为止;现在的我不会只去伤心,不是因为时间的继续或是悲伤到了临界,而是因为我只会想到和爷爷这二十多年的快乐往事,不只想到命运让我们如何分离;当我试图改变不可能改变的事情的时候,那种痛苦和悔恨曾经让我绝望,无法逃避事实而又无法接受现实,这对于我这个年纪可能还是不能承受之痛,但是不管今后遇到任何事我都会走下去,直到人生的尽头——忘记悲伤,只有快乐。
被朋友拖进了一个flash游戏(Xeno_Tactic)漩涡,日夜兼程的冲刺终于登上了第六关的level 93…… 现在展示一下我的成果,通过不断的进化终于登上了变态之下的最高级别,切图纪念:)
打到93时截图(点击图片看大图)
从Tank那里找来的资料