Shell's Home

生活中总有一些小精灵会来敲你的门

Sep 25, 2016 - 1 minute read - Comments

今天家里来了个不速之客。 当时我和老婆吃过饭,正在无聊,不知道去哪里玩,结果听到细微的敲门声。老婆开门出去看看,结果发现是一只灰色的短毛猫。老婆当时就觉得很惊奇,拿出家里放着的猫粮来喂猫。(我们偶尔会下楼喂流浪猫,所以家里留着一点猫粮)可是这只猫根本不吃,反而大摇大摆的走进来巡视了一圈。然后捡了个避光的地方一趴。。。 。。。这霸气,您还真不认生啊。 这是一只灰色的短毛猫,全身的毛蓬松水滑。到底是英短还是美短,很多朋友有分歧。我老婆说是英短。鉴于我的猫咪知识比她差的太远,所以我们就当是英短吧。下腹有一丛白毛,颜色还是雪白的。肚子鼓鼓的,像是怀了孕。见到猫粮根本不馋,可见平时吃的都是高档猫粮,而且才吃饱。进人家家一点都不认生,转了一圈,却不会去床上或者垫子上。 这是一只有主的猫,而且从家里跑出来的时间不会超过半天。 基于这点,老婆很快下楼问了一下物业保安。保安说刚刚一个女的抱了这只猫过来,说是楼里走失的。放在物业就走了。保安也没办法,就锁在厕所。谁知道厕所窗户有条缝,它又顺着窗户跑了。 这身手,一定是从家里偷溜出来的。 那问题就比较麻烦了。如果再抱给物业,想必溜掉的可能性是百分百。要找主人,也不是今天能解决的事情。所以老婆让我先问问附近的朋友,我们附近小区有没有什么地区性网站。自己则是骑车去了超市,买个小盆和猫沙给它先用着。我趁着老婆出门的功夫,发了一条推和一条朋友圈。然后才有功夫仔细观察这只猫。 而这只猫趁我们刚刚在那里忙的功夫,在房间里乱转,到处乱翻,还翻倒了老婆养的花。我赶忙拿扫帚扫掉泥土,以免踩的乱七八糟的。然后唠叨了它两句,结果它坐下来,扒着我的裤子喵了一句。 不知为何,我瞬间明白了它想干什么,跟着汗就下来了。 女王大人您行行好,我老婆给您买猫沙去了,买来之前可千万忍住了啊。。。 然后它继续。。。在家里翻箱倒柜,还差点碰倒了老婆养的插花(底下盛水的那种)。我没办法,只能一路跟着女王大人跑。然后不知为何,想起了英国内阁首席捕鼠官Larry The Cat和它的跟班们。可是这回我可没办法唠叨了,长的好看就是有优势。何况人有三急,猫想必也有。 正尴尬中,老婆回来了。于是我们赶紧放好小盆,铺猫沙。女王大人一点不客气的坐了上去,然后开始刨。。。 没有刨猫沙了。它不小心弄翻了猫沙盆,看来这个厕所对它来说实在是太小了。 等三急落定,它又在屋子里转了一圈。看它这次的行动,像是找地方休息,而且特别偏爱有顶棚的阴暗空间。我猜它原来一定有自己的猫房子,只是我们这里没有,只能委屈它了。等它拣了个好地方趴下,我们稍微合计了一下下面怎么办。从朋友圈上面的反馈来看,很多朋友都很喜欢这只猫,甚至有朋友看到找主人三个字就直接来和我们说要养。我们倒是不担心它的去处,可是从他的种种细节来看,原主一定很宠它,现在应该很着急。可是大晚上的,就算要找也无从入手,所以先让它住着明天再说吧。 结果这只猫居然主动跑过来和我买萌了。我摸了摸它的背,然后摸了摸它的肚子。这个,好像。。。老婆你来摸摸看?老婆也摸了一圈。用一种不可置信的语气说。好像,难道。。。是太肥了? 卖过一圈萌,这只猫突然抬起头来四处张望。老婆没反应,我却觉得不对。细听外面,有喊人名字的声音。我赶快让老婆出去问是不是在找猫。 是。 什么颜色的? 灰色的。 好好,有平时的生活照么?进来给我们看看。 有。 老婆一看,就是这只。 主人进门,大喊一声阿呆(还真是呆,2333),眼圈整个红了。然后猫就蹭了上去。 看来是正主。 主人说,他们家在我们楼上两层,这只猫是扒开窗户缝自己跑出来的(果然是惯犯)。他回家发现猫不见了,就赶快出门找,一直找到现在。结合我们知道的消息。这只猫不知如何的,到了一楼。刚跑出楼去,就被一个女的抱了回来,交给了保安。随后它就从保安的厕所逃了出来。又不知怎么的,到了我家这层。在我家门口探头探脑的敲门,给我们瞧了个正着。 主人说,它运气真好。中间只要差一点点,它就很可能回不来了。我说这得说我们运气好。 恩? 不是每天,都有一个小精灵,带着一个完美的故事来敲门的。

最近的阿里月饼事件

Sep 15, 2016 - 1 minute read - Comments

相信大家都听说过了,原帖在这里。阿里的声明在这里。我简单说一些吧。 拿js秒杀抢一堆月饼是不好的,当事人也承认这点。不过哪里不好大家观点不一。当事人强调“代码错误”和“好奇测试”。从安全部的职位来说,不是说不过去。不过很明显公司不这么认为。这事扯不上价值观,也不能扯上价值观。如果要扯价值观的话,你就得想想。让一群做渗透出身,见墙上有个圈都要不信邪钻一下的人,去一个对内需要严格管理和反腐的公司。这本身三观里合了哪一观?至于提UC的同学,更是完全没提在点子上。秒杀好不好主要看杀的是谁,也就是所谓的立场决定态度。这才是核心价值观。其他价值观与此冲突者无效。 这件事本身是公司内务处置,事情还得回归到公司规章制度,岗位职责和合同上去。 先说最后一个被开掉的人。我不知道阿里的安全岗位有没有对内安全职责,但是一般来说,安全岗位是可以进行内部渗透的(而且这是岗位职责)。你雇了一个警卫过来让他负责安全,就不能因为人家试着从墙角的洞里面钻进来就把人家给开除——那是人家的工作。只是安全渗透通常需要协调很多事情,例如是否对线上造成影响,是否需要通知当事部门。最后那个哥们显然是没有经过协调。不过从事后并没有付钱来说,还是可以认定不是冲着月饼去的。因此事后有没有付钱这点非常重要。当事人讲法是没付,阿里的声明中未提到。 如果确实没付钱,看到内部秒杀系统似乎没做反刷,写个脚本测试一下。我不知道你们管这叫什么,反正我管这个叫内部测试。这最多只能叫做工作协调有问题,既扯不上价值观,也不违反大部分正常公司的规章。当然,阿里也有可能在安全组规范里面写明了——未经备报批准不得私自进行内部渗透。那这就叫活该了。只是如果安全组有这条规范,我很怀疑内测到底能测出些什么玩意来。你看,按照规范要求,你需要一个个产品线的和对方的老大去谈,获得许可后测试。可是基本最新的,出漏洞可能性最大的系统,全都是要求赶紧上线,没时间全面考量安全性的。可黑客不归阿里的安全组规范管啊。 前面一个哥们的行为则更不好说一点——他确实是冲着月饼去的——一盒。只不过由于程序故障,所以造成刷了一堆月饼出来。所以这里是两件罪——用脚本刷月饼,刷多了。 脚本刷月饼是不是道德,最近有一堆朋友反复论述过了,我这里就不赘述了。在我眼里看来,用脚本去刷一盒月饼不能叫不道德。如果自动化脚本代替人操作就能叫不道德的话,你把密码存在浏览器里面,不亲自填写登录信息是不是应该叫欺诈?你看,银行让你设定密码,是希望你(这个人)去输入密码来验证自己身份的。结果你到好,用一个自动化工具帮你输入密码,欺骗银行,让他以为是你输入的。这是不是欺诈? 对于程序员来说,写个脚本帮自己刷点什么太正常了。有些程序员写脚本,看到自己晚上9点后还登录在服务器上的话,就给老婆发封邮件说要加班今天回不去了。有的程序员写个程序,定期给老婆的朋友圈全部点赞。我有很多邮件甚至不是亲自读的——直接写个脚本爬下来,然后分析一下内容。有关键词才看,没有的话存档然后定期看一眼标题就行。程序员学得一身通天彻地的屠龙术,其实搞到头只有这点羊毛可以薅,你们还在那里大叫不公平。那我们每天晚上自己加码学这些技术的时候,怎么没听有人说,“这个得算加班”啊? 至于刷多了的问题,这叫程序有bug——可是程序有bug不能叫程序员道德败坏吧,否则阿里的反腐难道是在HR的主持下集体抓bug的工作? 当然,另一种可能就是,当事人确实是想多买几盒月饼。只不过后面事情闹大了,又不能推在临时工头上,所以只能说脚本有bug。不过据当事人声称,事后打过电话想退回多余月饼。如果这点属实,也可以排除想多刷月饼的可能。因此事后是否曾打电话要求退回月饼非常重要。同样,当事人讲法是打了,阿里的声明中未提到。 所以,此人可以以技术不过关的名义辞退,但是却不应以试图刷月饼的名义辞退。因为他确实在写程序时考虑不周,对线上业务造成了影响。这在安全组工作中属于过失。没错。 内务处理,很多时候只能看出发点和动机,甚至有时没什么可以参考的。要参考的话,内部多出来的月饼用秒杀,这又是合了哪条规了?要是软件公司每件事物都要参考规章来办事的话,索性还是关关门大家去应聘公务员来的快一点。很多时候本来就是没什么规章的情况下大家估摸着办,办好了就成了规章。办砸了,如果本人不是蓄意做砸的话,都属于还可以抢救一下的范畴。最多是技术不够/工作不够热情/协调能力不足/运气不好反正你办砸了怎么也得来个差评。惩治一下就行了,否则还有哪个愿意当这个出头鸟来办事? 整件事情上,个人观点,觉得惩罚出手太重了。一般来说,这种事情退回月饼,通报批评,扣除当年奖金已是重罚。开除已经是在严打了。开除加上对外点名。。。要知道所谓杀人不过头点地,今天你打倒在地还要踏上一只脚,叫他永世不得翻身。。。 总体结论,阿里系的安全恐怕要打个问号。即使现在没问题,将来也不排除这种可能。做内部涉安全测试的同学,就根本不能想测哪里测哪里。如果测砸了。OK,价值观不符,开除。测过了,没有线上影响,确实有bug,需要赶快修复。OK,等着你的不是嘉奖,而是仍旧价值观不符,开除。那什么最安全?当然是领导说要哪里安全就哪里安全,说要多安全就有多安全。多余的事情不要多问,不要多听,不要多想。这也确实是合了阿里的价值观,一个对内严格管理,加大力度反腐的公司,是不应当有一群看什么都不爽要亲自拆一下看看的猴子的。只是这样的安全组能起多大作用,自己想吧。 最后补一下合法问题。合法性上,不好说。毕竟阿里给出的台面理由是“价值观不合”。阿里有没有把“价值观”定义为劳动雇佣合同中的一部分,我没看过合同,所以不知道。这和fb的case有差别。因为fb是把企鹅定义成了竞争对手,所以带着竞争对手的人来公司参观是明显违反保密原则的。白纸黑字毋庸置疑。更不提这也违反了H1b签证要求。而如果阿里并没有将“价值观”定义为员工要件之一,这种情况就和以“八字血型和公司名字不合”解除合同一样,属于甲方无正常理由解除合同。理应给予补偿。

使用Jupyter制作slides

Sep 8, 2016 - 1 minute read - Comments

Jupyter是ipython notebook的新名字。可能很少有人知道,这个玩意居然还能制作slide。 可能有人有印象,我做过一个markdown to slides生成器,底下用的是reveal.js。今天才发现,jupyter也有类似的功能,底层也是reveal.js。不过用起来比我自己写的东西方便多了。 用法很简单。首先在View菜单里,使用Toggle Toolbar功能打开toolbar(如果已经打开就不用管)。在toolbar里能看到一项叫做Cell Toolvar的,后面一般是None。请转换为Slideshow。此时你能看到每个Cell都会多出一条来,上面有Slide Type。 Slide Type有六个选项,默认是啥都没有。后面依次是Slide,Sub-Slide,Fragment,Skip,Notes。Slide和Sub-Slide是主要的选项。在reveal.js里,Slide是指左右切换的那些页,而Sub-Slide则是你切到一个Slide后,按向下逐渐出现的一些页。这类似于章和节的关系。章和章之间左右切换,节和节之间上下切换。而如果选择为默认,那么就不开新页,跟在前面的页面里。 Skip的话,这个Cell会在Slide里跳过看不见。有很多时候,我们需要在Slide里嵌入Python代码。但是代码又有的时候需要做一些额外事情,我们不希望出现在Slide里面。如果将这些额外代码运行后删除,又恐怕下一次跑这个notebook跑不动。这时候就可以设定为Skip。 Notes原则来说是给slide里面加注释用的。照理说在页面上按s就可以跳出提示,但是我测试下来跳出来却是空的。看了一下页面源码,确实是有东西的。可能是因为我使用的是静态的文件,而没有开启服务的关系。 Fragment我也不知道干什么用的。看名字好像是代码碎片一类的,如果有知道的可以告诉我一下。 最后,用nbconvert就可以把结果转换为html来用。方法是: ipython nbconvert --to slides --reveal-prefix "http://cdn.jsdelivr.net/reveal.js/2.6.2" ... 之所以要加reveal-prefix,是因为最新的reveal和jupyter生成的html不兼容。 生成过程需要使用nodejs,记得安装。 生成出来的Html就是个彻头彻尾的slide了。原则上,同一个ipynb也可以生成html或者pdf(借助reveal.js自身的pdf打印功能)。这样的话slide也有分发能力。 玩的愉快。

CentOS 6下安装Python2.7

Aug 24, 2016 - 1 minute read - Comments

我以为只有我不知道,不过看来大家都不知道。 很多时候,我们还得维护CentOS 6的设备。这件事很大程度上不是我们能决定的。但是CentOS 6的默认Python是2.6,很多最新的代码无法执行。例如Django,必须使用Python2.7⁄3.4⁄3.5。ansible好像也要求新版本Python。 作为CentOS管理员,第一个想法当然是编译。但是在CentOS 6下,不应该自行编译Python。因为Python的编译有很多坑,例如默认没有内置readline,没有内置sqlite。你不信编译了试试看?我直接从源码编译是不行的。 有的同学提出想法说,可以下在srpm包然后和Python2.7的source code做compatible。但是我要说一个比这个简单的多的官方方法——RHSCL。 RHSCL的全称是Red Hat Software Collections。旨在于在长期支持版本中提供最新版本的动态语言和数据库支持。这里是RHSCL支持的基础工具和版本。这里是说明性文档。具体方法如下: # 1. Install a package with repository for your system: # On CentOS, install package centos-release-scl available in CentOS repository: $ sudo yum install centos-release-scl # On RHEL, enable RHSCL repository for you system: $ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms # 2. Install the collection: $ sudo yum install python27 # 3. Start using software collections: $ scl enable

gpg pubkey ID碰撞

Jul 20, 2016 - 1 minute read - Comments

昨天和朋友碰了个头,然后做了交叉签署。 朋友签署完了,还没上传签署的时候。我手贱(幸好手贱)去server上update了一下我的key。结果发现多出一支key回来。 纳尼? 上pgp.mit.edu去搜我的邮箱,一堆key。我废弃过不少key,这就算了。有一支2014年签署的key引起了我的注意,因为ID和我的KeyID完全一致,UserID也一样。显然这是撞出来的,不过我不记得自己有做过这样的事情。 下面是我的真实key的fp: 2276 57F3 6E16 9B90 4186 2EBF 29A9 7386 0914 A01A 这是有问题的那支key的fp: 875D 447A E720 9037 84A0 7888 909F 2614 0914 A01A 可以看到,两者最后部分完全一致,这导致两者有同样的KeyID。 我点进去看了一下,后面一支key完全不是我的,签的情况也乱七八糟。但是UserID显然一致。然后汗毛一竖赶紧通知朋友。朋友看了一眼,果然签错成那支假的了。 我擦,我给你写我的fp是签名留念用的吗? 一般来说,签名很难吊销。他要是签错了,那就麻烦大了。幸好他没上传。整个删除后重新签署,这个问题总算是顺利解决。 我继续追踪,发现有趣的事来了。 这个key被很多人签署,其中有个人和我的签署人KeyID和UserID又和我互相签署的某人一致。这相当于攻击者不但碰撞伪造了我和他的外观一样的Key,而且连我们的互相签署关系都伪造出来了。。。 我OO了个XX的,这是想干嘛? 然后,某位朋友给了我这个站点:Stop it with those short PGP key IDs! 里面提到了这种伪造碰撞的现象。 同时,里面也提到了解决方法。 首先,向你的gpg.conf里面加入keyid-format 0xlong,这样可以使你的ID变为64位的长ID。碰撞难度更高,当然,也更难一眼看明白谁是谁。 其次,在写程序的时候,不要使用ShortID来指明身份了,因为这种方法显然受到了攻击。继续使用ShortID可能为你程序未来的安全性埋下隐患。 最后,验证fp的时候一定要用纸质传递,签署的时候一定要验证完整fp。 验证fp的时候一定要用纸质传递,签署的时候一定要验证完整fp。 验证fp的时候一定要用纸质传递,签署的时候一定要验证完整fp。 因为很重要所以说三遍。

更换blog声明

Jun 22, 2016 - 1 minute read - Comments

在看blog的同学们应该发现了,Shell’s home整个变了个样子。 这个主要是因为,我的wordpress被黑了。 我的wordpress本来是托管在香港的一台主机上面,加上cdn之后,对国内外的访问效果都不错。我也一直挺满意的。在周一,我本来想把周末写好的关于潜水的blog贴出来。结果无法登录。所以我登录了cPanel去数据库里面修改密码,结果发现。。。 我的数据库,整。个。都。不。见。了。 WTF,这是三小? 首先可以肯定,这里出了什么问题。经过对options表的检查后,我基本确定,这个blog已经不是我原来那个了。但是在数天内我没有发现这件事,而且事发时浏览一切正常。我猜测是因为我加了cache插件,而新的blog没有这个插件。所以一直没有刷cache,导致入口始终是缓存。因此只看首页一点现象都没有,在点击登录按钮后才出现问题。作为验证,我点了一下三年前的记录,结果404了。另一个朋友也验证了这个现象。所以估计推论是对的。 然后是why。 首先可以排除弱密码。我在wordpress上启用了24位大小写数字符号混合密码(反正是自动填写),再加上了yubikey的U2F功能,实话说我真不觉得有什么攻击者能找到我的密码进去。 因此,我从cPanel里面搞到了原始浏览日志。日志显示六月八号早上8点的时候,访问帖子还是200。在某个时间点后就302了。而302是wordpress尚未安装时的标准做法,会转跳到install.php去引导你完成设定流程。也就是说,在8点多的时候,整个wordpress被突然重置。然后对照新的wordpress的初始记录,大约在9点多的时候,有人来完成了install流程。这两者之间可能有关联,也可能是重置者什么都没管就走了。我的某个读者跑过来发现这个wordpress居然没有初始化!就手欠来初始化一把。完了发现首页为什么啥反应都没有,以为自己进了蜜罐然后跑了。 所以先不用参考后面wordpress的初始化信息(我也不觉得里面能找到什么有效信息,哪怕是攻击者初始化的),先查看出问题的时间点的操作。 结果是一条install.php的访问,回应是200。 也就是说,貌似有人绕过了install.php的锁定,重新“安装”了整个系统。 当然,其中还有一点需要排除的,就是我的webhosting供应商没被黑。但是我觉得如果供应商被黑了,攻击者应该已经拿到了我的DNS管理权限,从而在乱搞我的域名了。从这点来说,wordpress有问题的概率更高。 问题是,wordpress也很不应该啊。入口已经加了最严格限制,每次有更新都及时升级。而且最关键是,install.php这个文件在完成安装后就被我删除了。后面怎么又出来了? 有朋友提醒,可能是我使用的某个plugin有漏洞。我想想确实是,plugin这个事情我很难去控制,有漏洞也没什么好奇怪的。 然而这个安全性让我很不放心。 其实前面已经在搞blog迁移到github的事了。但是因为github在中国访问很不方便,而且jekyll搞起来有点麻烦,所以一直没太大动力搞。结果被搞了这么一出,那就顺手迁了吧。反正现在还在中国的,应该已经很少用blog,更多用微信了。 这里感谢adieu推荐的hugo,这个系统是golang写的,所以编译安装我很熟悉。非常容易就搞了起来。下面就是适配问题了。 首先是评论。我已经把评论迁移到了disqus上面,所以不需要考虑评论问题。只要新的blog的url和老的差不多就行。同时,这样也会对前面索引了我的blog的搜索引擎比较友好。 然后是原始数据。我有一份去年2月时的备份,但是没有wordpress去运行它。(试过安装,非常麻烦)很幸运的,我在网上找到了某篇如何将备份数据转换为hugo数据的文章。脚本是python的,就是非常简单的xml解析转换到文件写出。所以用他的脚本做了一下简单的修改,基本就做到了保持url一致。在hugo转换后,基本就像原来的blog一样了。 只有一个小问题。我的文档转换出来后是/结尾的,而原来的url最后没有/。这对搜索引擎不是什么大事——反正会自动跳过去。但是disqus就不认了。所以我做了另一个小脚本,对disqus的url做了一次mapping。 最后就是把整个内容部署到github上了。这里基本没什么技巧,除了我需要用CNAME文件来让github接受我的域名。 好了,现在blog就先这么放着吧。

Pulau Perhentian

Jun 21, 2016 - 1 minute read - Comments

废话不多说,上干货。 这次有朋友在Kuala Terengganu,所以所有过程都是他帮忙安排的。先特别谢谢ching jun。 Pulau Perhentian(停泊岛)在Kuala Terengganu旁边。我们为了省钱,是从PVG(浦东)在HKG(香港)转机去的KUL(Kuala Lumpur,吉隆坡),来返大约2000RMB出头。前程航班是港龙,后程是亚航。在PVG居然给我们直接把票全办好了,到香港直接Transfer就行,不需出入境。印象里这都是同家公司的联程业务。无论如何,这大大方便了我们,所以香港基本就是买买买。 Kuala Lumpur有两个机场(其实是一个机场,两个航站楼),两者之间有Express连通。我们去的时候Express没开,所以坐的teksi(习惯一下,taxi的大马拼法),非常贵。建议可以试试Uber。 我们在Kuala Lumpur过境一个晚上,所以没有找酒店,直接在KLIA2下面找了他们的胶囊酒店。单人间6小时80RM,12小时110RM。价格便宜,但是环境也没多好。没有空调,风都靠排风扇。所以开了就吵,关了就闷。鉴于外面持续有人进出,建议直接上耳塞,开着排风扇睡觉。厕所和洗漱都还不错。住起来肯定是不舒服的,但是确实非常方便。我们6小时的停留时间,还包括了出境,走路,找地方。真找酒店就别睡了。 第二天从KUL起飞去KBR(Kota Bharu),KLIA2是廉航航厦,所以里面人头攒动是必然的。我们提前冲过去,居然进了急客。而且急客居然还排队。我们后面的当地人说他着急能不能。。。我们说我们都很急。。。KBR是一个超级小的机场。没啥好说的,出门,叫一辆teksi,开到Kuala Besut。开了将近一个小时,正好我们睡了一下。凑合吃了个早餐,我们就从码头坐船去Pulau Perhentian。 初来乍到,我居然不知死活的坐了船头。你妹,整个船晃的像人民公园的海盗船,而且我TM的还没有保险带可系。船稍微一加速,我就坐成了海豹队员抢滩登录的冲锋姿势。周围所有能抓的杆子全抓上,整个人还一次次的往船舱上砸。等下船,手麻了,而且还蛋疼。 反正不多说了,有空去的人自然能体验到这种感受。良心建议,坐船要靠后。 我们到达的是Pulau Perhentian Kecil(小停泊岛)的最西侧的海滩,当地一家叫做Shari-la Island Resort的酒店。连栋别墅,AC房,住宿环境还行。就是离潜店比较远。潜店是一家叫做Quiver Dive Team的店,就在Shari-la Island Resort的下面。我们有四个OWT,一个AWOT,就我一个做FD。他们一天出三次船,8点半,12点半和3点半。 附近我比较有印象的潜点有这些(注意,以下都是以我去的6月初为基准,能见度和温度会随着时间发生变化。普遍温度都在30左右,下的时候连湿衣都没穿): Sugar Wreck Max: 18, Avg: 13, Vis: 10-20 离岛大约20分钟的位置,10年左右的一艘沉船,已经坍塌了。下过两支气瓶,一瓶能见度一般,10米左右。一支能见度很好,20左右。洋流不大,毕竟下面是好大一条船,可以挡住海流。海洋生物很丰富。有一次还看到了一条鱼正在。。。poop。。。 D Lagoon Max: 14, Avg: 10, Vis: 15-20 能见度比较高,在一个海湾沙滩的外面。内侧是珊瑚礁,外侧是广阔的沙地。鱼类活动一般。 Temple Max: 18, Avg: 11, Vis: 15-20 在离岛的礁石那里,大约也是开船20多分钟。能见度还行。下了两支,其中一支碰到两节左右的大流。生物比较复杂,有一次看到了桌子大的魔鬼鱼。 Outer Reef Max: 15, Avg: 10, Vis: 15-20 本岛的最北,在几块礁石的东侧。下面全是珊瑚礁,能见度还不错。生物活动还行吧。。。可能在这里看到过一条没有尾巴的魔鬼鱼,记得不是特别清楚是不是在这里了。 Romantic Max: 10, Avg: 7, Vis: 10

唐僧被吃了

May 3, 2016 - 1 minute read - Comments

唐僧被吃了。 本来不应该发生这样的事的。 正常来说,悟空会随时在师傅身边保护。要逃过悟空的眼睛,几无可能。因此唐僧的安全可以说是固若金汤。但是事有凑巧,今天是悟空回天庭报道的日子。由于悟空当年大闹天宫,被压在五行山下。今日戴罪立功,属于假释。所以按照天庭假释管理办法,需要每个月向天庭报道一次。当然,正常来说这种事情也就是走个过场。天上一日地上一年,每月报道一次是按地上时间计算的,所以在天上就是每个时辰出现一次,日夜不休。天庭监狱管理委员会的工作人员也受不了这个繁琐,所以文书手续,验明正身一概抽查。正常而言只要猴头出现,就算过关。 但是今日,玉帝闲来无事,要去隔壁礼部视察。礼部主事和刑部尚书关系交好,于是偷偷通知了刑部尚书。万一玉帝没事干,出了礼部进刑部,那就是天大的麻烦。所以各种见不得光的事情都要收起来。因此悟空这几个月的报道格外麻烦。 为此,悟空特意驾筋斗云前后看了一圈。附近地界太平,没有什么妖孽。又召出土地来问过,再三确认安全。于是向二师兄三师兄好好叮嘱了一番,这才上天庭报道去的。 然后唐僧就死了。 如来很生气,后果很严重。悟空队还没排到,就被监狱管理委员会的人扣下。西天联合天庭,成立天庭取经事故联合调查委员会,由迦叶尊者任首席调查官,主持调查工作。太白金星出任首席行政官,代表天庭协调双方工作。 委员会成立后,首先对事情的经过进行了初步的调查,基本排除了悟空伙同外人作案的可能性。于是委托太白金星对悟空进行谈话,说服其配合委员会的工作。在这次谈话中,悟空才初次知道师父去世的细节。 据天庭取经事故联合调查委员会的初步查证,事故是这样发生的。唐僧师徒行路到一半,看到个牌子,上面写着,大雷音寺,左转向前,还有28公里。于是唐僧师徒毫不怀疑的左转。结果前方并不是大雷音寺,而是小雷音寺。唐僧师徒住下后,唐僧在沐浴时不慎撞到头,昏倒在池内。童子问水是否够热无人回应,误以为客人喜欢热水。于是添足柴火,三个时辰过去,唐僧师父被煮成一锅老汤。。。 太白金星话还没说完,就被悟空飞起一脚踢倒。还没站起身,就被悟空楸住领子:老官,你扯的什么鬼话。哪里有人会呆呆被烧一点动静都没有的,我师父又不是木头。这种鬼话就是骗童子都不够,你真当俺老孙呆子不成! 太白金星连忙求饶:大圣,大圣,听我一言。当初调查委员会的人也是不信,可是小雷音寺的人说,西方有科卡罗斯煮死米诺陶斯,那米诺陶斯又不是呆子。为什么唐师傅的事就不可能是意外呢? 悟空冷笑一声:就算是意外好了。他们装成大雷音寺,骗我师父入住,这才能不动声色煮死我师父。这冒充大雷音寺的罪过,总不是意外了吧。 太白金星又说:这个我们也调查过了。对方拿出一份西天颁发的“关于鼓励信众自行传教的规定”,其中第一百七十三条第五款规定,为了传播西天教义,允许采取各种形式。因此小雷音寺的信众们就采用模仿大雷音寺的方式,向民众宣传大雷音寺的尊严。 大圣顿时哑口:这种事难道教务办不管么? 太白金星道:教务办哪里有空一个个检查信众自行传教的细节,最多也就是出了岔子找出首恶而已。实在乱子搞大了,了不起再出一个“关于禁止信众自行传教的规定”也就是了。 悟空咬咬牙,再道:就算小雷音寺无事,那乱插路标,诱我师父前去之人呢? 太白金星拨开悟空手指:大圣,小雷音寺的人对我们都拿的出“关于鼓励信众自行传教的规定”,对着人家自然也是拿出规定,说为了弘法,故此需要改标线路就是了。 悟空双手抱胸坐下,翘起二郎腿冷笑:天下哪里有为了弘法,把正法指向邪路的道理。必是此人见钱眼开,没细细核对文件之故。 太白金星道:悟空,你又何必固执。他又不是吃你师父的首恶,你何必和他过不去。要说细细核对文件,你前几次的假释报道,似乎也是核对不全吧。 悟空轻叹口气:师父也许呆,俺老孙却不傻。小雷音寺敢仿大雷音寺而无事,显然是背后有人不希望我师徒前去西天。因此调查报告里鬼话连篇,就是不敢指摘背后之人的不是。我待罪之身,哪里能左右这些。俺老孙唯一能左右的,便是此为虎作伥之人。若不是他从中作梗,哪里来这许多事。周围乡邻,难免也为其所骗,拜错菩萨。难道你认为他无罪? 太白金星微微一笑:非也非也,大圣你这么想是再好不过。 悟空微微一愣:怎讲? 太白金星道:既然小雷音寺众人无罪,这桩事总也需要个了结。你是观音菩萨保举,若说是你玩忽职守,大家面上不好看。西天的意思是,此人擅做主张,引诱唐僧师父到小雷音寺,以至招待不周,发生意外。此人负有不可推卸的责任。大圣你再做污点证人,说他当初也为你指路,并无什么不妥。以至于未曾察觉。 悟空怒道:合着你们就是找我坑替罪羊来了? 太白金星道:大圣,大圣。你不刚刚还主张要严惩此人?如今随了你心意,你又要怎样? 悟空呆若木鸡,不知如何自处。 PS:其实昨天就写完了,拿给霍叔叔看。霍叔叔说,你这类比太绕了。我说好,我想办法改改。结果还没等我改,取经事故联合调查委员会已经宣布了调查结果。再等下去怕是连西游记都要被查禁。所以赶紧出一版,大家凑合看看吧。

三亚潜水体验

Apr 11, 2016 - 1 minute read - Comments

最近去三亚玩了,我就说潜水吧。 水况 潜水地点是在分界州,水不算太好。水下景点一般在深度5-15米范围内,有两艘沉船,一个飞机残骸。小沉船离岸比较近比较浅,水深不超过10米。大沉船需要再游一刻钟,深度15-18米左右。飞机残骸也差不多深度,不过只看到一点。水下危险生物包括狮子鱼 ,石头鱼 ,棘冠海星(魔鬼海星),水母。这次潜导在水下就被水母蜇了,被蛰的还很神奇。他下水就戴了面镜,升上水面就开始痛了,还被蛰在眼皮上。到底水母是怎么进去的就鬼知道了。不过问题也不严重,痛了一会就没事了。 能见度分别比较大。在10米左右有一个明显的分界面。在分界面上,能见度大约是10米左右,下面只有3-5米。从上面明显能看到下面像一潭池塘一样。水底温度21-22度。我去的时候是四月上旬,所以只能代表这个时间点的情况。据说6月前后的时候能见度会好很多,水温也会比较高。亚龙湾和蜈支州的情况据说要好点,不过从我看到的水色来说,估计好不了太多。 洋流情况还好,0.5m/s以下,一般都不构成问题。那天浪在0.5m左右,水面上有点晕。周围潜水环境还行,只是偶尔有人炸鱼,可能有巨响。另外水面上有摩托艇在开,和潜导分开的话,没有SMB上浮会比较危险。 潜店 这次潜水是走的 中仁潜水 的持证fun dive,价格是880两支气瓶。价格包括接送,上岛费用,一顿午饭。还包括了海豚表演门票。但是fun dive来说,根本没时间去看。 BCD,fin,regulator是潜店提供的,他们问了我的身高体重来配fin和防寒衣。不过防寒衣是岛上提供的。我的体型比较大,所以穿了他们最大的防寒服。5mm的,比较适合水况,也很新,估计是穿的人不多的缘故。本来还问了我是否有度数,不过我的面镜和呼吸管是自带的,所以用不到。我还自带了3mm的手套,考虑到这里的水下危险生物,这个举措其实非常明智。 岛上有免费的更衣和冲凉,但是寄包要20元。气瓶是中潜自己打的,一般都超过200bar。但是配重是公用的,比较烂。 我们潜FD是岸潜,水面游动100-200米。DSD有一个平台,跳下去就行。平台那里比较浅,据说在5米左右。 三亚潜水 除了分界州外,我还去了一趟亚龙湾。在那里,我碰上了三亚名产——体验潜水。 下车之后我就看到有人在做潜水培训。仔细看了一下,是一个潜水体验旅游的报名点。名义价格是400左右。我仔细观察了一下,整个点没有任何标志。没有PADI或者CMAS的标。 在我吃饭的时候有人过来拉生意,鼓动我们潜水。我直接说我是PADI的持证潜水员,然后他就消失了。 不做任何评论,大家自己分析。 注意,在三亚海滩上是有打着PADI标志的潜店的,在PADI上也可以查到这家。不要以为我说的是他们。我其实在他们店里休息过一会,听了他们和客户的一些对话,觉得他们做生意还基本不过分吧。

潜水的一些简单解说

Mar 25, 2016 - 1 minute read - Comments

潜水的乐趣 潜水好不好玩?不好说。这得看你是不是喜欢潜水。不同的人在潜水中获得不同的乐趣。有人喜欢看鱼看珊瑚看沉船,有人喜欢水下漂浮的感觉,有人甚至只是泡妹子/帅哥。是的,潜水者里帅哥/美女的比例极高。因为潜水很要求体力,所以大部分人身材都很好,像我这种胖子绝对是少数(不过在学校里我看到了另外一个胖子,比我还夸张,衣服都是自带的)。我甚至看到一个学着学着潜水泡上了教练的妹子。。。 是否适合潜水 潜水的一般性要求是10岁以上,没有心血管疾病,癫痫什么的。细节可以去PADI网站上看一下。通常对于休闲潜水而言,大部分人都应该是没问题的。这里只说几个上面没有的问题。 不会游泳能不能潜水? 咳咳,我就不会游泳。 潜水对游泳的要求是,能在水面上游动200米,或者在水面停留10分钟(我记得是这两个值)。这基本和会游泳没什么区别——除了通过条件。考核这项的时候,是允许你穿着防寒衣在海水里考的。这等于让你穿件救生衣问你会不会游泳一样,我想大多数旱鸭子的水性还不至于糟糕到这种地步。糟糕到这种地步的,坐船都要额外买保险了。 但是会游泳还是非常有帮助的。如果会游泳的话,在水下移动的时候会很有优势。所以建议还是去学一下游泳。当然,你可以学以潜水为目标的游泳——主要就是不用换气。不求游多少距离,没气了站起来喘完了再游也行。 潜水的另一个要求是胆大心细,遇事冷静。在水下碰到状况,很多都只能靠自己。所以胆子要大,但是遇事要冷静。 当然,冷静谁也说不好。有的人平时也挺冷静,碰到大事了就突然反应不过来。大多数人都是这样,也不用不好意思。至于胆量,有个很简单的测试。找一个游泳池(当然,是淡水),3米以上,脚够不到底的地方。不穿救生衣,从岸上往下跳(注意,很多泳池禁止你这么做,请首先咨询管理员取得许可),跳下去之后游回岸边。捏着鼻子插筷子也好,摒气也好,随便你。看你的胆子和游泳技巧是否能够做到。如果做不到,例如不敢跳,或者跳下去根本不会游上来,那就不要费劲了。你跳下去不是潜水,是去找死的。 技术解说 携带呼吸装置潜水其实只有一个要点,就是呼吸。除此之外的东西都只能算是技术,学了肯定能会的那种。例如怎么组装备,规范动作怎么做什么的。智商没什么太大问题都很容易。 可能很多人会首先说耳朵的问题。耳压平衡是潜水基础中的基础,一上来就会讲的。在水下做了平衡就不应该耳朵痛了。像三亚名产,不做平衡告知就丢下水,10分钟后耳朵痛就升水,那是道德问题,不是技术问题。如果学了耳压平衡但是做不到,那平时坐飞机都应该有问题,你需要检查内耳疾病。 呼吸之所以重要,是因为呼吸关系到浮力。会游泳的应该有体会,浮在水面的时候,吐气就会下沉。潜水的时候也是一样,吸气上浮,吐气下沉。听起来很简单,但是水里需要呼吸不停,而且由于游动,呼吸量还不小。这种情况下如何保持稳定,就是一个非常有技巧的事情了。技术上说,这叫中性浮力。好的潜水员甚至可以靠呼吸停留在沙滩上十公分处,既不接触,也不浮上去。 潜水的时候,身上的气瓶是负浮力。防寒衣虽然是正浮力,但是不足以平衡气瓶。如果只穿这两件的话,就必须不断踢水,停止踢水就会下沉。所以身上会背一个充气背心,来抵消气瓶的浮力。这样通过向背心内充放气,可以将全身的浮力和重力抵消到1公斤以内。人的一次呼吸一般潮气量在3000左右,换算成浮力有三公斤左右的波动,这样就可以通过呼吸来控制上升下降。一般操作上还会额外配一些配重,然后通过背心的浮力抵消配重。这样一方面在下潜的时候允许通过放气变的更重,可以有更大的余地。另一方面,在遇到紧急情况的时候,也可以通过快速脱下配重浮出水面(警告,这样很危险,容易产生减压病或肺部过度扩张)。 浮力的难点在于,呼吸对浮力的影响是瞬时的,但是你很难感知现在是正浮力还是负浮力。你能发现的只有浮力对深度的影响,现在是往上飘了还是往下沉了。这就像顶杆子一样。你不能感觉到力,只能感觉到位置变化,不断调控。而呼吸要影响到深度,至少需要1-2秒的延迟。而且等你发现的时候,往往像火箭一样,停不下来了。好比上浮,吸一点气,我擦没反应啊。再吸一点?哎呦沃草升天啦。赶快吐气,我擦快停下,快TM升水了。好了好了。。。等等,我擦怎么变砖头了?再来。。。等你折腾一会,教练会让你看一眼压力。靠,没气了,升水吧。 理论上说,要找保持悬浮,需要找准平衡气量,在这个范围内小幅呼吸。但是在不同深度下,充气背心的浮力是会发生变化的。潜水到后面,气瓶里空气不足,也会产生额外的浮力。你需要不停用经验发现现在的平衡气量是多少,围绕着小口呼吸,甚至有的时候需要充放气来重新平衡一下。 中性浮力是很多东西的基础。例如在水下摄影,如果浮力一塌糊涂,一呼吸相机都抖成中风了,潜水又禁止憋气。那还照个P啊。从珊瑚上游过也是,如果浮力控制不好,要么离很远,要么你就会直接在珊瑚上砸出一个人型的坑。 PADI的技术路线 PADI的入门课程从小孩开始(骗钱从娃娃抓起啊),我们这里只说大人的。 最低的是SCUBA Diver执照。一次体验潜水,然后做泳池课程和基础训练,再潜两次就能拿到。这个执照能潜12米深度。 大部分人应该没听说过SCUBA Diver执照。因为只要再多两潜,几乎不需要额外课程,就可以拿到OpenWater执照(简称OW)。大部分人会直接潜水五次,拿OW执照。潜水深度从12米提高到18米,这样就可以去大部分地方潜水玩了。 OW再往上是Advenced OpenWater(简称AOW)。AOW在拿照方式上和OW有本质性区别。OW是固定课程,你想不想,五节课都要过才能拿证。AOW是一堆专长,两项必修的,其他再选三项,就能通过。总计来说需要潜水五次,两次超过18米深度。完成AOW执照后,可以潜30米深度。 上面这些深度什么概念呢?例如某次我们潜的Greenrock,一块大石头,三个顶部。最高的地方7米左右,最低30米没到(印象里的资料,可能不一定准)。SCUBA Diver的话就只能看三个顶部。OW的话就能绕着大石头一圈看岩壁和缓坡。AOW的话可以在石头底下绕一圈——正好有个班戟鱼的窝。所以很多点其实大部分执照都能下(甚至包括体验潜水),但是不一样的执照看到的东西会有差。除非你打算只去深度非常小的地方,否则执照当然是越深越好玩。当然,以休闲潜水来说,40米的深度还有很多地方去不了。但是安全起见(也是为钱包的安全),暂时就这样满足了吧。 然后就是AOW的一堆专长。例如我修了一个鱼类辨识(看着很扯淡,其实就是看鱼玩),一个深潜,一个水底导航,一个沉船,一个顶尖中性浮力。其实大同小异(骗钱也是不手软哦)。除了告诉你一些技巧外,主要就是在不同环境下潜水。等潜水次数多了,自然就熟练和有信心了。 AOW和AOW以下的执照,加大部分的专长执照,其实都不难拿。有钱,有闲,也就差不多了。甚至都不必须考。例如我需要去夜潜了,现场找潜店把钱交掉,题做掉。然后就可以带着去了,回来就拿到证了。无非也就是哪里拿的证和多少钱的问题。 注意我说大部分。AOW有个专长叫潜水摄影,是问的最多的专长。尴尬的是,这货的难度非常高,我不知道为什么这货会进AOW专长课的。考这玩意一般需要学上几个礼拜,比DM都简单不了多少。当然,买的下潜水相机的人而言,倒是不会缺钱的。 其中还有一个特别的执照,Nitrox,高氧潜水。高氧主要是用于长时间潜水,减少残氮量的。这玩意不是长时间潜水几乎不会用到。高氧的特别之处就在于,一,高氧潜水有额外风险,二,你可以拿高氧去潜深潜,从而一次性多拿一张执照。 特别重复说明一点,并不是说氧气含量高了就能潜的深。恰恰相反,氧气浓度越高,潜水深度越低。纯氧在水下六米处吸了就有很大可能会挂掉,反倒是EANx32(氧含量32%)的氧气能允许你潜深33米。高氧的唯一目地就是减少残氮量,从而增加你的免停留潜水时间。这方面详细情况,我会写一篇关于高压空气的话题。 要不要修哦?如果你可能会单次重复潜水,次数很多的,深度很深的,可以考虑。因为气比免停留时间还长。如果是一天两潜,深度又不高的。免停留时间本身就够,你要高氧干什么呢?急救? AOW再往上,潜到20左右,可以去出一张RESCUE的证。这张还要配修EFR的,贵的要死,不过基本没啥用。RESCUE是你能救别人,不是别人能救你。但是尴尬的是,又不是因为你有RESCUE执照就能带人潜水了——恰恰相反,你自己潜水还是需要人带的。而万一出了问题,正常来说带你的那个人急救资格都比你高(也肯定比你熟练)。那这张证能干嘛呢?在带你的那个人不在的场合下——例如不在潜水的时候——救人。 你妹,不如说让我TM学游泳救人算了,还用的上点。 潜够40,可以开始考DiveMaster(潜水长)的执照了。这个执照非常难,一般都要70潜以上才考出来。因为AOW和DM的差别就是业余和专业的差别了。在过了DM之后,你潜水就不需要人带,可以自己约潜伴了。 我暂时还没搞明白,DM是不是能带AOW或者OW去潜,还是AOW或者OW必须由OWSI带。反正我碰到所有的DM都拿到了OWSI。 DM再往下是专业线了,我记得不是很清楚,自己看吧。反正拿到这个证的,课程都远比这点发展线路复杂了。 潜点选择,交通和成本 每个潜点都有一些特点。例如珊瑚(珊瑚周围往往有大量热带鱼),石缝里的鳐鱼,海鳗,天然形成的洞穴,沉船等等。这些特点往往会对应不同深度。有的时候证不够就没什么必要去某个潜点——好比koh tao的Sattaukt这个点。沉船的位置在水下24-30米,没有AOW的证根本去不了,只能在上面远远看着。还去干嘛呢?不如去隔壁的Whiterock钻洞。还有一些点,会在特定的时间形成特色——例如鱼类季节性孵化和成长的时候。这些也需要提前搞明白。 所以要到一个潜点前,需要查潜点地图,搞明白每个潜点的特色,需要什么证书,并且提前约好潜店和潜伴。不同潜店不同时间会去不同的点,有的潜店甚至需要提前预约才行,否则当前是没有船去的。至于约朋友——要知道,潜水行程意外太多,凑不齐人不奇怪,凑齐了才是意外。要潜店约一堆人容易,自己约朋友就纯看运气了。就算平安无事到了地方,万一碰到感冒就只能扫兴而归了(我不大建议吃通鼻子的药去潜水)。所以要珍惜每个和你一起潜水的朋友,能碰上是多大的缘分啊。 每个潜点也会受到交通方式的影响。近海的潜点可以船潜或者从岸上下水,但是稍微远一点的,十有八九都要船潜,甚至需要船宿。这时候需要考虑自己是否受得了船宿的晃动和晕船。 还有,来返潜点的交通方式往往用飞机。但是潜水18小时内是禁止坐飞机的。所以假期短的话,会耗费大量时间在潜水以外的时间上。这会使潜水成本大幅上升。建议能准备一些不潜水也能玩的地方来填充时间段,同时尽量准备长一些的假期。 装备 作为入门,一般你不需要买任何装备。大部分潜店都会租装备给你。大多数情况下,自带装备的运输费用(和劳动量)会比租装备还贵。唯一例外的是有戴眼镜的人的潜水面镜。潜水不能戴眼镜(废话)。为了安全起见,也不建议戴隐形(做过全面镜脱着的应该知道为什么)。所以建议你买一副潜水镜(注意,要罩住鼻子),然后凭你现在的眼镜度数去配光学玻璃装上去。 如果体型特别巨大(脸好疼),可以考虑买自己的防寒衣或者全身式潜水衣。以免你想借却借不到的尴尬。水鞋没啥必要,反正一般常潜的脚底都应该够厚了,不常潜的买了你也用不上。 如果经常潜水,例如一年五潜以上,可以考虑买一支自己的潜水电脑表。入门的也就千把块。自己的潜水表可以记录自己潜水的精确数据,潜店的装备里一般不会包含电脑表(除非租高氧气瓶),而压力表上连的那个二货往往功能有限不说(例如无法设定高氧),你也不能连着调节器一起拿走啊——那还不如直接买电脑表呢。 值得初学者考虑的装备还有能在水下写字的板子和笔,水下的哨子(或其他声响设备),潜水手电。水下不能说话,通讯全靠手势。万一碰到手势搞不定的问题,不想升水只有用白板了。不过这种例子一般不多见,反正我潜了十多回就碰到一次,还是在水下考鱼类辨识。哨子非常有用,方便通知别人让他们看你手势。但是这玩意常规也不大用,一般只有DM叫人的时候用。如果有上过夜潜课的话,潜水手电也可以考虑入一个,大不了平时当普通手电用。 一般好像很少有人会自带BCD的。我见过一起潜水刷瓶子打算考DM的一个妹子自己有一个背飞的BCD,但是实话说没感觉哪里必要。先不说价格,每次潜水回去的时候把BCD洗好收起来都是个大麻烦,更不提带来带去的重量。调节器也没见有人自备的,一般拿船上的就行。自己的还要定期找人检修维护,万一哪个岩石卡一下又要心疼半天。倒是O-ring可以自备几个,以免气瓶还在,O-ring没了。 倒是很多不在装备清单里的东西很值得备一个。例如防水包。在船潜的时候,潜水日志啦,眼镜什么的要找地方放,还要防水。有个防水包会非常方便,还能放放衣服。还有,如果晕船的话,最好准备一些不嗜睡的晕船药。有的潜店会准备,但是有的潜店就不会管这个了。别以为自己不会晕船,你试试多潜几次再说。