网络寻租

Programmer, Gamer, Hacker

如何使用Gem

| Comments

作为rails开发者,无数好用的第三方Gem插件让工作变得更加简单。 不过东西好用,也还是有一些需要注意的问题。这里整理一下我使用Gem的经验。

搜索

第一步是寻找到想要的Gem。最基础的方法是Google搜索,输入想要实现的功能,比如:rails tagging, 也可以去ruby toolbox网站上面根据分类寻找。

选择

找到Gem之后,需要选择质量高的Gem,不然会出现各种问题。主要看Github上面是否有很多人Follow, 以及项目近期是否有足够的更新。

不能随便引入Gem到项目里面,需要从增加的系统复杂度,拓展性,系统稳定性等方面综合考虑。 除了引入Gem,可以考虑直接拷贝需要的代码文件到项目里面。一些会修改Rails等其他模块的Gem,需要谨慎引入。

使用

Gem导入之后,最好要固定版本,这样防止Gem功能变更引入Bug。

选择好了Gem,需要对它有足够的了解。认认真真看一遍文档,wiki,如果文档不清晰,搜索一下使用教程。

我个人偏好把Gem的实现原理弄懂,最好扫一遍源码,这样出现bug或者问题大概有一个方向, 以及可以学会别人是怎么写ruby的。

当使用Gem的时候出现了问题,可以去项目Github的Issue区块看看有没有人提交类似问题, 没有的话自己可以通过看源码来调试解决,或者提交issue给官方项目。

上面这些工作,关键点最好可以自己留存一份文档,一般一个Gem的问题,可能会重复解决好多次,比如安装rmagick的问题

Country of Mask

| Comments

I was thinking, if we all wear masks, we cound decorate ourself as we want, present self as we are, to show our true character, without bothered by the nature born face.

Mask is make by ourselves, represented in a way we want to.

You can use this mask:

And that:

So how could it be, for a world like this? Let me illustrate one.

The first question is, how this could be? Tradition may come from nowhere and anywhere, As if there was a dectator, have some skin conditions maybe coming from syphilis. He wear a mask, and force all the others do so. Then dectator goes tradition remains.

For public security, all mask must marked with ID which belongs to individual, as in the condition same as car number. Steal mask is felony, because it is identity thefting and critical privacy violation. People only show their face to the relative really close.

Children’s mark are labeled with their parents’ identity, after they come of age, they should create their own. There are mask craftsman who fill people’s needs. Person with figure choose the best tailor, ordinary may buy a template and customize it by their own.

Soldier’s mask are standard by rank, for serious concern, all soldiers tatoo for proventing identity theft.

So how to eat food while wearing a mask? Mask should have a moving part on the mouth area for feeding. The way people eat will change, Food are cutting into small pieces for easy deliver. Then tools for eating are changed accordingly, with tools to clean mouth.

It is impossible to communicate with face expression, and it will not be needed, people use tone and gesture to express the subtle. For foreigners, understand the art of tones may be challenging.

There could be mask represents emotion, and those who want represent them, include women, noble, actor, will prepare lots of them, changing them rapidly in the public.

For finding the perfect wife, people seek according to how beautiful her musk is. It repesent her light hand. Women will spend lots of time on decorating mask, same as in makeup in our country.

But we know man are nature’s slave, seek for pretty, they invite girl for dinner, look through the small holes on the mouth, to find the evidence. Women has contermeasures by using hand or thin cloth to hide. And for the women who feel more comfortable about it, would protent to show more, even remove part of the cover on the mask.

There are still diversity around people. Rich one use better mask, embeded with jewel, crafted with special treatment.

And there definitly will be a festival about mask, people bring the best mask off, Mask crafter are create all kinds of strange mask to promote themself: the biggest one, smallest one, most delicate one. It will attract lots of tourists, they will buy masks and bring them home, Collector will gether all kinds of rare masks, special or from special people. Mask economy, is important for this country.

It will be fun, if there is a country with mask.

戴面具的国度

| Comments

我在想,如果大家都戴面具就好了, 可以按照自己想要的样子完全装饰自己, 不纠结长相,注重每个人的性格特质。

面具上面根据自己的想法来做, 通过面具体现自己的性格,特质。

比如个性是两面的,就用这个:

平时嘻嘻哈哈,就用这个:

那么如果这样设置,这个世界会变成什么样子呢? 让我来构建一下吧。

首先是为什么会产生戴面具的需求。习俗的产生可能是很无厘头的, 比如以前有一个专制国王,脸部有疾病,就戴着面具出现, 然后要求所有的臣民都戴面具。不戴面具的就杀头。之后慢慢就演变成了习俗。

为了社会安全,每个人的面具上面要有自己特殊的标识, 让别人认出来。类似于汽车必须有车牌号。 扒人面具是重罪,一般只有在自己最亲近的人面前才能摘下面具。

小孩子的面具上面有做家长的记号。成年之后就可以自己选择面具。 但是也还是会有专业的面具师做面具。地位比较高的人,会请好的面具师来订做, 普通人可能就购买模板面具,然后根据自己的要求设计面具。

军人的面具都统一形式,上面有军衔标识。不过为了防止军人间谍, 可能所有的军人都要纹身,通过纹身来达到辨识身份的目的。

戴上面具如何解决吃饭问题?面具的嘴部是有活动机关的,可以伸勺子进去。 那么餐饮习俗也会变化,吃饭就必须把食物做成小块,深入到面具嘴部递食。 然后餐具就不会是筷子,而是刀叉,勺子,甚至有专门的可以伸长到面具里面把嘴擦干净的工具。

因为面具挡着,不好通过表情来沟通,所有的人基本上都会变成面瘫, 然后通过声调和手势来表达情感,语言上面,会有很多微妙的声调区别, 对于外国人来说,理解和学习好声调会显得困难。

会出现可以做出表情的面具,一些比较在乎的人,或者女性,或者贵族, 会根据心情,准备一系列的面具,社交场合下,或者平时,会频繁换。 类似于现在女性换包包。

找老婆,就看谁的面具做得好,因为女性的面具是自己做的,做得好代表心灵手巧。 女性会花费好多时间在学习如何制作面具上面。类似于化妆。

不过男性还是会希望找到除去面具后长得好看的,就会请中意的女性去吃东西, 通过嘴部的缝隙来偷窥想了解女性长相,但是女性也有针对性的对策,有薄纱来遮挡。 但是自信一些的女性,会故意多露一些。更有大胆的女性,会尝试打破禁忌, 面具上面缺失一些遮挡,露出皮肤。

人与人之间还是有差异。有钱人就可以用好的面具, 上面会镶嵌一些贵重的宝石,或者做一些特殊工艺的效果。

每年都有一个面具节:大家把最好的面具都拿出来,游行, 各种面具师制作各种极限的面具来宣传自己,比如最华丽的面具,最大的面具,最精致的面具等。 节日也会吸引大量的外国旅游者,他们会买各种针对旅游者的面具, 一些收藏者也会想办法找到著名人物的面具进行收藏, 面具经济,是这个国家里面的一个重要的组成部分。

如果真的有一个面具的国度,一定很有意思。

Capistrano介绍和入门

| Comments

Capistrano是一个ruby写的远程服务器自动化和部署工具。

虽然我们可以直接连上服务器操作部署,甚至可以写脚本自动来做,但是比起自动化工具来说,有以下缺点:

  • 多台服务器任务量巨大。
  • 手动操作的话,需要连上服务器手动执行,步骤烦琐,容易操作错误和忘记事项。
  • 写脚本自动操作不能重用到其他项目里面去。

用了自动化工具,可能第一次配置比较复杂,但是配置好了之后,发布工作就简单得只需要执行一个命令,轻松愉快。 它也有学习复杂,因为有抽象出现问题难以找到原因,造成额外心智负担的问题, 这个要开发者根据项目大小和类型来做权衡。

看了官方文档,wiki,看了一天都没有看出门道,后来看官方网站上面的文档才慢慢弄懂。

Capistrano的原理是这样:

  • 需要部署的服务器根据角色(role)区分: 比如有app,db,web,然后每个角色可以有多台服务器。
  • 针对不同角色,设置各类的任务,设置执行一些命令。
  • 可以根据阶段设置不同的stage,比如staging/production,staging用来本地测试环境的部署,production用来进行生产环境的部署。
  • 默认的一套发布流程包括了检查服务器环境,更新代码,初始化,上线等各种过程。
  • 每个过程都提供了钩子,把任务链接到钩子上面,就能够保证部署过程按照期待的状况进行。

弄懂如何用cap比较麻烦,我整理了一下如何学习的资料:

  • 首先是去看官方文档,对于基础概念,有一定的了解。
  • 一定要实际部署一下,可以用本地环境测试,repo_url设置成本地,比如”user@localhost:/home/user/testapp”。
  • 弄清楚发布到服务器上面的文件架构。本地测试部署一次就清楚概念了。
  • 如果需要自动部署rails,可看别人整理的一份详细文档

然后学习一些原理性质的资料:

如何减肥

| Comments

减肥第一步,是真正想减肥。 真正想减肥的意思是,你可以下决心放弃美食,放弃晚上舒服地躺在沙发上面看电视剧。

减肥是全身性的,不能局部减。 减肥的要义很简单,就是减少能量摄入,增大能量输出。

需要做的事情有几个:

营养均衡保证热量摄入少,以及长时间保持血糖平衡。 保持全天的血糖平衡,就可以长时间维护好身体的能量消耗等级,保证持续的热量消耗, 不至于因为血糖少而减低热量消耗等级。 千万不能饿到肚子,因为饿肚子会减低人的能量消耗水平,反而瘦不下来。

还有就是每天保持高能量输出,这样让身体维护一个比较高的热量消耗水平。 方法是通过每天高强度运动(时间不一定很长,40分钟足够了), 高强度就是你的心率很高,可以感觉到心跳厉害。 散步,慢跑效果都不够好,要做一些快速跑跳的全身动作。

坚持两个月就会有明显的效果。

大城市快捷美食解决方案

| Comments

在大城市里面吃饭是一个头疼的问题。首先没有足够的时间做饭:每次做饭都需要花费一个小时,不管是给4个人做,还是一个人做。如果在外面吃,就需要花费很多钱,并且往往需要走很远以及等好久。 我是一个注重效率的人。我找到了自己的一套解决方案。解决的思路注重效率,金钱以及营养均衡。

首先是早餐。早餐要一个鸡蛋,足够的碳水化合物,以及蔬菜。 煮鸡蛋需要花费一些时间,一个很方便的解决方案:用微波炉来做。把鸡蛋打在小碗里面,筷子拌匀,用另外一个碗盖着,放到微波炉里面,1分钟即可。可能有一点小爆炸,但是有碗盖着,不会爆出来。 也可以把鸡蛋打到面包里面,混着面包一起。如果觉得口味不好,可以在搅拌的时候加上一点糖。 然后是早上的主食。我的主食是日清方便面。方便面之父创立了日清,在所有的方便面里面,日清是我觉得最好吃的,强烈推荐。 也可以购买冷冻批萨,也可以放很久,我有朋友的冰箱里面都是冷冻批萨,不过价格就贵了一些。

然后是中午和晚上。我的解决方案是找到最近的一家农民餐小食堂。因为是农民餐,分量大,肉多。我一般花费15元或者20元买一份(20元2个鸡腿),然后拆分成2份,分成午餐和晚餐来吃。因为我并不做大体力活,这样的份量刚好八分饱,很健康。 至于口感的问题,我提供2个解决方案:一个是老干妈调料,非常有效。另外一个是用iPad看电视剧,看得精彩就不觉得口感差了。

我是一个坚持的人,周末坚持按照我的食谱进行,社交活动会去聚餐,然后腻味了会更换伙食,购买全家盒饭或者罗森盒饭。7/11的盒饭也很好吃。 可能有人觉得这样吃饭太不会享受生活了,对于我来说,吃饭只是满足身体的基本需要,可以投入更多的时间精力到其他方面的享受上面去。

加班语录

| Comments

  • 我已经习惯加班了。
  • 年轻人不加班怎么行
  • 不加班做不好事情
  • 加班是种生活习惯
  • 反正下班了也是做上班的事情
  • 有的时候不是想加班,而是不上班就不知道日子怎么过
  • 不天天加班的人生是不完整的
  • 10点之前下班不算加班
  • 为了增加加班时间,我搬到办公桌下面睡觉去了。
  • 什么是加班?
  • 工作是生活,加班是乐趣
  • 有的时候下班了还是要回家,换个地方工作效率更高
  • 工作是如此地有趣,以至于让人忘记天亮了
  • 虽然加班很累,比起晚上的无所事事,我还是宁愿加班
  • 国家规定每天工作8小时你就工作8小时?
  • 工作让人上瘾
  • 加班可以让你忘却自己的失败,家庭的不和谐,生活的不如意,并且还有钱拿
  • 加班让人感觉自己是英雄,独自一人和黑暗作战。
  • 下班的时候看着路灯映照下的背影,感受到夜晚略带寒冷的气温,更能够体验到自己的存在
  • 晚上加班是我一天中最快乐的时光,真的在做事情,没有人干扰,安静地独处。

无偏博弈游戏的解法

| Comments

无偏博弈是指这样一种游戏:游戏双方共用棋子,游戏过程没有随机变化,一定会结束在其中一方胜利。 根据结束状态反推,可以用数学归纳法来证明,这类游戏一定可以确认每个游戏状态是必胜还是必败的。

我们可以构造一种必胜方法,在游戏进行过程中,保证每一步都停留在必胜状态上面。 可以根据游戏状态维护一个特殊值,每当这个特殊值不为0的时候,都可以把状态转换到特殊值是0的状态。 然后游戏一定结束在特殊值是0的状态,如果这个状态是必胜态,那么这种方法一定必胜。 如果双方都采用这种方法,失去机会维护这个状态的玩家必败。

这个状态我们叫grundy值。构造的算法采用递归。首先获取这个状态可以走到的所有状态的grundy值, 然后取不属于这些值的最小非负数整数。 假设状态K的grundy值是n,那么K一定可以转换到grundy值是n-1, n-2, …, 0的状态。 证明通过反证法:如果有一个状态t<n不能转换,那么n<=t,产生矛盾。

有了grundy值,之后通过维护grundy值来保证转换到必胜态就好了。 实际做题,通过动态规划来计算一个状态的grundy值,然后通过这个值知道当前状态必胜还是必败。 状态有的时候会非常多,需要寻找规律,把状态合并起来。

学习资料应用:《挑战程序设计竞赛》中游戏博弈部分

如何找对象

| Comments

现在都说找对象难找,如果你不是像我一样矫情挑剔的话,还是可以很快找到的。

首先我们需要知道自己要找什么样的人,以及这样的人存在的概率。 标准要具体一些,方便快速筛选,比如对方性格,背景,外表之类。 如果没有概念,一方面遇到了也可能错过,另一方面会定位到错误群体,浪费时间精力。 不知道怎么办?多见人,多和人接触,自然会清楚自己对什么类型比较倾心。

然后就是把这种人找出来了。单个的相亲类似于大海捞针,非常没有效率, 建议拓展社交圈为主,一个社交圈后面是许多的人,并且有机会一次接触许多。 如何拓展社交圈? 普通人本身有的是工作同事圈,同学朋友圈,圈子里面每个人后面都有一个或者几个圈子, 有些社交达人后面圈子比较多,可以重点挖掘。 除此以外,还有兴趣爱好圈,吃喝玩乐圈,旅游户外圈。如果你想找同类的话,可以重点挖掘这些圈子。 大城市各种活动组织比较多,比较容易挖掘,小城市的话也有各种同城QQ群。 挖掘方法上面,先每个圈子看看,如果发现一个圈子里面有很多达到自己标准的人,再重点关注和发展。 除了挖掘圈子,也要对其他渠道抱有开放心态。父母介绍,朋友介绍,同事介绍,各种活动,工作客户,各种场合遇到的各种人。 也不要拒绝相亲,多一个渠道多一些机会,但是一定要预先筛选,不然见了无数人,没有一个是目标类型。

现在你可以遇到很多人了,那么如何了解他们呢?我觉得要从多个角度。 首先是见面。见面可以知道长相,性格,人的类型,可以最有效地筛选。网上聊了很久见面不喜欢成本就大了。 然后是接触。可以出来聊,更好的方式是一起做项目,可以直接了解对方的性格,能力,行为方式,以及直接发现是否互相适合。 还有就是深入全面了解。可以挖掘对方历史,了解家庭背景,搜索网上痕迹。 很多人表面平平,搜索之后才知道不简单。不要错过他们。

这样你基本可以定位到意向目标了,之后就是争取对方。 不是“找对象”而是“追对象”,和“处对象”了,下次我再来介绍相关的经验。

神秘学

| Comments

玄学和风水人人都在谈,人人都不了解,但是人人都信,这是顶级的神秘学。

比如说易经。易经历史上发挥了很多作用。 易经的特点在于不完整,在于不清晰。普通人弄不懂易经在讲什么。 这样易经的解读者可以以自己想要的方式去解读。 解读本身不是难的地方,难的地方在于让人相信自己的解读。

方法可以是树立权威。 给自己加上各种名头,可以是弄个教授身份,可以建立门派,通过大量的弟子来撑场面,也可以和名人官员来往。 传播信息的时候混杂一些专业知识,通识,心灵鸡汤,有用的东西要有很多。这样培养忠诚度。 到一定程度就可以收割了,让信徒来给自己买单。

还有一种效果是自我催眠。很多人去看书,都说从书中学到了很多。 其实不是这些书教会了你,而是你假借这些书教会了自己。