台湾菜

写在连续加班12天后

twcai • my life and programming

这个本来是准备上个月在上海出差最后两天发的,结果太忙一拖就拖了两周


最近半个月主要干了下面这些事情。

加完班每天睡觉前抽了点时间看 JOJO的奇妙冒险,刚刚看完第一季。这是部没有让我觉得非常好看但是却很奇妙的动漫。

Spring MVC 是我目前用过结构最清晰的 Web 开发框架,可是调试却非常弱(至少在 eclipse 上面是这样)。顺便第一次真正感受到用 IDE 开发项目带来的便利。

以前在用 Perl 写测试框架的时候,为了可以给不同水平的人维护又能同时保持代码的质量,曾经看过和想过一些 best practise 的方案,但是在 Perl 上面实现起来仍然很繁琐。那时候隐隐觉得自己其实追求的是一个类似 Java 的东西,现在用的还真的就是这样的一套方案。

午夜凶狼

twcai • my life

via Instagram http://ift.tt/1onIH78

三月的第一个周一

twcai • my life

今天睡到了10点,在床上看了个电影,直到中午才起床。

下午收拾了下心情,因为明天就要去新公司报到了。在恒天工作了三年十个月以后,算是跨入职业生涯的另一个阶段。

新公司是阿里小微金融服务集团,即原支付宝,职位是数据仓库的测试开发。

留个坑,最近应该要再发一篇对过去四年的总结。

工作是新的,但生活还是照旧,今年给自己的要求是把健身坚持下来。

三月的水仙

Instagram Post - Jan 7, 2014

twcai • my life

有段时间家里人把小笨狗关在阳台上养,她只要一听到屋子里有动静就往房间里张望。
via Instagram http://instagram.com/p/i3dPlDm-Lu/

爱国小少年的正确读物

twcai • my life

老爸是个连环画迷,收集了一柜子的连环画。我还不怎么识字的时候,都是翻老爸的连环画来阅读的。

这次回家翻出其中一套,是我的最爱之一:岳传。

20131009-014318.jpg

知乎问答:Mac OSX 系统好用在哪里?

twcai • geek stuff

Max OSX 系统好用在哪里

我先介绍一下自己的操作系统使用经历:
从小学到高中,都只接触 Windows 系统;大学因为学习计算机逐渐开始用 Linux 处理编程相关任务,用Windows 处理文档和娱乐;大学毕业后逐渐接触 Mac OSX(10.8官方已经更名为 OSX)。从两年前,随着迅雷等娱乐软件的 Mac 版功能越来越丰富,我已经很少再使用 Windows(频次在每个月1小时或更低)。因此在涉及到 Windows 的描述中如果有错误请原谅并帮忙纠正,谢谢。

在开始使用 OSX 的这两年多以来,我渐渐的觉得 Macbook + OSX 是这个星球上体验最棒的笔记本产品。为什么?

首先 OSX 系统级别的用户体验有很多地方超过 Windows。
有以下一些例子:

  1. 几乎在所有应用的帮助菜单中,都有一个搜索框。这个搜索框除了可以搜索帮助文档,实际上最常见的用法是搜索菜单栏中按钮的关键字。符合关键字的菜单按钮名称会被罗列在帮助菜单的下拉框中,这时候如果你把光标挪到这个列表中的某项,OSX 会立刻展开该按钮所在的菜单栏,并且用醒目的标记提示你。以 iTunes 为例:
    Controls_and_Help
  2. 跟触摸板的结合,让日常的光标操作变得非常得心应手。首先建议在系统配置的触控板中打开所有功能,然后下面这些场景会让你发现触控板带给你的流畅体验(网页浏览请使用 Safari):
    1. 双指上下滑动来浏览网页和文档。
    2. 双指左右滑动,在网页浏览中进行前进和后退。
    3. 双指双击网页中文本块,Safari 会将文本块放大到适配屏幕宽度,方便专心阅读。
    4. 三指单击文本中的单词,OSX 会高亮选中单词并且弹出精美小框显示单词释义。
    5. 还有很多……
  3. 本地搜索Spotlight非常节省时间。Spotlight 搜索框可以用ctrl + space 呼出。除了平常直接放在 Dock上的应用,我几乎都是用 Spotlight 来打开所有我要打开的应用程序的,完全不需要切换屏幕到 LaunchPad。此外 Spotlight 还可以:
    输入数学算式,直接在搜索栏中计算结果
    输入英文单词,Spotlight 可以自动在词典中查询,若查询到可以用 Command + l/d 打开词典查看详细内容
    搜索最近打开的文档,邮件,聊天记录等,Spotlight 会按照文件类型组织搜索结果。spotlight
  4. 不蓝屏……这个是玩笑,现在的 Windows 其实也相当稳定不会动不动蓝屏了,不过 OSX 会非常腹黑的把本地网络中的 PC 都显示成一个带着 Windows 标志性蓝屏的 CRT 显示器……

OSX 在文本编辑上使用了著名文本编辑器 Emacs 的一些 Key Binding,是我非常喜欢的特色之一。而且这个也是 OSX 的全局特性,就是说在几乎所有文本编辑框中都可以使用(除了 Office for Mac 特别变态的拿掉了这个热键支持)。
举例如下:

  1. ctrl + a,跳到本行行首;ctrl + e,跳到本行行尾。
  2. ctrl + f,光标前进;ctrl + b,光标回退。
  3. ctrl + d,删除光标后一个字符;ctrl + k,删除从光标开始到行尾所有字符;ctrl + u,删除从光标前到行首所有字符;ctrl + w,删除光标前一个单词 (ctrl + u/w并非在所有文本框中都支持)。
  4. ctrl + y,在光标后粘贴上一次用上一个列表中的快捷键删除的内容。

OSX 拥有比 Windows 更出色的一站式体验。这个特色我认为体现在下面三点:

做为一个程序员,有一点不得不提,就是 OSX 的Unix 系统的起源决定了他天生比 Windows 更适合程序员。但是 Apple 在系统上所做的设计和努力又使得它跟其他*nix 系统相比在可用性上完胜。在 OSX 上既不用忍受 Windows 弱爆的命令行系统也不用忍受其他*nix 系统不稳定的桌面系统和有限的应用支持。

另外,做为最适合搭载 OSX 的笔记本电脑的 Macbook 本身也可以被称为这个星球上最好的笔记本。

以上。

发毛啦

twcai • my life

最近各种情绪和怨念积累的我都想反人类了,只有写代码和听歌能暂时阻止我。

PerlXS阶段性总结

twcai • perl

PerlXS不是一块好啃的骨头。

它不是带你深入Perl Internals的大门。它大概是你进入了Perl Internals这个迷宫以后的第一块milestone,而带你走进来的这条路也绝对不短。所以这几天下来我觉得自己半年前看了三天PerlXS还是束手无策的状况是再正常不过了。当时我还想把一坨几万行的C代码用Perl跑起来呢,这实在是太高难度了。

把学习PerlXS需要经历的路程简单总结如下:

  1. 首先,你需要阅读的资料是perlguts。这是一份对Perl的C API的入门介绍,但是已然包含了很多内容了。没关系,在继续下一步之前你不需要把这个完完整整的读完。你需要的是在脑海中先建立好Perl API最基本的概念和框架。
  2. 接着你可以去看perlxstut了。按照导引做一些写xsub的实验。但是别指望这个导引能让你搞明白XS,你离真相大概还有。。。恩。。10000公里吧。
  3. 但是好歹你已经会写最简单的xsub了,这边还有一个更好的导引XS Mechanics。要是你真想搞明白XS,你得保证我你认认真真的把这个资料里的每句话都看了。
  4. 这就完了?还远呢。上面那个导引虽然是我能找到的最好的Introduce XS from top to down的资料了,但是有一些细节连作者本人也没搞清。现在你必须得有破斧成舟的决心,让自己淹没在下面这些资料里吧。哦对了,还有之前提过的perlguts。
  5. 结合你要完成的项目,把perlxs和perlapi打开方便随时查阅,然后开始写code,从跌倒中成长。

JayBird BlueBuds X入手

twcai • my life

为了健身而买的,这样就不用在跑步时忍受耳机线甩来甩去50分钟了。

以我的了解,这大概是一个民间人士能从正常途径买到的最好的运动无线耳机了。

JayBird BlueBuds X

第三年零三个月

twcai • programming

工作三年出头了,回头的时候突然觉得挺空荡的。

折腾了三年Perl,少许C,最近一年陆陆续续的玩了下python。除了Perl有系统的学习过,大部分的获得都是tricks,工作经验和一些软技能。这些不系统,没总结的过东西,太琐碎,拿不出手。工作时感到自豪的是自己总是有点强迫症的想把活做到最好,只是主观感受,做的也不一定那么完美,何况去年还被打击了一次。脱完水,真的没剩下多少干货。

所以今晚突然想着给下半年的业余时间做点计划,免得不知不觉就把时间给荒废过去了。顺便把以前的东西整理总结下,感觉会比较好。

  1. 系统的整理一下Perl
    • 把perlxs,perlapi,perlguts这几块内容看一看,感觉这是我学Perl的最后一座桥头堡
    • Learning Perl, Intermediate Perl再重新梳理一遍
    • Mastering Perl, Advanced Perl Programming有时间再完整的读一下 XD
  2. 好好补充下*nix服务端开发方面基础
    • 之前看了『Linux系统编程』的一小部分「文件读写」,感觉是本好书,下半年应该抽时间好好读一遍。
    • 其他方面的知识,还是看项目需要,选读一些资料和paper。
  3. 恢复算法和数据结构的练习
    • 这个还没有具体的计划,目前的想法是选一些感兴趣的算法和数据结构,然后去CF上找相关题目练习

先这样。