Search This Blog

囧人囧事2009 大合集

1.很久以前,我去买魔兽点卡,结果老板给了我4张15的网易一卡通,我与老板深入的交涉后,老板坚持这个能冲魔兽世界,一直以来,我每次一想到这事,我就鄙视一下老板,现在我知道我错了,我这个平凡的人永远不懂老板那苍老身躯下的那颗先知的心……

2.一次带GF回寝室 然后寝室没人 然后....
结果完事我刚下床一个人敲门 我还庆幸他没有来早点
开门结果是隔壁一WS男 说: 你的H片传我
我说: 啊?! 什么?
他说 你刚没在看么 还放那么大声...

3.上高中时,有一次小A喜冲冲的回来了,说他刚在路上看见小B,牵了个女生,觉得很少见,想捉弄一下,然后小A就从后面悄悄跑过去,飞起一脚,踹了小B一脚后飞也似的跑回教室,一回来就给我们讲刚刚踹了B一脚,贼爽,正给我们说呢,结果A同学突然不说话了。。。因为他发现--小B正在教室睡觉。。。当时那个汗呀,小A赶紧出去找刚才那人道歉去了。。。教室爆笑一片。

4.一次和几个朋友约在我家集合,然后出去玩。就差一个哥们,人就全了。无聊,就在电脑上看电影,法国片《你丫闭嘴》,还是东北话版的,很搞笑。
这哥们姗姗来迟,见我们看的很有兴致,问:“什么电影啊?”
我说:《你丫闭嘴》
这哥们说:靠,我问你电影什么名字?
我说:不是告诉你了么,《你丫闭嘴》啊!!
这哥们似乎明白了,点头说:噢
……
隔了几天又聚,这哥们突然拉住我,问:你告诉我,上回你们看的电影到底叫什么?
我&*%¥#)&……

5.初中的时候住校的,管理比较严格,有同学耐不住寂寞,晚上就偷偷的去网吧玩。因为大门是关闭的,只能跳墙,这位同学就从厕所向外跳,没想到起跳力度小了,直接跳进了粪池里~~半夜两点啊,走了20里路,回家了
6.高中时候有次,全宿舍去喝酒,全都挂了,迷迷糊糊回宿舍后就都睡了。我们宿舍的床是那种上下床铺的,每间宿舍2张床。隔天一早醒过来,我隔壁床的下铺正对着上铺狂骂,一问才知道,昨晚他上铺睡到半夜,想吐,特清醒的下床对着下铺一阵狂吐。。。吐完还小了个便。。又心满意足的回去睡觉了。。。他下铺早上起来才发现。。那个囧啊。。。


7.这次是我自己了,上去去婶婶的饭店吃饭,穿了一件adidas,这件衣服是我在上海买的2009春季新款,当时我婶婶给我开玩笑说我这是假的,我郁闷就说:“谁说的,我这是真的,我在耐克专卖店买的”说完自己囧了,低头开始吃饭。。。。。


8.在小学时,我同桌是一个很恶心的男生,有一次他在我面前很认真的抠鼻屎,我忍了,
可他抠完后还把那只指头放在嘴里舔一舔~~~!,更无语的是,他还很天真的问我:“我的手指咋这么咸了?” O__O"…



9.刚才看新闻,里面有一则报道说,某日晚上,护城河边有一女子欲寻短见,围观者众。突然有一男子奋不顾身,跃入两米深的河中救人,众人正为此人义举赞赏不已。岂知,那男子心急火燎地游至女子身边一看,啊,不是我老婆啊!


10.现在金融危机太离谱了,刚才面试后,等过会再打电话过去问点事,结果没想到连面试官都给裁掉了!

11.躺在床上,老婆亲我JJ,吸溜吸溜的口水声音很大。家里的狗听见了,很激动,以为老婆在吃什么好东西,跳起来就往床上扑,想分一杯羹。他妈的……


12.某次吃面条时,老公忽然说:“我妈煮面还放葱...”
前天晚上,我特意买了细葱。
煮了面条,把切得细细碎碎的香葱和小油菜撒在上面,虽然素了点,可好像还挺香的。
老公端起碗吃了一会儿, 抬头说“每次我妈在面条里放葱的时候,我都把它挑出来”
看着碗里细细碎碎的葱末,我---Orz


13.那天我们班一女同学心情不好。
于是就找我出去陪她吃饭。
吃到一半的时候,她点了1瓶啤酒,然后问我
“能陪我喝点酒吗?今天心情不是很好”
我犹豫“额~!那个我不会喝酒,对不起啊”
“喔~!是吗~!我也不太会喝,而且一喝醉就乱亲人,哎~!”说完很挑逗的看了我一眼
我沉没了一会
然后转头对服务员说“服务员,再来4瓶啤酒....”


14.听来的故事:以前想学《成长的烦恼》里的迈克作弊,把考试内容写在鞋底上,为此特意买了双平底鞋,万事具备,没想到那天下雨...


15.高价从黄牛那里买了110栏决赛的票,为了看比赛和老板闹翻,索性辞了工作,人生第一次坐飞机,从上海到北京.然而刘翔没跑·· www.6park.com


16.有一次下课打铃大家都要回家,下楼梯时我左脚踩到自己右脚,“啪”地以大字型的姿势摔在了路中央..我当时就想:不对,糗大了,我装晕。
结果我旁边的同学看我一动不动,赶紧扶起我,然后左右开打狂扇我耳光...



17.一个同学,他的电脑每天早上会自动开机(估计是因为宿舍里早上来电的时候一瞬间冲开的)。

结果他老人家拿了一个符贴在了电脑上。。。


18.我有个同学去做妇科检查,医生是个男的,检查胸部是否有增生什么的时候,那医生非常嫌弃的摸了摸我同学的胸,华丽丽的说了一句:“没啥毛病,就是小点儿哈。”把我同学囧死了。


19.初中上语文课,学习的是《最后一课》,我老师先给大家朗读课文,读到最后一段老师说:下课了,你们走吧’....”,我同学当时正在睡觉,听到这句,提这书包就冲出教室,全班哗然。。。。。


20.昨天公司加班,加到凌晨4点,就在办公室的沙发上睡下了,早上起来想给女友发信息说下,昨天公司加班到凌晨4点,只睡了三个小时,累死了,结果短信中写了昨天公司加班到凌晨4点,只睡了三个小姐,累死了,短信发送ING~~~ 泪奔~~!! www.6park.com

21.13岁时第一次来事(月经)因为不好意思自己去买卫生巾,所以就想让我妈帮我买去,可是……感觉跟老妈说也是一件很让人害羞的事,最后把老妈叫来支支吾吾老半天,终于鼓起勇气对我妈说:妈,我怀孕了(其实我是要说,“妈,我来事了”结果一紧张竟然……) 我妈瞪大眼睛对我说 啥?啊???我唰的一下 脸就红了 呃……太郁闷了



22.高三的时候,化学课上,老师讲有机化学高分子什么的。忽然老师举了个例子,在黑板上画了个“酞键”,对着大家说,这是一个“太监”,我们给他按个“甲基吧”,下面大笑。


23.初中时候的事………两个同学(同桌)不知怎么的给对骂起来了,一个人骂另一个人说:“我同桌是个SB!”另一个人直接急了,回骂到:“你同桌才是个SB!”剩下我们在旁边的一群人爆笑不止……


24..上语文课的时候,课文是说环境的危害的,说到什么什么泄露了,污染严重什么什么``` 说到动情之处,40岁的语文大妈愤怒地拍台大声说道: "你们人类啊!就不知道保护环境!!" 全班石化



25.一日同学去中关村转悠,
一小贩凑过去问,
“要硬盘不?便宜”

同学拿过来看看 说:“有多硬?” www.6park.com


26.一哥们发现蚊帐里竟然飞进一只苍蝇,
跟我们说:“我非弄死他”,
我们说:“你是搞不过他滴”。
“你们看吧”,
这人抄起一本小说钻进蚊帐,
封口。
边看小说边不停的挥动扇子,
就是不让苍蝇落地,
结果两个小时后,
苍蝇终于飞不动了。

他凑过去捅了捅苍蝇说:
“飞呀小样,爷书还没看够呢”


27.话说有一天我朋友和A君去吃自助餐,等吃得差不多了,餐馆老板出现在A君面前,递给A君一张VIP金卡,然后说道:这是隔壁饭店的VIP卡,以后请你去隔壁用餐吧。


28.我在公交车里听到别人打电话到电台点歌,有一个男人打电话进去说:"我是外地人,现在回家的车票买不到了,只好在北京过年了。我想点首歌

主持人问他:你想点歌送给谁?

我当时还想这还用问,肯定是远方的父母亲人了,谁知道他却回答说:;我想点一首陈小春的《算你狠》,送给北京站所有工作人员以及所有票贩子!


29.初中的时候,女生的身体刚开始发育,很多男生对男女之事也是懵懂懵懂。一天,班里一漂亮女生穿了件胸前有两个口袋的T恤,正站在讲台边低头系鞋带,这时一男生从外面跑进来,经过讲台的时候不知动了哪根筋,顺手捏了捏女同学胸前的口袋,嘴里还念叨着:“装了什么东西,鼓鼓囊囊的。”说完,才反应过来,张着大嘴傻在那儿了。而那女生已经哭着跑向了老师办公室。。。


30..他同桌那女生很好笑的,有一次那男的放屁了,女生就很生气,然后她就问他说
“你是不是放屁了”男的一开始死活不认,后来女的就说“你不认我就告诉全班人听”
男的就开始紧张了就认了。结果女的说“那么臭你要怎么办”
然后那男的...就开始大口大口地吸气要把屁抽回肚子里..
www.6park.com


31.我们学校有一次考试,一个男生坐在最后一排,接到了一个同学递来的答案, 兴奋至极马上展开,刚要大抄特抄,一抬头看见监考老师笑眯眯地向他走来,显然已经看见了。这为仁兄后来的行为成为我们全年级的经典:他非常坦然地直起腰直视老师,然后把答案纸放在鼻子上用力一擤,之后潇洒地扔出一个抛物线——掷入门后的垃圾筐。老师瞪了他若干眼,也终于没有勇气把罪证捡起来。



32.昨天女友来家吃饭,席间我妈叫她吃这个吃那个,可我女友一筷也没动,我想可能饭菜不合胃口.后来才发现我妈叫的是我以前女友的名字,结果我被K.



33.某日发现手机不见了,翻遍包包以及屋中各个角落,未果。遂郁闷跌坐地上,从口袋掏出手机,给大家群发短信:我手机丢了。。。。。。。


34.上初中的时候,老师教《孔雀东南飞》时提问了我:“刘兰芝是怎么死的。”我知道是刀笔小吏的妈妈逼死的,但是我记不得那个小吏叫啥了,就说:“是小吏他妈逼的。”
老师又问了一遍,我又说:“是小吏他妈逼的!”
刚说完,我后脑勺就被一本书砸了,我们班孙晓立大声说:“是你妈逼的!”


35.
记得还是小学五年级时,班主任问一组第一位同学:;你是什么民族;同学说:;彝族"然后问第二位同学:"你呢?"答:"二族". www.6park.com



36.一次同学喝多了,站的路边上嘘嘘~~~
他喝得站都站不稳,看他晃来晃去,马上就摔了,我就跑过去从后边抱住扶他......
结果这哥们,抓住我的大拇指就开始抖......还说:怎么就尿不干净呢...?


37.去超市回来路上,碰见一小女孩做错事了,她妈一巴掌打在她头上,骂到:“你妈了个B,让你不……。”
我笑了一路


38.上初中的时候,班主任是个老头,和我们关系特别好,他平时就好抽烟,学校是禁烟的,就总看他在学校门口抽。
有次上语文课,正在学一首诗,有句话是这样的“你托起手中的宝塔山”,老班头声情并茂的为我们朗诵,读到这句的时候变成这样——“你托起手中的手中的红塔山!”
一片安静后……
底下有同学问:老师,您烟瘾犯了吧?



39.我们的boss是个中文很好的美国人。那天他好像忘了什么东西,忽然一拍大腿说:哎呀,我日,完了。。。
中文学的果然好。。。连感叹语都用得这么熟练了。。。


40.以前手机用的是MOTO E6,装了个随机铃声软件,就是每次来电铃声都是不一样随机更换的。有次错把以前用来整蛊别人的美女叫床的声音放进随机铃声的目录里了,结果第二天上班在班车上来电话了……全车人异样的看着我,做我旁边的美女先故作镇定,后不停偷笑…… www.6park.com




41.我在加拿大读书,而且住在别人家(新加坡人会说英语和国语)。有一天,男主人接到一个类似骚扰电话,对方是讲国语的。对方:“先生, 你好吗?" 男主人:“我不会讲中文。。



42.有一次洗自行车,我不小心泼了一大妈一身水。之后有以下对话。
大妈:干啥呢这是!泼我一身。
我:对不起!我没看到。
大妈:这么个大活人没看见?
我:看到了!
大妈:看到了还泼?
我:....



43.昨天陪老婆逛街,从身边走前去一个美女,
老婆:“老婆,那MM不错哦,她穿的衣服也不错哦。”
我:“我去把他衣服扒了,衣服归你人归我。”
MM好像听到了,回头看了我们俩口子10几秒。。



44.陪团翻译,和导游MM在酒店大厅坐着等卡,不远处坐着一对老外。

MM:是美国鬼子还是英国鬼子
我:听口音都不像
MM:估计是德国还是法国鬼子吧
我:反正不是意大利鬼子,他们是黑发卷毛

这个时候,他们起身估计准备回房,路过我们的时候,那男的对俺一笑,电的那个俺七荤八素滴,然后说了一句话:我们是芬兰鬼子,你看我是金发卷毛。

俺那个黑线啊,唰唰滴。
= =|||


45.以前听一朋友说的事。
一次,他坐地铁回家(可能下班时间人很多),起初是旁边坐着的一对小情侣在小吵小闹,开始他也没认真听他们在吵什么,后来应该是男的吵到没有理由了,头扭过另一边很小声地说了一句:臭13(粗口,指女性生殖部位)...
可是偏偏被女的听见了,那女的就突然朝着男的大喊:那你又舔?
... ...
... ...
全车厢的人突然都觉得很尴尬囖 www.6park.com


46.大学时候一哥们失恋,我们陪他出去喝酒,喝完了大家准备走,那家伙当然喝醉了已经,还哭了一脸的眼泪.我们就想自己买单不让他买了.钱都掏出来那哥们看见了一声怒吼说“我来买,你们都是我兄弟,今天我高兴(他高兴??),你们都别跟我抢,”说完从上衣内口袋里掏出一摞就开始数,一张、两张、三张~~~振振有词的
可我们仔细一看

他掏出来的是一包心相印牌餐巾纸



47.当兵那会,有个战友是农村的,部队刚发了津贴,因为他没吃过KFC,他就请了几个关系很好的战友一起吃,当轮到他点餐的时候,他说,小姐,给我来只肯德基...


48.今天女朋友休息,早上,不想去上班.打电话给老板请假.
大战两个回合后发现,手机通话时间00:30:52 ..
OH ,老天爷啊~~~


49.昨晚加班到晚上 10 点多,还没有下班。

于是就给老婆发了条短信, " 亲爱的,我还没有下班,你睡觉了吗? "

短信发出去后不久,收到回信,是经理回的: " 你小子还没有下班啊,下次别叫我亲爱的,被我老婆看到就麻烦了,我的性取向很正常! "

我当即晕了,之前那条消息居然错发给我们经理了,真是丢人得不行,赶紧再发了条短信给经理说是发错了短信,我我性取向也正常,没有打算要跟他成为同志。

晚上回到家跟老婆说了这事,把她笑翻了。

真是丢脸啊,今天上班看到我们经理,都还是觉得很丢脸。


---------


看来昨天加班太晚没有睡好,刚才居然又发错消息了,这次是在 MSN 上。

我正跟同事在 MSN 上聊天昨晚发错手机消息的事

聊到一半的时候,接了个电话,就顺手把和同事的聊天窗口关了。接完电话后,点开同事的名字,继续聊,没想到是点开了经理的 MSN :

我:刚才说到哪儿了?
经理: what?

我:昨晚发错消息的事
经理:没关系

(我还在想,什么没关系,真是答非所问嘛)

我:是没关系,不过很丢脸的,继续讲给你听吧。后来那 SB 回我消息说,他的性取向很正常,靠,肯定是把我当成同志了,真是 SB 。
.........
(经理沉默了半天,估计是看到消息已经郁闷得不行了)
经理:看清楚点,我就是那 SB !

这下轮到我崩溃了。。。。现在都还没敢再跟经理打招呼。。。

估计经理也崩溃了。。。。

这下真是彻底崩溃啊。。。。一天之内连续两次。。。

真是晕,我经理在 MSN 上叫 Terry ,那个跟我聊天的同事叫 Terey 。。。。。



50.某天早上,上班刚到公司,打开显示器一看
,昨晚挂的毛片下完了。心中窃喜。心说,我先偷偷欣赏下,
晚上拷回家看。于是,拿起耳机带上,接着双击打开,哇,
非常不错,女主角叫床也很响亮,正在这时,感觉有一种异样,
突然发现,周围同事都站立起来目光都指向我这里,
脸上各种表情都有。以为发生什么事了,我赶紧摘下耳机,
居然还能听到女主角响亮销魂的叫床声,仔细一看,
耳机插头还在桌上,原来,电脑接的是音箱,昨晚音箱还没关,
声音还很大,此刻真想钻桌子底下去。。。。。。。 www.6park.com




51.小时候刚学骑自行车,还不太会就跑到大街上,看到前面一个老大爷在走,自己感觉要撞上,就大叫,不要动,不要动。那个老大爷一下站在那里没有动,结果我拐来拐去,还是撞上了。老大爷站起来说,你瞄准呢。。?



52.在物理课上,一同学被要求回答为什么用脚能把火踩灭。他回答道:“因为脚气不支持燃烧!”


53.历史课.历史大妈给我们讲解如何降低人口.说是我们中国给印度那边捐赠了很多电视机,可以降低人口.
全班问"WHY?"
历史大妈静默了一下,缓缓的说:"因为晚上的娱乐方式增多了,人口也就降下来了."


54.本来想问经理需不需要打工的,有想说成:“需不需要人手”会比较含畜一点,结果说成:“经理,你们这需不需要打手?”


55.初中一日,班主任大骂男生A,骂完后扬长而去,男生A冲着班主任的背影大喊一声:“你这死老太婆!”…班主任闻声立刻折返回来,大骂男生A没有家教嘴巴不干不净没有男人腔调,男生A不予搭理以致班主任越骂越气憋得不轻,最后出口说:“你要么在班级面前承认你不是男人!否则我打电话告诉你爸!”可见这个爱美加极度自信的老女人被激怒导丧失了理智。男生A害怕他爸爸的,他磨蹭了半天走上讲台,大喊一句:
“我TMD是太监!!” www.6park.com

56.和女朋友ML,都正在兴奋的时候,想换个高难姿势,结果大腿抽筋了,GF生气的说:“让你补钙你不补...


57.有个朋友忘了隐藏艳照门的pp,被他老爸看到,训他训到了一点多,第二天早上起来还接着训。
这个朋友忍无可忍,跟他妈说,我看这个怎么了,我都24了,是狗也该拉出去配种了


58.我上中学那个年代 网络不发达
要看A片都是自己去路边买VCD
我一个哥们半夜起来看A片
在客厅里偷偷摸摸开了电视
打开VCD
怕被父母听见 就把声音关了
但是看着看着 发现还是有声音
他吓坏了
怕被父母发现
但是父母一直没有出来
声音也一直关不掉

最后才发现 声音是从父母屋子里传出来的..



59.在我上中学的时候,一日,适逢我最讨厌的物理课.
本人正当无聊,发现一件非常有趣的事,遂小声告诉同桌.
不料,一根粉笔头击中我的脑门.
"站起来!把你刚才跟她说的话说十遍!"
面对老师愤怒的脸,我小声嘟囔:"... ..."
"大声点!让全班都听到!"
遂狠下决心:"老师的拉链没拉!老师的拉链没拉!老师的拉链没拉!老师的拉链... ..."


60.。高中的时候军训,男生女生分开训,因为就一个教官,所以男生训练的时候女生休息,然后女生训练男生休息。一次男生训久了,怨声载道,教官也不忍心了,本来是想说把女生带到操场让男生休息,结果张口说成“好,我把女生带过来让你们轻松轻松 www.6park.com


61.是偶同学的事,一次他的mm依偎在他的怀里,含情脉脉的问他:“说吧,你现在在想什么?”偶朋友逗她:“偶想的和你一样!”就听“啪”的一声,她mm甩手给了他一个耳光:“下流!”



62.收到一陌生号码的短信,内容只有一句:这是我的新号码..



63.和BF去海水浴场游泳。。水挺凉滴。。偶就往BF身上靠,边靠边叨叨,男生体温就是高,你周边儿滴水就暖和。。。。后来某天提起这事儿,BF说,那时其实是他憋不住刚往海里交了水费。。。-_-!!


64.某天,说到买烤鸭的人多,于是,她老人家不假思索的就说:"一到了下班时间啊,那买烤鸭的人就多的不得了,就看见那窗口前一只只烤鸭在排队."(天啊,明明是人们在排队嘛)

几个笑话

一饿狼觅食,听到有女人在训孩子:再哭就把你扔出去喂狼!孩子哭一夜,狼在门外痴痴等至天亮,长叹一声:骗子,女人都是骗子!


一犯人被执行枪决 ,由于子弹是劣质的,第一枪没放出,接着又放了第二枪...第三枪...这时犯人哭了:大哥你掐死我吧,太他妈吓人了!

黄先生热爱革命,为纪念红军,给儿子取名为'军', 一天送儿子上课,见公交 8路进站, 于是冲儿子大喊:黄军快跑,八路来了!~~~

一只小熊去山里创业,农夫给了他一把镰刀,木匠给了他一把锤子, 小熊来到山里遇到老虎,吓得把镰刀、锤子举在头顶,老虎说:没看出来,就你这熊样还是个党员来!

Share your internet connections using iptables

From: http://www.debuntu.org/iptables-how-to-share-your-internet-connection

iptables is a command line tool which allow system administrators to configure Linux packet filtering ruleset.

Using iptables, you are able to tweak packet filtering, Network Address Translation (NAT) and packet mangling which in the end are going to allow you to secure your server, share your Internet connection and log unwanted traffic.

iptables is not really what we could call an easy to get with tool, but once you know the basis, it won't be that scary :).

This tutorial will provide a sample script you can use to share your Internet access and will give an overview on how to use iptables

1. Introduction

Most people will be freaked out when you pronounce the name iptables because it is not much of an easy to understand software, man page is huge as well as iptables capabilities.
To be able to set up a home router, you don't actually need to spend nights and nights going through iptables man page, a grasp of the basis is enough to get your firewall up and running.

This tutorial provides a sample script you should be able to use out of the box or at most, changing 2 parameters will be able to get you running.

2. Iptables

To be able to understand what the firewall do, there is some basis you need to know. Here I'm going to go over what make iptables handle network packets.

2.1. Chain Rules

Iptables use a set of chain rules to check weather or not a packet should be accepted. By default, there is 3 chains:

  • INPUT: packet is destinate to the machine running iptables
  • FORWARD: packet needs to be forwarded to another machine
  • OUTPUT: packet going out of the machine running iptables

So when a packet reaches the firewall, the first thing the kernel is going to do is to determine where the packet is going. According to the destination, the kernel will check the packet against the rules of the appropriate chain.

2.2. Actions (TARGET)

For each chain we define a list of rules and actions (called targets in iptables'jargon) to take when a packet match a rule. Main actions are:

  • ACCEPT: accept the packet :)
  • REJECT: discard the packet and inform the source
  • DROP: discard the packet but don't say anything to the source

As soon as a packet has matched a rule, the kernel will apply the action it is said to do and won't go further. If the packet did not match any rules, the kernel will use the default policy defined for that chain.

This beeing said, we can now get into the script.

3. Iptables Script

OK, now that we know the really basis, let see what the script is going to look like.

In this example, I assume that eth0 is the interface connected to the Internet, eth1 is the one connected to our local network.

#!/bin/sh
#
# this script requires iptables package to be
# installed on your machine


# Where to find iptables binary
IPT="/sbin/iptables"

# The network interface you will use
# WAN is the one connected to the internet
# LAN the one connected to your local network
WAN="eth0"
LAN="eth1"
# First we need to clear up any existing firewall rules
# and chain which might have been created
$IPT -F
$IPT -F INPUT
$IPT -F OUTPUT
$IPT -F FORWARD
$IPT -F -t mangle
$IPT -F -t nat
$IPT -X

# Default policies: Drop any incoming packets
# accept the rest.
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# To be able to forward traffic from your LAN
# to the Internet, we need to tell the kernel
# to allow ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Masquerading will make machines from the LAN
# look like if they were the router
$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE

# If you want to allow traffic to specific port to be
# forwarded to a machine from your LAN
# here we forward traffic to an HTTP server to machine 192.168.0.2
#$IPT -t nat -A PREROUTING -i $WAN -p tcp --dport 80 -j DNAT --to 192.168.0.2:80
#$IPT -A FORWARD -i $WAN -p tcp --dport 80 -m state --state NEW -j ACCEPT
# For a whole range of port, use:
#$IPT -t nat -A PREROUTING -i $WAN -p tcp --dport 1200:1300 -j DNAT --to 192.168.0.2
#$IPT -A FORWARD -i $WAN -p tcp --dport 1200:1300 -m state --state NEW -j ACCEPT

# Do not allow new or invalid connections to reach your internal network
$IPT -A FORWARD -i $WAN -m state --state NEW,INVALID -j DROP

# Accept any connections from the local machine
$IPT -A INPUT -i lo -j ACCEPT
# plus from your local network
$IPT -A INPUT -i $LAN -j ACCEPT

# Here we define a new chain which is going to handle
# packets we don't want to respond to
# limit the amount of logs to 10/min
$IPT -N Firewall
$IPT -A Firewall -m limit --limit 10/minute -j LOG --log-prefix "Firewall: "
$IPT -A Firewall -j DROP

# log those packets and inform the sender that the packet was rejected
$IPT -N Rejectwall
$IPT -A Rejectwall -m limit --limit 10/minute -j LOG --log-prefix "Rejectwall: "
$IPT -A Rejectwall -j REJECT
# use the following instead if you want to simulate that the host is not reachable
# for fun though
#$IPT -A Rejectwall -j REJECT --reject-with icmp-host-unreachable

# here we create a chain to deal with unlegitimate packets
# and limit the number of alerts to 10/min
# packets will be drop without informing the sender
$IPT -N Badflags
$IPT -A Badflags -m limit --limit 10/minute -j LOG --log-prefix "Badflags: "
$IPT -A Badflags -j DROP

# A list of well known combination of Bad TCP flags
# we redirect those to the Badflags chain
# which is going to handle them (log and drop)
$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ACK,URG URG -j Badflags
$IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j Badflags
$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j Badflags
$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ALL ALL -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j Badflags
$IPT -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j Badflags

# Accept certain icmp message, drop the others
# and log them through the Firewall chain
# 0 => echo reply
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
# 3 => Destination Unreachable
$IPT -A INPUT -p icmp --icmp-type 3 -j ACCEPT
# 11 => Time Exceeded
$IPT -A INPUT -p icmp --icmp-type 11 -j ACCEPT
# 8 => Echo
# avoid ping flood
$IPT -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/second -j ACCEPT
$IPT -A INPUT -p icmp -j Firewall

# Accept ssh connections from the Internet
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# or only accept from a certain ip
#$IPT -A INPUT -i $WAN -s 125.124.123.122 -p tcp --dport 22 -j ACCEPT

# Accept related and established connections
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Drop netbios from the outside, no log, just drop
$IPT -A INPUT -p udp --sport 137 --dport 137 -j DROP

# Finally, anything which was not allowed yet
# is going to go through our Rejectwall rule
$IPT -A INPUT -j Rejectwall


3.1. Iptables default settings


First of all, we define where iptables binary is located and to make the script easier to attapt to other situation, we define the interface as WAN and LAN.


So, if your machine uses eth1 as the interface connected to the Internet and eth0 connected to your local network, simply change:



WAN="eth0"

LAN="eth1"



to



WAN="eth1"

LAN="eth0"



Then we clean up iptables by flushing all the chain and tables:



$IPT -F xxx



and deleting all the optional user-defined chains:



$IPT -X



Then we define the default policies:



$IPT -P xxx



Which is to DROP any packet which is destinated to the local machine if they were not accepting, ACCEPT any packet which is going out of the local machine or going to/coming from our LAN if they were not discarded yet.



3.2. To and From Local Network


Because we want to be able to forward traffic, we need to say so to the kernel. This is what is done by setting /proc/sys/net/ipv4/ip_forward to 1.



Then, we need to tell the kernel to masquerade all outgoing traffic. This is what is achieved by triggering:



$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE



Masquerading has the effect of allowing all computer from your internal network to access the internet. These machines will be seen as if there were the router itself.



Now, suppose you want your apache server on machine 192.168.0.2 to be visible from the outside. You need to tell the firewall to send those packets to machine 192.168.0.2 on port 80, this is what is achieved with:



$IPT -t nat -A PREROUTING -i $WAN -p tcp --dport 80 -j DNAT --to 192.168.0.2:80



But then, you also need to accept new connection on that specific port because, as you will see later on, we by default forbid NEW and INVALID connections coming from the outside to be forwarded.


So, for that specific service, we will allow NEW connections (RELATED and ESTABLISHED being allowed by default) to be forwarded:



$IPT -A FORWARD -i $WAN -p tcp --dport 80 -m state --state NEW -j ACCEPT



And now, let discard any NEW and INVALID connections:



$IPT -A FORWARD -i $WAN -m state --state NEW,INVALID -j DROP



To be able to have your local connection to work properly, you need to accept everything on localhost. This is done with:



# Accept any connections from the local machine

$IPT -A INPUT -i lo -j ACCEPT



We do not need to use the statement $IPT -A OUTPUT -i lo -j ACCEPT because the default OUTPUT policy is set to ACCEPT


If your default policy is different, you might have to add this statement



Then, because in our example we trust our local network (not a wise thing to do though), we need to allow any incoming connections from our LAN:



# plus from your local network

$IPT -A INPUT -i $LAN -j ACCEPT



3.3. Defining custom chains


In order to get a easier to maintain iptables script, it is handy to define some custom chains, also called user-defined chains. This way, you can gather common actions into 1 chain, then, using our target switch (-j) we will be able to send packets that match specific rules to that target.


In order to create a user-defined chain, we need to use:



iptables -N chain_name



and then simply add rules to that chain using the usual:



iptables -A chain_name [rules ...] -j target



Okie, now that this is explained, we are going to create 3 user-defined chains which are going to log packet matching rules to be sent to this specific chain:




  • Firewall: is going to log packets by prepending "Firewall: " and DROP them, as you will see, this will only deal with ICMP


  • Rejectwall: is going to log packets (prepending "Rejectwall: ") that were not accepted my any previous rules


  • Badflags: is going to log packets which TCP flags are not properly set. Some kind of packets are usually used during attack. (prepending "Badflags: ")



The bit of code that deals with the chain creation and which append rules to it is:



# Here we define a new chain which is going to handle

# packets we don't want to respond to


# limit the amount of logs to 10/min


$IPT -N Firewall


$IPT -A Firewall -m limit --limit 10/minute -j LOG --log-prefix "Firewall: "


$IPT -A Firewall -j DROP


# log those packets and inform the sender that the packet was rejected


$IPT -N Rejectwall


$IPT -A Rejectwall -m limit --limit 10/minute -j LOG --log-prefix "Rejectwall: "


$IPT -A Rejectwall -j REJECT


# use the following instead if you want to simulate that the host is not reachable


# for fun though


#$IPT -A Rejectwall -j REJECT --reject-with icmp-host-unreachable


# here we create a chain to deal with unlegitimate packets


# and limit the number of alerts to 10/min


# packets will be drop without informing the sender


$IPT -N Badflags


$IPT -A Badflags -m limit --limit 10/minute -j LOG --log-prefix "Badflags: "


$IPT -A Badflags -j DROP



As you can see, there is a new target (action), namely LOG. LOG is a specific target that logs the packet to /var/log/messages usually. LOG is a non-terminating target, this means that the packet is going to continue to the next rule after being logged.


by using the --log-prefix you can specify what is going to be prepended to your log.



So let's take the example of chain "Firewall".

First we create the chain: $IPT -N Firewall


Then, we ask the kernel to log the packet and to prepend "Firewall: " to the log string. But because we don't want our logs to be flooded by such logs, we cap the number of logs related to the Firewall chain to 10/minute: $IPT -A Firewall -m limit --limit 10/minute -j LOG --log-prefix "Firewall: "


Finally, after we logged the packet, we are simply going to DROP it: $IPT -A Firewall -j DROP



3.4. Using those rules


Creating user-defined chain will now make it easier and faster for us to operate specific actions on packets.


Let's go through the block of statements related to bad TCP flags:



# A list of well known combination of Bad TCP flags

# we redirect those to the Badflags chain


# which is going to handle them (log and drop)


$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ACK,URG URG -j Badflags


$IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j Badflags


$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j Badflags


$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ALL ALL -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j Badflags


$IPT -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j Badflags



As you can see, for any of the packet matching a rule, we simply have to send the packet to the "Badflags" chain. If we were not using user-defined chains, the first statement would look like:



$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -m limit --limit 10/minute -j LOG --log-prefix "Badflags: "

$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP



So this would be twice as much work :s. Now, imagine you want to change the target from DROP to REJECT, you simply have to edit 1 line instead of 11 :)



Those badflags rules are well known combinations of illegitimated TCP flags settings. Normal application should not use those, this is why we can DROP those packets safely.



Now, we are going to allow only a small set of ICMP packets. In our example, we want our firewall to be able to receive information such as Timeout (type 11), Host unreachable (type 3) and we want it to reply to pings (type 8 ) and get replies to ping initiated from our firewall (type 0).


In order to do this, we ACCEPT any ICMP packets which contains one of the following code type and then pass all other ICMP packets code to our Firewall chain.



# Accept certain icmp message, drop the others

# and log them through the Firewall chain


# 0 => echo reply


$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT


# 3 => Destination Unreachable


$IPT -A INPUT -p icmp --icmp-type 3 -j ACCEPT


# 11 => Time Exceeded


$IPT -A INPUT -p icmp --icmp-type 11 -j ACCEPT


# 8 => Echo


# avoid ping flood


$IPT -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/second -j ACCEPT


$IPT -A INPUT -p icmp -j Firewall



Note the -m limit --limit 1/second, by doing such, our firewall is going to reply to only 1 ping per second, any other ping will be logged (up to 10/min and then DROPped) through the Firewall chain



3.5. Traffic from the Internet


After we have dealt with not well formed packets and icmp packets, we should apply some global rules to streams coming from the outside (remember that our default policy for OUTPUT packets is ACCEPT, so we don't have to allow those).



The basic idea here is to only allow streams that are related to a previous connection (useful for FTP for instance) or already established.

But, we are going to make one exception for SSH because we want to be able to connect to our box from the outside.



We achieve this by accepting any ssh packets from the outside and then only connections in state RELATED or ESTABLISHED



# Accept ssh connections from the Internet

$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT


# or only accept from a certain ip


#$IPT -A INPUT -i $WAN -s 125.124.123.122 -p tcp --dport 22 -j ACCEPT


# Accept related and established connections


$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT



Then we are going to DROP silently netbios scan from the outside:



# Drop netbios from the outside, no log, just drop

$IPT -A INPUT -p udp --sport 137 --dport 137 -j DROP



And finally, REJECT any other packet through our user-defined chain Rejectwall:



$IPT -A INPUT -j Rejectwall



4. Using iptables'script



4.1. From the command line


One way to apply the rules we define, is simply to run the script from the command line like:



sudo sh /path/to/firewall-script.sh



but this has the bad effect of not being restore on reboot :s, but still, this will be of great help while tweaking up your firewall.



4.2. Using /etc/rc.local


/etc/rc.local is a custom file where you can add scripts to be executed at the end of each multiuser runlevel.



By default, this file only contain exit 0.


In order to have your iptables firewall script executed on reboot, simply add the path to your firewall script before exit 0.



Copy your firewall script file to /etc/firewall-script.sh for instance. Then make it executable:



sudo chmod 700 /etc/firewall-script.sh



Then edit /etc/rc.local and add /etc/firewall-script.sh before exit 0



Next time you are going to reboot, this script is going to be executed and therefore, your firewall set up restored.



4.3. Using /etc/network/if-up.d/ directory


This one is a bit more tricky.

Once you are done with setting up your firewall script, you will save it to the iptables format by trigerring:



$sudo sh /path/to/firewall/script.sh

$sudo iptables-save > /etc/firewall-iptables.conf



Now, open and edit /etc/network/if-up.d/iptables and make it look like:



#!/bin/sh
iptables-restore < /etc/firewall-iptables.conf


Then make it executable:



sudo chmod +x /etc/network/if-up.d/iptables



Finally, we need a way to set up /proc/sys/net/ipv4/ip_forward to 1. This can be achieved through /etc/sysctl.conf.


Simply add the following entry if not already there:



net.ipv4.ip_forward=1



which will set /proc/sys/net/ipv4/ip_forward to 1 next time you reboot.



We could have also used /etc/firewall-script.sh instead of the iptables-restore trick, but this way, you can see another way to do it



Reboot, your firewall should be up again :)



4.4. Once upon a time


Debian used to have this great /etc/init.d/iptables init script which allowed you to restore iptables settings on boot up, stop your firewall ...

This script is now gone... so we have got to do it by ourself now :(



4.5. Rescue script


A handy script to have around is a script that can erase all chains and rules in case you are getting lost with your firewall breakages. The following script will clear up all rules and reset all chain so your firewall will be inactive. I suggest you copy it and keep it somewhere close to you in case of emergency.



#!/bin/bash
IPT='/sbin/iptables'

for a in `cat /proc/net/ip_tables_names`; do
${IPT} -F -t $a
${IPT} -X -t $a

if [ $a = nat ]; then
${IPT} -t nat -P PREROUTING ACCEPT
${IPT} -t nat -P POSTROUTING ACCEPT
${IPT} -t nat -P OUTPUT ACCEPT
elif [ $a = mangle ]; then
${IPT} -t mangle -P PREROUTING ACCEPT
${IPT} -t mangle -P INPUT ACCEPT
${IPT} -t mangle -P FORWARD ACCEPT
${IPT} -t mangle -P OUTPUT ACCEPT
${IPT} -t mangle -P POSTROUTING ACCEPT
elif [ $a = filter ]; then
${IPT} -t filter -P INPUT ACCEPT
${IPT} -t filter -P FORWARD ACCEPT
${IPT} -t filter -P OUTPUT ACCEPT
fi
done


5. Conclusion



This tutorial covered iptables in order to set up a linux firewall which will share your internet connection amongst computer from your local network.


By explaining iptables basis, you should now be able to improve your script so you can allow or disallow specific types of traffic.



This is not the most secure set up though. Best practice would be to set up a policy which disallow all traffic by default and then only allow the traffic you believe that should be permitted.



Finally we went through different ways of recovering iptables setting on reboot.



Hope this helps and will give you enough basis to customize your firewall.

Setup mail server on Debian Linux using Exim 4 and Courier IMAP

http://www.spencerstirling.com/computergeek/email.html

Linux Home networking

Linux Home Networking

The Linux File Server Project

The Linux Web Server Project

Advanced Linux Topics

Our Cisco Configuration Guides

Install Ubuntu Server 8.04 on PowerMac G5 (powerpc)

1. Download Ubuntu Server 8.04 LTS server CD (Powerpc).
2. Boot from CD.
3. Start installation… (Guided Partitioning using entire disk.)
4. DO NOT reboot the system when installation is done. (Because the yaboot.conf was not properly set. It causes the system cannot start) Ctrl+Alt+F2 or Ctrl+Alt+F3 and login to a terminal:
1) chroot /target

2) nano /etc/yaboot.conf

boot=/dev/sda2
#device=/disk@0:
device=hd:
ofboot=sd0:2


3) ybin –v
5.  If you have restarted without modifying yaboot.conf, you will need to boot with an Ubuntu 8.04 desktop powerpc CD and
a. Open an terminal window:
mkdir /mnt/sda2
mount /dev/sda2 /mnt/sda2
vi /mnt/sda2/etc/yaboot.conf
ybin –v –C /mnt/sda2/etc/yaboot.conf
b. Restart the computer

See also: http://ubuntuforums.org/showthread.php?t=439629&page=3

Online book: A byte of VIM

A byte of VIM

Linux下的游戏模拟器

Linux下的游戏模拟器

extjs-public: public svn repository

Since ExtJS does not provide a public Subversion repository, this project will endeavour to keep an up-to-date version of the latest release available. This will allow other projects integrating ExtJS to create an external include to this project, thus allowing updates to be automatic.

extjs: DWR Proxy


Ext.data.DWRProxy = function (f) {
Ext.data.DWRProxy.superclass.constructor.call(this);
this.func = f;
};

Ext.extend(Ext.data.DWRProxy, Ext.data.DataProxy, {
load : function(params, reader, loadCallback, scope, arg) {
var dataProxy = this;
dataProxy.fireEvent("beforeload", dataProxy, params);
var args = [];
for (var param in params) {
args[args.length] = params[param];
}
args[args.length] = {
callback: function(response) {
dataProxy.fireEvent("load", dataProxy, response, loadCallback);
var records = reader.read(response);
loadCallback.call(scope, records, arg, true);
},
exceptionHandler: function(message) {
dataProxy.fireEvent("loadexception", dataProxy, response, loadCallback, e);
loadCallback.call(scope, null, arg, false);
}
};

this.func.apply(this, args);
}
});


Original post: http://extjs.com/forum/showthread.php?t=19529

Extjs: XmlReader record mapping problem

The problem is described here.


Ext.onReady(function(){
var readerTop10 = new Ext.data.XmlReader({
record: 'top10_product'
}, [
{name: 'unid', mapping: '@id'},
{name: 'product', mapping: new String()}
]);

var storeTop10 = new Ext.data.Store({
url: 'http://someurl.xml',
reader: readerTop10
});

var gridTop10 = new Ext.grid.GridPanel({
store: storeTop10,
columns: [
{header: "ID", dataindex:'unid'},
{header: "Product", dataindex: 'product'}
],
renderTo:document.body,
loadMask: true,
title:'Top 10 producten',
});

storeTop10.load();
});

PC Magzine: 2009 free software collections

PC Magzine: 2009 free software collections

文学期刊及当代小说

文学期刊及当代小说

Java: How to convert java.net.URL to java.io.File?


File f;
try {
f = new File(url.toURI());
} catch(URISyntaxException e) {
f = new File(url.getPath());
}


More detail: Kohsuke Kawaguchi's Blog

双语菜谱:热菜类

摘自[小妖新浪博客]

 

佛跳墙 Fotiaoqiang (Steamed Abalone with Shark’s Fin and Fish Maw)

宫保鸡丁KungPao Chicken

清蒸童子鸡 Steamed Pullet

红烧狮子头 Braised Pork Balls in Soy Sauce(用棕色调料炖烂的肉丸)

白菜豆腐焖酥肉:Braised Pork Cubes with Tofu and Chinese Cabbage

鲍鱼红烧肉 :Braised Pork with Abalone

鲍汁扣东坡肉:Braised Dongpo Pork with Abalone Sauce

百叶结烧肉 :Stewed Pork Cubes and Tofu Skin in Brown Sauce

碧绿叉烧肥肠 :Steamed Rice Rolls with BBQ Pork Intestines and Vegetables

潮式椒酱肉 :Fried Pork with Chili Soy Sauce,Chaozhou Style

潮式凉瓜排骨 :Spare Ribs with Bitter Melon,Chaozhou Style

豉油皇咸肉 :Steamed Preserved Pork in Black Sauce

川味小炒 :Shredded Pork with Vegetables, Sichuan Style

地瓜烧肉 :Stewed Diced Pork and Sweet Potatoes

东坡方肉 :Braised Dongpo Pork

冬菜扣肉 :Braised Pork with Preserved Vegetables

方竹笋炖肉 :Braised Pork with Bamboo Shoots

干煸小猪腰 :Fried Pig Kidney with Onion

干豆角回锅肉:Sautéed Spicy Pork with Dried Beans

干锅排骨鸡 :Griddle Cooked Spare Ribs and Chicken

咕噜肉 :Gulaorou (Sweet and Sour Pork with Fat)

怪味猪手 :Braised Spicy Pig Feet

黑椒焗猪手 :Baked Pig Feet with Black Pepper

红烧狮子头 :Stewed Pork Ball in Brown Sauce

脆皮乳猪 :Crispy BBQ Suckling Pig

回锅肉片 :Sautéed Sliced Pork with Pepper and Chili

木耳肉片 :Sautéed Sliced Pork with Black Fungus

煎猪柳 :Pan-Fried Pork Filet

酱烧排骨 :Braised Spare Ribs in Brown Sauce

酱猪手 :Braised Pig Feet in Brown Sauce

椒盐肉排 :Spare Ribs with Spicy Salt

椒盐炸排条 :Deep-Fried Spare Ribs with Spicy Salt

金瓜东坡肉 :Braised Dongpo Pork with Melon

京酱肉丝 :Sautéed Shredded Pork in Sweet Bean Sauce

焗肉排 :Baked Spare Ribs

咖喱肉松煸大豆芽 :Sautéed Minced Pork with Bean Sprouts in Curry Sauce

腊八豆炒腊肉 :Sautéed Preserved Pork with Fermented Soy Beans

腊肉炒香干 :Sautéed Preserved Pork with Dried Tofu Slices

榄菜肉菘炒四季豆 :Sautéed French Beans with Minced Pork and Olive Pickles

萝卜干腊肉 :Sautéed Preserved Pork with Dried Radish

毛家红烧肉 :Braised Pork,Mao's Family Style

米粉扣肉 :Steamed Sliced Pork Belly with Rice Flour

蜜汁火方 :Braised Ham in Honey Sauce

蜜汁烧小肉排 :Stewed Spare Ribs in Honey Sauce

木须肉 :Sautéed Sliced Pork, Eggs and Black Fungus

南瓜香芋蒸排骨 :Steamed Spare Ribs with Pumpkin and Taro

砂锅海带炖排骨 :Stewed Spare Ribs with Kelp en Casserole

砂锅排骨土豆 :Stewed Spare Ribs with Potatoes en Casserole

什菌炒红烧肉 :Sautéed Diced Pork with Assorted Mushrooms

什菌炒双脆 :Sautéed Chicken Gizzard and Tripe with Assorted Mushrooms

手抓琵琶骨 :Braised Spare Ribs

蒜香椒盐肉排 :Deep-Fried Spare Ribs with Minced Garlic and Spicy Salt

笋干焖腩肉 :Braised Tenderloin (Pork) with Dried Bamboo Shoots

台式蛋黄肉 :Steamed Pork with Salted Egg Yolk, Taiwan Style

碳烧菠萝骨 :BBQ Spare Ribs with Pineapple

碳烧排骨 :BBQ Spare Ribs

糖醋排骨 :Sweet and Sour Spare Ribs

铁板咖喱酱烧骨 :Sizzling Spare Ribs with Curry Sauce

铁板什锦肉扒 :Sizzling Mixed Meat

无锡排骨 :Fried Spare Ribs, Wuxi Style

鲜果香槟骨 :Spare Ribs with Champagne and Fresh Fruit

咸鱼蒸肉饼 :Steamed Pork and Salted Fish Cutlet

香蜜橙花骨 :Sautéed Spare Ribs in Orange Sauce

湘味回锅肉 :Sautéed Pork with Pepper, Hunan Style

蟹汤红焖狮子头 :Steamed Pork Ball with Crab Soup

雪菜炒肉丝 :Sautéed Shredded Pork with Potherb Mustard

油面筋酿肉 :Dried Wheat Gluten with Pork Stuffing

鱼香肉丝 :Yu-Shiang Shredded Pork (Sautéed with Spicy Garlic Sauce)

孜然寸骨 :Sautéed Spare Ribs with Cumin

走油蹄膀 :Braised Pig's Knuckle in Brown Sauce

火爆腰花 :Sautéed Pig's Kidney

腊肉炒香芹 :Sautéed Preserved Pork with Celery

梅樱小炒皇 :Sautéed Squid with Shredded Pork and Leek

糖醋里脊 :Fried Sweet and Sour Tenderloin (Lean Meat)

鱼香里脊丝 :Yu-Shiang Shredded Pork (Sautéed in Spicy Garlic Sauce)

珍菌滑炒肉 :Sautéed Pork with Mushrooms

什烩肉 :Roast Pork with Mixed Vegetables

芥兰肉 :Sautéed Pork with Chinese Broccoli

子姜肉 :Sautéed Shredded Pork with Ginger Shoots

辣子肉 :Sautéed Pork in Hot Pepper Sauce

咖喱肉 :Curry Pork

罗汉肚 :Pork Tripe Stuffed with Meat

水晶肘 :Stewed Pork Hock

九转大肠 :Braised Intestines in Brown Sauce

锅烧肘子配饼 :Deep-Fried Pork Hock with Pancake

两吃干炸丸子 :Deep-Fried Meat Balls with Choice of Sauces

腐乳猪蹄 :Stewed Pig Feet with Preserved Tofu

豆豉猪蹄 :Stewed Pig Feet with Black Bean Sauce

木耳过油肉 :Fried Boiled Pork with Black Fungus

海参过油肉 :Fried Boiled Pork with Sea Cucumber

蒜茸腰片 :Sautéed Pork Kidney with Mashed Garlic

红扒肘子 :Braised Pork Hock in Brown Sauce

芫爆里脊丝 :Sautéed Shredded Pork Filet with Coriander

酱爆里脊丝配饼 :Fried Shredded Pork Filet in Soy Bean Paste with Pancake

溜丸子 :Sautéed Fried Meat Balls with Brown Sauce

烩蒜香肚丝 :Braised Pork Tripe Shreds with Mashed Garlic in Sauce

四喜丸子 :Four-Joy Meatballs (Meat Balls Braised with Brown Sauce)

清炸里脊 :Deep-Fried Pork Filet

软炸里脊 :Soft-Fried Pork Filet

尖椒里脊丝 :Fried Shredded Pork Filet with Hot Pepper

滑溜里脊片 :Quick-Fried Pork Filet Slices with Sauce

银芽肉丝 :Sautéed Shredded Pork with Bean Sprouts

蒜香烩肥肠 :Braised Pork Intestines with Mashed Garlic

尖椒炒肥肠 :Fried Pork Intestines with Hot Pepper

溜肚块 :Quick-Fried Pork Tripe Slices

香辣肚块 :Stir-Fried Pork Tripe Slices with Chili

芫爆肚丝 :Sautéed Pork Tripe Slices with Coriander

软溜肥肠 :Quick-Fried Pork Intestines in Brown Sauce

芽菜回锅肉 :Sautéed Sliced Pork with Scallion and Bean Sprouts

泡萝卜炒肉丝 :Sautéed Pork Slices with Pickled Turnip

米粉排骨 :Steamed Spare Ribs with Rice Flour

芽菜扣肉 :Braised Pork Slices with Bean Sprouts

东坡肘子 :Braised Dongpo Pork Hock with Brown Sauce

川式红烧肉 :Braised Pork,Sichuan Style

米粉肉 :Steamed Pork with Rice Flour

夹沙肉 :Steamed Pork Slices with Red Bean Paste

青豌豆肉丁 :Sautéed Diced Pork with Green Peas

蚂蚁上树 :Sautéed Vermicelli with Spicy Minced Pork

芹菜肉丝 :Sautéed Shredded Pork with Celery

青椒肉丝 :Sautéed Shredded Pork with Green Pepper

扁豆肉丝 :Sautéed Shredded Pork and French Beans

冬笋炒肉丝 :Sautéed Shredded Pork with Bamboo Shoots

炸肉茄合 :Deep-Fried Eggplant with Pork Stuffing

脆皮三丝卷 :Crispy Rolls of Shreded Pork, Sea Cucumber and Bamboo Shoots

烤乳猪 :Roasted Suckling Pig

红烧蹄筋 :Braised Pig Tendon in Brown Sauce

清蒸猪脑 :Steamed Pig Brains

蛋煎猪脑 :Scrambled Eggs with Pig Brains

菜远炒排骨 :Sautéed Spare Ribs with Greens

椒盐排骨 :Crispy Spare Ribs with Spicy Salt

芋头蒸排骨 :Steamed Spare Ribs with Taro

蝴蝶骨 :Braised Spare Ribs

无骨排 :BBQ Spare Ribs Off the Bone

辣白菜炒五花肉 :Sautéed Streaky Pork with Cabbage in Chili Sauce

酒醉排骨 :Spare Ribs in Wine Sauce

无骨排 :BBQ Boneless Spare Ribs

香辣猪扒 :Grilled Pork with Spicy Sauce

云腿芥菜胆 :Sautéed Chinese Broccoli with Ham

板栗红烧肉 :Braised Pork with Chestnuts

小炒脆骨 :Sautéed Gristles

酸豆角肉沫 :Sautéed Sour Beans with Minced Pork

五花肉炖萝卜皮 :Braised Streaky Pork with Turnip Peel

腊肉红菜苔 :Sautéed Preserved Pork with Red Vegetables

竹筒腊肉 :Steamed Preserved Pork in Bamboo Tube

盐煎肉 :Fried Pork Slices with Salted Pepper

猪肉炖粉条 :Braised Pork with Vermicelli

芸豆焖猪尾 :Braised Pigtails with French Beans

干豇豆炖猪蹄 :Braised Pig Feet with Dried Cowpeas

豉汁蒸排骨 :Steamed Spare Ribs in Black Bean Sauce

蛋黄狮子头 :Stewed Meat Ball with Egg Yolk

    牛肉类 Beef

XO酱炒牛柳条 :Sautéed Beef Filet in XO Sauce

爆炒牛肋骨 :Sautéed Beef Ribs

彩椒牛柳 :Sautéed Beef Filet with Bell Peppers

白灼肥牛 :Scalded Beef

菜胆蚝油牛肉 :Sautéed Sliced Beef and Vegetables in Oyster Sauce

菜心扒牛肉 :Grilled Beef with Shanghai Greens

川北牛尾 :Braised Oxtail in Chili Sauce, Sichuan Style

川汁牛柳 :Sautéed Beef Filet in Chili Sauce, Sichuan Style

葱爆肥牛 :Sautéed Beef with Scallion

番茄炖牛腩 :Braised Beef Brisket with Tomato

干煸牛肉丝 :Sautéed Shredded Beef in Chili Sauce

干锅黄牛肉 :Griddle Cooked Beef and Wild Mushrooms

罐焖牛肉 :Stewed Beef en Casserole

锅仔辣汁煮牛筋丸 :Stewed Beef Balls with Chili Sauce

锅仔萝卜牛腩 :Stewed Beef Brisket with Radish

杭椒牛柳 :Sautéed Beef Filet with Hot Green Pepper

蚝皇滑牛肉 :Sautéed Sliced Beef in Oyster Sauce

黑椒牛肋骨 :Pan-Fried Beef Ribs with Black Pepper

黑椒牛柳 :Sautéed Beef Filet with Black Pepper

黑椒牛柳粒 :Sautéed Diced Beef Filet with Black Pepper

黑椒牛柳条 :Sautéed Beef Filet with Black Pepper

黑椒牛排 :Pan-Fried Beef Steak with Black Pepper

红酒烩牛尾 :Braised Oxtail in Red Wine

胡萝卜炖牛肉 :Braised Beef with Carrots

姜葱爆牛肉 :Sautéed Sliced Beef with Onion and Ginger

芥兰扒牛柳 :Sautéed Beef Filet with Chinese Broccoli

金蒜煎牛籽粒 :Pan-Fried Beef with Crispy Garlic

牛腩煲 :Braised Beef Brisket en Casserole

清汤牛丸腩 :Consommé of Beef Balls

山药牛肉片 :Sautéed Sliced Beef with Yam

石烹肥牛 :Beef with Chili Grilled on Stone Plate

时菜炒牛肉 :Sautéed Beef with Seasonal Vegetable

水煮牛肉 :Poached Sliced Beef in Hot Chili Oil

酥皮牛柳 :Crispy Beef Filet

铁板串烧牛肉 :Sizzling Beef Kebabs

铁板木瓜牛仔骨 :Sizzling Calf Ribs with Papaya

铁板牛肉 :Sizzling Beef Steak

土豆炒牛柳条 :Sautéed Beef Filet with Potatoes

豌豆辣牛肉 :Sautéed Beef and Green Peas in Spicy Sauce

鲜菇炒牛肉 :Sautéed Beef with Fresh Mushrooms

鲜椒牛柳 :Sautéed Beef Filet with Bell Peppers

豉汁牛仔骨 :Steamed Beef Ribs in Black Bean Sauce

香芋黑椒炒牛柳条 :Sautéed Beef with Black Pepper and Taro

香芋烩牛肉 :Braised Beef with Taro

小炒腊牛肉 :Sautéed Preserved Beef with Leek and Pepper

小笋烧牛肉 :Braised Beef with Bamboo Shoots

洋葱牛柳丝 :Sautéed Shredded Beef with Onion

腰果牛肉粒 :Sautéed Diced Beef with Cashew Nuts

中式牛柳 :Beef Filet with Tomato Sauce, Chinese Style

中式牛排 :Beef Steak with Tomato Sauce, Chinese Style

孜然烤牛肉 :Grilled Beef with Cumin

孜然辣汁焖牛腩 :Braised Beef Brisket with Cumin

家乡小炒肉 :Sautéed Beef Filet, Country Style

青豆牛肉粒 :Sautéed Diced Beef with Green Beans

豉油牛肉 :Steamed Beef in Black Bean Sauce

什菜牛肉 :Sautéed Beef with Mixed Vegetables

鱼香牛肉 :Yu-Shiang Beef (Sautéed with Spicy Garlic Sauce)

芥兰牛肉 :Sautéed Beef with Chinese Broccoli

雪豆牛肉 :Sautéed Beef with Snow Peas

青椒牛肉 :Sautéed Beef with Pepper and Onions

陈皮牛肉 :Beef with Dried Orange Peel

干烧牛肉 :Dry-Braised Shredded Beef, Sichuan Style

湖南牛肉 :Beef, Hunan Style

子姜牛肉 :Sautéed Shreded Beef with Ginger Shoots

芝麻牛肉 :Sautéed Beef with Sesame

辣子牛肉 :Sautéed Beef in Hot Pepper Sauce

什锦扒牛肉 :Beef Tenderloin with Mixed Vegetables

红烧牛蹄筋 :Braised Beef Tendon in Brown Sauce

三彩牛肉丝 :Stir-Fried Shreded Beef with Vegetables

西兰花牛柳 :Stir-Fried Beef Filet with Broccoli

铁锅牛柳 :Braised Beef Filet in Iron Pot

白灵菇牛柳 :Stir-Fried Beef Filet with Mushrooms

芦笋牛柳 :Stir-Fried Beef Filet with Green Asparagus

豆豉牛柳 :Braised Beef Filet in Black Bean Sauce

红油牛头 :Ox Head with Hot Chili Oil

麻辣牛肚 :Spicy Ox Tripe

京葱山珍爆牛柳 :Braised Beef Filet with Scallion

阿香婆石头烤肉 :Beef BBQ with Spicy Sauce

菜远炒牛肉 :Sautéed Beef with Greens

凉瓜炒牛肉 :Sautéed Beef with Bitter Melon

干煸牛柳丝 :Sautéed Shredded Beef

柠檬牛肉 :Sautéed Beef with Lemon

榨菜牛肉 :Sautéed Beef with Pickled Vegetable

蒙古牛肉 :Sautéed Mongolian Beef

椒盐牛仔骨 :Sautéed Calf Ribs with Spicy Salt

辣白菜炒牛肉 :Sautéed Beef with Cabbage in Chili Sauce

荔枝炒牛肉 :Sautéed Beef with Litchi

野山椒牛肉丝 :Sautéed Shredded Beef with Wild Pepper

尖椒香芹牛肉丝 :Sautéed Shredded Beef with Hot Pepper and Celery

堂煎贵族牛肉(制作方法:黑椒汁、香草汁):Pan-Fried Superior Steak ( with black pepper sauce / vanilla sauce)

香煎纽西兰牛仔骨 :Pan-Fried New Zealand Calf Chop

沾水牛肉 :Boiled Beef

牛肉炖土豆 :Braised Beef with Potatoes

清蛋牛肉 :Fried Beef with Scrambled Eggs

米粉牛肉 :Steamed Beef with Rice Flour

咖喱蒸牛肚 :Steamed Ox Tripe with Curry

芫爆散丹 :Sautéed Ox Tripe with Coriander

    羊肉 Lamb

葱爆羊肉 :Sautéed Lamb Slices with Scallion

大蒜羊仔片 :Sautéed Lamb Filet with Garlic

红焖羊排 :Braised Lamb Chops with Carrots

葱煸羊腩 :Sautéed Diced Lamb with Scallion

烤羊里脊 :Roast Lamb Tenderloin

烤羊腿 :Roast Lamb Leg

卤酥羊腿 :Pot-Stewed Lamb Leg

小炒黑山羊 :Sautéed Sliced Lamb with Pepper and Parsley

支竹羊肉煲 :Lamb with Tofu Skin en Casserole

纸包风味羊排 :Fried Lamb Chops Wrapped in Paper

干羊肉野山菌 :Dried Lamb with Wild Truffles

手扒羊排 :Grilled Lamb Chops

烤羔羊 :Roasted Lamb

蒙古手抓肉 :Mongolian Boiled Lamb

涮羊肉 :Mongolian Hot Pot

红烧羊肉 :Braised Lamb in Brown Sauce

红焖羊肉 :Stewed Lamb in Brown Sauce

清炖羊肉 :Double Boiled Lamb Soup

回锅羊肉 :Sautéed Spicy Lamb

炒羊肚 :Sautéed Lamb Tripe

烤全羊 :Roast Whole Lamb

孜然羊肉 :Fried Lamb with Cumin

羊蝎子 :Lamb Spine Hot Pot

其他肉类 Other Meat

茶树菇炒鹿片 :Sautéed Venison Filet with Tea Tree Mushrooms

馋嘴蛙 :Sautéed Bullfrog in Chili Sauce

笼仔剁椒牛蛙 :Steamed Bullfrog with Chili Pepper

泡椒牛蛙 :Sautéed Bullfrog with Pickled Peppers

麻辣玉兔腿 :Sautéed Rabbit with Hot Spicy Sauce

炸五丝筒全蝎 :Deep-Fried Rolls with Five Shreds Filling and Scorpion

酸辣蹄筋 :Hot and Sour Beef Tendon

温拌腰片 :Spicy Pig Kidney

鱼腥草拌米线 :Special Rice Noodles

辣味红扒鹿筋 :Spicy Deer Tendon

爽口碧绿百叶 :Tasty and Refreshing Ox Tripe

炸炒脆鹿柳 :Deep-Fried Crispy Deer Filets

水煮鹿里脊 :Sautéed Deer Tenderloin in Hot Chili Oil

山城血旺 :Sautéed Eel with Duck Blood Curd

红烧家兔 :Braised Rabbit

红烧鹿肉 :Braised Venison in Brown Sauce

炸麻雀 :Fried Sparrow

麻辣鹿筋 :Braised Spicy Deer Tendon

 

主食

锅贴 Guotie(Pan-friedDumpling)

馄饨 Wonton

饺子 Jiaozi

包子 Baozi

馒头 Mantou

豆腐 To-fu

双语菜谱:凉菜类

摘自[小妖新浪博客]

白菜心拌蜇头:Marinated Jellyfish and Chinese Cabbage in Vinaigrette

白灵菇扣鸭掌 :Mushrooms with Duck Feet

拌豆腐丝 :Shredded Tofu with Sauce

白切鸡 :Boiled Chicken with Sauce

拌双耳 :Tossed Black and White Fungus

冰梅凉瓜 :Bitter Melon in Plum Sauce

冰镇芥兰 :Chinese Broccoli with Wasabi

朝鲜辣白菜 :Korean Cabbage in Chilly Sauce

朝鲜泡菜 :Kimchi

陈皮兔肉 :Rabbit Meat with Tangerine Flavour

川北凉粉 :Clear Noodles in Chilly Sauce

刺身凉瓜 :Bitter Melon with Wasabi

豆豉多春鱼 :Shisamo in Black Bean Sauce

夫妻肺片 :Pork Lungs in Chili Sauce

干拌牛舌 :Ox Tongue in Chili Sauce

干拌顺风 :Pig Ear in Chili Sauce

怪味牛腱 :Spiced Beef Shank

红心鸭卷 :Sliced Duck Rolls with Egg Yolk

姜汁皮蛋 :Preserved Eggs in Ginger Sauce

酱香猪蹄 :Pig Feet Seasoned with Soy Sauce

酱肘花 :Sliced Pork in Soy Sauce

金豆芥兰 :Chinese Broccoli with Soy Beans

韭黄螺片 :Sliced Sea Whelks with Hotbed Chives

老北京豆酱 :Traditional Beijing Bean Paste

老醋泡花生 :Peanuts Pickled in Aged Vinegar

凉拌金针菇 :Golden Mushrooms and Mixed Vegetables

凉拌西芹云耳 :Celery with White Fungus

卤水大肠 :Marinated Pork Intestines

卤水豆腐 :Marinated Tofu

卤水鹅头 :Marinated Goose Heads

卤水鹅翼 :Marinated Goose Wings

卤水鹅掌 :Marinated Goose Feet

卤水鹅胗 :Marinated Goose Gizzard

卤水鸡蛋 :Marinated Eggs

卤水金钱肚 :Marinated Pork Tripe

卤水牛腱 :Marinated Beef Shank

卤水牛舌 :Marinated Ox Tongue

卤水拼盘 :Marinated Meat Combination

卤水鸭肉 :Marinated Duck Meat

萝卜干毛豆 :Dried Radish with Green Soybean

麻辣肚丝 :Shredded Pig Tripe in Chili Sauce

美味牛筋 :Beef Tendon

蜜汁叉烧 :Honey-Stewed BBQ Pork

明炉烧鸭 :Roast Duck

泡菜什锦 :Assorted Pickles

泡椒凤爪 :Chicken Feet with Pickled Peppers

皮蛋豆腐 :Tofu with Preserved Eggs

乳猪拼盘 :Roast Suckling Pig

珊瑚笋尖 :Sweet and Sour Bamboo Shoots

爽口西芹 :Crispy Celery

四宝烤麸 :Marinated Bran Dough with Peanuts and Black Fungus

松仁香菇 :Black Mushrooms with Pine Nuts

蒜茸海带丝 :Sliced Kelp in Garlic Sauce

跳水木耳 :Black Fungus with Pickled Capsicum

拌海螺 :Whelks and Cucumber

五彩酱鹅肝 :Goose Liver with White Gourd

五香牛肉 :Spicy Roast Beef

五香熏干 :Spicy Smoked Dried Tofu

五香熏鱼 :Spicy Smoked Fish

五香云豆 :Spicy Kidney Beans

腌三文鱼 :Marinated Salmon

盐焗鸡 :Baked Chicken in Salt

盐水虾肉 :Poached Salted Shrimps Without Shell

糟香鹅掌 :Braised Goose Feet in Rice Wine Sauce

酿黄瓜条 :Pickled Cucumber Strips

米醋海蜇 :Jellyfish in Vinegar

卤猪舌 :Marinated Pig Tongue

三色中卷 :Squid Rolls Stuffed with Bean, Ham and Egg Yolk

蛋衣河鳗 :Egg Rolls Stuffed with Eel

盐水鹅肉 :Goose Slices in Salted Spicy Sauce

冰心苦瓜 :Bitter Melon Salad

五味九孔 :Fresh Abalone in Spicy Sauce

明虾荔枝沙拉 :Shrimps and Litchi Salad

五味牛腱 :Spicy Beef Shank

拌八爪鱼 :Spicy Cuttlefish

鸡脚冻 :Chicken Feet Galantine

香葱酥鱼 :Crispy Crucian Carp in Scallion Oil

蒜汁鹅胗 :Goose Gizzard in Garlic Sauce

黄花素鸡 :Vegetarian Chicken with Day Lily

姜汁鲜鱿 :Fresh Squid in Ginger Sauce

桂花糯米藕 :Steamed Lotus Root Stuffed with Sweet Sticky Rice

卤鸭冷切 :Spicy Marinated Duck

松田青豆 :Songtian Green Beans

色拉九孔 :Abalone Salad

凉拌花螺 :Cold Sea Whelks with Dressing

素鸭 :Vegetarian Duck

酱鸭 :Duck Seasoned with Soy Sauce

麻辣牛筋 :Spicy Beef Tendon

醉鸡 :Liquor-Soaked Chicken

可乐芸豆 :French Beans in Coca-Cola

桂花山药 :Chinese Yam with Osmanthus Sauce

豆豉鲫鱼 :Crucian Carp with Black Bean Sauce

水晶鱼冻 :Fish Aspic

酱板鸭 :Spicy Salted Duck

烧椒皮蛋 :Preserved Eggs with Chili

酸辣瓜条 :Cucumber with Hot and Sour Sauce

五香大排 :Spicy Pork Ribs

三丝木耳 :Black Fungus with Cucumber and Vermicelle

酸辣蕨根粉 :Hot and Sour Fern Root Noodles

小黄瓜蘸酱 :Small Cucumber with Soybean Paste

拌苦菜 :Mixed Bitter Vegetables

蕨根粉拌蛰头 :Fern Root Noodles with Jellyfish

老醋黑木耳 :Black Fungus in Vinegar

清香苦菊 :Chrysanthemum with Sauce

琥珀核桃 :Honeyed Walnuts

杭州凤鹅 :Pickled Goose, Hangzhou Style

香吃茶树菇 :Spicy Tea Tree Mushrooms

琥珀花生 :Honeyed Peanuts

葱油鹅肝 :Goose Liver with Scallion and Chili Oil

拌爽口海苔 :Sea Moss with Sauce

巧拌海茸 :Mixed Seaweed

蛋黄凉瓜 :Bitter Melon with Egg Yolk

龙眼风味肠 :Sausage Stuffed with Salty Egg

水晶萝卜 :Sliced Turnip with Sauce

腊八蒜茼蒿 :Crown Daisy with Sweet Garlic

香辣手撕茄子 :Eggplant with Chili Oil

酥鲫鱼 :Crispy Crucian Carp

水晶鸭舌 :Duck Tongue Aspic

卤水鸭舌 :Marinated Duck Tongue

香椿鸭胗 :Duck Gizzard with Chinese Toon

卤水鸭膀 :Marinated Duck Wings

香糟鸭卷 :Duck Rolls Marinated in Rice Wine

盐水鸭肝 :Duck Liver in Salted Spicy Sauce

水晶鹅肝 :Goose Liver Aspic

豉油乳鸽皇 :Braised Pigeon with Black Bean Sauce

酥海带 :Crispy Seaweed

脆虾白菜心 :Chinese Cabbage with Fried Shrimps

香椿豆腐 :Tofu with Chinese Toon

拌香椿苗 :Chinese Toon with Sauce

糖醋白菜墩 :Sweet and Sour Chinese Cabbage

姜汁蛰皮 :Jellyfish in Ginger Sauce

韭菜鲜桃仁 :Fresh Walnuts with Leek

花生太湖银鱼 :Taihu Silver Fish with Peanuts

生腌百合南瓜 :Marinated Lily Bulbs and Pumpkin

酱鸭翅 :Duck Wings Seasoned with Soy Sauce

萝卜苗 :Turnip Sprouts

八宝菠菜 :Spinach with Eight Delicacies

竹笋青豆 :Bamboo Shoots and Green Beans

凉拌苦瓜 :Bitter Melon in Sauce

芥末木耳 :Black Fungus with Mustard Sauce

炸花生米 :Fried Peanuts

小鱼花生 :Fried Silver Fish with Peanuts

德州扒鸡 :Braised Chicken, Dezhou Style

清蒸火腿鸡片 :Steamed Sliced Chicken with Ham

熏马哈鱼 :Smoked Salmon

家常皮冻 :Pork Skin Aspic

大拉皮 :Tossed Mung Clear Noodles in Sauce

蒜泥白肉 :Pork with Garlic Sauce

鱼露白肉 :Boiled Pork in Anchovy Sauce

酱猪肘 :Pork Hock Seasoned with Soy Sauce

酱牛肉 :Beef Seasoned with Soy Sauce

红油牛筋 :Beef Tendon in Chili Sauce

卤牛腩 :Marinated Beef Brisket in Spiced Sauce

泡椒鸭丝 :Shredded Duck with Pickled Peppers

拌茄泥 :Mashed Eggplant with Garlic

糖拌西红柿 :Tomato Slices with Sugar

糖蒜 :Sweet Garlic

腌雪里蕻 :Pickled Potherb Mustard

凉拌黄瓜 :Cucumber in Sauce

夫妻肺片 Beef and Ox Tripe in Chili Sauce(泡在辣椒酱里的牛肉和牛内脏)

Java: Redirect System.out and System.err to a JTextArea component

	private class TextAreaOutputStream extends FilterOutputStream {

private JTextArea textArea;

public TextAreaOutputStream(JTextArea textArea) {
super(new ByteArrayOutputStream());
this.textArea = textArea;
}

public void write(byte b[]) throws IOException {
textArea.append(new String(b));
}

public void write(byte b[], int off, int len) throws IOException {
textArea.append(new String(b, off, len));
}

}

logTextArea = new JTextArea();
PrintStream logPrintStream = new PrintStream(new TextAreaOutputStream(
logTextArea));
System.setErr(logPrintStream);
System.setOut(logPrintStream);

Tar file size limit


The quick answer is: 2^63-1 for the archive, 68'719'476'735 (8^12-1)
bytes for each file, if your environment permits that.

as I understand your question, you want to know if you can produce tar
files that are biger than 2 GBytes (and how big you can really make
them). The answer to this question depends on a few simple parameters:

1) Does your operating system support large files?
2) What version of tar are you using?
3) What is the underlying file system?

You can answer question 1) for yourself by verifying that your kernel
supports 64bit file descriptors. For Linux this is the case for
several years now. A quick look in /usr/include/sys/features.h will
tell you, if there is any line containing 'FILE_OFFSET_BITS'. If there
is, your OS very very probably has support for large files.

For Solaris, just check whether 'man largefile' works, or try 'getconf
-a|grep LARGEFILE'. If it works, then you have support for large files
in the operating system. Again, support for large files has been there
for several years.

For other operating systems, try "man -k large file', and see what you
get -- I'll be gladly providing help if you need to ask for
clarification to this answer. Something like "cd /usr/include; grep
'FILE_OFFSET_BITS' * */*" should tell you quickly if there is standard
large file support.

2) What version of tar are you using? This is important. Obviously,
older tar programs won't be able to handle files or archives that are
larger than 2^31-1 bytes (2.1 Gigabytes). Try running 'tar --version'.
If the first line indicates you are using gnu tar, then any version
newer than 1.12.64 will in principle be able to provide you with large
files. Try to run this command: "strings `which tar`|grep 64", and you
should see some lines saying lseek64, creat64, fopen64. If yes, your
tar contains support for large files.

If your tar program does not contain support for large files (most
really do, but maybe you are working on a machine older than 1998?),
you can download the newest gnu tar from
ftp://ftp.gnu.org/pub/gnu/tar
and compile it for yourself.

The size of files you put into a tar archive (not the archive itself)
is limited to 11 octal digits, the max. size of a single file is thus
ca. 68 GBytes.

3) Given that both your operating system (and C library), and tar
application support large files, the only really limiting factor is
the file system that you try to create the file in. The theoretical
limit for the tar archive size is 2^63-1 (9'223'372 Terabytes), but
you will reach more practical limits (disk or tape size) much quicker.
Also take into consideration what the file system is. DOS FAT 12
filesystems don't allow files as big as the Linux EXT2, or Sun UFS
file systems.

If you need more precise data (for a specific file system type, or for
the OS, etc.) please do not hesitate to ask for clarification.

Load image resources in Java

Suppose you place icon.gif file in com.xxx.app.resources folder, you want to load the image in com.xxx.app.YourTest.java class.

You can:

import java.awt.Toolkit;
import java.awt.Image;
public class YourTest {
public void loadImage(){
Image image = Toolkit.getDefaultToolkit().createImage(
StoreSCP.class.getResource("resources/icon.gif"));
... ...
}
}




or you can:



import java.awt.Toolkit;
import java.awt.Image;
import java.net.URL;
public class YourTest {
public void loadImage(){
URL url = ClassLoader.getSystemResource("com/xxx/app/resources/icon.gif");
Image image = Toolkit.getDefaultToolkit().createImage(url);
... ...
}
}

How to add, modify, or delete registry subkeys and values by using a registration entries (.reg) file

From: http://support.microsoft.com/kb/310516

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 (http://support.microsoft.com/kb/322756/ ) How to back up and restore the registry in Windows

This step-by-step article describes how to add, modify, or delete registry subkeys and values by using a Registration Entries (.reg) file. Regedit.exe uses .reg files to import and export registry subkeys and values. You can use these .reg files to remotely distribute registry changes to several Windows-based computers. When you run a .reg file, the file contents merge into the local registry. Therefore, you must distribute .reg files with caution.

Syntax of .Reg Files

A .reg file has the following syntax:
RegistryEditorVersion
Blank line
[RegistryPath1]
"DataItemName1"="DataType1:DataValue1"
DataItemName2"="DataType2:DataValue2"
Blank line
[RegistryPath2]
"DataItemName3"="DataType3:DataValue3"
where:
RegistryEditorVersion is either "Windows Registry Editor Version 5.00" for Windows 2000, Windows XP, and Windows Server 2003, or "REGEDIT4" for Windows 98 and Windows NT 4.0. The "REGEDIT4" header also works on Windows 2000-based, Windows XP-based, and Windows Server 2003-based computers.
Blank line is a blank line. This identifies the start of a new registry path. Each key or subkey is a new registry path. If you have several keys in your .reg file, blank lines can help you to examine and to troubleshoot the contents.
RegistryPathx is the path of the subkey that holds the first value you are importing. Enclose the path in square brackets, and separate each level of the hierarchy by a backslash. For example:

[HKEY_LOCAL_ MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]

A .reg file can contain several registry paths. If the bottom of the hierarchy in the path statement does not exist in the registry, a new subkey is created. The contents of the registry files are sent to the registry in the order you enter them. Therefore, if you want to create a new subkey with another subkey below it, you must enter the lines in the correct order.
DataItemNamex is the name of the data item that you want to import. If a data item in your file does not exist in the registry, the .reg file adds it (with the value of the data item). If a data item does exist, the value in your .reg file overwrites the existing value. Quotation marks enclose the name of the data item. An equal sign (=) immediately follows the name of the data item.
DataTypex is the data type for the registry value and immediately follows the equal sign. For all the data types other than REG_SZ (a string value), a colon immediately follows the data type. If the data type is REG_SZ , do not include the data type value or colon. In this case, Regedit.exe assumes REG_SZ for the data type. The following table lists the typical registry data types:

Collapse this tableExpand this table

Data Type
DataType in .reg

REG_BINARY
hexadecimal

REG_DWORD
dword

REG_EXPAND_SZ
hexadecimal(2)

REG_MULTI_SZ
hexadecimal(7)

For more information about registry data types, click the following article number to view the article in the Microsoft Knowledge Base:

256986 (http://support.microsoft.com/kb/256986/ ) Description of the Microsoft Windows registry

DataValuex immediately follows the colon (or the equal sign with REG_SZ) and must be in the appropriate format (for example, string or hexadecimal). Use hexadecimal format for binary data items.
Note You can enter several data item lines for the same registry path.
Note the registry file should contain a blank line at the bottom of the file.

 

Adding Registry Subkeys or Adding and Changing Registry Values
To add a registry subkey or add or change a registry value, make the appropriate changes in the registry, and then export the appropriate subkey or subkeys. Exported registry subkeys are automatically saved as .reg files. To make changes to the registry and export your changes to a .reg file, follow these steps:
  1. Click Start, click Run, type regedit in the Open box, and then click OK.
  2. Locate and then click the subkey that holds the registry item or items that you want to change.
  3. Click File, and then click Export.
    This step backs up the subkey before you make any changes. You can import this file back into the registry later if your changes cause a problem.
  4. In the File name box, type a file name to use to save the .reg file with the original registry items, and then click Save.
    Note Use a file name that reminds you of the contents, such as a reference to the name of the subkey.
  5. In the right pane, add or modify the registry items you want.
  6. Repeat steps 3 and 4 to export the subkey again, but use a different file name for the .reg file. You can use this .reg file to make your registry changes on another computer.
  7. Test your changes on the local computer. If they cause a problem, double-click the file that holds the backup of the original registry data to return the registry to its original state. If the changes work as expected, you can distribute the .reg you created in step 6 to other computers by using the methods in the "Distributing Registry Changes" section of this article.

 

Deleting Registry Keys and Values
To delete a registry key with a .reg file, put a hyphen (-) in front of the RegistryPath in the .reg file. For example, to delete the Test subkey from the following registry key:

HKEY_LOCAL_MACHINE\Software

put a hyphen in front of the following registry key in the .reg file:

HKEY_LOCAL_MACHINE\Software\Test

The following example has a .reg file that can perform this task.

[-HKEY_LOCAL_MACHINE\Software\Test]

To delete a registry value with a .reg file, put a hyphen (-) after the equals sign following the DataItemName in the .reg file. For example, to delete the TestValue registry value from the following registry key:

HKEY_LOCAL_MACHINE\Software\Test

put a hyphen after the "TestValue"= in the .reg file. The following example has a .reg file that can perform this task.

HKEY_LOCAL_MACHINE\Software\Test
"TestValue"=-

To create the .reg file, use Regedit.exe to export the registry key that you want to delete, and then use Notepad to edit the .reg file and insert the hyphen.

 

Renaming Registry Keys and Values
To rename a key or value, delete the key or value, and then create a new key or value with the new name.

 

Distributing Registry Changes
You can send a .reg file to users in an e-mail message, put a .reg file on a network share and direct users to the network share to run it, or you can add a command to the users' logon scripts to automatically import the .reg file when they log on. When users run the .reg file, they receive the following messages:

Registry Editor
Are you sure you want to add the information in path of .reg file to the registry?

If the user clicks Yes, the user receives the following message:

Registry Editor
Information in path of .reg file has been successfully entered into the registry.

Regedit.exe supports a /s command-line switch to not display these messages. For example, to silently run the .reg file (with the /s switch) from a login script batch file, use the following syntax:

regedit.exe /s path of .reg file

You can also use Group Policy or System Policy to distribute registry changes across your network. For additional information, visit the following Microsoft Web site:

http://msdn2.microsoft.com/en-us/library/ms954395.aspx (http://msdn2.microsoft.com/en-us/library/ms954395.aspx)

Note If the changes work, you can send the registration file to the appropriate users on the network.

Repairing Windows Live Mail Quick Views

Window's Live Mail(WLM) 'Quick views' can 'break' when a folder is deleted in WLM(within an Account or under the Storage Folders), un-subscribing to a newsgroup, or by deletion of an RSS Feed.
Common symptoms of a broken/corrupted 'Quick views'  are an inaccurate message counter; a failure to display current messages; or a failure to display messages received, copied, or moved since the corruption.
To repair the Quick Views counter's functionality a registry edit is necessary(see Note of Caution below)

Repair Method:

… …
4.  Navigate(in the left hand pane) to the following location:
     HKEY_CURRENT_USER\Software\Microsoft\Windows Live Mail\
5.  Click on Windows Live Mail(left hand pane) to reveal the key's content
6.  Using the cursor/scroll bar(right hand pane) find the entry 'SearchFolderVersion'
    - This entry is in the field/column with a header titled 'Name'
7.  Click on 'SearchFolderVersion' to highlight that single key
8.  Delete the entry  'SearchFolderVersion'
… …

More Detail: http://liveunplugged.spaces.live.com/Blog/cns!F92775FC46A390CA!205.entry

NFS Exports on Mac OS 10.5 Leopard

1. To create and /etc/exports file:

sudo vi /etc/exports

/Volumes/neonate -32bitclients -maproot=nobody -sec=sys -network 192.168.0.0 -mask 255.255.0.0
/Volumes/bigmac -32bitclients -maproot=nobody -sec=sys -network 192.168.0.0 -mask 255.255.0.0
/Volumes/primal -32bitclients -maproot=nobody -sec=sys -network 192.168.0.0 -mask 255.255.0.0


1). The -maproot switch maps the root NFS User to nobody so that the client root user cannot modify/remove files on the file server. This is usually considered an good choice.

2). Using the -network and -mask switches to share the directories to any machine on the specified internal network.

3). –32bitclients is an important switch to solve the problem: Apple HFS+ over NFS 64 server has problems with 32bit non-Mac clients (Linux/Unix).

2. Now check if it is working:

sudo nfsd update

sudo nfsd checkexports

showmount -e

See Also: [ NFS share export options ("-32bitclients") where to set? ]

BBC Learning English (BBC 英语教学网站)

http://www.bbc.co.uk/worldservice/learningenglish/

Ant for Eclipse FAQ

Frequently Asked Questions

Overview

- How do I resolve container or variable classpath entries?

- How can I use projects where the name differs from the folder name?

- How does ant4eclipse treats "Web App Libraries" container introduced by the WTP?

- How do I copy all referenced jars of an eclipse project?

- How do I write reusable build files?

- How to use a Makefile in combination with Ant?

- How to copy resources from the multiple source folders?

- My project uses Eclipse variables ? How can I support this?

- How do I build my Eclipse plugin/feature projects?

A tip for IE 7 + XMLHttpRequest

to have your cross-browser AJAX work better with IE7, you really should be invoking the native XMLHttpRequest (the cross-browser one) first to see if it’s available before instantiating the ActiveX control, instead of the other way around. … …

“Secure Storage” in Eclipse Ganymede is forced paranoia

http://it.newinstance.it/2008/07/17/secure-storage-in-ganymede-is-forced-paranoia/

转帖:刚出国闹的笑话

本文选自《绿茶》的博客

1.有次房东问我 did u eat anything yet? (你吃饭了吗?)我说no.(没吃)

她听后重复了一遍 so u didn’t eat anything. (所以你还没吃饭)我说 yes...(吃了)

房东老太太犹豫了下 又问did u eat?(你到底吃了没) 我说 no.(没有) 她接着说 so u didn’t eat .(所以你没吃?)

我说 yes .....(吃了)

估计她当时要崩溃了

2.刚上班不久,有个公司的A/R打电话来催支票,我循例问了一下他是哪间公司打来的,那男的很有礼貌的说:“This is xxx calling from Beach Brother.”(我是Beach Brother的xxx)听懂了很开心,不过由于对公司名字还不熟,心想先用笔记下来公司名,省得等下忘记了,正得意忘形之间,顺嘴开始拼写人家公司的名字,还说得一本正经:“b.i.t.c.h……bitch, correct?(贱货,荡妇)”……那男的终于还是没能忍住怒火,近似于怒吼似的对我喊道:" NO!!! B.E.A.C.H……BEACH!!!!!!(海滩)"

接下来的一年里,没再跟这间公司又过任何生意往来......汗

3.读语言学校的时候, 一个哥们很爱讲, 和老师聊天练习英语, 口沫横飞了半天, 那老师很生气的说 dont speak chinese to me.

4,打工的时候,有一个长得很高很壮的老外男的想约我出去,我对那种长相的人真的不感兴趣,又不知道该怎么拒绝,最后说了一句:I’m only sixteen(我才16). 他疯了。

5.我男朋友以前在温哥华乘skytrain的时候,一个白人女人说:I am sorry(对不起). 他直接说: you are welcome(不客气). 对方都呆了。

6.我一个朋友,想在家做饭,家里没有油,就去超市买了一瓶回来,开火,放油,然后锅里开始出现大量泡沫,接着烧了起来……回头一问房东,他买的是洗洁精……

7.第一次跟老外去打painball,玩的是抢旗的那种。由于第一次玩,一直跟着个看起来很专业的队友跑,一路上躲着子弹跑到对方的base. 我们人都挂了,对方就剩一个人在看老家。就听那老外跟我说了一大堆术语,我也没听懂。他看我没听懂就跟我说:it’s easy just cover me when i go out. 说完了就喊了一声 cover me! 然后跑了出去,我也不懂他是让我掩护他,没等我想清楚他就跑了。我就顺手从一个箱子上扯下来一块帆布,丢他头上,把他盖住了。结果他就光荣牺牲了。当时大部分人都挂了,在旁边观战。所有人都笑趴了。

8.刚来,迷路了,问一外国小姑娘回家的路

人家告诉了我,我本想说thank you来的

结果说成了F*** you

人家小姑娘脸立刻就白了......

后来,我都说thanks, 不敢说thank you了,到现在都是

9.上次不知道是什么事情把我惹怒了,情急之下我本来要说: FUCK YOU!! 但是却说成FUCK ME!!! 那来外开始愣了一下, 后来他说: u wanna say me ?? OR you?? 晕...我连吵架的气势都没了.

10. 讲一个我老公的笑话:去年过情人节,我让他买点牛排回来。出门前怕他忘记了,就给写了一张纸条。吃饭的时候他说他去LOBLAW买牛排的时候,给店员说来两块T-BACK牛排,店员愣住,他以为店员没有听清楚,又重复了一遍,T-BACK STEAK PLEASE!店员这次听到了,顿时石化!我老公见店员愣在那里,连忙把我写的纸条递过去,那小伙子一看,上书:T-BONE STEAK!这回轮到我老公石化,尴尬不已了!

11.一个好朋友刚来加拿大,有一天口渴了想喝可乐。去到便利店很大声的说EXCUSE ME, DO YOU HAVE COKE? 可是我朋友刚出国,英文尚有很重的口音,好端端的COKE让她说出来就变成了 EXCUSE ME, DO YOU HAVE COCK?店主听得一惊一乍的,连连说:WHAT??? WHAT ? 最后店主终于弄明白她想要喝可乐,钱货两清之后,见我朋友多半是初来乍到,还很好心的给我朋友说以后去买可乐不能再问别人有没有COCK了,那样很让人误会!本来我朋友完全不知道发生了什么事,可是店主解释以后恨不得立刻找个地缝钻进去!后来很长一段时间都不喝可乐了!

12.刚来的时候有一次跟一个兄弟去吃饭,那大哥吃饱以后指著满桌剩下的碟子一边划圈一边问服务生how much, all this, how much?服务生五官扭曲的看著他。。。。。我最后实在忍不住了,告服务生说他想买单,结果服务生走以后他还不爽,说人服务生就快明白了我打什么岔。。。

13.我刚来的时候邻居小孩看见我跟我说what’s up(最近怎样?). 我疑惑的朝天上看了半天然后说了句up?那孩子顿时无语。

14.老黑跟我说的是sup(what's up 的简称).......我没听懂....我也回, 瑟~~~

15.刚来的时候看到很多大厦门口都有 smoke free(可以吸烟)..... 我由衷的感叹..加拿大就是好,抽烟都免费

...朋友那个汗......

16.还有一次是去MC, 问朋友 圣代 的英文怎么说, 他就说是音译 sundae, 我茅塞顿开, 恍然大悟,十分自信的说了一句....那 奶昔 是不是叫 nancy ???? 朋友当场喷可乐.........

17.小学在国内刚学英语的时候 有一天老师问大家土豆用英语怎么说?

全体同学很整齐的回答 “today”

18.第一次打电话叫TAXI......

对方问where you from.....我回答CHINA,还在奇怪叫taxi还分国籍~?对方可能以为我在搞 笑,很郁闷的说 sorry, we can not do that(抱歉我们去不了).....我一听...火大...怎么有种族歧视啊..就问: why~?对方楞了半天,挂了.....

19.我朋友的事, 有一回,她去买pizza,人家问她选配料。

她想要mushroom(蘑菇),结果她说MashMaro(流氓兔),人家疯了~~

20.说一个听来的笑话

刚到US的朋友,到了纽约,想去看自由女神,但是不知道路.于是乎在路边抓了一个白老

--Hi, do you know where is the free woman(你知道哪里可以找到不要钱的女人)?

白老愣了半天,支支吾吾

--I... don’t know...Tell me when you know it(我不知道,你要是知道也告诉我一下).

21.写信 From / To写反了,邮了两天回到自己家......

22.有一天去kfc, 要土豆泥,不会说,就在那里根cashier苦喊potato sauce,

她以为我sb呢,

然后,丫给我了7,8带ketchup........

被鄙视了~~~~~

23.在加拿大帮老外拔火罐,但是罐很容易掉,我的英语不好,我解释说you have too much fur.他听了之后大笑 :it is hair ,not fur, fur is for animal.我也大笑了起来。

24.有一天看见我住的HOUSE门前插了个人照片拍子,以为房东要卖房,照片上的人是房产经纪。

第二天日,突然发现,周围一片都被插上同样的牌子,心想这个经纪厉害。出去转了一天感觉不对,所到之处都是他在卖房,太NB了,还没见过一夜之间全城的房子都给一个经纪垄断了……研究一下才知道,妈的,选举广告……汗

25,朋友老爸跟一鬼佬吵架,鬼佬骂FUCK(操),他恶狠狠回:DOUBLE FUCK(操两次) 猛啊~

26.我朋友刚来的时候不认识什么人, 所以在班上试图交朋友, 一日, 觉得一白人哥们人挺好,于是想要人家电话号码,日后做朋友, 于是问: HOW MANY IS YOU PHONE NUMBER? (你电话号码多少位数字?)

白人说:TEN. (加拿大号码是十位的)

27.有个人来还钱,去银行说从他哪里直接转账过来,他是这样说的:“put my card money to her card (把我卡里的钱放在她的卡里,中式英语)”……然后看到那个bank的职员, 整个五官扭成一团……好好笑

28.刚来的时候,去BURGER KING去吃饭,点完汉堡,人家问我要酱不,我说要,人家问,哪种?我忘了番茄酱咋说了,想了半天,想出了个JAM,人家还听不懂,最后一赌气说,IT’S UP TO YOU(你说了算).

29.刚来去ESL,跟老师请假后去JOB FAIR.回来老师在班上问如何?

我想说太多老外. 答了:TOO MANY FORIENGERS!(太多老外了)

老师说: YOU ARE THE FORIENGER IN CANADA.(在加拿大你是老外)

30.刚来加拿大的时候去酒吧玩……而且还带了一个美美去的,她在国外呆了很一段时间……我看她很吊的样子,于是我就装的很帅,走过去打算请她喝酒,于是我问她,喝什么酒,她说……sex ON THE beach……但是当时很吵,我也压根不知道酒吧里都啥酒名, 听成 son of bitch...当时我也愣了下,然后吧台很性感的bartender(酒保)已经在等我叫酒, 我回头大声地喊,can i have a son of bitch(来一杯狗娘养的)……接下来……我不想再回忆

31.有一次听到同学在打电话投诉rogers乱收费,打的是英文客服,结果越骂越激动,最后来了一句I am very HUNGRY now!

那老大原本是想说I am very angry now……客服啥反应我是不知道了,那老大讲完自己就石化了,我已经倒地了……

32.在homestay住 然后想洗澡 跟房东说了后 房东说 go ahead 我当时寻思 去个头的意思是能去还是不能去啊

hahahah!!!!!!

33.有次买车票,工作人员问我 one way? 我回答:No,two way....他又问了我几遍我的答案还是一样的。。。结果那人很郁闷的看着我~~~后来才反应过来自己还在中文的思维中~~~我把他的意思解释为One way=一位?我们是两个人,所以two way=两位

34.第一次去唐人街吃粥,当时服务员都讲广东话。我 叫了个果子(油条)和一碗粥。不久服务员就端了杯桔子汁, 我以为送的, 什么都没说,粥都喝完了,油条还没来。 准备结帐时和服务员抱怨没吃到果子。 服务员说:你的“果汁”不是喝了么

35.突然想起还有一个朋友在语言学校时的东北一小哥的笑话,不过那男孩是好心……

那天那小哥下课快到家了,结果看到两辆车撞了,他就出于好心报警了,“Hi, My name is XXX, a car ed a car, I see red water ,plz cal Wuliwuli come"

解释一下,a car ed a car 就是car crash(撞车), red water他是想说blood(血),wuliwuli是ambulance(救护车),因为ambulance的声音是这个……

其实他是想说:there’s a car crash here, someone injured plz call ambulance come over. 最搞得是,police竟然听明白了,警车和ambulance马上就到了……牛啊!!!

36.我的一个朋友说,当时他一个不懂英文的朋友刚来多伦多,自己一个人出去了,迷路了然后打电话给他,他说没关系你把你现在呆的地方路名拼给我听,他朋友一个字母一个字母地拼出来了“S ---T--O--P" (车站),我那朋友当场就乐傻啦!

37.刚来上发现老外都喜欢用铅笔,所以去book store跟风买铅笔和橡皮。找不到橡皮就问do you have ruber.人家笑笑说让我去phamacy(药店)买。郁闷……为什么去药店买橡皮,去了药店问do you have ruber.人家笑笑拿给我一盒避孕套。我倒~~!!原来加拿大管橡皮叫eraser.

38.刚来的时候 经常说you too....结果我生日那天 我的homestay mom 买了个生日蛋糕给我,还跟我说happy birthday...结果我很快的就来了句 you too...(你也是)

39.还有刚来加拿大的时候去买快餐,英文很烂我就说i want combo one,(大号的)后来那个人又说了一大堆英文问我要洋葱cheese(奶酪)么之类的?我听不懂就一个劲说i want combo one,后来我看见那个人像中国人,我就直接问他Can you spell Chinese? (你能拼写中文吗?)然后那个人郁闷了好久我为啥问他能能拼chinese..后来才发现是speak不是spell............丢脸

40.想起来一个 是一同学第一次去吃McDonald

结果进去后一紧张,大声说了句:i want to this han baobao,边说边指

对方一时不知所措,我那同学又重复了n遍...

41.小时候不清楚Family跟Husband 的分别, 上学没多久老师问我“衣服很好看, 谁买的?”我居然弱弱的答“My Husband”。

42.有个朋友来加拿大第一次去吃牛排,服务员问How would you like your steak done? 我朋友没听懂,就听别人点的时候说medium , 他就想“我不能跟他们学”。

他就跟服务员说,large please.

服务员一愣,说sorry we don’t have that. 然后他又说,small please.

服务员又吓了一跳,说sorry we don’t have that.

他身边的朋友着急了,告诉他,人家问你牛排要几分熟。他随口就说80%。服务员又一愣说,sorry we don’t have that……

43.刚来没多久,BMO打电话给我介绍很多关于银行服务得东西,我一直答:" ok,ok,ok" ,然后她一直说一直说,说了大概10-15分钟,似乎讲完的意思,我完全听不懂,然后说了一句" sorry, i don’t understand." 最后换她说了一句,“ok”然后就挂线了!

44.刚来加拿大的时候,去学校上课谁都不认识,然后中午自己吃饭.听同学说有家的咖啡很不错,然后就想去买.然后走错地方了,跑一个法国餐厅了,然后就坐下来了,点了个最便宜的。

吃完饭,不知道咋埋单。然后看到隔壁桌有个男的说....bill

就听到bill这个词了,然后就把服务生叫过来说

i am finished,bill bill~

然后还顺势用手做手枪的手势给那女的看

然后人家吓坏了。。。然后叫了俩男的过来 把我朋友也吓坏了

解释了半天 才出去。。。

45.貌似e-mail也很多人出过笑话,有此我上课时,我们老师要给我们发邮件,就让我们一个一个说下邮件地址,轮到我,我直接顺口就说 XXXX圈儿msn点儿com,然后周围几个中国同学暴汗~~~~~

46.一次坐公车,准备下车起来时,不小心碰到了旁边的人,然后下意识的说不好意思,结果那人看着我,什么反映都没有,然后我才意识到,赶紧改口说SORRY.

47.陪朋友去配眼镜,朋友在两副眼镜间挑选,我想问"which one is pricy?" (哪个更贵)结果说成" which one is spicy?"(哪个更辣) .卖眼镜那女的蹬大眼睛望着我......好在我马上改正.

48.我陪朋友去买车,当天逛了很多车行,留的电话全是我的

大家都知道,车行啊餐馆啊打电话给客户的时候都是以超级快的速度说了一大串东西,刚闯加拿大的我怎么听得清楚啊

某日,电话铃响,看电话号码是好像BMW打来的,愉快接听。

-- Hello .#¥%……-*#¥%, It is a great day. @#$%^

--Hello, is it BMW?

对方停顿两秒,声音低两度(估计暴汗)

--No. It’s Toyota and Lexus

   ……

这个估计和在麦当劳柜台问肯德基在哪儿差不多

49.还一个我妈的……我妈一天晚上从超市回来开车,天黑了,倒车的时候,突然喊了句……“妈呀,前面的车无人驾驶啊……”我楞了,仔细一看……是个小黑在开车……

还有我爸一个,跟我爸妈去超市,看见一个好像南美洲的人,我爸说,“你看人家买东西,不看价,啥都要,都往小车里拿……”后来我才明白,那是超市理货员,人家是把不该放那的东西拿走……

50.过关的时候,因为带两个不同颜色的隐形眼镜,海关人员问我怎么回事,当时不会说隐形眼镜,就直接取下来给他看

周围的人都看着特郁闷

51.以前在澳洲读书的时候,有一次,上语言课,老师让造句,意思是没有车的话,我们就不去了。 我一同学直接起来回答: NO CAR NO GO!!!

52.有个ESL的女老师,在白板上写字,我冲她的背影大叫“excuse me, sir."

她转过来说"i need to consider which washroom i should go.(我需要想想要去哪一个厕所)"

53.还记得刚来CA没多久, 周末和几个好朋友去当地的farmer market (农产品市场)凑热闹, 过2天回学校上课,老师问我们周末都有什么活动? 其中一个去的朋友的英文发音实在不敢恭维, 而且是女生,根本不懂英文的脏话,直接就跟prof说: we went to er market in weekend. (周末去了色情市场)我听了差点吐血.....

54.刚来的时候去麦当劳吃饭 没有餐巾 然后跟人说要paper(paper是纸,餐巾纸应该是tissue) 那人过会给我拿来了张白纸 还问do you need a pen?(还要笔吗?) 我狂晕了半天 然后去厕所洗手的

55.同样发生在麦当劳.

我的某人初来报道.跑到M记买面包.之前表现很是不错,一直维持到服务员问here or to go(堂食还是外带)?.第一次接触外带餐这词,还好思维敏捷马上明白过来了,可是嘴上紧张,对着那男服务员直接喊出" Let’s go!" ......服务员石化1秒后,说了句K.

56.刚到时不知听谁说的,加拿大的公车是感应的,你站到后门就能开,我们一溜人下车,其中一个女孩走最前,她脚踩下去后看门没反应,就想,这的老外都那么大体形,是不是因为她太瘦小了,分量不够,门感应不到呀,于是她又上来一个台阶,然后重重的跳下去(其实俺们没拉绳,人家哪知道有人要下车呀)……

57.去吃麦当劳,指着上面的套餐点了个看着顺眼的,人老外问我要喝什么饮料,当时不知道是个套餐,想着还是省钱吧,俺不喝了,就说不用不用,人老外还特地道的问 are u sure(你确定吗)? 我还不知感激的心里想“就不买,就不让你们赚” 哎……亏了

58.学校当时强迫要星期天去教会, 听不懂那个牧师说话, 礼拜完了的时候,我老师很好心跟牧师说我的新学生,祝福他吧,然后牧师把手放我肩上说了一堆#$%^$$#,我不知道怎么react(回应)~~~我也把手放他肩上~~~~~~~~~老师嘴巴变O型了

59.我一朋友,中午去吃汉堡,厨子问他要加什么,他说:tomato, cheese, and washroom (mushroom)(washroom意为厕所,mushroom是蘑菇的意思). 当时所有人流汗到地 -_-

60.一个朋友给我讲的

他刚来的时候去M.C 说了一句“i want a combo 1”

就听casher 说“@#¥#@……%……”(因为不习惯听不懂)

我朋友就说“yes”

然后casher 又说“!#¥%@#¥%”

我朋友说“yes”

后来后面的一个中国人实在忍不住了

告诉他“他问你是要刷卡还是给cash 你yes啥呀???”

61.还有我听朋友讲的。他们一起上ESL,有个大哥每天都坐第一排,特认真的听课,然后有一天老师看他这么认真,上课就主动和他讲话。老师说:how are you?他说:twenty-two.老师忍了下说:what did you do yesterday? 他说:yes……从此老师再没和他对过话~~~

62.我朋友刚来,坐公车。有个传教士类的人特友好的跟他打招呼,说How is going. 他说go to school~~~~~那个人一下就不会了……

63.刚上初中那会儿第一次去学校厕所而且一般都要和OFFICE里的人报告就屁颠屁颠地跑去了,一到那里是个白人大妈值班看到我问我要干啥。。。我想想说厕所(washroom)是不是太土了点就和她说:Where is the bedroom located? I need to pee。然后就看那大妈瞪着我问:excuse me? 我就特傻地继续问:Bedroom, u no where u pee and poo =.= 大妈想了想就微笑地和我说:I’m sorry honey we don’t have a bedroom in school, but if u r looking for a bathroom it’s down the hall. 我当时就汗了,把bathroom说成bedroom =.=|||

64.来的第二年了,我去商店买鞋,然后拿着就去问营业员:is this made of beef or pork ( 俺的意思就是猪皮还是牛皮的),那个营业员的表情到现在都记得。

65.刚来,去SENECA 体育馆打羽毛球,不会说羽毛球, 连手势带比划,看门小姐还是不懂。 急了!!!

大声的说: i want a ball can fly, like a bird. please !

看门小姐一脸迷茫的跟我说了一堆。 我还是没懂。同去的朋友告诉我说:她不负责抓鸟。

66.我舅舅刚来多伦多没多久发生了车祸。警察来了问他当时的情况。他说 I stop, he not, so " BONG" ! * BONG* 就是那撞车的声音

67.刚来不久和爸爸去买东西,买了之后发现隔壁卖的更便宜,就想退货。 人家问为什么要退,我词量有限,就指著我爸说:" he just wants his money back."

68.刚来的时候地理老师叫 Mr.Saker

我叫成了Mr.Sucker

后来地理查点没pass

69.刚来英国的时候跟一个女生去银行开户,一个银行职员很亲切地走上前来,还没开口说话,就听那女生说“May i help you?”职员当时就石化,我就在后面拉她衣服,她侧头跟我说,别捣乱别捣乱。然后又对人家说了一次“MAY I HELP YOU”

70.刚来的时候我们三人行,好朋友,两女一男。有天合伙去市场,那个男生想买茄子,上来就问“how much for one kilometer?” 我和另一个女生觉得太丢脸,默默的闪开装不认识他

71.某某老公刚来的时候英语很不好,坐天车的时候不小心踩了一个白人女的的脚,结果他想躲开的时候不小心又踩了那女的另一只脚…… 然后那女的就瞪着他,他想说“IM SRY”结果一着急就特别大声的说成了“IT‘S OK!”然后那女的就也特别大声的回他一句:“IT’S NOT OK!!”全车人都疯了……

72.一个朋友, 才来英国不都是要去警察局注册嘛,我那个朋友当时英文不是一般的差,他连警察局怎么说都不知道。但是他还是很有勇气,一个人打算去警察局注册。走在路上,他随便抓了一个老爷爷,想问说警察局在哪里。但是他发音不标准,把police说成please,那个老爷爷挣扎了半天,听不懂~于是他着急了: “please啊,wear hat, use gun!”一边说一边还比划动作。终于那个老爷爷听懂了,然后回答他:‘you want to find police? they are everywhere!" 他更着急了,于是大声说“ no no no, i want a group of please, they stand together...." 那个老爷爷这次真的听懂了,原来他是要找police station!于是老爷爷把他带去了,还对police说这个从中国来的小伙子英文不好,他需要帮助.

73.朋友的男朋友好猛,他刚来的时候去超市,人家问他要不要cash back,他还以为买东西还有钱收,就说要!人家问他要多少,他就跟人家说:as much as possible !

74. 她去SHOPPERS买掏耳朵的棉棒 一边做掏耳朵的动作一边问 DO U HAVE CONDOM STICK? 店员巨迷茫的两手一摊WHAT? 我朋友立马使劲掏耳朵CONDOM啊,CONDOM STICK啊...演了半天,店员恍然大悟DO U MEAN COTTON Q TIPS? (CONDOM:安全套)

75.说个我朋友的,他叫李硕,刚来英国第二天有个老外问他说:r u sure (你确定吗)?

他想都没想还笑嘻嘻的跟人说:yes , i am shuo lee(我是李硕)!

76.刚来的时候,住一个寄宿家庭的男生非要请我吃饭,结果就去了麦当劳

他问我你要什么,我帮你点。

我说我就要第一个的那个meal 就行。他说行,我跟你吃一样的。结果老哥上去就跟人家说“Number one two." (一号和二号)点餐的白人听不懂,他跟人家大声地重复了三遍,他自己还特生气。

77.我有一朋友刚来,长的不错,遇一阿×搭讪,那哥们特直接,张口就问我朋友:R u married? (你结婚了吗)我朋友楞了下,来了句:I am not MARY, I am SHERRY. (我不是mary, 我是sherry)她以为人家问她你是MARY吗?

78.我想起来我一同学第一次来英国正好遇上入关检查特严,她妈妈让她给这边的一个朋友带了个金华火腿结果被狗狗闻出来了就被领取office了……

然后officer就要她解释用报纸包起来的东西是什么……

我那同学说leg……

然后那officer一脸被吓到的表情,问了句"Pardon" ……

然后我那朋友很大声重复说leg!

她说我当时想那officer怎么连火腿都不懂,还特地在腿上比划了半天leg啊leg就是leg啊……

79.刚来的时候和朋友打电话去必胜客……他菜单上面是 super supreme 我就很激动的对着电话喊 我要一个 super super me !!!! 对方茫然 我还激动的大喊了好几声 super super me ! 对方继续茫然啊……拼出来以后对方才说哦哦哦 super supreme ..... 一年都没有再定必胜客的东西

80.在网上看到一个人说他同学刚出国闹的笑话,问他最近干什么,他说去看电影,然后问他有什么好电影,他说过两天有一部电影叫“COMING SOON”。

81.当时来英国不久,逛街的时候路上总有很多人发传单,所以就习惯性的会说:NO,THANKS. 结果有次人家给的是新年宣传纸,然后还跟我说:HAPPY NEW YEAR. 然后我很快回答:NO, THANKS

82. 刚来的时候想找份PART TIME的工作,看到有招工的,还有电话,我就打电话过去……当时刚来这里,好怕打电话……之后人家接电话,我一激动就说成:do you need a job?

83, 上英语课.跟同学做interview....

我问她喜欢做什么..她说...hanging out in the cafeteria with friends...

我当时就奇怪...为什么她喜欢吊在餐厅呢?

然后我去问那个助教...

我还做了嗰吊死的动作....

她看到后...笑到疯了....

我却很无奈....hanging out...

84.第一次去超市买胶卷,拿着Durex的果味condom隔着半个超市对着朋友大叫:I found it here.

85.当时不知道微波炉怎么说,然后跟人比画,然后最后再补充“叮”一声……那人先是惊了一下,后来还是知道我们说的是微波炉。