1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
A,B,AB,O血型下午3点的约定
2460 items (11 unread) in 19 feeds
Friendly
(7 unread)
Blogger
(3 unread)
Web 2.0
(1 unread)
以上四点是国际上用来鉴定钻石品质的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那里找来的资料
放弃我是你一生的错,你现在也许没感到。但是总有一天你会后悔!
你真是个大坏蛋,我现在非常非常的恨你,恨不得冲到你家去杀你!
非要真让我生气,骂你没良心你才开心吗?你真的不是普通的*货!
他喵的,我这辈子,再说一句爱你就天打雷劈,不得好死,万剑穿心!
就算只剩你.这一个男人了,我也不会再正眼瞧你。我藐视你的人格!
鬼才爱过你,你以为,我以前真的很爱你吗?少臭美了!我都在耍你!
哪怕你得癌症,还剩下最后一天,我也不会同情你,因为,是你活该!
就算一辆卡车在我面前撞倒你,我也不会送你去医院!你浪费氧气!
你的个子虽然很高,但是你却是八字腿,你以为不说我就不知道吗!
尽管,我们认识这么久没吵过几次架,就以为我很迁就你这坏蛋吗!
其实从一开始我就是在玩弄你呢!所以你离开了我却一点都不伤心!
死过来让我揣你几脚,我心情不好就拿你出气你还很开心。I服了U!
你我就算有一个人挂了,也肯定是你先挂!我每天都在做小人打你!
当我没钱花时,以前居然舍不得用你的钱,我真后悔极了!是够傻!
上次有外遇时,我真后悔没让你看到。没能刺激你的自尊我真懊悔!
爱以停机欠费这么土的网名也只有你想得出来,你的智商停在五岁!
你说止住我流泪的办法是用唇吻干。你真是男人中最最恶劣的一个!
还好过去我没让你占到便宜,否则我就亏大了。真是极度感到万幸!
也不想想你那尊容,带出去我都感到丢人。以前逛街我是怎么活的!
臭骂你也不能解我心头之气你知道为什么吗?我觉得你受伤得不惨!
算了!骂你只是浪费我的口水,对你这种人我不值得也没那个必要!
以为离开我就没人再追我了吗?我的人气都可以和小甜甜相提并论!
你死开,越远越好!再让我见你一次骂一次,我的脾气你应该了解!
你是你我是我,以后我们一刀两断。老死不相往来,否则就是王八!
就算是你再跪在我的面前,我也不会心软原谅你,你就有这么虚伪!
打死我也不会再帮你妈妈买一根毛线,那毛衣穿在你身对我是污辱!
一对一单挑,我也和你妈妈吵过,你妈真的是很没素质欺负小女生!
结果生下你这个更加恶劣的坏蛋,这叫上粱不正下粱歪,果然如此!
偷窃犯罪判刑半年,你还有什么坏事干不出来?亏我当年是瞎了眼!
去年下课后你第一个跑出教室那次,还记得原因吗?让我来告诉你!
我在最不爽的时候都喜欢在你的午饭里放泻药。蹲在侧所里想什么?
死都不可能想到我比你更恶劣吧?每次想起这事我都会大声的狂笑!
不过可你再也没有机会报仇了,所以我才告诉你真相。你气死了吗?
其实原来我还有点内疚,不过现在感觉非常之良好!我又在狂笑了!
彻底谅解我当初的行为吧。不然你真的这辈子都忘不了我我会惭愧!
骗你的,你见过我对你露出惭愧的表情吗?就算是有也是装出来的!
你的错!谁让你抢在我说分手前说分手的?这就是报应,你的明白?
得了!我以经对你不感兴趣了。以后别再缠着我,否则我找人扁你!
忘了我吧!我觉得你好像有点快崩溃的症状。你这回肯定是真伤了!
朋友们都说我们是天生的一对地设的一双,呸!你还真是配不上我!
我体重关你屁事,这叫丰满。你却天天要我减肥,我他妈受够你了!
说你新新人类还不如说你像街边的鸭子,小太保的死样我看了就烦!
你说再来一次,你是不是依旧被我欺负得这么惨呢?想知道答案吗?
死过来再揣你几脚!你真是愚蠢!再来一万次你也照样死在我手里!
你就好好的反省你自己到底是错在哪里吧!我不会再告诉你答案了!
说什么?你想自杀?你真的不是男人。我才欺负你不到两年就想死!
死了?那我就住口。我可没兴趣对着一个死人浪费唇舌。你安息吧!
爷爷已经去世十八天了,仿佛还是昨天的事情,一切都那么突然,让我毫无准备。日子还是一天天的继续走着,不同的是我不是一个人,这点算是让我比较欣慰,就算是流泪也是笑着……

爷爷在今天上午离开了我、离开了所有人,没有人能够理解我的痛苦。从小体弱多病,几乎没有上过几天幼儿园的我,是在爷爷照顾下度过童年的大部分时间,自从在九六年发病,爷爷就从腿脚灵活变成了使用拐杖、轮椅,到最后在家里大部分时间只能躺在床上和坐在轮椅上,这两年甚至很少说话,但思维还很清楚,每次都靠简短的几个字表达意思。现在,一切都成了回忆,我无法阻止自己去回忆,更无法克制自己的情绪。从小就离不开的人离开了我,我该怎么面对?对于一个过了九十岁的人来说,各种器官的衰竭会让他很痛苦,包括最近连进食都需要插管子,爷爷的器官已经不能在呼吸和进食之间做出正确的反应,看着爷爷这样的身体我真的很难受。我最后悔的就是没有在最后的日子陪着他,我不知道他是否知道他是我最喜欢的人,就像我是他最喜欢的孙子一样…… 我好后悔 好后悔
2007年6月9日第一次电视转播…那天电视上的舞台看起来很简陋,也没有酷炫的灯光和干冰,手机业务员Paul Potts踏上舞台前还紧张的自言自语。从幕后到幕前的这路只有短短五秒钟的时间,但他却从二十八岁走到三十六岁…整整走了八年…二十八岁的时候他穿这廉价的燕尾服模仿帕瓦罗蒂唱着卡拉OK。他曾经获得过歌唱比赛的奖项,并且一路追梦到意大利拜师,骑着脚踏车风雨无阻的去学歌剧,但却因为肿瘤、盲肠炎而卧病在床,很有可能再也无法接触自己热爱的歌剧,还欠下了三万英镑的巨额债务,可是谁又能想到这个穿着旧西装的畏缩胖子有一天竟然能放出如此惊人的光芒,让全场观众起立欢呼,让成千上万的人在荧幕前流泪,是的,你给我们上了一课,小人物梦想的力量足以撼动整个世界,其貌不扬的人也会有着惊天才华!就像评为阿曼达说的那样:上帝啊,做得好,我祝你一生幸福!
Paul Potts参加初试:
Paul Potts决赛获胜:
周六和俺家那个小东西一起看了变形金刚,记得当初一直想要个擎天柱,可惜未能如愿。无奈Transformers属于商业大片,不可能照搬美国版动画剧情,所以车型换了,人类角色换了,还多出了个秘密组织(第七区,怎么和北京电视台的第八区差不多……),还好火种还在,不然就不成书了。很想回忆一下美版九十八集动画和大电影,不过又怕破坏了童年美好的回忆,所以只好作罢。附个老版本的图片纪念一下:

小时候没少受爱国主义教育,记得从前去过很多次卢沟桥、宛平城。纪念七十年前的今天,勿忘国耻,忘记过去就是背叛。
还有明天就是俺的生日啦。没啥可说的,又过了一年,俺准备高姿态的跨过去,猴子讲话,继续勇往直前。
最近都没有记录啥新东东,光是抒发感情真不像我的作风。来百合已经一周多了,渐渐熟悉了周围的环境和同事,现在想起当初的转型机会还是记忆犹新,要不是因为某位小人我可能还没有机会来百合看看。今天接到了智联招聘Peter的电话,问我还想不想去那边做项目经理,心里还是挺爽的,起码得到了人家的认可。再回头说说我的博客,真和我的身份不靠边。。。所以今后打算重点推出一些经验心得,不能再自己瞎浪了:)
上周四失眠了,很彻底看到了日出的光亮。之后的一天都没有精神,身体和心理都很疲惫。想起当初李刚失眠的时候我不是很理解他,还和他大吵一架,真是不应该。中午又和兄弟们一起吃的饭,感觉还是很好的,因为我也并没有离开他们。
前几天看一个电视节目,里面邀请了一对签署“8”年爱情协议的新人、以及一些“所谓的专家”,专家们无外乎的是在一起质疑这份爱情协议的存在;在这种肉欲横流的“和谐社会”里,确实都没有什么安全感,我光从“8”这个字就看得出来,他们害怕七年之痒…… 他们还害怕什么?在他们父辈时不曾存在的诱惑?还是在害怕未来的变化?还是或者说他们只是在害怕自己?
我从小就接受并坚信一种平凡爱情的结果——所谓的“理想又平凡的婚姻”:两个人相爱、在一起、因为不愿离开对方而结婚、男人努力工作照顾女人和孩子、当五十年甚至更久的时间过去、男人先于女人离开人世、女人无法适应没有男人的生活、也在几年之后跟着离开,最后两个人都死了,当然故事的主题不是说两个人都该死。
要不是在《首都经济报道》上看到这则新闻还真不敢相信我们天天口水般描绘“首善之都”会发生这种事!学校本来就是最大的责任方,竟然在事后开除了受到侮辱的那位年迈的教师,实在让人不能接受!这种传递性的结果是……只把收学费作为主要目的的学校,教出来一些不仅上课侮辱老师,甚至还留念记录的学生,妈的竟然还想去做文艺工作?难不成想让几亿人被他们所表现出的文化渲染?在为这些所谓的学生考虑的时候谁TMD为那位普通的老人,我们口中的“人类灵魂工程师”考虑了?这是“和谐社会”应该出现的事儿么?
已经十几天没有写博客了,因为本月将有重要的事,所以勤劳的我还是要记录一下。
工作方面:仔细想想前些日子出现的转型机会,确实让我很动心,当