Three days in Phuket 

说来惭愧,毕业这么久,很多英语已经忘得差不多。标题想来想去也还是这几个单词。跟别人沟通大部分时间都是 “yes”,”ok”。看来还是想办法把英语捡回来才行,万一真有一天肉翻了呢。

刚进酒店房间,看到床上用玫瑰摆了个心形,想起自己订房时为了能尽量得到大床而不是双床就备注要蜜月房,没想到成真了,权当结婚周年纪念吧。但真正的蜜月却不知道去了哪儿。

在普吉也实现了潜水的愿望,不得不说价钱上比三亚厚道得多,酒店接送+游艇一日游+深潜+潜水照片视频+午餐才850左右。虽然一直不是很喜欢湿漉漉的东西,但是对大海却一直有种说不清的感觉。它看起来蓝得让人不由自主的爱上它,平静得让你觉得心胸从来都未如此的开阔,可以将所有的喜怒哀乐都从容放下。但当置身其中一眼望去无边无际时会令人发慌,偶尔涌起的大浪让我觉得人是如此的渺小,大海分分钟可以连船带人一口吞掉。同样,在它深处有各种让人着迷的生物和景色,但水下的气压和恐惧感也让你不敢轻举妄动。所以当潜到水下时,除了不断看教练手势,时刻保持紧张、配合拍照、调整位置外,几乎都忘了认真去观察水下的景色了。最终我也忘了我下水为的是什么。回来发了个朋友圈,很多人围观很多人点赞,但并不能弥补我失去的景色。所以罢了,最后我把所有的朋友圈也删了。我觉得生活不应该这样简单的玩下炫耀下,不应该把别人的看法放在第一位,应该首先问下自己心里想要什么。很多东西需要用心去体验,才能获得自己真正想要的。

最后一天去了芭东,依然没有看到日出日落,看来只能寄望下一年了。在芭东没有去酒吧喝酒、没有去看人妖秀、没有去海鲜市场吃海鲜、没有去做massage,所以基本上是在街上瞎逛,然后晚上吃了个感人的晚饭:2份饮料、一份牛河、4个烤翅、一份青菜,外加山顶景观,410泰铢约80多RMB,有点不敢相信这是景区的饭店的消费。或许自己还是没有开化,旅游本来就是去体验各种的风俗、生活,而自己还是那么拘谨,如此躲避,人生似乎少了很多的乐趣。

One day in Bangkok

第一次到泰国,也是第一次到国外,但是这个地方给我的感觉并不太遥远。来之前了解到的泰国仅限于听闻的人妖、看的几部电影《暹罗之恋》、《拳霸》三步曲,还有听过的后摇乐队Inspirative。对这里并无太多的想法。在曼谷呆了一天后,给了我一个很深刻的印象:这是一个真实的城市。它可以有东南亚最大的购物中心之一,国际名牌比我在广州见到的还多,但是也有摆满central world和siam商圈等繁荣的购物中心门口和街道的小摊贩。他们很多小摊贩,但是他们并没有城管。他们街上垃圾桶很难找,路也很陈旧,但是地上几乎不见垃圾。它堵车全球闻名,它也是全球最大的旅游城市之一,但是依然可以看到满街的摩托和凸凸车。在这里看到的这一切都是那么的真实,并不会因为某些外面的因素而去刻意的改造。即使我刚到这里,我也能体会到至少是可以看到当地人的生活。无论是谁来,他们给你的都是真实的一面,这个很难得。

我不敢断言信仰到底对人、对社会影响有多大,但是我觉得这确实是一股神奇的力量,可以让这里的人如此的善良。他们坐地铁坐公交似乎不会抢着挤进去抢位坐,他们可以直接用Google,他们不会赶小贩,他们不会禁摩,就连他们说话的语气都令人感到舒服。不由得让我对我所在的“某无神论社会主义国家”感到失望。社会的风气人的价值观居然要领导来指示,感觉就像由醉酒机长执飞的偏航飞机。

Untitle

想把音乐的声音开尽,然后这个世界就只有音乐了。

Untitle

很久没写文章了,觉得自己的词穷已经由言语表达发展到书面上了。不仅面对人不知道说什么,对着屏幕也很难用文字把自己的想法表达完。懒惰已经从肉体入侵到精神了。

23号恰好入职一周年,最近看到一篇文章,说“深度思考比勤奋工作更重要”,虽然也是一篇被转得到处都是的鸡汤文,但是现在想想自己过去一年里的工作,用这句话去总结再合适不过。入职时的期望是了解下母婴行业的情况,了解下技术团队的组建和管理。目前情况每天都在赶进度和为各种业务上的事情忙得不可开交。一年过去,虽说初衷未改,但似乎有止步不前之感。这里面很大的一个问题就是缺少了尝试和总结。这里尝试不是改if/else,总结不是周报,而是没有去接触到新的技术/领域,没有转化成自己的技能,也没有任何形式的记录。所以后面字多字少不重要,重要的是要写下来。

过去一年自己多了一个身份,期间经历了重重的考验,虽无考量标准和要求,但是慢慢的自己的心态发生了微妙的变化,慢慢的变得现实起来,慢慢的学会做主–意味着要承担责任,慢慢的接受人情世故的同化。理想和自由似乎越来越模糊,又好像越来越接近,只不过理想已不是那个理想:曾经是让自己活得像自己,现在是让自己活得像别人。曾经和好友探讨过:假如我们死去了却没留下任何东西,会不会很遗憾。现在依然对这话题心有余悸。莫说留给后人,自己回头看看过去的人生也是一张黑白照。难道这就是“终其一生也只不过完成普通人的生活”?

迟来的幸福

此时此刻,我脑子里空空如也。这么多天过去了,我只知道那是一种感觉,一种前所未有的喜悦。暂且叫它幸福吧。

算起来恋爱也有三年多了,但我从未去想象过领证那一刻的心情,也没认真想过怎样去扮演一个叫“丈夫”的角色。拿到结婚证的那一刻,脑海里除了喜悦根本装不下任何东西,我迫不及待的告诉我的好友们并接受他们的祝福。我一刻不停的喜悦,以至于我都不知道怎么样把这份感觉告诉我的妻子,以至于我都不知道为什么而笑。

身份的变化似乎并没有带来深刻的影响,我还是我,生活还是那样继续着。但是压力却自己在悄悄地疯狂生长。在家境并不好,自己毫无积蓄的情况下,廿万的首期很多时候都让我感到无所适从,如果单凭自己力量,恐怕我真的无能为力了。幸好,最终还是靠父母解决了。想想,年近三十,不仅未给过父母什么,反而依然依靠他们过生活,实在内疚不已。买房一事,除了经历了一些不愉快的插曲,也让我体会到了社会的现实。首先要感谢我的舅舅们,在自己条件并不宽裕、也是刚刚好可以改善自己生活的时候,却把这个机会给了我,我心里真的说不出的感动,也许是我话拙,我真的不知道怎么向他们表达这种感谢。而现实生活中,除了这种不求回报的无私付出,更多的是多多少少都会参杂着利益关系的打交道。似乎这也无可厚非,每个人都是生活中的一颗棋子,别人不可能为你而改变自己的目的。这里我说的是售楼小姐,我很是不明白为什么她们会这么着急,去到售楼部,从简单的介绍到看样板房,到做置业计划,到下定金,居然想一下子搞定(最后确实是一次搞定了),我以为起码要看几次才会决定的。我说我们回去思考下可以吗,她说现在贷款利率低十月份可能会上升,但她却没有告诉我十月份首期可能会降到25%。而让我很不解的是我当时的女朋友,居然好像也在帮售楼小姐叫我下定金,要知道我父母才第一次来看房的,至今,我扔不知道她当时真正的心态是什么,为此,我们还争吵过。而我那可怜的爸爸妈妈,一个说四点多了走了吧,一个不耐烦的回应自己有车怕什么要走自己先走,一个没有把想回去考虑下的想法表达出来,一个没有领会到。而我,把一切都看在眼里,痛在心里。

还好,挣扎得最痛苦的时候最终还是过去了。生活将会以另一种姿态继续。无论过程如何,我想,是候开始我和家人的幸福了。

摄影入门

一、相机拍出照片的要素

不管是卡片机还是单反机子,要拍出照片,都是这样的过程:被拍摄的对象所反射的光线通过相当于凸透镜的镜头聚焦到镜头后面 的感光元件(CCD或CMOS)上,感光元件接收、记录这些光线信号,通过相机内的处理软件,变成了数码影像。所以,镜头、感光元件和处理器也就成为相机 拍出照片的最重要的元素了。这个跟人眼睛看东西的原理是一样的——被眼镜所看到的东西反射的光线进入眼睛(镜头)后,视网膜(感光元件)接收光线信息,传 输到大脑(处理器),形成了看到的东西的形象。

6be50e3d269759ee9caf9abeb0fb43166c22dfec
所以镜头、感光元件、处理器的质量就从根本上决定了产生的相片的质量(这个质量不是从照片的艺术价值来说的,是从单纯的成像的质感来说的)。
镜头和处理器咱们先不要讨论,先讨论最常碰到的有疑问的感光元件。感光元件现在基本上是CCD和CMOS两种,CCD开发的比较早,CMOS出现的比较晚。关于它们的优缺点,有资料做过比较:
CCD CMOS
设计: 单一感光器 感光器连接放大器
灵敏度: 同样面积下高 感光开口小 灵敏度低
成本: 线路品质影响程度高,成本高 CMOS整合集成,成本低
解析度: 连接复杂度低,解析度高 解析度低,新技术高
噪点比: 单一放大,噪点低 百万放大,噪点高
功耗比: 需外加电压,功耗高 直接放大,功耗低

二、光圈大小、快门速度、感光度

1、光圈。
光圈用来控制透过镜头进入机身内感光元件的光量,是镜头的一个极其重要的指标参数,通常在镜头内。它的大小决定着通过镜头进入感光元件 的光线的多少。光圈大小我们是用F值来表示,其中,F=镜头的焦距/镜头的有效口径的直径。这个数值一般有 F1.0,F1.4,F2.0,F2.8,F4.0,F5.6,F8.0,F11,F16,F22,F32,再上面还有F44、F64。如果你对这个公式 懒得理解,你需要简单一点,那你就这么记:普通相机镜头的光圈大小有2.8一直到32,特别要记住的是,因为光圈数字是个比值,所以这个数字越小,光圈就 越大,进光量也就越大;反之,数字越大,光圈就越小,进光量也就越小。比如2.8的光圈比8要大,进来的光线要多,更容易曝光。
光圈就像人眼睛的瞳孔,在暗光处,瞳孔放大,看东西就清楚了;在亮光处,瞳孔缩小,看东西就不刺眼。同样道理,光线暗的时候拍照,光圈大一点才能让光线多进来一点;光线亮的时候,光圈小一点,能控制光线不过量进来。

a0e2a3039245d688e8f348d1a6c27d1ed31b24f5

2、快门
快门是阻挡光线进来的装置。当需要曝光的时候,就开启一下快门让光线进来。所以要获得合适的曝光,就要把快门开启的时间控制得合适。于是制造相机的时候就要设置很多个快门的开启时间,常用的快门速度有:1
1/2 1/4 1/8 1/15 1/30 1/60 1/125 1/250 1/500 1/1000
1/2000 等(单位是秒),当然还有再快的和再慢的。比如1/60,就是让光线进来1/60秒,1/2000就是让光线进来1/2000秒。在相机上我们看到的往往 就是60、2000这些数字,而不是1/60、1/2000,所以,光线暗的时候,采用的快门速度的数字就要小一点,让光线多进来一会;光线强的时候,采 用的快门速度的数字要大一点,让光线少进来一会免得过度曝光了。相邻两级的快门速度的曝光量相差一倍,我们常说相差一级。如1/60秒比1/125秒的曝 光量多一倍,即1/60秒比1/125秒速度慢一级或称低一级。1/60秒的曝光量是1/125秒曝光量的2倍。

3、感光度
感光度在相机 上标示为ISO。形象地说,感光度就是相机里感光元件对光线的敏感度。感光度的数值一般有100、200、400、800一直到几万,数值越大,对光线的 敏感度就越强。比如,在同样的光线强度和同样的快门速度、光圈大小的时候,感光度设置到800,比设置到100得到的照片亮度要高几倍。所以,在暗光的时 候,如果光圈已经到最大,快门已经很慢(再慢的话手会抖动)的时候,就把感光度设高一点来弥补进光的不足。但是,数码相机提升ISO是通过两种方式实现 的:

(1)强行提高每个象素点的亮度和对比度;
(2)使用多个象素点共同完成原来只要一个象素点来完成的任务。由此可见,数码相机提升ISO以 后对画质的损失是很大的,尤其是感光元件面积较小的卡片机和入门的单反,提升ISO简直就是要命,会产生大量的噪点,所以,在光线充足、光圈足够、快门速 度不会引起抖动的条件下,尽量使用低感光度来拍照。
综上所述,拍到亮度合适的照片要注意光圈、快门、感光度的配合,而感光度尽量设置在低位。在感 光度固定的情况下,就是光圈和快门的配合了。如果要获得同样的曝光量,缩小光圈就要放慢快门,开大光圈就要加快快门。如果发现试拍的照片太暗了,你可以开 大光圈,也可以放慢快门;太亮了,你就缩小光圈或者提高快门。至于是要变光圈还是要变快门,就要看具体情况了,这个问题下面再说。

三、怎样配合光圈和快门

上面已经说了,或者正确的曝光需要光圈、快门、感光度的配合。感光度在光线充裕的情况下设在最低就好了,接下去就讲光圈和快门的配合。

要获得同样的曝光度,采用较大的光圈较快的快门还是采用较小的光圈较慢的快门呢?这个并不是只要两者组合获得正确曝光就了事,还要看所拍照片具体的表达需要了。为什么这么说呢,因为光圈的大小对成像还有一个作用,就是大光圈所得的景深小,小光圈所得的景深大。

先 解释一下“景深”这个名词。当相机的镜头对着某一物体对焦的时候,在对得最准的那个点的前后会有一定的距离范围在我们看起来都比较清晰,这个范围我们就称 它为“景深”。在这个景深前后的东西我们看起来比较模糊。如图所示,开大光圈的时候景深比较浅,只有一小段的距离是清晰的,而用小光圈的时候,景深要长得 多,有好长一段的距离都是清晰的。景深前后不清晰的部分,就是模糊的被“虚化”了,这里我们就引入了“虚化”这个概念。

所以,如果你想拍出虚化程度大的照片,就要用大光圈,此时相应的快门就要提快了;如果你要拍得前后都比较清楚,那就要用小光圈,相应的快门就要降低。什么 时候要用小景深什么时候要用大景深呢?一般来说,拍特写的时候用大光圈,把前后虚化了以突出主体;拍风景的时候用小光圈,使得画面前后通透。其他一般的情 况下,用5.6左右的光圈比较合适,因为同一个镜头,开的光圈大小不一样它成像的锐度也不一样,大部分在5.6-8的时候能发挥比较好的成像质量

bedb0eda81cb39dbfe219d23d2160924aa183085

小内存环境下使用PHP Composer

最近Composer爆出了PHP资源回收机制的一个梗(https://github.com/composer/composer/commit/ac676f47f7bbc619678a29deae097b6b0710b799), 也由此才知道原来Composer在安装和更新包的时候会这么耗资源的。

最近刚好在DigitalOcean有台512M RAM的VPS要用到Composer, 执行composer install的时候才发现内存不够,把其他服务(nginx, mysql, memcached)停掉后问题依旧。在快认为小内存环境不能用composer的时候,在DO的社区找到了个帖子(https://www.digitalocean.com/community/questions/composer-install-not-enough-memory),试了下,居然可以了。解决办法居然是给VPS加上swap分区。一直以为Linux的swap分区是必须的,不知道DO的VPS默认是没有swap分区的。

最近看到陈皓在一篇关于C语言的文章里提到的几个理论(http://coolshell.cn/articles/5761.html),觉得印象很深刻,记录下。

1)相信程序员,不阻止程序员做他们想做的事。

2)保持语言的简洁,以及概念上的简单。

3)保证性能,就算牺牲移植性。

我不知道为什么这么悲伤

我不知道为什么这么悲伤
或许我失眠了
双眼支撑着沉重的黑夜
耳鸣在破坏透明的宁静
大脑以高速运转来御寒
心脏伴随时间脚步抽泣
全身上下的每一个细胞
似乎都在向我示威
警告我,休想扔下悲伤!

我不知道为什么这么悲伤
或许我长大了
无虑的天真在故乡的山谷消失
美好的梦想在城市的街道彷徨
孤零零的我,就像下山的猴子
不断地走
不断地扔
不断地捡
不断地,走近悲伤

我不知道为什么这么悲伤
我去过别人的豪宅
我坐过别人的豪车
我喝过别人的喜酒
原来,这一切都是别人的

我不知道为什么这么悲伤
我错过观看红日初升的感动
但还有欣赏夕阳西下的温暖,
我无法体验腾云驾雾的快活
但可以享受脚踏实地的真实,
我失去了无法弥补的时间
但换来了弥足珍贵的人生,
我没有无人能及的绝技
但有独一无二的灵魂

我不知道为什么这么悲伤

2014年12月12日凌晨

一个人

8bc72ed7

我是漆黑夜空中
闪烁凄凄的一颗星
遥隔千里的双眸一遇
看到了,你那藏在泪光里的话
你一个人,
把泪擦干
把话捏在手心
陪着我,承受着黑夜的孤独

Cover from: https://unsplash.com/

根据经纬度实现附近查找

网上找到的几种办法:

  1. 范围查找: blog.charlee.li/location-search/
  2. geohash算法: www.cnblogs.com/dengxinglin/archive/2012/12/14/2817761.html
  3. Mongodb的Geospatial indexes: docs.mongodb.org/manual/applications/geospatial-indexes/
  4. mysql扩展: github.com/lucasepe/lib_mysqludf_haversine

mongodb的Geospatial indexes应该是最强大的,提供了丰富的查询方法。缺点是增加了运维成本,对于不是专门做LBS的应用来说,也是一个问题。

第1,4种方法原理是一样的, 用到了haversine 公式:

  • 第1种算出来的是经纬度范围,然后再以该范围为条件查询数据库,把公式计算放在了应用层。
  • 第4种得出的两点的距离计算结果,可以用该结果来作为返回字段、过滤条件和排序, 但是数据量大的时候无法使用索引也是一个问题。
  • 这里还有haversine 公式各种语言的实现: www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe