<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ichord</title>
    <link>https://ruby-china.org/ichord</link>
    <description>Hi. I'm iChord</description>
    <language>en-us</language>
    <item>
      <title>工作也旅行 - 工作日常</title>
      <description>&lt;p&gt;早晨，屋外充满了小鸟的叫声，阳光挤满了窗口，白色土墙被映得金黄。打开床前的门窗，清爽的空气一拥而入。
院子里屋檐边上的青苹果树被照得明亮，石头地上躺着一道晨光。&lt;/p&gt;

&lt;p&gt;11 个月前，我在 ruby-china 上发了&lt;a href="https://ruby-china.org/topics/21525" title=""&gt;一个帖子&lt;/a&gt;，被认为是求职，本意其实是想晒 Sketch 做的简历设计稿，但让我意外和高兴，我收到了不少邮件。
在那段时间里，我每天都去深圳大学的图书馆外面自学英语，在文山湖旁，从早到晚。
同时我也在考虑一个困扰着我的问题：去大企业朝九晚几，还是在创业公司继续远程。
噢，对了，那是个学习的好去处，有树林、还有夕阳；前提是不要进室内。&lt;/p&gt;

&lt;p&gt;从那个&lt;a href="https://ruby-china.org/topics/21525" title=""&gt;帖子&lt;/a&gt;后，现在的团队一直跟我保持联系，后来我也去参与他们的开源项目，尝试一下一起工作，基本每周都会和我们前端的 Leader 视频聊一下，一直持续到了隔年的二月初我正式加入。&lt;/p&gt;

&lt;p&gt;当时我是偏向去大公司的，原因其实和许多人大同小异。我也得到了大公司的工作机会，在和两个公司聊过之后，我带着困惑去爬山。
平时要是心情不好或者有困惑难解的时候我都会去穿越南山，在爬山的过程中总能心无旁骛的畅想，似乎只有身体活动的时候脑子才能变得灵活些，而且爬山的节奏也好，不快不慢，稳稳前行。
下山后我做出了选择。&lt;/p&gt;

&lt;p&gt;在和一个朋友聊起的时候，我跟他说：「这个两个选择决定了我今后要过的两种完全不同的生活方式」。
非常感谢他给我的那次机会，很抱歉没有好好珍惜，但是，沙溪的每天清晨明媚的阳光都在告诉我，我选的是对的。&lt;/p&gt;

&lt;p&gt;今年的 3 月份，团队聚集到了丽江一起工作一个月，周末的时候我们会到周边玩。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/853a9a8537705d6b2fabd558a2e3d618.png" title="" alt="白沙的古树"&gt;&lt;/p&gt;

&lt;p&gt;在束河寻找厕所的时候偶遇了这棵古树，它在一个大院子里的深处，我们在院子里绕了好一会才碰到遇见了它，远离人群，在这古老的地方静静的盛开着。
发现了吗？这需要支撑着的古老身躯却盛开得如此美丽。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/345c87aed5e702a38a7b3945e6411320.png" title="" alt="白沙探访途中"&gt;&lt;/p&gt;

&lt;p&gt;另一个周末我和另外两个伙伴去白沙探访一位隐居在那里的老师。从束河步行去的途中找了一家店歇了歇脚。&lt;/p&gt;

&lt;p&gt;老师家古朴的院子非常静，也美；那次探访的谈话也非常有意思。
「在路上」总能见识到特别又有意思的人用与众不同的方式活着，这些人有着不一样的想法，也有去追寻和实现它的勇气。&lt;/p&gt;

&lt;p&gt;在某个安静舒适的下午，我在黑龙潭旁休息的时候，我突然想起了一个地方：沙溪。
三年前我去过那里一次，虽然只是短暂的停留，却让我时常想起，然后我改变了跟随团队去成都的想法。&lt;/p&gt;

&lt;p&gt;在丽江「封闭开发」的最后一个周末，我们去了大理探访了思客的 Howard 家，他那没有装修的大厅和办公室很赞。
接着我们去了双廊，休息一天后大伙都回去了，我自己留下来了，在双榕国际青年旅舍住了三天。
那里也是一家双层木头老房子改造的，中间有一个大大的天井，这家青旅取名于旅舍旁边的两棵百年大榕树。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/66f387498d7457ec5bb0e33659120cc4.png" title="" alt="双榕自拍"&gt;&lt;/p&gt;

&lt;p&gt;我那几天都是在旅舍的大厅里工作。大部分旅舍都有一个共同特点，白天大家都出去玩了，只有我这「怪咖」才会不出门，所以相对安静而且没跟人我抢网速。
因为我只能在周末走动，所以我又搬去「海地生活」住了一个星期，然后才坐 4 个小时的车去沙溪。在这里除了工作就没什么可以做的了，偶尔发发呆也是工作之余的放松。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/05c48f38b98018194fb441eee534e0cb.png" title="" alt="海地生活"&gt;&lt;/p&gt;

&lt;p&gt;每天发呆的内容就是看一波一波的人来白色长桌椅平台那拍照，我想基本来双廊的人都会来这里。
我有时回到就在平台旁边的房间（多人床位）工作，里面的空间很大，一般没人会呆在房间里；
有时会去旁边的咖啡厅楼上；坐累了就去左上图里的地方站着工作，高度刚刚好，人多风大的时候就得换回去了。
晚上等游人散去后，我和几个旅舍住的伙伴一起坐在白天挤满人的长椅上听着海浪的声音和风聊天，木地板上月光照出了桌椅和我们的影子。&lt;/p&gt;

&lt;p&gt;沙溪古镇，一个位于大理和丽江的中间的一个茶马古道上的小镇，凉爽、安静且舒适。
由于来这里的交通不太方便，需要从大理坐大概三个小时的班车到剑川县再转小巴开上十几公里才能到达；
我想是因为交通不方便和沙溪很小，一个小时内就可以逛完，所以原来的样子才得以保留。
这里地方虽小，但是什么都有，有咖啡馆、西餐素食馆、本地的白族餐馆、还有超市。我本来只打算住一个月，但是我在「马圈 46 国际青年旅舍」里住了四个月。&lt;/p&gt;

&lt;p&gt;旅舍就是挨着古戏台的百年老房子。早晨走出房间，走廊的阳光有些耀眼但依然柔和。
早上气温比较低，有些凉，但是阳光非常好，我总是在洗漱后站在院子的那道阳光里晒会太阳，然后穿过四方街走一段石板路出去买早餐吃。
每天，我都会坐在四方街一侧的木椅上吃早餐，看着这安静古老的四方街，无论下雨，阳光普照，还是老槐树不断撒落着金黄的小花。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/9cb19283cd32b613b8581b04a0e93ef4.png" title="" alt="沙溪四方街"&gt;&lt;/p&gt;

&lt;p&gt;吃完差不多就回去开始一天的工作了，起得比较早的话会去河边走走，阳光进来的方向就是东寨门，出门就是河边了。&lt;/p&gt;

&lt;p&gt;我在旅舍有三个可以工作的地方，一个就是我住的多人间，人少的时候我很喜欢在那里工作。
我的床位位置非常好，床前就是一个大窗和桌椅，侧边也有个大窗，阳光很好而且清风不断。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/4ff87f3d5c4078b32a161de71b25fa08.png" title="" alt="在马圈的工作台"&gt;&lt;/p&gt;

&lt;p&gt;工作累了的时候是需要抬一抬头，就可以看到屋外的蓝天白云和眼前的这个青苹果树；
还有，屋外的树叶唦唦的响声和鸟群零落的叫声会陪伴你一整天。&lt;/p&gt;

&lt;p&gt;每周一早上我都会和团队进行视频会议，在有需要的时候也有使用视频；
沙溪虽然是个乡镇，但是旅舍 50MB 的光纤下个电影也能到 6MB/s，所以高清视频会议不是问题。
一般开会我都会去旅舍的咖啡厅，因为那里一般没有人会去，一整天都不会有人打扰，我大部分时间都会呆在那里。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/a35ed9a4eb3a01a25f7880b89f357346.png" title="" alt="沙溪马圈咖啡厅"&gt;&lt;/p&gt;

&lt;p&gt;嗯，屋外依然是晃动一整天的满满的绿树，每隔一段时间都可以下楼到树下活动活动筋骨。&lt;/p&gt;

&lt;p&gt;我们一天依然会工作 8 小时或者更多，但是时间段都是自己规划；
我给自己中午留了比较长的时间，中午足够的休息对一整天的工作效率影响很大的，所以我每天吃完午饭都会出去走走，走过「玉津桥」，在桥的一侧休息一段时间，再回来睡个午觉。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/659990e06f4de021a6bb742df94c3154.png" title="" alt="沙溪的中午"&gt;&lt;/p&gt;

&lt;p&gt;除了右下角的那朵像三层石板叠起来的云，其它的地方我一天要看 3 遍，因为它们都挨在一起，其实也就是我从旅舍走到石桥的路程，不到 5 分钟。
桥的左侧有一个大树，中午时我会去树荫下一遍转圈一边思考问题，在这里构思出了 RubyConf China 2015 的 Logo, 傍晚的时候则会去桥的另一边。
走回去的时候，我总是会从四方街古戏台前面过。&lt;/p&gt;

&lt;p&gt;下午到傍晚都是工作时间，偶尔在院子里坐坐就觉得很舒爽了，后来休息的时候我经常会去逗旅舍里的藏狗罗喜和圣伯纳犬玛丽。
在院子里水蜜桃成熟的时候，每天早上起来都会看到掉了遍地的桃子，偶尔摘一两个来吃。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/887f0cd26c89470ad183e250f76b9dc7.png" title="" alt="马圈的"&gt;&lt;/p&gt;

&lt;p&gt;傍晚，另一个我很喜欢的时间。沙溪只要出太阳，河边就会有风，我每天总是在夕阳落山那段时间坐在石桥另一边的石椅上晒着柔和的夕阳，或者到田野里走走，或者到附近散散步。
大部分时候，我都坐在石桥旁的长长的石板上静静的望着，或者站起来来回走动，想一些问题，有时候会看看书。
我后来惊奇的发现，我利用等吃饭的时候，和偶尔来河边看看书的时间，不知不觉的看完了三四本书。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/3d41a4759099af21c7ef100456dc3419.png" title="" alt="沙溪傍晚"&gt;&lt;/p&gt;

&lt;p&gt;虽然这些地方我已经走了好几百遍了，但依然觉得想再走一遍，每次想到要门走走心情就会很舒畅，也充满期待。
自然的东西是有生命的，总是在变化，花开花落，田里的庄稼更替，每天都会看到不一样的景色，但这一切却是在不知不觉中慢慢的变化，常常是当你发觉时，已经习惯了。&lt;/p&gt;

&lt;p&gt;当一些老外得知我在这住了三个月的时候，除了惊讶外，都忙着叫我介绍附近的好地方；而我的回答都是：「就是这里啊」。
除了周末参加客栈去「石宝山」徒步外，四个月来我没去过其它地方，我觉得待在古镇里就够了。&lt;/p&gt;

&lt;p&gt;在四方街的一侧有个木雕小店，里面坐一个年轻的木雕艺人，每天都低着头在那里雕刻木头，从早到晚，周一到周六，即使窗口有围观的人，有说话拍照的游客，他都低着头在工作。
这个时候我想到了「匠人」这个词，我看到的只是 4 个月的时间，但是他也许是年复一年的如此工作着。
后来想想其实我们挺像的，我们都日复一日的坐在一个地方做着同一件事情，他在敲打锤子，我在敲打键盘。想想，如此一年其实也是很自然轻松的事情。&lt;/p&gt;

&lt;p&gt;来沙溪的中国人和外国人的比例大概是一半，有时候晚餐在客栈拼餐，基本都有一半是老外，而且老外都喜欢在吃饭的时候聊天。
这时候，我那空闲的两个月的时间里学的英语在这里起了作用。
有一次碰到一个在美国长大的以色列人，我们聊起了他参军去了战场，帮议员竞选，然后聊起纸牌屋，因为他的工作和剧里的 Doug 是一样的，我还问了里面演的是不是都是真的；当时他在美国驻以色列使馆工作，他还跟以色列总统一起工作过！我当时就挺兴奋的跟他打趣说：我和以色列总统也就差一个人的关系而已。
大部分老外都会聊到中国的历史和一些政治问题，特别是网络的问题，具体内容我也不多说了。
噢我还遇见过欧洲的贵族，他有个特别的姓氏；还有来自 Yelp 的工程师、旅行了十几年的专栏作家、七十多岁独自旅行的白发老人、还有很多。
四个月来，我在这乡下遇见了来自不同国家，有着不同经历的人，和 TA 们聊了一些有意思的话题，了解他们的经历，也认识了一些朋友，特别有意思。&lt;/p&gt;

&lt;p&gt;晚餐过后，我会继续工作一两个小时。一般到 10 点半，我就开始洗漱睡觉了，睡前刷刷朋友圈或者有时会看看书。&lt;/p&gt;

&lt;p&gt;如此日复一日，我在沙溪生活了四个月，我喜欢沙溪，喜欢「马圈」，也喜欢在这里工作。
我想来年夏天，我还会再来。如果你还知道其它像沙溪一样的地方，请告诉我。&lt;/p&gt;

&lt;p&gt;工作占据了我们大部分的生命，在网络如此发达的年代，好的「办公」软件，不仅能大大的提高工作效率，还能改变协同工作的方式和途径。
当你改变了工作方式，也就改变了你的生活方式。&lt;/p&gt;

&lt;p&gt;以上是我加入 &lt;a href="https://tower.im/" rel="nofollow" target="_blank" title=""&gt;Tower&lt;/a&gt; 团队以来在沙溪远程工作的一些分享，能说的还有许多，也许当我经过你住的地方的时候我们可以一起聊聊，或者你可以来和我们一起工作。
我们致力于打造能改变你工作方式的产品，Tower 只是开始。还有，这句话是我自己造的。&lt;/p&gt;

&lt;p&gt;Choose &lt;a href="https://tower.im/" rel="nofollow" target="_blank" title=""&gt;Tower&lt;/a&gt;, Live Different.&lt;/p&gt;

&lt;p&gt;完稿于 2015 年 8 月 31 日，在九寨沟
chord.luo&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;9 月 6 日更：&lt;/p&gt;

&lt;p&gt;&lt;a href="http://yixi.tv/album/78" rel="nofollow" target="_blank" title=""&gt;「一席」关于沙溪的演讲&lt;/a&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Wed, 02 Sep 2015 11:36:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/27162</link>
      <guid>https://ruby-china.org/topics/27162</guid>
    </item>
    <item>
      <title>我是如何进行『创作』的</title>
      <description>&lt;h2 id="我是如何进行『创作』的"&gt;我是如何进行『创作』的&lt;/h2&gt;
&lt;p&gt;前几天在对自己进行反省的时候发现了一件有趣的事情，就是我自己是如何进行『创作』的。
打双引好是因为我认为我这其实不是真正的创作，但确实是做出了一个新东西。&lt;/p&gt;

&lt;p&gt;这基本是我制作了一个 Sketch 插件，&lt;a href="https://github.com/ichord/sketch-divine-proportions" rel="nofollow" target="_blank" title=""&gt;sketch-divine-proportions&lt;/a&gt;，的过程。
然后再想想时，其实这跟我当时制作 &lt;strong&gt;At.js&lt;/strong&gt; 套路基本上是一样的。  &lt;/p&gt;

&lt;p&gt;PS. 内容略长....&lt;/p&gt;
&lt;h2 id="动心"&gt;动心&lt;/h2&gt;
&lt;p&gt;首先，要找到一个目标，或者说你想要『创作』的东西。我的选择参考如下，按权重排序：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;还没有人实现&lt;/li&gt;
&lt;li&gt;有意思&lt;/li&gt;
&lt;li&gt;很有用&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这其实是我回顾总结出来的自己的选择策略，但事实上就是那一瞬间让我感到兴奋的东西，根本不会一条一条去考虑。&lt;br&gt;
这个心动一刻会让我克服『创作』过程中遇到的困难并坚持下去。&lt;/p&gt;

&lt;p&gt;关于 &lt;strong&gt;还没有人实现&lt;/strong&gt; 这条，在 &lt;strong&gt;刚刚兴起&lt;/strong&gt; 的事物里比较容易找到。&lt;/p&gt;

&lt;p&gt;因为用 Sketch 画了一些东西后，觉得它很赞，一直想要为它能逆袭 Photoshop 成功而做些贡献。&lt;br&gt;
有一天在 ui.cn 上看到翻译过来的介绍时，我想着这么酷的东西 Sketch 不能没有！
当然了还没有人实现，毕竟多是设计师。&lt;/p&gt;
&lt;h2 id="Steal"&gt;Steal&lt;/h2&gt;
&lt;p&gt;嗯，我不想引用什么名言，比如乔布斯说的什么。主要就是 &lt;strong&gt;steal&lt;/strong&gt; 这些：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;创意&lt;/li&gt;
&lt;li&gt;想法&lt;/li&gt;
&lt;li&gt;逻辑&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这个插件基本上是个平台移植，逻辑可以说是『临摹』过来的。
其实如果已经有人做得好了的话，我会选择 Copy &amp;amp; Paste，我也就不想去做了。&lt;/p&gt;

&lt;p&gt;当我看到是老外做到插件的时候，我就预感到了有可能项目会托管在 github 上]。
但 ui.cn 上的那片介绍没有给出原作者的信息，当时在原文地址里也没找着。
于是我直接去 google 了一下，果然在 github 上找到它了。&lt;/p&gt;

&lt;p&gt;它是开源的，我能看到插件的实现逻辑。
它用的是一种后缀为 &lt;code&gt;.jsx&lt;/code&gt; 的文件，当时没太在意那是什么脚本语言，反正大概能看懂是什么意思就行了。
后来好奇才去了解了一下 &lt;code&gt;.jsx&lt;/code&gt; 是什么东西，语法上基本就是 javascript。
我去查找了 Photoshop 的插件怎么写，里面用到的方法是什么意思。找不到，这类资料太少了。
当时看完也只是知道了大概是怎么画线而已，是个非常模糊的东西。
而且，Sketch 插件要如何实现或者能不能实现类似的操作我是完全不知道的，一片空白。
但至少有了个参照的东西，和一些有用的信息。所以不急着完全看懂，也看不懂，先开始尝试在 Sketch 上去实现。&lt;/p&gt;

&lt;p&gt;基本在整个『创作』的过程中，我会反复的回来 steal 这个项目的东西。&lt;/p&gt;
&lt;h2 id="学习"&gt;学习&lt;/h2&gt;
&lt;p&gt;有了大概的方向和想法后，接着就是去学习并尝试掌握需要的东西。一般来说，这个是整个『创作』过程中最耗时间的一环。
一般情况下你可以先去 &lt;strong&gt;阅读相关书本&lt;/strong&gt; 或者比较 &lt;strong&gt;好的教程&lt;/strong&gt; 入门。但是当这些都没有话，只有去寻找这类资源：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;查阅文档&lt;/li&gt;
&lt;li&gt;阅读别人代码&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;嗯，第二条是重要和有效的做法。你不会是第一个去做一类事情的人，总会有先驱。如果你是第一人，那恭喜你。&lt;/p&gt;

&lt;p&gt;编写 Sketch plugin 没有教程和相关文章，更别说书本了。但有官方的文档，Sketch 官方的文档写的很简陋，开头简单的介绍了下「插件系统」所使用的语言 ( &lt;a href="https://github.com/ccgus/CocoaScript" rel="nofollow" target="_blank" title=""&gt;CocoaScript&lt;/a&gt; )，然后举了一个历遍 Selection 的例子。剩下的就非常简单的介绍了一些主要/常用类，基本就只是列出来而已，没有例子。带着前面的想法和问题，我过了一遍文档后只是对几个主要的类有个初步的认识而已。&lt;/p&gt;

&lt;p&gt;但是，文档的最后一页给出了更多的线索。别人写的插件，还有可以将 Sketch 所有类的 &lt;strong&gt;头文件&lt;/strong&gt; 全都导出来的工具，里面没有任何注释。&lt;/p&gt;

&lt;p&gt;首先当然是去阅读现有的插件，看看先驱们是怎么做的，里面可以看到大量实用的代码和信息。
&lt;strong&gt;挑选&lt;/strong&gt;一些合适的插件项目尽量细读，挑选意味着要去将列出来的插件的代码过一遍，知道里面有没有和你要解决的问题相符合，或者看上去有关系的内容。当然不是要看所有，可以根据项目名字的相关性过滤掉一些。&lt;/p&gt;

&lt;p&gt;在翻阅了 4，5 个项目后，我首先选了 &lt;a href="https://github.com/utom/sketch-measure" rel="nofollow" target="_blank" title=""&gt;sketch-measures&lt;/a&gt; 进行细读。注意， &lt;strong&gt;不需要一次就读完和看懂&lt;/strong&gt; ，因为其实很多内容对我的『创作』暂时是没有什么用的。在 &lt;strong&gt;sketch-measures&lt;/strong&gt; 这个项目里，我知道了怎么编写和组织一个 Sketch plugin，还有几个主要的类的用法和关系。更多的是文档里面没有的东西，比如如何添加图层、画矩形、创建图层组和如何使用 CocoaScript。而其它的如何测量图层具体，如何添加颜色，还有一些工具方法我也只是过过眼而已。&lt;/p&gt;

&lt;p&gt;CocoaScript 说是用的 javascript 的语法，但基本是和 Objective-C 的混合。
有些插件的代码看上去就不伦不类，一会 js, 一会 oc。而我则尽量使用 js 的语法，这样会让代码更容易阅读一些，但这也耗费了我不少时间。&lt;/p&gt;

&lt;p&gt;然后，就是 &lt;strong&gt;尝试使用&lt;/strong&gt; 学到的知识，而这个学习的过程也是需要 &lt;strong&gt;反复进行的&lt;/strong&gt; 。&lt;/p&gt;
&lt;h2 id="实践"&gt;实践&lt;/h2&gt;
&lt;p&gt;这是学习的一部分，但是在没有书本，教程的情况下，应该拿出来单独说说。这部分才是真正耗时的环节。我总结的是两个方法：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;猜测&lt;/li&gt;
&lt;li&gt;实验&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;先回到我要『创作』的内容：画出各种黄静比例曲线。我先从画出一个黄金比例的矩形开始。
如何使用 Cocoascript 在 Sketch 里画出一个矩形？为了解决这个问题我把前面学到的知识全都挖了一遍。&lt;/p&gt;

&lt;p&gt;如何画出一个矩形？如何设定宽高？如何给边框（Border) 加上样式？如何填充颜色？
我在 measures 项目里找到了相关代码，官方文档没有。当然了，我没有复制粘贴，我必须理解代码，这些依然是基础知识。所以我又翻阅了一边官方文档，去熟悉那些使用到的类和方法的用途和关系。&lt;/p&gt;

&lt;p&gt;另外一个需要熟悉的是，CocoaScript 的使用。刚开始它使我很困惑，而其它插件都混用了很多 OC 语法。
我坚持全都使用 javascript 的语法，所以我反复调整执行代码查看结果去熟悉它。最后一节我会举两个代码的例子。
折腾了 CocoaScript 并画出了第一个矩形后，之前学习到的东西都掌握了。&lt;/p&gt;

&lt;p&gt;接着我要先画出一条曲线。这个既无文档，又无『先驱』。 &lt;strong&gt;而 Sketch 这个名字在这个时候是个悲剧，google 都帮不到了我，只能靠自己了。&lt;/strong&gt;
我只能导出头文件自己找了，里面有近百个文件。。。&lt;/p&gt;

&lt;p&gt;那么，我们来开始 &lt;strong&gt;猜&lt;/strong&gt; 谜游戏，在这堆头文件里找到想要的解决方法。
通过阅读官方文档，可以知道类的命名规则和一点点的『设计套路』。画出第一个矩形的过程对我进行猜测非常有帮助，因为我已经熟悉了。&lt;/p&gt;

&lt;p&gt;先根据我要要的东西 &lt;strong&gt;猜类名&lt;/strong&gt; ，比如  &lt;code&gt;MSCurve&lt;/code&gt; 之类的。然后是 &lt;strong&gt;猜函数名&lt;/strong&gt; ，感觉猜对了就猜 &lt;strong&gt;调用方法&lt;/strong&gt; 开始进行实验。实验就是执行代码，看看结果是否符合，失败后就继续找。
因为缺乏搜索用的关键字，我开始在猜好类之后查阅整个类的函数列表，想在其中找到蛛丝马迹以获得新的关键字。
大部分实验都是不断的在报错，比如参数类型不对、找不到方法、参数给的类不对。虽然 OC 是静态语言，但是很多都用的是 &lt;code&gt;id&lt;/code&gt; 类型，也就是不知道指向哪里的指针... 只能通过参数名猜相关的类。
唯一成功的画出来确实两个点，直线都不是。&lt;/p&gt;

&lt;p&gt;后来我找到了一条重要的线索，先是找到了 &lt;code&gt;MSBezierPath&lt;/code&gt; , &lt;code&gt;BezierPath&lt;/code&gt; 是什么东西？我不知道… 没有曲线的意思阿。原来它是一种绘制曲线的方法的名字，或者就是一种曲线，其实是个人名，具体请看 wikipedia。
另一个是 &lt;code&gt;NSBezierPath&lt;/code&gt; ，&lt;code&gt;NS&lt;/code&gt; 开头的类是 &lt;code&gt;Cocoa Framework&lt;/code&gt; 类名的统一前缀，是苹果官方的类！苹果文档对 &lt;code&gt;NSBezierPath&lt;/code&gt;  做了详细的说明，感觉突然回到了文明世界。&lt;/p&gt;

&lt;p&gt;即使我知道了 &lt;code&gt;NSBezierPath&lt;/code&gt; 怎么使用，我还是不知道怎么把它画到 Sketch 的画板上，只能回去继续猜测了。
在尝试了很久之后依然没有找到方法，但是觉得很靠近了。
于是我停下来了，我想着去 github 碰碰运气，直接搜索我之前找到的一个新类名 &lt;code&gt;BCBezierPath&lt;/code&gt; 。
我在 &lt;a href="https://github.com/tadija/AEFlowchart" rel="nofollow" target="_blank" title=""&gt;AEFlowchart&lt;/a&gt; 这个 sketch plugin 项目里找到了如何将曲线画到画板上的方法了。其实关键就差个 &lt;code&gt;MSShapeGroup&lt;/code&gt; 类，这一举解决了我想要实现的一个效果：合并图层，这个很重要。&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;msPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;BCBezierPath&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bezierPathWithNSBezierPath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bzPath&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;layer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;MSShapeGroup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;shapeWithBezierPath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;msPath&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="nx"&gt;parentLayer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addLayer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;layer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当成功画出第一条曲线后，欢呼吧！这时候可以开始将那个 PS 神器搬过来了。
也就是说真正的工作才刚刚开始，前面都是前奏，呵呵！
曲线的绘制逻辑基本上跟那个 PS 神器里的一样，花些时间『临摹』下来就可以了。不过临摹的过程中我顺便去了解了下各种曲线，还有 PS 里使用到的一些常量。&lt;/p&gt;

&lt;p&gt;对了，经过这一战役，我发现一个好的类名或者函数名是非常重要的！
后来发现原来我很不幸地忽略了一些社区，原来有个 sketch 插件开发者的邮件列表，直接去那里问应该会快很多，不用走那么多弯路。&lt;/p&gt;
&lt;h2 id="交互"&gt;交互&lt;/h2&gt;
&lt;p&gt;在一阵混乱过后，我掌握了『创作』所需要的一切。接下来就是要让这个混乱的世界变得有条理，和更好。
在前面几个阶段里，因为我是在不断做 &lt;strong&gt;实践&lt;/strong&gt; 的，如何使用的问题就突出了。
基本上我是想做到：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;易于使用&lt;/li&gt;
&lt;li&gt;整洁的代码&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;因为画出来的曲线是分段不连贯的，我需要把它们合并成 &lt;strong&gt;单个图层&lt;/strong&gt; 。
因为是一条曲线，非常难被选中。我需要用图层组将它包住，然后就可以 &lt;strong&gt;轻松的选中整个图形&lt;/strong&gt; 了，而且于是『透明』的。
图层组（容器）的大小需要根据曲线大小调整。
需要 &lt;strong&gt;锁定比例&lt;/strong&gt; ，这样调整大小才不会让图形变形。
还有，根据选中图片或者画布 &lt;strong&gt;画出相应大小的曲线&lt;/strong&gt; 。&lt;/p&gt;

&lt;p&gt;简单的说就是：动态生成，容易操作，可自定义（颜色，粗细，大小）。&lt;/p&gt;

&lt;p&gt;另外一个就是整理代码和重构，用更好的实现方法。前面漂亮，后面也要漂亮，其实都是要给人看的。这就是为什么我要坚持尽可能全都使用 javascript 语法的原因：容易阅读。&lt;/p&gt;

&lt;p&gt;当这一切完成后，『创作』基本上是完成了三分之二。这个想要给人用的，需要让别人知道和使用，然后『创作』才算完成。&lt;/p&gt;
&lt;h2 id="包装"&gt;包装&lt;/h2&gt;
&lt;p&gt;所谓包装就是让你的『创作』显得逼格很高。我从这几方面入手：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;『像样』的项目&lt;/li&gt;
&lt;li&gt;Logo&lt;/li&gt;
&lt;li&gt;动画操作演示&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Github 是个首选的项目托管平台，原因是什么就不多说了。现在很多图形类的资源都也放在上面了，虽然虽然不如技术类的，但是这个平台给人可靠的感觉。凡是在上面找到的项目给人感觉都是挺靠谱的甚至是优秀的，就好像 Stackflow 找问题一样。
最基本的，加上 &lt;code&gt;README&lt;/code&gt; 文件介绍安装和使用方法后放到 Github 上。
容易阅读的代码也对一个好项目是重要的，所以就如我前面提到的一样，要统一使用 js 语法使其更容易阅读。
项目主页对于一个『像样』的项目的重要性我就不多说了。我直接使用了 github pages（就是 README 的内容）, 并顺便加上了 google analytics。当然最好就是能自己设计一个项目首页，但是我知道这个又是一个费时间的工作，权衡之下还是算了而且当时也急着发布出去。&lt;/p&gt;

&lt;p&gt;对于 Logo,  我发现很多比较好的技术类开源项目都会附上漂亮的 Logo, 比如 &lt;strong&gt;Devise&lt;/strong&gt;, &lt;strong&gt;AFNetworking&lt;/strong&gt; 和我上面提到的 &lt;strong&gt;sketch-measures&lt;/strong&gt; 项目等等。也许就是因为 &lt;strong&gt;sketch-measures&lt;/strong&gt; 有个漂亮的 Logo 我才选择做精读的学习项目。
一个有 Logo 和没有 Logo 的项目比较起来，逼格会差很远。如果 Logo 越好看，那项目给人的感觉自然就会更好，图给人的感觉会亲近很多。想研究 Logo 的请看设计类书籍。
所以我也给项目加上了一个 Logo，虽然没有太用心设计，但一眼能看出项目是做什么的就好了。&lt;/p&gt;

&lt;p&gt;动画操作演示，复杂点的可以使用视频。但是我觉得要动用视频的去做演示都是比较复杂的交互了，一般一个剪短的 gif 动画图片演示完最好。
这个的作用就好比 Logo，写 500 字的说明文档还不如一个小动画，而且是瞬间国际化，没有语言障碍。
这个我当时没有给项目用上，而是用了三行字。当时看着就很不舒服了，但是就偷了懒。
后来在一个&lt;a href="https://github.com/ichord/simditor-dropzone" rel="nofollow" target="_blank" title=""&gt;新项目 simditor-dropzone&lt;/a&gt; 里我就用上了 gif 做演示，看上去好太多了。&lt;/p&gt;
&lt;h2 id="推广"&gt;推广&lt;/h2&gt;
&lt;p&gt;包装好后，就要进行推广。让更多人知道，这个比较简单，我做了这两个事情：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;教程（ui.cn)&lt;/li&gt;
&lt;li&gt;各个相关社区发布。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;因为这个工具的定位是 ui 设计类的，所以要找相关社区去发文章。工具类的自然是用使用教程了。
因为我 steal 的那个 PS 神器实在 ui.cn 上发现的，所以先在上面发了。然后在那个帖子的回复里贴上我发的教程和介绍的连接，因为那个帖子被推荐到首页了了，去沾点光。&lt;/p&gt;

&lt;p&gt;另外一个上去就是 Sketch 的各类国内社区发布在 ui.cn 的&lt;a href="" title=""&gt;文章&lt;/a&gt;，国外社区就直接上 github 项目和简单的介绍。
国内的我去了 v2ex.com, sketchcn.com, 还有意外的发到了 rubychina 社区。
国外的我在 designcode.io Facebook 群组里、Google+ 的 Sketch+ 社区、还有 sketchresources.com 上发布了 github 地址和介绍。后来又去了 Twitter 上 tweet 了一下。&lt;/p&gt;

&lt;p&gt;这个时候 Logo 就起了大作用了。另外放在 Github 上的好处也凸显出来，因为在 Google+、Facebook 和 Twitter 上发布 github 的链接都会自动生成项目简介卡。&lt;/p&gt;

&lt;p&gt;我这里要特别提一下两个地方：&lt;/p&gt;

&lt;p&gt;sketchresources.com 是一个 sketch 的免费资源站，发布插件要审核的。这个网站的流量相对来说应该是很高的，基本使用 sketch 的人都会去，因为 sketch 的资源相对来说还非常少，大部分应该都集中在这里。&lt;/p&gt;

&lt;p&gt;另一个是 designcode.io，这是一个教设计师写 APP 的书，主要工具就是使用 sketch。我自己认为它的读者水平应该都是不错的。另外，作者每周会收集一些优秀的 sketch 和 ios 的资源然后给读者发周报。按照作者说的，购买书本的读者已经超过了 6000。结果就是，我的这个工具被作者收录在 designcode.io/learn 里并发了周报，也就是说 6000 个学习/使用 sketch 的设计师会看到我这个插件。&lt;/p&gt;

&lt;p&gt;而在 google analytics 里记录的浏览记录中有一个陌生地址，占了很多的流量。
&lt;a href="http://blog.templatemonster.com/2014/09/25/free-sketch-plugins" rel="nofollow" target="_blank" title=""&gt;blog.templatemonster.com&lt;/a&gt; 里面对我这个工具的介绍是&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here’s a one of the best free design Sketch plugins&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;呵呵呵呵呵呵....
我刚又去看了下，50% 来自 sketchresources.com。&lt;/p&gt;
&lt;h2 id="跟踪"&gt;跟踪&lt;/h2&gt;
&lt;p&gt;发布后我会紧紧地盯着看看效果如何，其实这是很自然的事情，因为我很关心我做出来的东西是否和预期一样有用，并从中获得成就感和喜悦。
我现在时不时还会去看下这个工具的情况。
在这个过程中也能发现到不少有意思的东西，然后我就产生了写这篇分享的念头。&lt;/p&gt;
&lt;h2 id="然后"&gt;然后&lt;/h2&gt;
&lt;p&gt;以上就是我『创作』这个 &lt;strong&gt;sketch-divine-proportions&lt;/strong&gt; 工具的过程。完成后就是满满的满足感，有意思又好玩。自己翻代码寻求解决方法的那段时间最困难，常常进入死胡同而且会钻牛角尖。最后还是在 github 上找到了解决方法，github 实在是太赞了。&lt;/p&gt;

&lt;p&gt;虽然是个小小的工具项目经验，但是我觉得挺有意思的。希望这个分享对大家有用。
以上愚见请笑纳。:)&lt;/p&gt;
&lt;h2 id="其它"&gt;其它&lt;/h2&gt;
&lt;p&gt;这里举两个关于 CocoaScript 中，oc 和 js 对应的语法例子。&lt;/p&gt;
&lt;h3 id="一般的调用:"&gt;一般的调用：&lt;/h3&gt;
&lt;p&gt;oc:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[[layer frame] setHeight: 200]
[[layer frame] setWidth: 200]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;js:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;layer.frame().height = 200
layer.frame().width = 200
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="多参数函数："&gt;多参数函数：&lt;/h3&gt;
&lt;p&gt;这个也是我在调试插件的时候发现的。搜索过如何对应，但是没有搜到。&lt;/p&gt;

&lt;p&gt;oc:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;[MSColor colorWithHex:"979797" alpha:1.0]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;js:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;MSColor.colorWithHex_alpha(“979797”, 1.0)&lt;/code&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Tue, 21 Oct 2014 16:56:41 +0800</pubDate>
      <link>https://ruby-china.org/topics/22171</link>
      <guid>https://ruby-china.org/topics/22171</guid>
    </item>
    <item>
      <title>我用 Sketch 做的简历和其它临摹.</title>
      <description>&lt;p&gt;先说一下，Sketch 是神器.
还没完成。想放的内容太多，完成了就是投的时候了。&lt;img title=":wink:" alt="😉" src="https://twemoji.ruby-china.com/2/svg/1f609.svg" class="twemoji"&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/6c4b4a41e9308709743004dc0ce57535.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;有个想说的，我希望以后整个简历里只放一项技能条。
其实最近也想准备换下工作的，社区里也有很多很好的让人心动的工作，而且还有截止日期 (当然啦....) .
但是要好好想想下一步往哪走，而且要走长途。&lt;/p&gt;

&lt;p&gt;嗯，来，拍拍简历。&lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt;&lt;/p&gt;

&lt;p&gt;/-------------------------------------------------- 分割线怎么弄出来 -----------&lt;/p&gt;

&lt;p&gt;多谢管理员帮我改成 &lt;code&gt;求职&lt;/code&gt; 分类。我这个简历是未完成的，只是 share 给大家看看。
我不想欺骗大家感情，目前还没确定要求职，只能说是准备，所以在制作简历。
所以，为了模糊这个简历，放一些其它一些我用 Sketch 临摹的 ICON. 还有一个自己写的 sketch 插件.
有兴趣自己设计产品 UI 的同学可以试试看。(对不起我又发些和 Ruby 没啥关系的东西.)&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/90d77b3a46ece1e8c97625c963041f0a.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;临摹 Yosemite 的两个.
&lt;img src="https://l.ruby-china.com/photo/2014/bef6c47050310f250ba5b3fd39244c4c.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;以上是其中两个，还有其它一些 iOS 7 icon 的，对源文件有兴趣的请移步:
&lt;a href="https://github.com/ichord/sketch-practise" rel="nofollow" target="_blank"&gt;https://github.com/ichord/sketch-practise&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PS. 使用 git branch 管理这个也是很赞的。&lt;/p&gt;

&lt;p&gt;最后就是这个插件，自动在 Sketch 画出各种黄金曲线。
&lt;img src="https://l.ruby-china.com/photo/2014/2e714dd8c4ab6bdd5bc69cfb78a6ed20.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;项目地址：&lt;a href="https://github.com/ichord/sketch-divine-proportions" rel="nofollow" target="_blank"&gt;https://github.com/ichord/sketch-divine-proportions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/-------------------------------------------------- 分割线怎么画-----------&lt;/p&gt;

&lt;p&gt;然后大家可以聊聊其实掌握多一项设计工具是很有用的，不要精通也可以。
上面的图都是我花了一个多月的时间，坚持每天临摹一个 icon 后达到的效果。刚开始大概要花个 2 ~ 3 个小时，后面就会快很多.
而且 Sketch 这个工具非常简单好用，没有 photoshop 那么复杂，很容易上手...&lt;/p&gt;

&lt;p&gt;可以改回 &lt;code&gt;瞎扯淡&lt;/code&gt; 了吗？&lt;a href="/lgn21st" class="user-mention" title="@lgn21st"&gt;&lt;i&gt;@&lt;/i&gt;lgn21st&lt;/a&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Sun, 14 Sep 2014 15:24:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/21525</link>
      <guid>https://ruby-china.org/topics/21525</guid>
    </item>
    <item>
      <title>自己微调了下社区网站的样式.</title>
      <description>&lt;p&gt;just for fun.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/d02f0d0a42c108b6cb9ba41ac619bcf1.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/571be3c17147c2ca3ee8ad88ae851144.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Sun, 17 Aug 2014 14:35:11 +0800</pubDate>
      <link>https://ruby-china.org/topics/21065</link>
      <guid>https://ruby-china.org/topics/21065</guid>
    </item>
    <item>
      <title>有人换过 Macbook 的键盘键吗?</title>
      <description>&lt;p&gt;&lt;code&gt;T&lt;/code&gt; 键牺牲了... 怎么会是它。&lt;code&gt;Command + T&lt;/code&gt; 的错？!?
有人换过吗？如果有，多少钱啊？!&lt;/p&gt;

&lt;p&gt;PS. 我图片上传前是正的.. 现在看是歪的。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/2f70f5cf9a213af86b667bc2b1b4a061.jpg" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Mon, 02 Jun 2014 12:38:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/19676</link>
      <guid>https://ruby-china.org/topics/19676</guid>
    </item>
    <item>
      <title>app icon 模仿练习之 sketch.app [更新]</title>
      <description>&lt;p&gt;今天的练习。准备将 Sketch.app 官方首页的图标抄成 App icon. 未抄完。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/79cb51aa9218ea8c70a9a5744c28ec94.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;算是完成的模仿作吧。像吗？! 哈.
&lt;img src="https://l.ruby-china.com/photo/2014/544b5202b1db112fa437b0b9d2750de8.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;节日快乐。&lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Wed, 28 May 2014 23:17:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/19614</link>
      <guid>https://ruby-china.org/topics/19614</guid>
    </item>
    <item>
      <title>An ruby iOS app icon by Sketch</title>
      <description>&lt;p&gt;前段时间买了 &lt;a href="http://bohemiancoding.com/sketch/" rel="nofollow" target="_blank" title=""&gt;Sketch.app&lt;/a&gt; . 个人觉得很好用，非常容易上手。轻巧锋利.
于是抄了一个多月的 icon, 每天一个。然后自己重新画了传说中的 iOS 7 网格，每条线都是经过计算的噢.
还有，下面这个 icon 不是抄的，虽然非常简单，是原创的。我自己要用的!! 至于要用来干嘛呢...我现在可不能告诉你们 这是个秘密。&lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/7d021af1fc813b26968cf382769a3a65.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;如果有人想要这个网格的话，到这&lt;a href="https://www.dropbox.com/s/ckxp8fun1z1rj1z/iOS_Grid.eps" rel="nofollow" target="_blank" title=""&gt;下载&lt;/a&gt;
不过现在这个用的是一般的圆角，今天去用 G2 连续曲线再画过。感觉 G2 连续曲线比较靠谱.
&lt;img src="https://l.ruby-china.com/photo/2014/1afd4697d8e107477839c4484aedd157.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;小图，就不放到 iphone frame 上展示了...
&lt;img src="https://l.ruby-china.com/photo/2014/4f924fc4756d9b01914485f12d8e5ce7.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;对 Sketch 有兴趣的可以到 &lt;a href="http://community.sketchcn.com" rel="nofollow" target="_blank"&gt;http://community.sketchcn.com&lt;/a&gt; , 翻译了用户手册。&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Sun, 25 May 2014 16:44:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/19524</link>
      <guid>https://ruby-china.org/topics/19524</guid>
    </item>
    <item>
      <title>WWDC 2014</title>
      <description>&lt;p&gt;刚收到邮件。WWDC 2014 在 6 初举行.
&lt;a href="https://developer.apple.com/wwdc" rel="nofollow" target="_blank"&gt;https://developer.apple.com/wwdc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write the code. Change the world.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2014/9581c2e91517b67cff2e6d250446edee.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Thu, 03 Apr 2014 23:07:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/18382</link>
      <guid>https://ruby-china.org/topics/18382</guid>
    </item>
    <item>
      <title>大家选择省市区时怎么处理 特别行政区 的?</title>
      <description>&lt;p&gt;填写快递信息的时候，一般都可以选择省市区的。对于特别行政区和台湾这些比较特别的地区大家是怎么处理的？&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Thu, 20 Mar 2014 11:38:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/18034</link>
      <guid>https://ruby-china.org/topics/18034</guid>
    </item>
    <item>
      <title>Google 搜索的结果页面变了?</title>
      <description>&lt;p&gt;我发现 google 搜索的结果页面变了。特别是每条记录的标题字体变大了。是不是有这回事？!&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2014/8de196934f2026974d0a210f86f0589f.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Tue, 11 Mar 2014 12:16:06 +0800</pubDate>
      <link>https://ruby-china.org/topics/17796</link>
      <guid>https://ruby-china.org/topics/17796</guid>
    </item>
    <item>
      <title>工作也旅行 - 工作地点</title>
      <description>&lt;p&gt;工作也旅行 将会是一系列的文章的主题，详情请看 &lt;a href="http://ruby-china.org/topics/16944" rel="nofollow" target="_blank"&gt;http://ruby-china.org/topics/16944&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;我拆分了 &lt;strong&gt;移动的工作&lt;/strong&gt; 这篇文章。我觉得涉及到的内容太多了，又或者说我废话太多。所以，还是小篇幅的来发的好。&lt;/p&gt;

&lt;p&gt;在这一年半的时间里，我在许多地方工作过.
说实话，移动的工作难度很大。我对此适应了很长时间，刚开始的那段时间效率真的很低.
也就是直到最近我才觉得比较适应。在此先感谢公司对我的包容。&lt;/p&gt;

&lt;p&gt;我一直在考虑是否可以做这个分享，因为我在移动的工作上不算是有什么可以说得上做得很好的地方，个人觉得失败的结果居多。但是我最近觉得，失败的经历更值得分享。&lt;/p&gt;

&lt;p&gt;回想这段移动工作的经历，首先想要讲的是 &lt;strong&gt;干扰&lt;/strong&gt; , 我觉得很多时候都是在和它做斗争.
而在移动工作的时候，干扰就显得多了许多。所以，我先总结一下，我遇到的干扰都有哪些。这一篇先讲讲 &lt;strong&gt;工作地点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;移动办公就意味着会比较频繁的变换工作地点，而它本身就是一个干扰.
如果你选择在一个地方呆上一两个月以上，那么这个的影响会变得小了很多。也就需要度过刚开始的适应阶段而已。&lt;/p&gt;

&lt;p&gt;一般我们都是固定在同一个地方工作，周围的环境我们都非常熟悉，一切都显得很自然。但是，一旦去到一个全新的环境里的时候，我觉得这应该是本能，会感到陌生和不安。特别是当你是独自一个人出行的时候。如果不花精神和时间去适应周遭，是不能安心的去做其它事情的。不过，当你换了超过 10 个地方后，也就比较容易适应这种切换和节奏了。适应的时间长短需要看你的内心有多强大，哈。&lt;/p&gt;

&lt;p&gt;在一种不稳定的状态下，是很难专心去做事情的。但这个稳定也是相对的。就好比一条长长的波浪，放大了看也近似一条直线了。&lt;/p&gt;
&lt;h4 id="旅舍"&gt;旅舍&lt;/h4&gt;
&lt;p&gt;我一般是景点附近的青年旅舍里面住的，所以相对来说最好的工作地点就是青旅大厅。但是，青旅大厅会比较吵闹，人也挺多的。而网络往往只覆盖了大厅，房间里很弱甚至是没有了。高大上的青旅除外。这不会是一个很好的工作场所，但基本也只能选它了。&lt;br&gt;
不过只要选择对的时间段，它就是个很好的工作地点。而这个时间段就非常容易发现了，那就是早上。
青旅的人大多都是出来旅行的，除了某些大城市的除外，所以白天基本不在旅舍里。即使是留在旅舍不出门的，也会睡到自然醒。下午人们也开始活动，出出入入什么的。所以整个早上是最好的时间，安静，网络独享。&lt;/p&gt;
&lt;h4 id="家里"&gt;家里&lt;/h4&gt;
&lt;p&gt;另外我有一半的时间在家里办公，而我家里是个非常糟糕的工作环境。
如果你是一个人住的话，也许只要克服娱乐和放松的诱惑就好了，毕竟从小到大，放学回家就是要玩的.
但是我觉得这个问题不大，我觉得责任心强一点的人基本都能很快适应。自己分配给自己的工作计划除外，比如学习计划什么的。我们很容易为自己找借口，而且在这方面上也很容易原谅自己。或者说允许自己放弃 (这又涉及到一些个人成长的问题).
而如果在家不是一个人的话，这要看家人对你的理解和支持程度了。我已快被看成无所事事，不思进取每天对着电脑混日子的人了。所以打断你无商量，而且要给你施压。&lt;/p&gt;

&lt;p&gt;如果我们从小到大在家里都是学习的话，也许就没那么多问题了。所以这时候我们需要借助外力，另外找一个 &lt;strong&gt;非常无聊&lt;/strong&gt; 或者 &lt;strong&gt;气氛非常好&lt;/strong&gt; 的环境去工作。例如，独自一人的咖啡厅，还有大家都在读书或者学习的图书馆。
咖啡馆我就不说了，说说图书馆吧。&lt;/p&gt;
&lt;h4 id="图书馆"&gt;图书馆&lt;/h4&gt;
&lt;p&gt;我在两个图书馆长时间工作过，一个是北京的国家图书馆，一个是深圳的南山图书馆。
我认为图书馆是个完美的地方。那里非常安静，有合适的座椅，干净的厕所，免费热水供应，免费 WIFI , 还有一大堆书，最重要的是学习氛围浓厚。而且一般图书馆环境都很好.
即使不去工作，也可以去学习。那里有一大批和你一起奋斗的伙伴.
目前我还没找到什么缺点。是首选！&lt;/p&gt;
&lt;h4 id="路上"&gt;路上&lt;/h4&gt;
&lt;p&gt;个人认为这是个比较有意思的工作地点。 &lt;/p&gt;

&lt;p&gt;首先是火车上。我试过在火车上工作过，但是那基本是不太可能的。因为火车会有晃动，虽然动作不太大。但是对于我要看清楚字母的程度上来说，时间长了就会头晕。如果坐高速列车的话就会好很多，除了网络问题外，会是个非常棒的工作环境。&lt;/p&gt;

&lt;p&gt;海滩上。在威海的时候，旅舍就在海边。因为旅舍里面比较吵，影响到开团队会议。所以我只能，也是最棒的地方，去海滩上边走边开会。(就是我去的时候太冷了...)&lt;/p&gt;

&lt;p&gt;环海路。在大连的时候，我去徒步走了趟 &lt;strong&gt;环海路&lt;/strong&gt;. 我的 iPod Touch 能收到来自 Trello 的通知，那个时候我也走累了。就路边坐坐下来查阅信息。这个时候还能想想相关问题。&lt;/p&gt;

&lt;p&gt;还有其它一些小地方和场景，如参加婚礼。当然，这些都是一些比较碎片的工作。但我觉得挺有用的。这里涉及到了一些 &lt;strong&gt;工作和时间安排&lt;/strong&gt; 之类内容，也不细说了。&lt;/p&gt;
&lt;h4 id="其它"&gt;其它&lt;/h4&gt;
&lt;p&gt;移动办公还有另外一个问题，就是桌椅的问题。在许多地方，桌椅都是休闲用的，根本不适合长时间办公。比如星巴克有好些座椅是一样高的！这个时候就得自己想办法克服了。例如，我在拉萨住的青旅，大厅基本就是一个天井 (抬头可以看星星), 而天井只有边上的长椅，没有桌子。于是我每天晚上坐在那，把电脑包叠上相机包叠再叠上小背包放大腿上，高度刚刚好。
如何减轻久坐带来的劳损问题的方法，我想应该比较容易找到吧。这里也不多说了。&lt;/p&gt;

&lt;p&gt;总的来说，当你在外面旅行漂泊的时候，住的地方是最好的工作地点，注意要花时间去熟悉和适应周遭。选择时间段也是非常重要的。
在家里或者长居地的话，出去外面找地方吧，很无聊或者气氛好就可以了。而我现在觉得图书馆是最棒的地方。&lt;/p&gt;

&lt;p&gt;噢，对了。有艳遇的话就不要工作了，通宵工作的机会天天都有。&lt;/p&gt;

&lt;p&gt;and one more thing, a picture:&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2014/289c322c8bb12b7807e280266d88a57b.png" title="" alt="在北京爬野长城"&gt;&lt;/p&gt;

&lt;p&gt;在北京爬野长城&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Sat, 08 Mar 2014 22:44:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/17748</link>
      <guid>https://ruby-china.org/topics/17748</guid>
    </item>
    <item>
      <title>请贴上您 2013 年的年终总结</title>
      <description>&lt;p&gt;一到春节我特别喜欢去搜刮一些年终总结看。不知道为什么我觉得这很有意思.
现在貌似有些晚了。Anyway. 请贴上您的 2013 年的年终总结.
好吧，我自己没有写。XD.&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Wed, 12 Feb 2014 13:06:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/17189</link>
      <guid>https://ruby-china.org/topics/17189</guid>
    </item>
    <item>
      <title>工作也旅行 - 跨洋远程面试</title>
      <description>&lt;p&gt;工作也旅行 将会是一系列的文章的主题，详情请看 &lt;a href="http://ruby-china.org/topics/16944" rel="nofollow" target="_blank"&gt;http://ruby-china.org/topics/16944&lt;/a&gt;.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;选 &lt;strong&gt;移动的工作&lt;/strong&gt; 和这篇文章的人数是一样。所以我选了这个比较简短的分享。这其实是没有计划在主题里面的。但我觉得是一次难得的经历，所以也写出来和大家分享一下。&lt;/p&gt;

&lt;p&gt;这次先来张照片&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2014/9748eb91ac51793ad0cfc141ba3f7002.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="回顾"&gt;回顾&lt;/h3&gt;
&lt;p&gt;因为 At.js 项目我在旅行至黄山脚下时收到了来自美国一旧金山公司的工作邀请，并在北京参加完 Ruby China Conf 后进行了面试。而我面试的应该是 &lt;strong&gt;前端开发&lt;/strong&gt; 的职位。&lt;/p&gt;
&lt;h3 id="结果"&gt;结果&lt;/h3&gt;
&lt;p&gt;很可惜，我面试失败了。这使我失落了那么一两天，虽然我一开始就已没有抱太大的希望。&lt;br&gt;
从黄山到北京参加完 Ruby Conf 后一共有 10 天时间。但是我可以说没有做任何准备，当时我只是觉得只是跟对方聊聊而已。&lt;br&gt;
虽然我多次想直接放弃参加任何活动和去任何地方就准备好这次远程通话。但是我没有那么做。 &lt;/p&gt;

&lt;p&gt;其实，现在想想，是自己没有好好把握这个突如其来的好机会。&lt;/p&gt;
&lt;h3 id="过程"&gt;过程&lt;/h3&gt;
&lt;p&gt;面试是在北京时间早上七点半开始的，美国那边大概是下午四点半吧。我们就找合适的时间还来回了几封邮件。这里我暂称和我通话的人叫 Peter.&lt;br&gt;
Peter 和我确定了时间后通过 Google Calendar 发送了 Skype 通话的 Event 邀请。&lt;/p&gt;

&lt;p&gt;一开始 Peter 先简单的介绍了一下公司，他们已有一个 UX 团队 (估计是正在组建). 然后就问我一些在邮件上问问过我的问题，诸如我在哪里啊，是否愿意来到美国工作之类的.
我当然回应能去的话那是再好不过的了。在问完基本情况后，接着他问了一个蠢人都知道怎么回答的问题，而我却不假思索的答错了。问题是这样的：&lt;strong&gt;你是否可以现在就进行面试，还是说再安排个时间呢？&lt;/strong&gt;.
我想我之前是没有理解错的，这次通话只是聊聊而已。但是我马上回答：&lt;strong&gt;可以啊，现在就可以面试&lt;/strong&gt; (太 TMD 自信了.. = =).&lt;/p&gt;

&lt;p&gt;"OK! Cool! So then I will give you a.......".&lt;/p&gt;

&lt;p&gt;其实当时我隐约发觉我说错话了，Peter 马上就给我介绍接下来要怎么面试了。我那时候已经开始慌了。这是我接近两年来第一次比较正式的面试。已经可以说我已经毫无面试经验了。&lt;/p&gt;

&lt;p&gt;好。和 Peter 先生一样，废话少说，切入正题。Peter 一开始便给了我一个连接，进入一个网站，里面有一道题目。Peter 会看着我做的任何修改。以下是规则：&lt;/p&gt;

&lt;p&gt;Peter 简单的跟我说了下那个网站怎么回事并告诉我不用理会里面的代码用的是什么语言，按照我自己想的编写代码就可以了。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;这里面有一段未完成的代码，你需要尝试把它完成。当然，不必做完。主要是看你怎么做。&lt;/li&gt;
&lt;li&gt;有 5 分钟可以去 google 一下。&lt;/li&gt;
&lt;li&gt;代码注释里面有详细规则，有看不明白的话也可以问。&lt;/li&gt;
&lt;li&gt;有 20 分钟。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;好，开始!
虽然跟真正面试的环境不太一样。有兴趣的话你也可以试试看。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sketchpad.cc/6uj0ntkM46" rel="nofollow" target="_blank"&gt;http://sketchpad.cc/6uj0ntkM46&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;不知道大家觉得 20 分钟会不会太少了？我当时是刚搞明白里面怎么回事差不多就 20 分钟了。一是当时慌张了，现在根本回想不起来当时是怎么个状况，就是一个乱字.
二是我竟然认识里面代码讲的内容，花了过多的时间去 Google 了。结果我这边半天没有什么动静，没输入过什么东西。Peter 得知我刚开始比较紧张后，还把时间调整到 50 分钟并安慰我说不用紧张，这没什么大不了的啊。:)&lt;/p&gt;

&lt;p&gt;过程中我还尝试去问了 Peter 两三个问题。Peter 也都仔细的回答了。
最后，在我问是否可以 Google 一下解决方法后，Peter 决定终止面试了，结论是："你也许是个优秀的 js 开发者，但是对面试考得这些内容不太行。如果你有做好 interview 准备应该会好些...... " &lt;/p&gt;

&lt;p&gt;然后就没有然后了。&lt;/p&gt;
&lt;h3 id="总结"&gt;总结&lt;/h3&gt;
&lt;p&gt;虽然失败了，但我还是觉得这是很难得的经历。总得收获些什么。&lt;/p&gt;

&lt;p&gt;首先，当然全程都是用英文交流的，而且 Peter 不会在这方面有所照顾。这方面就把我削弱了很多。虽然 &lt;strong&gt;基本交流都没有问题，但是我来不及考虑&lt;/strong&gt;. 我的时间基本都花在理解 Peter 说的话和整个面试过程上了。而且，因为 Peter 的语速比较快，以我的英语水平总会 &lt;strong&gt;丢失信息&lt;/strong&gt; .
最后慌乱起来。一言蔽之，交流不行。&lt;/p&gt;

&lt;p&gt;然后，我花了很多时间在阅读代码说明和代码上了，而且因为我貌似认识里面代码讲的内容，总想着去 Google 更具体的代码或者讲解。其实注释里面已经说得很清楚了，没有必要 google. 如此一来，我便是左顾右盼，没有关注到问题本身。&lt;/p&gt;

&lt;p&gt;再者，我已经长时间没有面试过了，即使如此我还是没有做任何准备。态度也是消极的，因为我一开始就没有抱太大希望，否认了自己。认为这只是运气，显得儿戏。&lt;/p&gt;

&lt;p&gt;还有一个非常让我"痛心"的是，我的前任 BOSS: &lt;a href="/hayeah" class="user-mention" title="@hayeah"&gt;&lt;i&gt;@&lt;/i&gt;hayeah&lt;/a&gt; 用过差不多一样的题目去面试，还跟我们提起过，所以我认得里面代码的内容。我记得他还叫我试试看。但是我就是 (TMD) 没有去试试看。&lt;/p&gt;
&lt;h3 id="讨论"&gt;讨论&lt;/h3&gt;
&lt;p&gt;我后来回想了几次整个面试的过程和题目，觉得这里对于面试官来说也有不少可取之处。&lt;br&gt;
我自己做了些内容扩展。&lt;/p&gt;
&lt;h4 id="使用面试者不懂的语言"&gt;使用面试者不懂的语言&lt;/h4&gt;
&lt;p&gt;我觉得这个会挺有意思的，当时我猜链接里面的代码是 C 语言。心里还想着我不是面试前端吗？! 怎么还我用 C 语言解算法题啊!! 其实那不是 C 语言，你猜到是什么了吗？
不要告诉面试者这是什么语言。就如 Peter 跟我说的一样，不要管，照用就是了。&lt;/p&gt;

&lt;p&gt;我认为这个的好处是可以看看对 &lt;strong&gt;新事物的适应能力&lt;/strong&gt;, &lt;strong&gt;还有学习能力&lt;/strong&gt;.
另外，看面试者是否可以排除干扰，直接 &lt;strong&gt;关注到问题本身&lt;/strong&gt; . 
当然，这个要需要下面内容的配合。&lt;/p&gt;
&lt;h4 id="看过程而非结果"&gt;看过程而非结果&lt;/h4&gt;
&lt;p&gt;20 分钟，对于算法不在行的我来说，光听着就够紧张的了。但是我严重的忽略了一点，Peter 没有要求我把这道题完整的解出来，他只是想看看我如何去解决这个问题。看看我如何编写代码，如何 去 &lt;strong&gt;书写&lt;/strong&gt; 和 &lt;strong&gt;表达&lt;/strong&gt;. 所以他说我不必关心那里面用的是什么语言，只管输出文字就好了。&lt;/p&gt;

&lt;p&gt;而我的思维定势就是只有把题目给答出来了才是对的。其实不然，我只需要去 &lt;strong&gt;表达&lt;/strong&gt; 想法就好了。&lt;/p&gt;
&lt;h4 id="互动: 参与进来."&gt;互动：参与进来。&lt;/h4&gt;
&lt;p&gt;这个也许在英语面试里的作用显得更为明显。参与到解题过程中去，帮助解决问题。就如 Peter 一样，我不懂或者遇到困难的时候，可以向他寻求帮助。我觉得这里可以扩展一下，更多的参与进来，看看面试者如何与人交流和合作。&lt;/p&gt;

&lt;p&gt;而我当时却选择去依赖 Google, 当然，英语交流是个严重的障碍。&lt;/p&gt;

&lt;p&gt;我觉得这个的好处就是，能在一定程度上消除面试者的紧张感，而不是感觉有个 "压力" 在盯着自己，可以有更真实的发挥。另外，合作过，才有更好和相对深入的了解。&lt;/p&gt;
&lt;h3 id="结尾"&gt;结尾&lt;/h3&gt;
&lt;p&gt;这期的分享就结束了。下一篇会接着讲 &lt;strong&gt;移动的工作&lt;/strong&gt; 预计篇幅会比较长。&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Thu, 06 Feb 2014 22:21:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/17092</link>
      <guid>https://ruby-china.org/topics/17092</guid>
    </item>
    <item>
      <title>工作也旅行 - 工作机会</title>
      <description>&lt;p&gt;&lt;strong&gt;工作也旅行&lt;/strong&gt; 将会是一系列的文章的主题，详情请看 &lt;a href="http://ruby-china.org/topics/16944" rel="nofollow" target="_blank"&gt;http://ruby-china.org/topics/16944&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;这一篇主要说的是我如何走运获得两次难得的工作机会的经历。我总觉得是我运气所致，个人感觉有点"非主流". 也许就当作一个案例好了。&lt;/p&gt;

&lt;p&gt;在 2012 年初我从杭州游荡回来，开始盘算着找工作。我当时有些苦恼，因为我学历不高，没丰富的工作经验，简历也不"漂亮". 也许鉴于这种情况，我认为去网上海投简历是件非常蠢的行为。而且我本来也就不看好那样的方式。&lt;/p&gt;

&lt;p&gt;但如果不投简历又要怎么做呢？我想到了开源项目。我当时就认为作品列表比那简历要有用得多。而且对于我这样条件的也只能用 "非正常" 途径去获得比较好的工作机会。但是我的 github 上空空如何。要怎么做呢？我也不清楚。&lt;/p&gt;
&lt;h2 id="寻找"&gt;寻找&lt;/h2&gt;
&lt;p&gt;于是我漫无目的在网上翻阅别人的博客和其它网站。我来到了 ruby china 论坛 :). 在这里，我看到了许多门槛不高 (至少看上去是的) 工作机会，我想是得益于 Rails 的开发者还不多。我莫名的觉得开心，也许是因为我看到了这个社区是新的，这项技术是新的 , 而且都还挺 cool . 更重要的是社区是开源的！&lt;br&gt;
由于有以前的经历，开源社区给我的感觉都是非常好的。我希望在这里能获得一个工作机会。但是问题依旧，我没什么 Rails 的开发经验，没有"漂亮" 的简历。但是新兴的领域就会有很多机会。这时候我心生一念，我开始去翻阅社区项目的 issues , 看看是否可以参与到社区的开发中去。&lt;br&gt;
一是可以开始积累 Rails 开发经验，一是希望通过这种方式让大家认识我并得到认同。&lt;/p&gt;

&lt;p&gt;先从简单的入手，也是兴趣所致，我挑了 "自动补全用户名" 的 issue .  有人提到了像微博和 twitter 那样输入 @ 后补全的做法。这个功能看上去挺 cool 的！不是吗？! 第一件事当然是去 google 啦，这样的小功能应该有现成的解决方案才对。但是，很可惜却又令人兴奋的是我没有找到。正好，我可以做一个。也就是现在的 &lt;a href="https://github.com/ichord/At.js" rel="nofollow" target="_blank" title=""&gt;At.js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;制造 At.js 的初衷是显而易见的，所以我的目标是 &lt;strong&gt;简单易用，易于接受&lt;/strong&gt;. 正如 jQuery 插件给我的感觉一样。而且当时入门级水平的我也只认识它。:)  制作维护 At.js 也可以另作一篇文章了，这里就不再细说。&lt;/p&gt;

&lt;p&gt;搭建好开发环境，并翻阅了一段时间代码后。我的第一个 Pull Request 被接受了。自此社区用上了输入 @ 自动补全的功能。我当时非常高兴，颇有成就感啊！&lt;br&gt;
果然，我的这个小小的 At.js 获得了社区一些用户的关注，虽然不多，并开始给我提意见。特别是最开始那段时间 &lt;a href="/lepture" class="user-mention" title="@lepture"&gt;&lt;i&gt;@&lt;/i&gt;lepture&lt;/a&gt; 的参与和支持。无论为何，我当时觉得做开源项目果然很棒，更多的是我可以跟其他开发者有交流。那种参与感才是最棒的。&lt;/p&gt;

&lt;p&gt;随后，对 Rails 有一定了解后。为了让 At.js 更容易被使用，我发现了 js 库可以打包成 gem, 就如 Rails 默认使用的 jQuery 一样。于是我制作了 At.js 的 gem 包。也许是因为这以做法促进了后来 gitlabhq 项目对 At.js 的使用，我想这是得益于获得了社区的 &lt;a href="/narkoz" class="user-mention" title="@narkoz"&gt;&lt;i&gt;@&lt;/i&gt;narkoz&lt;/a&gt;  的认同。&lt;/p&gt;
&lt;h3 id="第一个工作机会"&gt;第一个工作机会&lt;/h3&gt;
&lt;p&gt;我当初的用意算是意外成功了，说实话我对此不报太大的希望也没再做过多的设想，我的 &lt;strong&gt;第一个工作机会&lt;/strong&gt; 出现了。这是在参加了两次深圳 ruby 线下聚会后的事情。我当时正准备进藏，是 &lt;a href="/hayeah" class="user-mention" title="@hayeah"&gt;&lt;i&gt;@&lt;/i&gt;hayeah&lt;/a&gt; 给了我这次机会。随后我便一直在 &lt;a href="http://www.puffant.com" rel="nofollow" target="_blank" title=""&gt;小象网&lt;/a&gt; 以一个远程工作者的身份工作至今。&lt;br&gt;
有一点就是，社区的人能很快认识到我。因为我是那个 At.js , 社区那个 @ 自动补全功能的作者。而且在随后的聚会中，还有好些人提到使用过我那个插件。&lt;/p&gt;

&lt;p&gt;随后差不多一年的时间里，我依旧一直维护这这个项目。并在技能升级后对其进行过重构，加上文档，自动化测试。让这个小项目变尽量健全。而后某一天我突然兴起去看看 At.js 在 gitlabhq 项目的使用情况。太慢了，几乎是每触发一个字符就有一个 AJAX 请求。我认为这是插件不够好用的缘故，而且也有相似原因的 issues 出现过。于是我花了十几天的时间查阅了 gitlabhq issues 相关功能的讨论并根据收集到的情况重构了 At.js,  搭建了 gitlabhq 的开发环境，改进了相关的代码。因为我的电脑慢，光在虚拟机里跑 gitlabhq 的测试就耗费了不少时间。&lt;br&gt;
最后，我的第二个 Pull Request 也被接受了，而且很顺利。当时那个 PR 我做了详尽的描述。因此，gitlabhq 的创始人也 follow 了我，哈!.&lt;br&gt;
其实当初正是社区的 &lt;a href="/narkoz" class="user-mention" title="@narkoz"&gt;&lt;i&gt;@&lt;/i&gt;narkoz&lt;/a&gt; 推荐并将 At.js 引进 gitlabhq 的。我当时就很好奇看上去没什么人用的 gem 包竟有上万的下载量，而现在已经有十几万的下载量了。我想应该都是因为占了 gitlabhq 的光吧。而且，也随着被打包进了 Fedora.&lt;/p&gt;
&lt;h3 id="第二个工作机会"&gt;第二个工作机会&lt;/h3&gt;
&lt;p&gt;而 &lt;strong&gt;第二个工作机会&lt;/strong&gt; 是在我前往北京参加 2013 年的 RubyChina Conf 的路上出现的。我当时正在黄山脚下。那是一封来自美国旧金山一个创业公司的邮件。内容是问我有没有兴趣到美国去工作！他是在 github Trending 那里了解到我的项目并找到我的，我无聊在 LinkedIn 上注册的账号竟也起了作用。&lt;br&gt;
我马上打开 github trending 的页面，原来 At.js 已经在 Top 10 之列了。我当时是开心坏了。后来 Conf 结束后我在北京的雍和宫青旅里进行了第一次跨洋远程面试，在这也不细说了，又是另一份可分享的经历。&lt;/p&gt;

&lt;p&gt;而 At.js 怎么刷到 Top 10 的呢？再次因为 &lt;a href="/narkoz" class="user-mention" title="@narkoz"&gt;&lt;i&gt;@&lt;/i&gt;narkoz&lt;/a&gt;, 他真是我的贵人，在 Hacker News 里发布了介绍 At.js 的 thread. 导致有那么三天我的 github 上不停的刷着 "XXX starred ichord/At.js" 的条目。我当时以为 github 是不是犯毛病了。问了一个来提 issues 的人才知道原委。&lt;/p&gt;

&lt;p&gt;噢！最后一句，把"简历"当作你的产品，把产品当作你的 "简历".&lt;/p&gt;
&lt;h4 id="预告"&gt;预告&lt;/h4&gt;
&lt;p&gt;下一篇有两个题目可以让大家选，看大家对哪一个有兴趣。(PS. 选先写哪篇，两篇都会写.)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;移动的工作&lt;/li&gt;
&lt;li&gt;一次跨洋远程面试。(上文提到)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;当然，如果都没有兴趣那就算了。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;为贴合主题，补上旅行中的张图：&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2014/ee83fe928ca1b5388080a5e939250e7b.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Sun, 26 Jan 2014 17:40:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/17008</link>
      <guid>https://ruby-china.org/topics/17008</guid>
    </item>
    <item>
      <title>工作也旅行 - 预告</title>
      <description>&lt;p&gt;看了社区里的一些远程工作的分享后，我觉得其实我也好些经验可以分享出来的。而且我的还有些特别：&lt;/p&gt;

&lt;p&gt;从 2012 年 8 月份开始至今大约一年半的时间里，我一边远程工作一边旅行的走过了许多地方：云南，贵州，四川，西至拉萨 (并去了尼泊尔). 安徽，北京 (参加了 RubyConfChina), 山东，北至漠河。&lt;/p&gt;

&lt;p&gt;一直没有写是因为太久没有写长篇的文章而觉得自己不能很好的组织，不知道怎么写作了，所以一直都没有动笔。当然还有一堆旅行中的小事堆在一起让我觉得无从下手。我应该是个 "不适应性的完美主义者" , 想一写出来就是些很棒的文章。但我发现这是个错误，&lt;strong&gt;不动笔永远都写不好&lt;/strong&gt;.
当我积累了一堆东西但写不出来那感觉真有点难受，有些有口难言的感觉。&lt;/p&gt;

&lt;p&gt;好，现在回归主题。这个主题我预计有以下几个部分可以做做文章的。我现在的初步设想是文章不要太长，大多可能都只是简短的经验分享，可以很快阅读。其实现在初步想想貌似也没太多东西的感觉。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://ruby-china.org/topics/17008" title=""&gt;工作机会&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://ruby-china.org/topics/17092" title=""&gt;一次跨洋远程面试&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;壮美风景中的 WIFI 热点&lt;/li&gt;
&lt;li&gt;山里工作，海边开会。&lt;/li&gt;
&lt;li&gt;无扰计时，精美报表。&lt;/li&gt;
&lt;li&gt;协调工作和行程 (还没有想到比较好的标题。&lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt; )&lt;/li&gt;
&lt;li&gt;.....&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;先列出这么多吧。也许还有一些这种生活方式和工作的感悟什么的吧。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;我要补充一点的是，&lt;strong&gt;我的这段经历的开始，跟 ruby china 社区有莫大的关系。&lt;/strong&gt;  &lt;code&gt;工作机会&lt;/code&gt; 那个主题里的内容大多与社区有关。&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Thu, 23 Jan 2014 13:47:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/16944</link>
      <guid>https://ruby-china.org/topics/16944</guid>
    </item>
    <item>
      <title>通过 iframe 中的元素获得其父级 document .</title>
      <description>&lt;p&gt;最近我维护的 At.js 项目上有人反映说其不能直接在 iframe 中工作，需要 hack (将整个插件载入 iframe). 
但是很多所见即所得编辑器都是使用 iframe 的，比如 ckeditor. 如果能默认支持最好了。&lt;/p&gt;

&lt;p&gt;一般想到的方法就是让用户传入 &lt;code&gt;iframe&lt;/code&gt; 对象即可，然后所有工作基于 &lt;code&gt;iframe.contentDocument&lt;/code&gt; 工作就好了.
但是我不想在 &lt;code&gt;At.js&lt;/code&gt; 里加多这么一个参数，于是我找到了一比较好的解决方法 (兼容 IE):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;通过 iframe 中的元素获得 iframe 的父级元素的 document 对象&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;如此一来就不用改变任何接口即可兼容 iframe 的情况。方法很简单，直接上代码：&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;inputor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;iframeX&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;contentDocument&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;inputor&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;oDocument&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;inputor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ownerDocument&lt;/span&gt;
&lt;span class="c1"&gt;// parentWindow - IE&lt;/span&gt;
&lt;span class="nx"&gt;oWindow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;oDocument&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultView&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;oDocument&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;parentWindow&lt;/span&gt;
&lt;span class="cm"&gt;/**
这个方法也挺有意思的, 可以反过来获得该 iframe. 
At.js 需要获得 iframe 的 offset
**/&lt;/span&gt;
&lt;span class="nx"&gt;oFrame&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;oWindow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;frameElement&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PS. 
我总觉得在 ruby 社区发些前端的东西挺别扭的。不知各位有啥意见没。
另外，这个是之前想分享但没有发的遗留下来的 (论坛保存了 draft....). 所以现在就简短的写写好了。我准备发另一个主题的东西 &lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Thu, 23 Jan 2014 12:49:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/16943</link>
      <guid>https://ruby-china.org/topics/16943</guid>
    </item>
    <item>
      <title>超简单, 一步把你 github 的博客变成多人博客.</title>
      <description>&lt;p&gt;其实搭建在 github 上的博客都是天然的多人博客，跟贡献代码一样，每个人都可以往某个博客里贡献文章!
所以，我们的目标就是 &lt;strong&gt;显示每篇文章的作者&lt;/strong&gt; 而已！&lt;/p&gt;

&lt;p&gt;我们这里需要是用 jekyll 搭建在 github 的博客。&lt;/p&gt;
&lt;h3 id="第一步: 获得作者信息."&gt;第一步：获得作者信息。&lt;/h3&gt;
&lt;p&gt;首先我们需要使用了 github 的 Commits API:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;GET /repos/:owner/:repo/commits&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;使用以下参数可以根据文件的路径查询与某文件相关的 commit 信息：&lt;/p&gt;

&lt;p&gt;&lt;code&gt;path: Only commits containing this file path will be returned.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;返回的信息中就包括了 &lt;code&gt;author&lt;/code&gt; 信息：&lt;/p&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"commit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"author"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Monalisa Octocat"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"email"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"support@github.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"date"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2011-04-14T16:00:49Z"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;具体信息查看&lt;a href="http://developer.github.com/v3/repos/commits/#response" rel="nofollow" target="_blank" title=""&gt;该 API 文档&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;总得来说，以我的 blog 为例，整个 API 类似于：&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://api.github.com/repos/ichord/ichord.github.com/commits?path=#{path}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;然后，我们要获得某篇文章的文件路径，也就是上面的 &lt;code&gt;path&lt;/code&gt;. 这时候就可以用 jekyll 的 &lt;a href="http://jekyllrb.com/docs/variables/" rel="nofollow" target="_blank" title=""&gt;Page Variables&lt;/a&gt;: &lt;code&gt;path&lt;/code&gt; 了，这个 &lt;code&gt;path&lt;/code&gt; 就是该文件的完整路径了 (包括后缀名，如 &lt;code&gt;.markdown&lt;/code&gt;):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;_posts/2012-02-27-difference-between-economics-and-finance.markdown&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;最终结果就是：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://api.github.com/repos/ichord/ichord.github.com/commits?path=_posts/2012-02-27-difference-between-economics-and-finance.markdown" rel="nofollow" target="_blank"&gt;https://api.github.com/repos/ichord/ichord.github.com/commits?path=_posts/2012-02-27-difference-between-economics-and-finance.markdown&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;wala! 如此你就可以用过 Ajax 请求获得每篇文章的作者信息了!! 这里要注意 github 对 API 请求次数的限制，有必要的时候可以自己缓存作者信息。&lt;/p&gt;

&lt;p&gt;最后就是，显示作者信息了，这个请随意。附上我实现的效果。&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2013/23ca5272b1dfac56cc2128f883ea242b.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;如果大家想显示更多关于作者的信息的话，可以使用 &lt;a href="/lepture" class="user-mention" title="@lepture"&gt;&lt;i&gt;@&lt;/i&gt;lepture&lt;/a&gt; 的 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/lepture/github-cards" rel="nofollow" target="_blank"&gt;https://github.com/lepture/github-cards&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;我在自己 blog 的实现这个效果的时候，抄了 &lt;a href="/lepture" class="user-mention" title="@lepture"&gt;&lt;i&gt;@&lt;/i&gt;lepture&lt;/a&gt; 不少代码，谢谢。XD.
因为只实现这个效果的话，我不想使用整个 &lt;code&gt;jQuery&lt;/code&gt;. 然后发现 github-cards 的实现方法太 cool 了，所以...就...谢谢。&lt;/p&gt;
&lt;h3 id="实现例子"&gt;实现例子&lt;/h3&gt;
&lt;p&gt;我已经在&lt;a href="http://ichord.github.io/posts/difference-between-economics-and-finance/" rel="nofollow" target="_blank" title=""&gt;我的 blog &lt;/a&gt; 实验成功了，欢迎参观。
PS.不好意思，暂时都是流水账。接着会更新一些关于远程工作的文章。XD&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Tue, 24 Dec 2013 21:47:59 +0800</pubDate>
      <link>https://ruby-china.org/topics/16399</link>
      <guid>https://ruby-china.org/topics/16399</guid>
    </item>
    <item>
      <title>我的 Air 硬盘挂了.</title>
      <description>&lt;p&gt;前几天，在我收到了同学说要结婚的信息后，我的 Macbook Air 的硬盘马上就昏倒了。( 声明下那人跟我的 Air 没有任何关系!)&lt;/p&gt;

&lt;p&gt;隔天马上拿去苹果官方店修，去到告诉我说要先预约，而且开机检查就要 300+, 如果要换硬盘的话可能要 3 ~ 4 K! (他都没问我的硬盘有多大，就 64G 而已嘛....)
还有，因为我的机器是香港买的，所以保修只有一年，重要零部件也是。很不幸的是，我的 Air 只买了一年零三个月...&lt;/p&gt;

&lt;p&gt;于是，我自己去了华强北，买了 750 的硬盘，128G. 自己自己开刀修好了。&lt;/p&gt;

&lt;p&gt;嗯....数据吗.. 自然就是全没了。幸好没放什么东西.... 就是得将开发环境重新配置了一遍。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;UPDATE:&lt;/p&gt;

&lt;p&gt;我的使用情况：24 小时不关机，使用非常频繁，有三个月颠簸于高海拔.
硬盘是 &lt;strong&gt;东芝&lt;/strong&gt; 的。(我换的也是东芝的..)&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Tue, 15 Oct 2013 21:55:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/14777</link>
      <guid>https://ruby-china.org/topics/14777</guid>
    </item>
    <item>
      <title>codeschool 两天免费.</title>
      <description>&lt;p&gt;嗯。国庆就去 codeschool 上上课。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://go.codeschool.com/OjaU1A" rel="nofollow" target="_blank"&gt;http://go.codeschool.com/OjaU1A&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;点上面这个链接你我都有两天免费课程。各位赏我两天课呗!!&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Mon, 30 Sep 2013 20:54:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/14493</link>
      <guid>https://ruby-china.org/topics/14493</guid>
    </item>
    <item>
      <title>[UCloud 开源接力]#chord.luo@gmail.com# At.js</title>
      <description>&lt;h3 id="项目地址"&gt;项目地址&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://ichord.github.io/At.js" rel="nofollow" target="_blank"&gt;http://ichord.github.io/At.js&lt;/a&gt;
&lt;a href="http://ichord.github.io/Caret.js" rel="nofollow" target="_blank"&gt;http://ichord.github.io/Caret.js&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="项目介绍"&gt;项目介绍&lt;/h3&gt;
&lt;p&gt;像 &lt;strong&gt;GitHub&lt;/strong&gt; 一样在回复中 &lt;strong&gt;自动补全&lt;/strong&gt; 用户名，emoji 表情，issues 等等其它东西。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;记得点 &lt;strong&gt;[喜欢]&lt;/strong&gt; &lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt;&lt;/p&gt;</description>
      <author>ichord</author>
      <pubDate>Tue, 24 Sep 2013 12:43:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/14347</link>
      <guid>https://ruby-china.org/topics/14347</guid>
    </item>
  </channel>
</rss>
