Go 二进制应用注入 version 信息
当线上服务出现问题时,在排查问题前,我们需要确定线上服务部署版本、对应源码分支、最近一次提交记录、编译/打包时间、语言版本等,这些信息可写入配置文件,应用启动时读取。若采用 docker 部署时,也可将这些信息作为 LABEL 或应用镜像的 tag 中,方式多种多样,今天要介绍的是 go 应用下的另一个可选方式: 二进制编译时注入。
…Ubuntu14.04上搭建ShadowSocks服务

1. VPS选择
之前一直使用GoAgent作为破墙工具,不过后来有一阵用不成,即使更新到最新版,也未能如愿,后来忙于写论文,便用微软的Bing临时代替Google。用了一阵Bing,发现其实也挺好用,无论是UI还是搜索内容,都相当不错。只是偶尔想呼吸墙外空气,却未能如愿,始终给人不快的感觉。所以便有意选择付费服务。一直听说ShadowSocks搭建代理特别稳定,便开始留意VPS。可选的VPS很多,比较流行的当属Linode和Digital Ocean,不过Linode服务实在是太贵了,且最低配都感觉有点大材小用,没必要这么奢侈。便着重关注了下DO。可选的VPS有:
…Ubuntu安装TexStudio
Read more ⟶
将博客从Octopress迁移到Jekyll
Read more ⟶
为什么而活?

这些天经常为毕设及论文的事发愁,也因此变得浮躁不安起来,失了方寸,失了往日的沉着心态。整个人犹如悬在空中,飘飘然,毫无状态可言,如行尸走肉般活着。而每到夜深,躺在床上,头脑却越发清晰,不自觉地开始思考人生。心中时不时有一个声音在问自己:为什么活着?
如果在上小学以前,意义可能在于吃各种零食和玩各种新奇玩具;小学阶段,则希望身边有一堆玩伴,下课之余疯狂玩耍;初中阶段,则追求着时髦的穿着与发型及情窦初开的懵懂爱情;高中阶段,则处于挣扎彷徨之中,希望早日脱离被各种公式、概念与单词淹没的苦海,期待早日迎来老师口中描述的神圣而神秘的大学的那种自由生活。初入大学后,确实发现原来生活可以如此自由,不想上课就在宿舍闷头睡大觉,可以睡觉睡到自然醒而不用每天天不亮就起来背英语单词和文言文,不再有做不完的作业考不完的试,不再有班主任猥琐的监视,不再有想玩而不得的情景…
…自由软件与开源软件
图为电影《The Shawshank Redemption》的海报
昨晚与张老师还有几位Linux小组成员一起去西邮参加了一个开源者行的活动,演讲嘉宾有GitCafe和Thoughtworks的人员。其实这次去只是想感受感受开源的气氛,一直听说西邮的开源气氛不错,未能亲身感受,所以趁还在西安,赶紧体会体会。这次最大的收获当属对开源文化的重新认识,也重新理解了free software与open source software的异同。
首先,free software的最初版本由Richard Stallman起草,并通过Free Software Foundation发布,其初衷是确保最终用户能够自由使用、学习、分享和修改软件。要理解free software的概念,得先理解其中"free"里的含义,这里的"free"并不是"free of charge"中的含义,而是"free speech"中"free"表示的意思。
通常所说的free software包含以下四种自由:
…自我解剖

文字的力量着实强大,但对我这个不善言语的人来说,使用起来略困难,难以透过文字准确阐释心中所思所想及所憧憬的未来生活。所以在写之前,便仔细筛选了上面这张图片,大概反应了我对于未来几十年后垂垂老矣的自己所憧憬的生活吧,因为垂钓在我童年生活中占据了不可估量的分量,至今仍难以忘怀,也是我生命中难得主动喜欢的一项兴趣爱好了。突然想到了海子的《面朝大海,春乱花开》:
…从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开
有关Markdown的两款工具介绍

自从接触markdown这款简洁到不能再简洁的语法以来,我已经深深地喜欢上它,并在各种场合尝试使用它,比如说现在的博客、Evernote笔记、演示文档等。而今又发现一款新工具,采用markdown语法写邮件,现在几乎任何码字场合都能见到markdown的身影。
我一直将自己归为工具控一类,作为一名程序员,编码水平三流,码字水平不入流,但确是重度工具控。每次都会为发现有趣华丽的工具而兴奋,不把玩一番便不快。言归正传,markdown真有那么好么?让人迷恋的地方在哪?
当你向朋友推荐时,可能这是经常会被问到的问题,而且会问:word/wps已经很强大,为什么还要选择markdown?难道它比word更厉害?…
下面我谈谈自己对markdown的认识及我为何选择markdown的原因。
…Unix C的文件指针与文件描述符

AISC C中通常用文件指针FILE *进行文件的操作,如fopen, fclose, fread, fwrite, fscanf, fprintf等函数,都是通过文件指针进行文件的一系列操作;而类Unix系统则大多用文件描述符(file descriptor)进行文件的操作,如open, close, read, write等函数,文件描述符是一个整数,是文件描述符表(file descriptor table)中的索引(文件描述符表其实是维护进程打开的文件)。当进程打开或者创建一个文件,内核便会在此进程对应的文件描述符表中分配一个位置,然后便可通过文件描述符操作文件。
…Ruby环境的搭建

Ruby简介
第一次听到Ruby这个名词,可能会比较陌生,进而产生畏惧,毕竟在中国这片区域普及率还不是很高,但在世界范围内还是有不错的影响力,如果有所质疑,可以参考TIOBE上Ruby的排名情况,进几年一直在前10左右徘徊。到目前为止,大家可能只了解到Ruby是一门编程语言,具体还未做了解,那这里引用Ruby官网的解释,供大家参考:
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
用再多的语言描述都略显苍白,只有身临其中把玩一番才能有所体会,而且这种感触才最直观,最有说服力。这里,贴出一个网址,便可在浏览器中体验Ruby之美:
请感受它的魅力所在吧。
…