What you can do with a Raspberry Pi

Since I got my Raspberry Pi(Model B), I’ve made a lot of cool and interesting stuff on it:

  • A web sever
  • A git repository
  • An alwasy-on BT downloading box
  • A homemade NAS (Samba)
  • An AirPlay receiver, so you could stream music over WIFI
  • A private cloud service which is based on ownCloud
  • A speaking clock with Google TTS engine
  • A voicemai(send an email to it, the title will be converted to voice)
  • A GoAgent proxy(all home devices could bypass GFW thru Google app engine)
  • A tweet bot(Pi will post its status or something else to Twitter)
  • An Internet radio streaming online radio programs
  • An email server, it’ll sync all my mails to it with offlineimap, so I could check mail with Mutt and send mail with msmtp
  • A tool to upload my iPhone video to Baidu cloud storage automatically, it’ll upload vids to correct folders based on exif info, all I need to do is throw the files to a folder, everything else will be done by the daemon
  • A gateway to control all devices on my home network, e.g.: I could log on to my desktop PC, log in my iPad once my family swiped it on, I set up a DDNS, this will make sure my domain name will be resolved to latest IP address
  • An intranet photo album, you could view large-sized photos

I’ll try to add more interesting items on the list, for example, I plan to attach a camera to it, so I could monitor my home remotely. By the way, the Twitter account for my Raspberry Pi is: @Just_A_Pi

 

ORA-12541: TNS: no listener

一个空格,让我折腾了好几天,看到前面的黄色的空格了吗?有了它PL/SQL Developer就不能登录,提示TNS: no listener错误。

oracle_no_listener

Business Ethics

刚刚在线完成了Harvard ManageMentor的一篇教程,题目是‘决策制定’(Decision Making),教程列举了一个完善的决策制定的重要步骤,其中最后一步是:Ethics and Decision Making。这一点看似不起眼,其实反应了西方社会考虑问题的多角度、文明的发达程度。在那里,商业道德已经是个很基本的概念,一个普世价值观,而不是一个高高在上的、只有少数良心发现的企业才去考虑的问题。可能有人会说,为什么媒体中频频报道西方企业时不时触犯道德甚至法律的新闻,比如苹果公司在华雇佣童工(严格来说是苹果公司的供应商的问题),外国的月亮不见得都圆。我觉得这个得普遍的看,得统计大多数的企业是怎么做的,我没有统计数据支持我的判断,但是从HMM把商业道德写进一篇普通的培训教程,便可见一斑。文中举了一个例子:

For example, if a team member feels uncomfortable because she heard rumors that the highly successful company you are considering working with overseas has been polluting the environment; she should be encouraged to bring her concerns to the table for deliberation.

按理说,合作伙伴杀人放火关我何事,只要我和他们之间的合作是合法的,我便可问心无愧。但是考虑商业道德的公司会慎重的选择他们的合作伙伴,这也解释了为什么苹果要审查它的供应商是否有雇佣童工的行为。反观我们国内的企业,有几家能做的到,不说商业道德了,“不违法”这个最基本的底线也会被频频的触及,什么蒙牛啊、三鹿啊,不胜枚举。何时我们的企业才能把Business Ethics放到一个重要的位置?

数据库表之行列置换

分享一个数据库表行列置换的方法,假设表名为FOO。关键字:SQL表行列置换、Transpose、SQL Transposition。

 ITEM_KEY  |   ITEM_VALUE                               Name  |  Location  |  Age  |  Title
--------------------------             ==>           ----------------------------------------
 Name      |   Fred                                     Fred  |  ShangHai  |  30   |  Analyst
 Location  |   ShangHai
 Age       |   30
 Title     |   Analyst
SELECT
   MAX(CASE FOO.ITEM_KEY WHEN 'Name' THEN FOO.ITEM_VALUE ELSE NULL END) Name,
   MAX(CASE FOO.ITEM_KEY WHEN 'Location' THEN FOO.ITEM_VALUE ELSE NULL END) Location,
   MAX(CASE FOO.ITEM_KEY WHEN 'Age' THEN FOO.ITEM_VALUE ELSE NULL END) Age,
   MAX(CASE FOO.ITEM_KEY WHEN 'Title' THEN FOO.ITEM_VALUE ELSE NULL END) Title
FROM FOO

执行后上面的SQL后,左边的表就被置换成右面的表,从行变成了列。

知乎:哪些工作细节会影响你对这个人的评价?

知乎上有个问题,如标题(http://www.zhihu.com/question/20874249)我的标准如下:

减分项:言不信,行无果 / 有一些工作上的小毛病,被指出后,老是不改正的 / 讨论问题时,没有自己的想法 / 回复邮件,你问A,他答B / 不愿意更新自己的知识的 / 遇到不会的,首先就问别人,不主动寻找解决方案 / 只关心自己“该做的”,从不问公司其他的事情 / 不停的抱怨公司这里不好,哪里不好,而不辞职的 / 总是说问题,抱怨,不想如何解决的 / 做事不按标准的 / 明明可以现在解决问题,非要拖到以后解决的 / 交待给他任务,事事都请求过目确认的 /  做事情,需要催的,踢一脚,动一下的 / 喜欢把事情放到最后一分钟做的 / 被指出缺点,不停的辩解的 / 别人做的不好或者不对,不停的放大对方缺点 / 汇报项目进度时,喜欢说“如果”等假设性的条件,喜欢讲一堆细节,没有重点的 / 不会用简明扼要的话总结工作或者项目的 / 开会不提前发会议主题(agenda) / 喜欢大量使用中英文混杂,且支离破碎的句子的(这一点一般不影响工作,属于次一级的项目) / 工作上喜欢说粗话的

加分项(减分项的反面也是加分项,这里不列举了):你交待了A,B,C,他可以想到,甚至做到A,B,C,D,E / 独立思考,交待的任务,尽量自己寻找解决方案,必要时才寻求帮助 / 乐于帮助团队其他人

汉字寻根

前些日子看了流沙河在FT Chinese上的专栏《简化字不讲理》,颇有同感,简体字的确抹去了很多汉字的原本意思,以至于后来人,尤其是小孩子,无法通过简体字的字形联想到它原本的意义。从某种程度上说,它反而增加了学习的难度,因为你只能通过记忆,而非推导分析记住一个字的含义。

在图书馆发现两本关于汉字的书,遂借来翻翻,一本就是是流沙河的《流沙河认字》,一本是《汉字寻根》作者吴熙人。后者刚刚翻了一半,有点意思。虽一直都知晓汉字的象形特性,却从未看过系统化的研究。这里推荐大家去看看,可以在教小朋友学汉字的时候,告诉他们一些背后的故事,古人为何如此造词,每一个汉字都能延伸出一段文化历史,这不是夸张。

以‘暮’字为例,‘暮’原写作‘莫’,甲骨文像一个圆圆的太阳落在林莽或者草丛之中,从‘莫’字的形状即可看出,草字头是草木,下面的草木随着时间的推移,演变成了‘大’字。后‘莫’字被借用为‘否定’、‘制止’等意,古人便又造了一个新字‘暮’代替原先的意思,也就是在‘莫’字下面加上个‘日’。你不妨将这样的故事告诉一个不认识‘暮’的小朋友或者外国人,肯定能让他们难以忘记。另一个例子是:‘本’字,就是在‘木’字的底下加上一横,表示这是树木的根部,而‘末’字恰好相反,在金文中,就是在‘木’字的头上加上一横,表示树木的梢枝尽头,引申为最后的意思。现在想想‘本末倒置’是什么意思。

置于简体字对汉字识别的影响,的确存在。比如‘万’字,正体字(繁体字)写作‘萬’,在甲骨文中,这个字形类似一种可怕的蝎子类节肢动物,甲骨文强调了它身上的斑纹、钳肢(上面的草字头便是)、毒钩等特征,这样解释,‘萬’的确蛮可怕的。这种虫的繁殖能力很强,转眼间就能发展成成千上万的子孙,先民便以此动物作为数字‘萬’。反观简体字‘万’,没有了纹身,没有了大爪子,你还能觉得它像个虫子吗?

新年快乐,蛇年吉祥

祝福我的家人朋友蛇年行大运,事事顺心。

20130209-205724.jpg

Phabricator-来自Facebook的Code Review工具

题外话:自从女儿出生后,很久没有更新Blog了,没有那么多大片的时间,其实有点托辞。

书归正转。对于软件工程来说,Code Review是个很重要的环节,它可以帮助我们提早发现设计或者开发中的问题,减少未来的返工成本、维护成本等。不论团队的规模多大。稍微正规一点的公司或者规模大一点的团队,一般会从流程上严格的要求做Code Review,所以可以保持这样的一个过程,但是对于小规模的团队,比如10人以下,很难作出平衡,因为:事情很多、Review前要做一些准备工作、大家还得找个可以一起Review的时间、事后要记录下以便跟踪。虽然看似都是小问题,但人性是懒惰的,尤其是有技术背景的人,一旦让人觉得不方便,哪怕是一丁点的不方便,就很难坚持下去,除非用严格的制度来保持。

最近发现来自Facebook的Phabricator。这个工具可以很好的让Code Review简单化,Code Review可以不用在一个会议室,直接在线就可以做了,而且可以用自己的碎片时间,有兴趣的朋友可以去它的官方网站试用一下:http://www.phabricator.org

对我而言,Phabricator的以下几点很重要:1)无需参与人员统一时间,各自可以支配自己的Review时间。2)无需准备文档,因为系统支持在代码上直接加助手。3)Review的结果直接就在系统中了,被Review的人,按照系统提示一个一个解决即可。4)系统化使得整个Review过程简单,很容易养成习惯,这点很重更要。

我之所以强调最后一点,因为任何好的概念,如果它带来的成本很高,实施者得花很大的心血才能坚持下去,终究是走不远的,而且也不够人性的。最理想的是:我们可以借助设计良好的工具让这个过程简单化,傻瓜化,光是概念好还不够,还得有好的工具来支持。

Driving In Austin

在Enterprise租的车

比起国内,在北美开车真是一个字‘爽’,瞬间开到60-80mile,由于路上比较安静,引擎声在耳边嗡嗡的响,很有速度感。

 

All things Hadoop

Recommended articles or tutorials about Hadoop:

Apache Hadoop Wiki:
http://wiki.apache.org/hadoop/

Yahoo Developer Network:
http://developer.yahoo.com/hadoop/tutorial/index.html

IBM DeveloperWorks:
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/

InfoQ:
http://www.infoq.com/cn/articles/hadoop-process-develop

-To be updated

Page 1 of 2112345...1020...Last »