Profilo di MinluMinlu's logFotoBlogElenchiAltro Strumenti Guida

Blog


31 gennaio

Team Work FTW- -#

Ahhhhh, at last we got the compiler lab assignment-2nd done. well, even a toy scanner is not an easy job for noob like me. I find it true that working as a team is much more efficient than being a lone-wolfy all the time. Shout out to my buddy Huaping Wu, TY~
 
yeah, Team Work FTW- -#
 
this also reminds me of the time working on Crazy English Campus. The very most important thing i learned there is "never ever give up". Since life goes on, we go on to do our job. 
29 gennaio

[编译原理]词法分析器JLEX使用指南(ZT)

作者:ANNEROSE  环境:Jdk1.5.0 + JLex 1.2.6 日期:2007-01-07

Jlex工具基于Lex词法分析生成器,它接受类似Lex文件格式的文件,生成Java源代码格式的词法分析器。

(本项目用命令行编译,不使用Eclipse) 
 
1. 开发环境jdk1.5.0配置
  
  第一步:下载j2sdk:到sun官方站(
http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation;
  
  第二步:安装和配置你的j2sdk执行j2sdk的安装程序,然后按默认设置进行安装即可。
  
  第三步:安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在C:\Program Files\Java\jdk1.5.0)

  
  JAVA_HOME=C:\Program Files\Java\jdk1.5.0
  classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
  path=%JAVA_HOME%\bin
  
  接着可以写一个简单的java程序来测试jdk1.5.0是否已安装成功:
  
     public class HelloJava {
        public static void main(String _args[]) {
            System.out.println("Hello, Java!");
        }
    }
  
  将上面的这段程序保存为文件名为HelloJava.java的文件。
  
  然后打开命令提示符窗口,cd到你的HelloJava.java所在目录,然后键入下面的命令
  
  javac HelloJava.java
  java HelloJava
(注意HelloJava的大小写!!!)
  
  此时如果看到打印出来Hello, Java! 的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。


2. 下载JLEX 1.2.6 就是那个200K的Main.java文件

http://www.cs.princeton.edu/~appel/modern/java/JLex/

3. 以下步骤参照JLex的README

(1) Choose some directory that is on your CLASSPATH, where  you install Java utilities such as JLex.  I will refer to this directory as "J", for example.
于是建立文件夹 "E:\J\JLex", 把"E:\J" 写入环境变量CLASSPATH

(2) Make a directory "J/JLex" and put the sourcefile Main.java in J/JLex.
把下载的文件Main.java 拷入 J/JLex.

(3) Compile Main.java as you would any Java source file: javac Main.java
This should produce a number of Java class files, including Main.class, in the "J/JLex" directory, where "J" is in your CLASSPATH.

进入E:\J\JLex为当前目录(不作也可以,因为之前设了环境变量)。运行 javac Main.java 可以得到很多class文件,包括Main.class
命令行有2行注意
Note: Main.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

反正class文件已经生成。不管它。

(4) To run JLex with a JLex specification file, the usage is:
 java JLex.Main <filename>

运行java JLex.Main sample.lex,得到词法分析器代码sample.lex.java。lex文件怎么写,本文不作论述。可以从JLex下一个sample.lex试一下。


(5) The resulting lexical analyzer source file should be compiled with the Java compiler:
 javac <filename>
where <filename> is the name of the lexical analyzer

运行 javac sample.lex.java 不能通过,有7 errors。

sample.lex.java:11: as of release 1.4, 'assert' is a keyword, and may not be used as an identifier
(try -source 1.3 or lower to use 'assert' as an identifier)
  public static void assert
...

再运行 javac  -source 1.3 sample.lex.java,有7 warnings。生成Sample.class, Utility.class, Yylex.class, Yytoken.class

sample.lex.java:11: warning: as of release 1.4, 'assert' is a keyword, and may not be used as an identifier
(try -source 1.4 or higher to use 'assert' as a keyword)
  public static void assert
...

上面两则警告和出错信息自相矛盾,真是岂有此理。不过既然编译通过,就不管了。我们继续:)

 注: javac -source <release>          Provide source compatibility with specified release

(6) Run the generated lexer with:
  java Sample
which expects input on stdin.  The lexer parses tokens that resemble those for a typical programming language; whitespace is generally ignored.  Java
buffers input from stdin a line at a time, so you won't see any output until you type enter.

运行该词法分析器 java Sample(注意大小写!!!)。输入一行就显示分析结果。

输入{ /* comment */ a := b & c; }
显示

Token #7: { (line 0)
Token #43: a (line 0)
Token #22: := (line 0)
Token #43: b (line 0)
Token #20: & (line 0)
Token #43: c (line 0)
Token #2: ; (line 0)
Token #8: } (line 0)
Exception in thread "main" java.lang.Error: Lexical Error: Unmatched Input.
        at Yylex.yylex(sample.lex.java:374)
        at Sample.main(sample.lex.java:6)

28 gennaio

很无敌的一段话囧(ZT)

H是爱的一种升华,H是浪漫和朴实和共同点,H是默契与个性的宣泄,H可以低贱但更多
是高尚,H有它的纯洁性,只是有人无法去正视.H有时能表达语言所无法表达的东西,
H是月姬的一个根本,没有它生死约定不过是个不负责的谎言,没有它,就没有现在的Y
Y,没有它某贵就不在那么特别.没有它故事也许永远没现在那么经典,对公主来说H是
选择逃避谎言的真实,对CIEL来说H是接受过去的证明,对秋叶来说H是打破禁忌的
勇气,对琥珀来说H是实现约定的喜悦,对翡翠来说H是继续以前的开始,对五月来说H
是无奈堕落的选择,对紫苑来说H是及远又近的愿望,对晶来说H是为情挽留的绝步,对
朱鹭惠来说H是回忆过去的微笑,对莲来说H是生命和爱的烙印.对志贵来说H是誓言守
护的决心,所以月姬少了H也许就不那么精彩.
 
----------------------------------------
好想玩key社的kanon和air ~,~

中国简史(ZT)


盘古说:我开;
女娲说:我补;
共工说:我撞;
神农说:我尝;
精卫说:我填;
夸父说:我追;
后羿说:我射;
嫦娥说:没射着!

黄帝说:我们做什么;
尧说:我让;
舜说:我也让;
禹说:咱爷们怎么办?
启说:让他们球!

桀说:好玩;汤说:造反有理了;夏亡了……
纣说:痛快;武王说:我也反了;商亡了……
幽王说:点火;褒姒说:刺激;周也亡了……

干将说:我铸;
专诸说:我舞;
荆柯说:我刺;
赢政一躲:没刺着……

始皇说:我修;
姜女说:我哭;
陈胜说:有种;
项羽说:我举;
刘邦说:我斩;
秦亡了……

孔子说:我仁;
孟子说:我义;
老子说:我无为;
庄子说:我逍遥;
韩非子说:把他们全抓了。

张良说:我出谋划策;
韩信说:我统帅三军;
萧何说:我运筹帷幄;
高祖说:老婆,怎么办;
吕后说:全喀嚓了。

文景说:我治;
武帝说:我兴;
光武说:我中兴;
献帝说:我说了不算。

张骞说:我通;
班超说:我也通;
苏武说:通个屁!

卫青说:我打;
霍去病说:我也打;
李广说:我还打;
昭君嫣然晕笑,遂天下太平。

董卓说:我势大;
吕布说:我人帅;
貂婵说:你们俩谁厉害。
董卓完蛋了。

曹操说:快帮我脱鞋迎老许;
刘备说:快给我牵驴来访诸葛;
孙权说:周郎自有妙计安天下;
周瑜说:加油,烧死老曹;
诸葛说:天下三分,人人有份;
司马昭说:向刘备同志学习;
晋开始了。

司马迁说:要想成功,不怕被宫;
班固说:我要出书;
司马相如说:一首赋稿费一千;
曹操说:抄家伙我要赋诗;
曹植说:命题作文有何难;
孔明说:我要写道动员令;
陶潜说:你们累不累呀。
遂卷铺盖回家了。

朱温说:我同花顺;
萧道成说:我一条顺;
陈霸先说:重新洗牌……

杨广说:去扬州观花;
李渊说:消来公费旅游;
李世民说:魏征,你的意思;
李治说:老婆,你的意思;
武则天说:那还不如我说了算;
薛刚说:反了你了!

骆宾王说:鹅肥;
王勃说:情深;
李白说:酒美;
王维说:景幽;
孟浩然说:风流;
杜甫说:屋漏;
白居易说:抱想琵琶唱OK;
李商隐:我没话说了。

柴荣说:三武废费有我一份;
赵匡胤说:今年流行黄袍子
寇准说:带上瓶醋谈判去;
李刚说:保家卫国;
徽宗说:没保成;
钦宗说:我想回家;
金兀朱说:没门……

赵构说:把姓岳的抓了;
岳飞说:我有何罪?
秦桧说:也许有……

陆游说:我要死了;
文天祥说:死得好,我为你喝彩!

完颜说:金大;
耶律说:辽大;
成吉思汗说:大你个球!
忽必烈说:亚欧大陆我说了算……

朱元璋说:高筑墙;
建文帝说:孙承祖业;
朱棣说:我找我爹;

严嵩说:清史留字;
崇祯说:袁崇焕,你的良心大大地坏了……
李自成说:歇会,找个小姐来;
吴三桂说:敢泡我老婆;
皇太极说:三桂是个好同志。

顺治说:爱江山更爱美人;
康熙说:江山好管儿子难教;
雍正说:说我狠,我就狠给你们看;
乾隆说:我爹是谁;
嘉庆说:和坤是我爹留给我的遗产……

施耐庵说:天罡盖地煞;
罗贯中说:曹刘震河腰;
吴承恩说:全盘西化;
曹雪芹说;读书人的事能算淫么;
蒲松龄说:我是另类我怕谁?

林则徐说:我销;
洪秀全说:我反;
康有为说:我变;
孙中山说:看我的。
慈禧说:木偶戏你当好演呀;
李连英说:有奴才伺候;
李鸿章说:九亿白银,小意思;
袁世凯说:窃国者为诸候?
蒋介石说:娘希匹,攮外必先安内

27 gennaio

咖啡的类别及品尝术语(ZT)

http://bbs.byhh.net/cgi-bin/bbstcon?board=warcraftRPG&file=M.1169955489.A&start=1466
咖啡的类别及品尝术语

现磨咖啡:一般是罐装大瓶,看上去豆子大小不一,有椭圆的阿拉比克(Arabica),还有圆圆
的罗布斯塔.烘焙颜色均匀程度相差很大,不饱满,咖啡豆子上可以看看干裂的痕迹,不光
泽!闻上去有淡淡的咖啡香气,如果现场研磨的时候,一般会有瞬间的香味,通常这种咖
啡豆配伴侣粉或是奶精粉销售!让顾客有超值的感觉!口感品质是可想而知的!又苦又涩!
一般是国产的豆子和一些廉价的罗布斯塔豆做为原料!遇见不是负责的销售者告你回家放
入水中煮煮,就可以!真是可笑!

  风味(拼配)咖啡:一般有蓝山风味(蓝山咖啡);巴西风味咖啡(巴西咖啡);哥
伦比亚咖啡(哥伦比亚风味咖啡);摩卡咖啡(摩卡风味);曼特宁咖啡(曼特宁风格)
,这些咖啡通常回使用产地的豆子等级较低相对廉价于最高级的产地卡豆子!(这些咖啡通
常加入一些云南豆降低成本!通常大量烘焙,用于商业咖啡配送!!有时候曼特宁里只有
20%的所谓印泥的豆子,口感也真只是风味啦!这种咖啡的新鲜程度一般都是烘焙后几
经转手的1-2月的,品质较差,一般烘焙颜色是浅度的咖啡色或是有点砖红色,(浅烘
焙水份流失比较小,靠重量卖钱,一般商业烘焙崇尚,走量大就可以省很多的)香气也是
很淡的,磨时候也是有瞬间的香气!!口感较酸!有一点滑!!

  新鲜咖啡(Fresh Coffee Only):是指新鲜烘焙的咖啡豆子,只有新鲜的咖啡才会有品质
!迷人刺激的香气,通常是以纯产地豆子为原料,新鲜烘焙的!巴西圣多斯;哥伦比亚优秀级或
是混合级;埃塞俄比亚”哈拉尔”;苏门达腊曼特宁,肯尼亚;还有拼配意式咖啡豆ESPRESSO,
这些都是相对是日常喝的很好的咖啡!品质和口感是相当不错的!如果店家不够诚实加一些
云南豆相对于醇度低了些,相对于价格也低一些了!也许是为了让更多的人能接触上好咖啡,
了解咖啡!!如果客源稳定的店家的豆子相对于会新鲜些!那是可以尝试的!

  精选咖啡(特质咖啡)Specialty Coffee Fresh Coffee Only:

  在美国有特质咖啡协会,评论出世界上精选咖啡

  ●巴西圣多斯NO2,(Brazilian Santos NO2)
  香怡柔和,温和独特,口感顺滑,源于世界最大咖啡产地之一。
  Moderate acidity, rich and body , mild ,unique and smooth flavor.
  如果是小豆粒(17-18/ 64英寸)的壮年豆就更美了,相对于大豆粒(19/64FCS)的口感要
更完美些!饱满,顺滑.相对大豆粒是”老年”口感相对逊色一点!也是很不错的!干洗处理!
如果有幸能找到巴西庄园豆,你会领略到苹果味!(这是很难遇见的)

  ●哥伦比亚特级(Colombian Supremo)
  酸度适中,中等醇度,甘甜顺滑,香味,坚果味,余味有淡淡巧克力的味道。
  Good acidity, moderate body , really sweet ,nutty aroma with smooth, ,rich
flavor .
  哥伦比亚的咖啡豆都是很不错,高山的(火山岩丰富,土壤肥沃)水洗处理的咖啡豆,大小
均匀是精选中哥伦比亚的极品!

  ●印尼西亚,苏门达腊,曼特宁(Sumatran Mandheling )
  极浓郁醇度,低酸度,带有独特坚果香气和花香味。
  Uniqely , heavy body ,low acidity, pleasant nutty aroma , distinctive ,
syrupy ,exotic flavor
  印尼苏门达蜡岛产区有名的是曼特宁GR1(第一级),(稀有典藏的黄金曼特宁那是很少
见的)半水洗Semi-wash,生豆通常略呈蓝色,硬度较软,有名的Soft Bean.
  印尼的爪哇岛,苏拉威西岛,新几内亚岛都有产豆,爪哇岛东部的IJEN高地水洗豆也
很不错!

  ●埃塞俄比亚“摩卡”哈拉尔(Ethiopian Harrar)
  甘醇,有酸度,芬芳浓郁,带花香味,独有水果香气。
  Fine mellow body light acidity , outstanding aroma , with extraordinary
floral perfumers.

  ●埃塞俄比亚依尔加可菲( Ethiopian Yrgacheffe )
  甘醇,低酸度,芬芳浓郁,独有浓厚水果香气,略带花香味
  Fine mellow body light acidity, outstanding aroma, with extraordinary
floral perfumes
  哈拉尔ECMC(the Ethiopian Coffee Marking Corporation)产区的 日晒法处理生豆
,生豆分为:长豆(long berry Harrar & Large Bean),单豆(Moka Harrar & Peabery
,短豆(shortberry Harrar & Smaller Bean),圆豆(single Bean) 西部季玛(Ghimb
& Gimbi)南部水洗法少量出产的 锡达莫Sidamo (Gr2)耶咖雪啡Yirgacheffe & 依尔加可
菲Yrgacheffe 利姆(Limu Gr2).

  ●危地马拉按提瓜(Guatemalan Antigua)
  浓醇度,芳香带浓厚果味,有香料和烟的香气.
  Lots of alively fruity kind of acidity distinctive aroma , spicy [smoke]y
flavor good body.
  安提瓜岛北部与墨西哥接壤.与哥斯达黎加的塔拉苏一样,位于危地马拉西南的安提瓜
岛,咖啡种植在火山腹地的山坡上,每隔30年就会受一次火山爆发的侵袭,使土壤更富有养分
,而高山,充足的阳光和水分,使这里出产品质绝佳的咖啡.和很多优质阿拉比克硬豆那样,危
地马拉的安提瓜咖啡具有味道醇度浓郁,酸度适中等特点,此外,还有一种奇妙的烟草或者说
熏烟的气味,这尤其得到那些成年男性的青睐.北部的圣马尔库斯(SAN MARCO),胡萨尔特南
戈(HUEHUENTENANGO)也是优质咖啡的主要产区.
  注:北部柯班(Coban) ,硬豆(Hard Bean);极硬豆(Strictly Hard Bean )
  EPW,水洗特等上级3000M;PW双等水洗2500-300M;EGW优等水洗2000-2500M;GW优级20
00M以下。

  ●哥斯达黎加特硬咖啡(Costa Rican Tarrazu SHB)
  浓厚醇度,酸感强,甘甜,果味浓郁。
  Plenty of body & sweetness .lively acidity terrific fruity high notes .
  首都圣荷塞南边塔拉珠(Tarrazu)是哥斯达黎加最著名的咖啡产地,也是世界上最著
名咖啡产地之一。在英国高档咖啡官的MENU上“产地咖啡”一栏里,可以看到“塔拉珠拉
美塔”(LA MINITA TARRAZU)的名字。此外,泰斯里奥斯(TRESRIOS)和多塔(DOTA)的
名字也常出现在哥斯达黎加的包装上。优质的哥斯达黎加咖啡被称为“特硬豆”,生长在
海拔1500米以上的地区,确切地说是火山土壤十分肥沃的地区。这种适合于中度和重度烘
焙的特硬咖啡豆有很强的酸味和迷人的芳香。除了塔拉苏拉美塔,生长于波拉斯火山山坡
上的萨奇咖啡(SARCHI)也是哥斯达黎加的名产。
  注:三河咖啡(Tarrazu’s Tres Rios);潘拉多 (Tarrazu’s Pandora)
  多塔 (Tarrazu’s Dota) 圣马克斯 (Tarrazu’s San Marcos )
  庄园 拉米尼塔 (La Minita) Windmill Henri Tournon
  地区 萨奇 (Sarchi)

  ●肯尼亚AA (Kenya AA)
  强烈酸度,浓厚醇度,口感顺滑,略带(葡萄酒)香气
  Tangy sharp acidity ,full body ,smooth & mildly winey flavor , well
balanced .
  肯尼亚位于埃塞俄比亚和也门南部,距离这两个世界著名的咖啡生产国仅数百公里之
遥。绝大多数肯尼亚咖啡树生长在首都内罗毕以北和以西的山区,主要产区有两块:一是
肯尼亚最高峰基里尼亚加的南坡一直向南延伸,直到首都内罗毕附近,这一地区紧靠赤道
,是肯尼亚最大的咖啡产区;除此之外,还有一块比较小的产区位于艾尔贡山脉(Mount
Elgon,位于乌干达和肯尼亚的边界上)的东坡。肯尼亚的山区有富饶的红色火山土壤,咖
啡种植在海拔1500—2100米的高度上。肯尼亚种植的咖啡主要是阿拉比克种的波旁咖啡树
,肯尼亚咖啡和它的近邻也门摩卡和埃塞俄比亚哈拉尔口味十分相近,它们都具有别致的
酒味和悠长的余味。更难得的是,肯尼亚咖啡具有埃塞俄比亚咖啡和也门咖啡所不具有的
醇厚和浓滑,它比埃塞俄比亚咖啡的酒味清淡,比也门摩卡醇度更高,所以一般适宜深度
烘焙。肯尼亚所有的咖啡豆由肯尼亚咖啡委员会(the Kenya Coffee Board)统一收购,分
类,拍卖。肯尼亚咖啡的等级可以分为:AA++、AA+、AA和AB等。肯尼亚咖啡的最大主顾是
德国和北欧一些非常挑剔的国家。肯尼亚AA是肯尼亚咖啡中最高等级的咖啡,也是世界上
质量最好的阿拉比克咖啡豆。它味道醇厚,有强烈的酒香味,这种咖啡的酸味非常微妙,
要仔细品尝才能感受到。
  注:肯尼亚圆豆 (Kenya Peaberry )较罕见。多数部分水洗法,上等肯尼亚带有野莓
味。

  ●牙买加蓝山Jamaica Blue Mountain)
  酸、甘、醇、苦味非常平衡,味道芳香,口感非常润滑,柔顺。
  牙买加蓝山被誉为“国王的咖啡”(Coffee Fit for A King).虽然牙买加蓝山咖啡
产量在世界咖啡总产量中占微不足道的比例,但是,牙买加蓝山咖啡却可以卖得到世界最
高的价格。有人把喝蓝山咖啡比作是驾驶劳斯莱斯轿车,它的味道非常微妙,酸度恰到好
处,口味清爽而雅致,有淡淡的甜味和绝佳的醇度,非常滑润爽口,还有无与伦比的浓烈
香味。牙买加蓝山通常会采用中度烘焙,这样可以最大程度地保留咖啡的原味,也会增加
蓝山咖啡的余味,让人喝完一杯咖啡后的数分钟内还能回味出悠长的水果味。圣安德鲁地
区(St. Andrew)是牙买加蓝山咖啡三大产区之一,另外两个为:波特兰产区(Portland
)和圣托马斯产区(St.Thoms)早期华伦福特农庄 Wallenford .Estate 银丘农庄
Silver Hill Estate现在蓝山金斯敦以东高1000米 3个行政区St.Anderw ; Portland ;
St.Thoms .玛维斯邦最大庄园 Mavis Bank M.B.CF低海拔其他地区叫牙买加高山豆Jamaica
High Mountain .Supreme.牙买加水洗豆(Prime Washed Jamaica)

  品尝咖啡的术语




  品尝咖啡是一门专业性很强的学问,有很多术语,不胜枚举。我们在这里列举最简单
和最常用的一些,如果你以后有机会读到研究咖啡的专业书籍时,相信会派上用场。
  ●Acidity(酸度):是所有生长在高处的咖啡所共有的酸辛、强烈的口味。与苦味或发
酸(sour)不同,也无关乎酸碱值。
  ●Body(醇度):是煮成的咖啡饮用后的口感。醇度的变化可分为清淡如水到淡薄、中
等、高等、脂状,甚至某些印尼的咖啡如糖浆般浓稠。其他的参考形容词还有Bland(清淡)
——生长在低地的咖啡,口感通常清淡;咖啡粉分量不足,加水太多的咖啡也会造成同样
的清淡效果。
  ●Aroma(气味):冲泡好的咖啡所散发出来的气息与香味。用来形容气味(Aroma)的词
包括焦糖味、炭烤味、巧克力味、果香味、草味、麦芽味、浓郁、丰富、香辛等。
  ●Spicy(香辛):指一种令人联想到某种特定香料的风味或气味。例如,某些印尼的高
原咖啡(尤其是陈年咖啡)有小豆蔻般气味;而危地马拉安提瓜咖啡则是带有胡椒般的辛味
,这些气味都可以用spicy这个词形容。
  ●Wild(狂野):形容咖啡具有极端的口味特性,会让你联想到非洲广袤的高原。
  ●Sweet(香甜):是一种普通使用的形容词,一般形容无尖酸风味的咖啡。
  ●Strong(浓烈):就通俗的用法而言,浓烈形容的是深度烘焙咖啡强烈的风味。
  ●Tangy(辛烈):类似发酵过的酸味,本质上几乎像是水果味,与酒味也有关。生长于
哥斯达黎加的咖啡通常具有辛烈的风味。
  ●Sour(发酸):舌头后侧才能产生这种味觉,是浅度烘焙咖啡的特点。
  ●Briny(成味):咖啡冲泡后,若是加热过度,将会产生一种含盐的味道。
  ●Mild(温和):表示某种咖啡具有调和、细致的风味。生长于高原的拉丁美洲高级
咖啡,通常被形容为质地温和。此外,它也是一种咖啡界的术语,用来指所有除了巴西生
产的高原咖啡。
  ●Earthy(泥土的芳香):通常用来形容辛香而具有泥土气息的咖啡。有时人们也说
这是一种土腥味。但这个词并非贬义,干燥法处理的咖啡豆通常会有这种味道,而它恰恰
是许多人追逐的特殊口味。
  ●Mellow(芳醇):是对低至中酸度、平衡性佳的咖啡所用的形容词。
  ●Flavor(风味)来形容对咖啡的整体感觉,它是咖啡香气、酸度、与醇度的整体感
受,那么一个只喝咖啡的女孩又是怎样的Flavor呢?在这个流行红茶馆的年代,我就认识
一个只喝咖啡的女孩,她说喝咖啡并不仅仅因为它的味道,更是爱极了它的本身。
  ●Bland(清淡)生长在低地的咖啡,口感通常相当清淡、无味。有时粉少量而水增多
的咖啡,也会造成同样的清淡效果。人淡如菊,是女孩子对自己的期许,她说淹没在人海
里将是她一生的追求。清清淡淡的,不会令自己颠踬,因为相信真味只是淡。
  ●Bitter(苦味)苦是一种基本味觉,感觉区分布在舌根部分。深色烘焙法的苦味是
刻意营造出来的,但最常见的苦味发生原因,是咖啡粉用量过多,而水太少。她说“清咖
浓烈苦涩透到心底,就像现实生活赋予人们的不调和还很多,但咖啡的魅力绝不因此而减
少,亦如生命绝不因此回头一样”--曾经,一心一意地追逐白色飞马,虔诚地以为只要不
回头,勇往直前,人生理想就能达到……只是现实中一路坎坷,每次从跌倒的地方站起来
,总会想起咖啡带给自己的启示:那些深色烘焙、苦得没法喝的咖啡其实才是上等的咖啡
,咀嚼苦痛,方能学会珍惜甘甜。
  ●Exotic(独特性)形容咖啡具有独树一格的芳香与特殊气息,如花卉、水果、香料
般的甜美特质。东非与印尼所产的咖啡,通常具有这种特性。她并非美丽的女孩,但拥有
与众不同的气质:当天空是咖啡色并飘起细雨的时候,她会选择去淋雨,甚至随《雨中曲
》翩翩起舞;如果那天阳光耀眼得令人睁不开眼睛 ,则会在麦当劳要一杯冰咖,然后坐在
大落地窗边用木头铅笔静静写字或者作画……
  ●Mellow(芳醇)是对低至中酸度、平衡性佳的咖啡所形容的形容词。记得有人将女
孩子分成三种,如空中浮动的云、如严冬伫立的冰、第三种便是花,芬芳甜美却丝毫不腻
的女子,她说她愿是一朵花,开遍身边每个人的心间,阵阵淡雅花香飘过。
  ●Soft(柔润)形容如印尼咖啡般的低酸度咖啡;亦可以形容为芳醇或香甜。听过她
声音的人都印象深刻,那就是种柔润,不紧不慢地温柔倾诉,会使人着迷于听她谈天说地

  ●Spicy(香辛)指一种令人联想到某种特定香料的风味或气味。某种印尼所产的高原
咖啡(尤其是陈年咖啡),蕴含小荳蔻般香甜的气味。听说过一本小说的女主角的头发上
会莫名散发菊花香,她好象也是这样,总是香香的,全然不是香水的气息,每次与她擦肩
而过,总象闻到栀子花香。
  ●Winy(葡萄酒味)形容一种令人联想到葡萄酒般的迷人风味。水果般的酸度与滑润
的醇度,所营造出来的对比特殊风味。肯亚咖啡便是含有葡萄酒风味的最佳典范。看她画
画调色的时候,她告诉我喜欢一种叫波尔多葡萄酒色的颜色,很有质感,丝般滑过,就象
咖啡溶解在唇齿之间。
26 gennaio

finally, i get interested in Compiler somehow

well, i just found compiler is fucking fun, after winter quarter has passed 1/3, sadly.
 
Lordy, wtf i was doing in the first 3 weeks? am i a fool, well as least a semi...
 
hmmmm, better late than never, and hope its not too late to get the work done
25 gennaio

白日梦一则

早上发呆的时候,做了个小小滴白日梦:
等我有了钱,要在hust设一个奖学金,专门奖给游戏玩得好又好学的学生。
 
--白日梦的想法来源:半职业化滴dota队伍是无敌的LOLOLOLOLOL
--深层想法来源:"find the new, and share it with others": the scientific spirit we had since about 5 years old.

Great Sleeper i am

though i knew that im a great sleeper for long, it is just funny to have another endless sleep.
 
Well, i slept from 6pm yesterday till this morning about 9am. WOw wOW~and when i got up, i found it was snowing outside while the sun was shining. So i spent the cozy morning at home, having some fun read texts.
 
hmmmmmm, A sleeper's life is fucking beautiful..., and when shall i have another great great sleep then?
21 gennaio

some funny stuff~

well,a bit frustrated by sth, thus visited a few web-sites for fun, and wanna share some funny stuff
 

一觉睡到中午,发现竟然在7小时内下了20cm的雪
 
阿三室友当然比我兴奋,穿着汗衫抱着啤酒往外跑,还拉我帮他拍照。第一次看到雪的人啊~,~路上家人带着小孩滑雪的不少,邻居老爷爷郁闷的等人给他搭便车,不然就去不成酒吧了
 
走在路上还想几个人可以用雪做个loli文明什么的,越来越邪恶鸟。。。。
 
想起高中一个同学写的诗:
 
“雪是纯洁的吗
 
纯洁是冰冷的吗
 
冰冷是无情的吗”
 
开了邮箱,没有邮件~,~我们都是固执又奇怪的人吧,真的有点生气了~,~前天还讲到结婚呢
 
 
17 gennaio

omfg, i got owned by compiler lab assignment

 
2 and a half hour later the first piece of compiler lab assignment will be due. It is to write an interpreter in a language called "cool" (well, new to me T.T). I feel as if i got handled cuz there seems no way to get it done on time.hmmm just feel bad that im about to miss deadline for the first time here.
 
i asked my roomie Nithya earlier whether he missed a deadline in these years of working, or if he got frustrated by some piece of work. Well, hes sup at this point, simply No.
 
hmmm, im strugling a little bit further with cool. If the assignment cannot be done today, i will gg it tomorrow or the day after. Well, keep working~ work, work(said athenius the peon)...
16 gennaio

an abso-fucen-lutely good example of process in OS

 
[code]#include <unistd.h>;
#include <sys/types.h>;

main ()
{
        pid_t pid;
        pid=fork();

        if (pid < 0)
                printf("error in fork!");
        else if (pid == 0)
                printf("i am the child process, my process id is %d\n",getpid());
        else
                printf("i am the parent process, my process id is %d\n",getpid());
}[/code]

结果是
[root@localhost c]# ./a.out
i am the child process, my process id is 4286
i am the parent process, my process id is 4285
 
comments[quoted]:
"要搞清楚fork的执行过程,就必须先讲清楚操作系统中的“进程(process)”概念。一个进程,主要包含三个元素:

o. 一个可以执行的程序;
o. 和该进程相关联的全部数据(包括变量,内存空间,缓冲区等等);
o. 程序的执行上下文(execution context)。

不妨简单理解为,一个进程表示的,就是一个可执行程序的一次执行过程中的一个状态。操作系统对进程的管理,典型的情况,是通过进程表完成的。进程表中的每一个表项,记录的是当前操作系统中一个进程的情况。对于单 CPU的情况而言,每一特定时刻只有一个进程占用 CPU,但是系统中可能同时存在多个活动的(等待执行或继续执行的)进程。

一个称为“程序计数器(program counter, pc)”的寄存器,指出当前占用 CPU的进程要执行的下一条指令的位置。

当分给某个进程的 CPU时间已经用完,操作系统将该进程相关的寄存器的值,保存到该进程在进程表中对应的表项里面;把将要接替这个进程占用 CPU的那个进程的上下文,从进程表中读出,并更新相应的寄存器(这个过程称为“上下文交换(process context switch)”,实际的上下文交换需要涉及到更多的数据,那和fork无关,不再多说,主要要记住程序寄存器pc指出程序当前已经执行到哪里,是进程上下文的重要内容,换出 CPU的进程要保存这个寄存器的值,换入CPU的进程,也要根据进程表中保存的本进程执行上下文信息,更新这个寄存器)。

好了,有这些概念打底,可以说fork了。当你的程序执行到下面的语句:
pid=fork();
操作系统创建一个新的进程(子进程),并且在进程表中相应为它建立一个新的表项。新进程和原有进程的可执行程序是同一个程序;上下文和数据,绝大部分就是原进程(父进程)的拷贝,但它们是两个相互独立的进程!此时程序寄存器pc,在父、子进程的上下文中都声称,这个进程目前执行到fork调用即将返回(此时子进程不占有CPU,子进程的pc不是真正保存在寄存器中,而是作为进程上下文保存在进程表中的对应表项内)。问题是怎么返回,在父子进程中就分道扬镳。

父进程继续执行,操作系统对fork的实现,使这个调用在父进程中返回刚刚创建的子进程的pid(一个正整数),所以下面的if语句中pid<0, pid==0的两个分支都不会执行。所以输出i am the parent process...

子进程在之后的某个时候得到调度,它的上下文被换入,占据 CPU,操作系统对fork的实现,使得子进程中fork调用返回0。所以在这个进程(注意这不是父进程了哦,虽然是同一个程序,但是这是同一个程序的另外一次执行,在操作系统中这次执行是由另外一个进程表示的,从执行的角度说和父进程相互独立)中pid=0。这个进程继续执行的过程中,if语句中pid<0不满足,但是pid==0是true。所以输出i am the child process...

我想你比较困惑的就是,为什么看上去程序中互斥的两个分支都被执行了。在一个程序的一次执行中,这当然是不可能的;但是你看到的两行输出是来自两个进程,这两个进程来自同一个程序的两次执行。

"
 
 
10 gennaio

new quarter, new start

finally the new quarter came..well, the break was not that long of course.
 
so i get some new things to learn, compiler, os, and ai are my courses of the new quarter. Many people said that compiler is not easy to understand. Well, im trying it and ill know it myself.
 
i decided to update this teeeny weeeny blog once in a while in the new quarter, and stop play dota desperately in working time. im planning to get into ihl of the game. hope ill have enough time to have fun besides fun of courses.
 
ummm, havent cooked sth special 4 a long time.well, ill create some new dishes soon (hopefully not poisonous).
 
weeeeeee, get to work. heeeeeee, nice typing here