THE MOMENT, THE MEMENTO

2010年06月23日

发现Google Chrome上的一个bug

吴德文 @ 14:59

重现:

  1. 打开http://googlewebmastercentral.blogspot.com/2010/05/chrome-extensions-for-web-development.html这个网址
  2. 鼠标在地址栏点一下,
  3. 然后点一下刷新按钮

这个时候就可以发现,在刷新按钮的图标上有一个类似文本框的文本位置光标符。

很奇怪今天才发现这个现象,于是测试了其它网页,都不会发生如此现象,尤其是http://googlewebmastercentral.blogspot.com/,都无法再现这个现象,唯一可行的就是在原先那个网址的Tab上。

拍了好几次才把这个图标拍下来,回头从手机中导出在贴上来。

2010年06月16日

端午节的习俗

吴德文 @ 23:08

此文来自一封垃圾邮件,习俗部分很有收藏价值,故在删除邮件前先转载保留。

端午节:

农历五月初五为端午节,英文为Dragon Boat Festival 、Double Fifth Festival,又称端阳节、龙舟节、女儿节、午日节、五月节、艾节、端五、重五、夏节、天中节、浴兰节、屈原日、诗人节等。端是”开端”、”初”的意思,初五可以称为端五,与春节、清明节、中秋节并称为中国汉族的四大传统节日。农历以地支纪月,正月建寅,二月为卯,顺次至五月为午,因此称五月为午月,”五”与”午”通,”五”又为阳数,所以一些地方又将端午节称之为五月节、艾节、夏节。从史籍上看,”端午”二字最早见于西晋人周处《风土记》:”仲夏端午,烹鹜角黍”。端午节是我国汉族人民的传统节日,这一天必不可少的活动逐渐演变为吃粽子、赛龙舟、挂菖蒲、蒿草、艾叶、薰苍树、白芷,喝雄黄酒、系百索子、做香角子、贴五毒、贴符、放黄烟子、吃十二红。据说,吃粽子和赛龙舟,是为了纪念屈原,所以解放后曾把端午节定名为”诗人节”,以纪念屈原。至于挂菖蒲、艾叶,薰苍术、白芷,喝雄黄酒,贴符则据说是为了避邪。”炒五毒”,江苏中部以韭菜、茭(jiāo)草(或金针菜)、木耳、银鱼、虾米等同炒,大约是以这几种菜象征蟾蜍、蝎子、壁虎、蛇、蜈蚣等五毒都是端午的必备菜肴,现在少见。但是山东南部江苏北部以辣椒、葱、姜、蒜 、香菜五种 有刺激的东西混合一起炒也叫炒五毒,一般餐馆都可以点到此菜,因为食材比较常见。

时至今日,端午节在中国人民中仍是一个十分盛行的隆重节日。从2008年起为国家法定节假日放一天假。国家非常重视非物质文化遗产的保护,2006年5月20日,该民俗经国务院批准列入第一批国家级非物质文化遗产名录。2009年九月三十日在阿联酋首都阿布扎比召开的联合国教科文组织保护非物质文化遗端午赛龙舟活动产政府间委员会会议决定:中国端午节成功入选《世界人类非物质文化遗产代表作名录》。

各地节俗:

﹝河北省﹞北平忌端午节打井水,往往于节前预汲,据说是为了避井毒。市井小贩也于端午节兜售樱桃桑葚,据说端午节吃了樱桃桑葚,可全年不误食苍蝇。各炉食铺出售“五毒饼”,即以五种毒虫花纹为饰的饼。滦县已许聘的男女亲家咸于端午节互相馈赠礼品。赵县端午,地方官府会至城南举行聚会,邀请城中士大夫宴饮赋诗,称为“踏柳”。

﹝山东省﹞邹平县端午,每人早起均需饮酒一杯,传说可以避邪。日照端午给儿童缠七色线,一直要戴到节后第一次下雨才解下来扔在雨水里。临清县端午,七岁以下的男孩带符(麦稓做的项链),女孩带石榴花,还要穿上母亲亲手做的黄布鞋,鞋面上用毛笔画上五种毒虫。意思是借着屈原的墨迹来杀死五种毒虫。即墨在端午节早晨用露水洗脸。

﹝山西省﹞ 解州端午,男女戴艾叶,称为“去疾”,幼童则系百索于脖子上,据说这是“为屈原缚蛟龙”。隰州端午,各村祭龙王,并在田间挂纸。怀仁县端午又名“朱门”。定襄县端午,学生需致赠节礼给教师。潞安府以麦面蒸团,称为“白团”,与粽子一起拿来互相馈赠。

﹝陕西省﹞ 兴安州端午,地方官率领僚属观赏竞渡,称之“踏石”。兴平县端午以绫帛缝小角黍,下面再缝上一个小人偶,称为“耍娃娃”。同官县端午以蒲艾、纸牛贴门,称为“镇病”。

﹝甘肃省﹞ 静宁州端午摘玫瑰以蜜腌渍为饴。镇原县端午赠新婚夫妇香扇、罗绮、巾帕、艾虎。子弟并邀集父兄宴请师长,称为“享节”。漳县端午,牧童祀山神。积薪丘,在鸡鸣前焚烧,俗称“烧高山”。

﹝江苏省﹞嘉定县端午,不论贫富,必买石首鱼(俗称鳇鱼)煮食。仪征县也有“当裤子、买黄鱼”的俗谚。南京端午,各家皆以清水一盒,加入少许雄黄,鹅眼钱两枚,合家大小均用此水洗眼,称为“破火眼”,据说可保一年没有眼疾。武进有夜龙舟之戏,晚上在龙舟四面悬上小灯竞渡,且有箫鼓歌声相和。高邮的端午较为特殊,有系百索子、贴五毒、贴符、放黄烟子、吃“十二红”等习俗,孩子兴挂“鸭蛋络子”,就是挑好看的鸭蛋装在彩线结成的络子中,挂在胸前。

﹝四川省﹞石柱有“出端午佬”的习俗。由四人以两根竹竿抬起一张铺有红毯的大方桌。毯上用竹篾编一个骑虎的道士。敲锣打鼓,上街游行。旧时,川西还有端午“打字子”的习俗。是日,成都人皆买李子,于城东南角城楼下,上下对掷,聚观者数万。光绪二一年(一八九五年)因掷李与外国传教士发生衡突,此俗因而停止。乐山、新津等地端午赛龙舟时,还举行盛大商品交易会。在绵阳市和遂宁市的部分地区,有端午吃包子的传统,具体由来有待考证。

﹝浙江省﹞ 桐卢县乡塾之学童,端午节具礼于师长,称之“衣丝”。医家则于午时采药,相传此日天医星临空。

﹝江西省﹞ 建昌府午节用百草水洗浴,以防止疥疮,新昌县以雄黄、丹砂酒中饮之,称之“开眼”。

﹝湖北省﹞ 黄冈市端午节巴河镇迎傩人,花冠文身,鸣金逐疫。宜昌县端午竞渡,但以五月十三、十四、十五三日特盛。五月十五又称“大端阳”,食粽、饮蒲酒,例同端午。

﹝湖南省﹞ 攸县端午,孕妇家富者用花币酒食,贫者备鸡酒,以竹夹楮钱,供于龙舟之龙首前祈求安产。岳州府竞渡以为禳灾、去疾。又作草船泛水,称为“送瘟”。

﹝福建省﹞福州端午旧俗,媳妇于是日以寿衣、鞋袜、团粽、扇子进献公婆。建阳县以五日为药王晒药囊日,人家皆于此日作酱。上杭县端午用小艇缚芦苇作龙形戏于水滨,称为竞渡。仙游县端午竞渡后,献纸于虎啸潭,以吊念嘉靖癸年戚继光于此溺兵。邵武府端午节前,妇女以绛纱为囊盛符。又以五色绒作方胜,联以彩线,系于钗上。幼女则悬之于背,称为“窦娘”。

﹝广东省﹞ 从化县端午节正午以烧符水洗手眼后,泼洒于道,称为“送灾难”。新兴县端午,人家各从其邻近庙宇鼓吹迎导神像出巡。巫师并以法水、贴符驱逐邪凡魅。石城县端午,儿童放风筝,称为“放殃”。

(海南省) 每逢端午,海南各处都会如中原一般举办龙舟竞渡等活动。在如今保存最为完好的古县治城垣定安,五百年历史的明成化古城门洞内,仍有两个石阶叠架着两条鲜艳、修长、昂扬的龙舟。海岛先人,端午时节,扛起龙舟,奔向大河,挥汗于南渡江中竞渡……历史就从一个个古色端午,时光交错着流淌到了今朝。素有“椰乡”之称的文昌,是宋庆龄的祖居地,临海傍河。自古以来,当地沿海沿河居民每逢端午,都会举办赛龙舟的活动,祈福求安。海南除了与内地相同的赛龙舟、吃粽子、挂菖蒲和艾草,还有一个海岛百姓都熟知的内容,就是洗龙水和洗草药澡。

饮雄黄酒:在长江流域地区盛行。

吃馏米:在部分晋语地区盛行,馏米即黄米(黍)蒸制的米饭。

游百病:在贵州地区盛行。

2010年05月20日

是-不是

吴德文 @ 23:43

我是不是我
不是我是我
是我我不是
不是我我是

2010年04月28日

海豚音

标签:, — 吴德文 @ 15:01

这个东西以前偶尔有听说过,没有去深究是什么。

前阵子一个朋友说起张靓颖录制开心100。刚刚听夜宴主题曲,突然想查看看是谁唱的(其实以前蜥蜴和我推荐的说过,只是我又忘了),发现居然就是张靓颖。于是乎决定好好搜索一下当年超女总决赛的名次,发现季军就是张靓颖。话说,当年总决赛的时候我正躺在逸夫楼美发厅里干洗,本来对超女毫不在意的也就顺便听了一下,对其中一位真正把握歌曲灵魂并把其唱出来的深表认同,只是没想到这位女生最后竟然只得了季军。这么看来,我当时认同的也应该就是张靓颖了,看来身边这么多朋友认同张靓颖也确实不是盲目的。

嗯,跑题跑太远了。搜索了张靓颖后,发现其当时的一大特点就是海豚音。于是这次就一定要搞清楚究竟什么是海豚音

其实海豚音是‘后咽音’的通俗说法
咽音是种科学的发声方法可以条理治疗一些嗓子的疾病
但是现在会唱真正‘海豚音’的人不多
包括超女张靓颖的那个假声其实也并不是什么海豚
因为她的发生方法不对
咽音的发声方法其实很简单
就是气息顶着上颚发出的高频次声
但是与尖叫又有所不同
它在发声的同时有气流同时经过
所以可以听到明显的气流磨擦声带的嘶嘶声

还有的地方

其实海豚音正确的学名叫做”咽音”
这个学名是由一位大陆的声乐家”林俊卿”博士所创的…
而他也是北京咽音研究所的创办人…
阿不过不是他发明的…
咽音常用於声乐方面…
尤其以义大利的声乐家特别常使用…
而咽音对於喉咙声带有极大的帮助…
尤其是对那些声带受损 被人家说一辈子都没办法回复的人…
还有许多老师都会有的声带肥大症,喉咙长茧都能够治愈…
不必经由开刀,咽音就有极高的治疗效果…
但是目前只有大陆的某些医院才有这种咽音训练班… 藉由教导咽音的正确唱法… 以治疗声带 喉咙疾病…

而为什麼咽音有这麼好的治疗效果…
是因为一般我们在唱歌…
不管使用真音,假音,真假音, 共鸣腔不管放喉咙放鼻腔放额头…
只要是唱歌 都会对喉咙声带有一定的消耗和损害…
而咽音却是把丹田的气缓缓流经声带…
对声带却是一种按摩效果… 对声带喉咙完全不会有任何消耗…
用很简单的说法… 就是男生们可以摸著自己的喉结…
不论用什麼方式唱歌… 不管震动大或震动小 喉结都一定会震动…
而正确的咽音发声却完全不会令喉结震动… 这就是不损耗的原因…

咽音简单的来说…
它是一种可以超越假音极限的高音…
而咽音又分低咽音和高咽音…
低咽音的共鸣点位於咽喉后壁…
而高咽音的共鸣点位於鼻腔后壁…

原来丹田之气这个用处,令我想起了武侠小说里内功高强的人可以以声音作为武功,所谓“音功”。看来古代的人就已经会这个海豚音了,改天是不是自己也学学,平时唱歌也能唱得好些,不过还是要打坐练练丹田之气先。

另外,在优酷上找到一个Vitas海豚音王子的演绎,确实不错,令我想起了以前《第五元素》里歌剧院中女高音歌唱家,现在想来,不知道那个高音是不是也是海豚音呢。


Related:

2010年04月23日

谷雨

吴德文 @ 15:03

转载 xmuchan的QQ空间日志

谷雨过后,天地间的阳气骤然上升了,难怪从昨天中午开始,气温骤然升得很高。虽然外套还是带着,但是不需要穿了。所谓春捂,当气温不低于15度,昼夜温差不超过10度时,就不需要再捂了,否则会导致体内的内热急升,长痘痘或长痱子之类的。另外,这天气一热,晚上的睡眠质量可能会有所下降,要保证睡眠质量,应当做到:晚上九点后尽量少喝水,保持开朗的心境,坚持适当的锻炼等等。

很有见地,想不到谷雨还有这么一说。

2010年02月22日

vmware.cn居然变成了唯美内衣网

吴德文 @ 15:21

一不小心打开了一个“很黄很暴力”的网站,仔细一看自己没敲错网址。虽然之前知道网站换了一个新的网址,可是我老是记不住新的,都是打开这个旧网址,然后根据其提示页面进行跳转。可是怎么这次没有提示页面,而直接是内衣网站呢?

难道网站被黑了?仔细分析了一下,“vm”确实可以是“唯美”的意思,而“内衣”的英文是“underwear”,这个“ware”也算谐音了。实在是佩服域名所有人能把域名想到这个方面上。

不过话说回来,看看这个内衣网,再想想vmware官网,实在是让人忍禁不俊呀,或许这个就叫做无声的抗议吧。

2010年02月18日

悼念连黎明

吴德文 @ 21:35

从未料想过病魔竟会离自己如此之近,当知道你住院时非常的震惊,实在无法想像昔日那么阳光的你会病得如此严重。不能去北京看你,只能在远方通过文字担心和祝福着你,关注着开心网上一条条的消息。半个月前梦见你打牌握了一手好牌,还以为这是一个好的预兆,想不到才过完年刚回到厦门就得此噩耗。

在写这些文字之前,仍然难以相信这是一个事实,也不敢把这个消息告诉其他朋友,难以想像昔日那善良的人就这样离开了我们,真希望这个消息是错的。然而事实就是事实,我们剩下能做的只能是怀念了。

希望你在另一个世界能平安幸福。。。。。。。

We will miss you forever:

同学建立的纪念网站(www.foa.cn)

@Flickr

@Picasa

@kaixin001.com

@digg

@Facebook

@Twitter

其博客已无法访问,正在想办法恢复中(如您有办法,请与张韡武联系)。不过通过www.archive.org 还保留了一些

blog_cn RSS@feedburner

blog_en RSS@feedburner

2010年01月11日

Apache MyFaces 无法在JBoss-5.0.1GA中直接使用

吴德文 @ 18:35

使用Eclipse WTP创建动态网页项目,添加JSF Facets之后,如果使用的是Apache MyFaces而且最后项目又是在JBoss-5.0.1GA中运行的话,一个简单的JSF页面就会导致“java.lang.RuntimeException - Cannot find FacesContext”的错误。检查了一下日志,发现项目在发布的时候就已经出错了,出错信息是:

ERROR [MyfacesConfig] Both MyFaces and the RI are on your classpath. Please make sure to use only one of the two JSF-implementations.

17:45:47,742 INFO  [FacesConfigurator] Reading standard config META-INF/standard-faces-config.xml

17:45:48,021 INFO  [FacesConfigurator] Reading config /WEB-INF/faces-config.xml

17:45:48,040 INFO  [FacesConfigurator] MyFaces-package : myfaces-api not found.

17:45:48,040 INFO  [FacesConfigurator] MyFaces-package : myfaces-impl not found.

17:45:48,040 INFO  [FacesConfigurator] MyFaces-package : tomahawk-sandbox15 not found.

17:45:48,041 INFO  [FacesConfigurator] MyFaces-package : tomahawk-sandbox not found.

17:45:48,041 INFO  [FacesConfigurator] MyFaces-package : tomahawk not found.

将这个信息google了以后,找到MyfacesConfig类的源代码,发现该类在创建和初始化时会检测系统中是否分别存在org.apache.myfaces.application.ApplicationImpl和com.sun.faces.application.ApplicationImpl,前者则说明存在MyFaces JSF-Implementation,后者则说明存在SUN的RI JSF-Implementation。由于JBoss-5.0.1GA已经包含的SUN的JSF-Implementation,因此两个实现就冲突了。

又根据后面的出错信息:

WARN  [JBossJSFConfigureListener] MyFaces JSF implementation found!  This version of JBoss AS ships with the java.net implementation of JSF.  There are known issues when mixing JSF implementations.  This warning does not apply to MyFaces component libraries such as Tomahawk.  However, myfaces-impl.jar and myfaces-api.jar should not be used without disabling the built-in JSF implementation.  See the JBoss wiki for more details.

这已经很明显就是在说不能同时使用两个JSF实现了,然后如何禁用built-inJSF实现来使用Myfaces还不知道,目前最好的办法就是直接使用SUN的实现吧,反正对于初学者的我来说,应该还用不到什么MyFaces特殊的东西。

A mistake in JSF Template of Eclipse WTP(Galileo)

吴德文 @ 17:22

Eclipse WTP中提供了模板功能,再创建CSS、HTML、JSP等文件时可以根据不同的标记规范选择不同的格式模板,为开发者提供了方便。其中JSP文件模板就分别提供了html、xhtml、xhtml(xml syntax)三种标记规范的模板,在此三种模板的基础上又提供了三种JSF的页面模板。

基于html标记格式的JSF模板使用起来很正常,其与JSP模板的差别主要就是在<%@ page…>下增加了下面两行(当然<f:view />那是都需要的)

<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>

使用基于xhtml标记格式的JSF模板就总是会出现“#{..} is not allowed in template text”的错误。通常情况只有纯粹的jsp文件才会提示这种错误,因为其不支持#{}的标记。但是发布过程和访问方式是按照JSF的教程来进行的呀。最后终于发现问题在于这个模板上。

这个模板是在JSP模板的html标记内增加了xmlns:f和xmlns:h的相关内容,如下所示。可是<html>标记是给浏览器读的并不是给web容器读的,因此web服务器无法识别JSF文件中的#{}标记。

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">

第三种基于xml形式的xhtml标记模板也使用正常,它是在<jsp:root>内增加xmlns:f和xmlns:h的相关内容,这个web容器也是可以处理的。

因此,如果在使用xhtml标记格式的JSF模板时,就得在<%@ page…>的下一行增加上面提到的<%@ tablib….>的内容,当然最好是把<html….>中多余的xmlns:f和xmlns:h去掉。

2009年09月10日

Zend应用中获得默认的Zend_Db_Adapter

吴德文 @ 19:51

在使用Zend_Auth_Adapter_DbTable时,构造函数必须传入类型为Zend_Db_Adapter对象的dbAdapter参数,问题就在于如何创建这个Zend_Db_Adapter对象。

最原始的方法,就是在需要使用该对象时直接使用Zend_Db::factory()方法创建一个,然后使用之。

学习Rob Allen的”Getting Started with Zend_Auth”(这个教程还停留在ZendFramework 1.0.1的版本状态下,很多编程方式还不太合适)过程中,发现他使用的方法是在index.php即程序入口中通过Zend_Db::factory()方法创建db对象,然后通过Zend_Registry将其存起来;之后在需要使用db对象的地方,再通过Zend_Registry读出来。

这个方法是好一些了,但是在index.php里创建对象,好像不符合Zend_Application的习惯,按道理index.php基本上都可以不用改了的。后来看到在www.phpchina.com/bbs上面有人提出来在Bootstrap里面创建_initDB方法(事实上用这个方法名,会干扰Zend_Application_Resource_Db的执行),在方法里执行:

$resource = $this->getPluginResource(’db’);

$db = $resource->getDbAdapter();

Zend_Registry::set(’db’, $db);

这样就可以直接使用config中设定的数据库信息了,而不用再重新读取config,而保存读取db对象,还是要靠Zend_Registry。

似乎没有找到更好的方案了,但是我还是有些不满足。因为在使用Zend_Db_Table的时候,我们是不需要指定db对象的,也就是说config中的数据库信息已经被Zend_Application自动调用并创建db对象了,关键问题是这个db对象是如何存放、读取的。

考虑到在Bootstrap中创建_initDB方法时,原先的数据库读取都出问题了,而这时受到干扰不能执行的是Zend_Application_Resource_Db。说明Zend_Db_Table相关的Zend_Db_Adapter操作就在这个Resource_Db里面。查看其源代码,发现确实如此:其getDbAdapter()方法通过Zend_Db::factory()创建db对象,然后通过Zend_Db_Table::setDefaultAdapter()方法将db对象存到Zend_Db_Table的静态属性中去了。也正因如此,所有继承Zend_Db_Table的类都可以不用指定db对象(因为它已经存在了)。

最后,看到Zend_Db_Table还有一个getDefaultAdapter()的静态方法,也就是说通过这个方法就可以取得db对象了。

因此,Zend应用中,任何非Zend_Db_Table类中如果需要使用到config中指定的Zend_Db_Adapter对象,只需要下面一行代码:

Zend_Db_Table::getDefaultAdapter()

不再需要factory、resource,也不需要Zend_Registry了。

« 较近文章早前文章 »

Valid XHTML 1.1 Valid CSS! Creative Commons License WordPress 所驱动