第一段

半年来,村里的人都变得相当古怪。

我不知道到底怎么得罪的他们,所有人对我不理不睬。

我坐在村头的井水旁边想了很久,井里有人放的鱼,游来游去,我扔个石头进去,连鱼都不怕我。我看见细桃过来挑水,腰弯下去的时候,屁股像个丰满的桃子,很好看。我叫,细桃细桃,你弟弟呢?细桃没理我,挑着水腰一扭一扭地走了。

我挺喜欢细桃的,我跟我妈说以后长大了要娶细桃做老婆,我妈哈哈大笑,说等你长大,细桃崽都要有你现在这么大了,那天我闷闷不乐了一个晚上。细桃的弟弟常常跟我一起到山上去养牛,我摘到野草莓总是分给他,偷包谷的时候也总是分给他。

我妈后来常跟细桃的妈开玩笑,说我扬言要娶细桃,细桃的弟弟开始慢慢疏远我,养牛的时候不跟我在一块了。

山上很多野果,有长得像牛奶头的牛咪咪,有小小的红葡萄,还有埋在地下的葛麻根,我收获了很多,但是无人可分享。我跟我家的牛讲话,有时候它会停下吃草竖耳朵听,若有所思的样子,我也不知道它是不是在听我。

我说牛啊牛啊,为什么知道我要娶细桃做老婆,细桃的弟弟就不跟我玩了。

我说牛啊牛啊,你觉得细桃的屁股好看吗?

牛也不理我。

第二段

去年夏天有一天我早上赶牛出去养,路上碰到细桃拿着一把柴刀一个人,她跟我打招呼:你怎么不叫上我弟一起呢?

我回答,我叫了,他讲泻肚子,要等他一下,我等不及,就先出来了。

细桃回答,哦。

一个人上山碰到另外一个人可以聊天,让我很高兴,特别是又碰上细桃。我跟细桃讲我们家黑狗生了一窝狗崽,我跟细桃讲昨天晚赶牛回家的时候,有只雀雀一起跟着我飞啊飞,细桃细桃你觉得它是不是在想跟我讲话呢?

我的大学同学操哥姓操叫操奔,黑龙江人士。

当时到学校报道,操哥在宿舍内抱拳作揖跟大家自我介绍:我姓操,这个是第一声,不是第四声,我比大家都年长,我75年的,大家叫我奔哥吧。

后来所有人叫他操(第四声)哥。

操哥是我们班高考分数的状元,放在我们西部老少边穷地区,他的分数除了北大清华,随便选,但是在黑龙江,他就只能跟我们一起读三流大学。

操哥一开始是数学科代表,但自从他在数学期末考试的时候回头来问我:那一撇长长的啥鸡巴玩意儿。被监考的数学老师听到,愤而开骂,连积分符号都不懂,当啥科代表,然后操哥挂科,同时从数学科代表那个光荣职位上下岗。

下岗之后操哥死猪不怕开水烫,干脆天天翘课。第二学期金属材料期末考试,班上多人抓耳挠腮,同样监考的是金属材料老师,不忍之,到女生旁边小声提示。被操哥听到,操哥忿忿然说:这逼老头谁啊,看起来还像懂一点似的。

我答,这逼老头是任课老师。

还有一次流体力学考试,操哥为了表示仗义,把一道最难的答案传给了我,那道题对我来说太难了,我确实不会。我抄完之后觉得很不对劲,好几个变量都是凭空而降,没有任何推理就有值了,但我也不会,只好照抄交了上去。考完我问操哥咋回事,他想了半晌,一拍大腿:

他妈拉个逼的,我抄张辉那小子的,那道题目跨页,我可能只抄了后面那部分!

试卷批下来,我俩那道题分别得了一半的分数。。。

操哥后来恋爱了,准确来说是单方面恋爱了。

操哥喜欢那女生不是我们班的,是计算机系的,嘴唇有点偏黑,四环素牙,脖子上一圈圈纹路,喜欢穿一双中老年妇女穿那种中跟鞋。但我不能这么在他面前描述,我要说成,唇红齿白,走姿妖娆。我第一次在我们那层楼的洗漱间一边冲凉水澡一边如实描述时,操哥光着屁股呼啸着在楼道追打我,眼睛发红。

后来我就改成说他那计算机系女生唇红齿白,走姿妖娆,操哥满意地点点头,欣然接受。

可惜唇红齿白,走姿妖娆的计算机系女生不喜欢操哥,操哥下雨天追到她们教室去送伞,下雪天到图书馆去送暖手宝,唇红齿白,走姿妖娆的计算机系女生都礼貌地拒绝了。

每次被那个女生拒绝操哥就很伤心,都要买一瓶二锅头喝,我有次小心翼翼地问操哥,没戏了?他回答,没戏了。我说,那我说她四环...

/media/upic/2015/01/05/ny_544_300.jpg

一般来说,在2015年新年钟声敲响的时候,按回车发送新年感悟之类的,比较有仪式感。

但我又天生不是一个很有仪式感的人,常常自己都忘记自己的生日,只到有人祝福时才想起:哦,今天是我生日啊。

所以拖到今天,写写新年。

2014年是自己逼自己转型的一年,我实在厌倦透了十年的软件开发外包,特别是面对国内的甲方,大家像一对冤家相互咒骂,又谁也离不开谁,乙方呢,更像那个傍大款的二奶。当年跟老池刚认识的时候,他打了个比方,我们搞技术的,就两种命运,一是做较大的项目傍大款当二奶,二是开发个小软件站街当小姐。。。其实快十年过去了,现在回头来看,如果站街站得好,搞成连锁站街,站街O2O,要比当二奶有前途得多。

我俩当年选择了一次包养费更多的当二奶,一干就十年,面对甲方,想要什么普士配合什么普士,除非条件实在不允许。

从OA到CRM,从CRM到ERP,从ERP到电子商务在线系统。。。

 这次下定决心做产品,同学的朋友的外包单子,拒掉,哪怕裤腰带勒得一天比一天紧。

智能家居是什么?以前从来没认真想这个问题,做博特拉虚拟管家也是因为正好碰上豪哥一直是围着房子转的。加上在深圳,深圳做硬件相关的东西在中国有得天独厚的优势。

2014-04-21 发出第一条任务,编号#49,算是正式立项。

中间进行了两个月的调研

2014-06-20 确定硬件方案商

2014-06-20 写下第一行代码

2014-07-14 确定交互设计主设计

管理员

首先,要保证你把gitlite-admin仓库clone到本地,并有读写权限。

管理员用以下命令把自己的公钥传到服务器,如下,目录改成正确的目录:

scp ~/.ssh/id_rsa.pub user@server:/git_home_dir/git-admin.pub

然后git clone git@server:gitolite-admin.git把git管理仓库拿到本地。

添加开发成员

先叫开发人员用ssh-keygen命令生成公发给管理员,把它复制到gitlite-admin/keydir下,比如名字叫laonan.pub。

在gitlite-admin/conf下找到gitolite.conf,修正成如下样子,laonan就是新加进去的开发成员,注意这里的配置应该跟公钥的文件名相同。有读写删除等权限。

在gitlite-admin仓库把以上新增文件和改动push到服务器即可。

git add conf git add keydir git commit -m "added laonan." git push …

重装gitolite,配置了N遍,在取gitolite-admin的时候一直显示

FATAL: R any gitolite-admin git-admin DENIED by fallthru (or you mis-spelled the reponame) fatal: Could not read from remote repository.

相当郁闷,百无聊赖ls -a,把.git为前缀的隐藏文件(如.gitolite)一个个删除干净,居然TMD行了。

花掉一个小时,NND个胸。

/media/upic/2014/11/14/talky.png

最近在查关于在手机端上即时视频通话的资料,除了一些老牌的sip客户端如Linphone这些,google有项技术叫WebRTC,用意是直接使用Javascript调用实现实时视频通话,不少人也打主意把这东东移植到移动app里去。

查找过程中发现http://talky.io(复制这个网址粘帖到浏览器访问,最近这个博客的这个CKEditor抽风,不能直接写链接HTML,有空再改)基于WebRTC技术开发网站,在首页给对话取一个名,点击"Let's go"按钮进入,把网址发给别人,你们就可以不用安装任何插件进行视频聊天了。

古时候,当年读大学,没有微信,QQ没有群,好多人在要装插件的视频聊天室里眼巴巴等表演(你懂的),还要抢麦。。。

暂时只支持Chrome,Firefox以及Opera的高版本浏览器,又土又老又过时的IE玩不动,国产山寨浏览器也玩不动,那什么360极速浏览器跟Chrome是基于Chromium的,可以一试,我没试过,不知道。

分支

查看远程分支: $ git branch -a 查看本地分支: $ git branch 创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支 切换分支:$ git checkout [name] 创建新分支并立即切换到新分支:$ git checkout -b [name]

远程仓库相关

检出: $ git clone [url] …

之前虽然知道使用python虚拟环境是一个好习惯,但是主要是基于python2.7以及Django框架,没太使用Virtualenv。最近半年加入Flask等别的框架,以及发现最新版本的ubuntu都已经默认是python3.0了,所以,还是用Virtualenv吧。

创建虚拟环境:

virtualenv [虚拟环境名称]

启动虚拟环境:

cd [虚拟环境目录] source ./bin/activate

退出虚拟环境:

deactivate​

更详细说明可参考:http://liuzhijun.iteye.com/blog/1872241

先用下面命令生成*.pub公钥,拷贝到/home/git/repositories/gitosis-admin.git/gitosis-export/keydir/目录下

ssh-keygen -t rsa

然后修改authorized_keys文件,加入你的公钥内容。

done.

/media/upic/2014/09/17/android-animation-hd-sony-xperia-z1.jpg

Android L虽然早在6月份的Google I/O大会上就已经介绍了,但到实际开发估计还有几个月,在伯乐在线看到一篇介绍Android L动画的文章,嗯,挺有意思,就是不知道流畅度如何,相比iOS,Android的动画流畅更是需要担忧的。

http://blog.jobbole.com/77015/

FaceBook的一个弹性动画框架,使用很简单,把jar包复制到libs里,直接引用。

https://github.com/kelc/rebound

第一个坑,django-ckeditor引发,

File "manage.py", line 10, in execute_from_command_line(sys.argv) File "/Library/Python/2.7/site-packages/Django-1.7-py2.7.egg/django/core/management/__init__.py", line 385, in execute_from_command_line utility.execute() File "/Library/Python/2.7/site-packages/Django-1.7-py2.7.egg/django/core/management/__init__.py", line 354, in execute django.setup() File "/Library/Python/2.7/site-packages/Django-1.7-py2.7.egg/django/__init__.py", line 21, in setup apps.populate(settings.INSTALLED_APPS) File "/Library/Python/2.7/site-packages/Django-1.7-py2.7.egg/django/apps/registry.py", …

有一亩田,田边有棵树,树下有张桌子,桌子上有台电脑,我种田累了可以写程序,写程序累了可以去种田。 --- 符老七

去中信67楼开家公司,没事就使劲在地板上跳(微软广州分公司以前在广州中信大厦66楼)。 --- 阿岛

找个大屁股女人结婚。 --- 小强

/media/upic/2014/08/14/smart_home_1.jpg

自从决定立项做智能家居产品,需求探索过程中,慢慢产生一个问题,那就是:什么样的家用电子产品,能在这个时代,对得起“智能”这个称呼?

我们国家的新产品设计思路有一点是有共性的:功能越多越好,功能多,又便宜,那才好卖出去。我不知道这个特点是甲方合同导向带来的,还是工程师思维(工程师有时候很无辜,因为不善辩论,明明是产品经理不到位,也把罪状加到工程师头上去)?我们常常看到的国内IT开发外包谈判分成什么“内容发布系统”,“客户管理系统”,“广告管理平台”,“论坛”,“留言板”,“博客系统”,“客服系统”....而这一堆“系统”,只是为了一个报价2万块的旅行社官网。

现在想想很好理解:为了报价单。报价单上有各种明细,每一项明细有一个价格,总价为这些价格之和。

基于传统的占便宜思维,甲方往往也只是在报价明细的单项上压价,而不是认真去考虑什么是自己要的,什么是不要的。原因也很简单:多数情况下甲方没有产品经理,而把自己的需求分析指望乙方来完成,这好比房地产开发商指望建筑工程队来帮自己规划楼盘。当然,现在比前几年有所改观,但依旧是一个普遍现象。

然后,我们现在把注意力从软件外包回到产品研发上来,国内这种环境,好多时候产品往往不是产品经理调研分析出来的需求导向,而是营销导向。早年间我在当一线工程师的时候,整天被市场部的同事奚落:你们做技术的思想太呆板,做产品要跟得上市场,闭门造车怎么行?那时候产品经理不像现在这么风行,没有产品(项目)经理的过滤,工程师直接面对客户或者市场,比现在惨得多:界面太丑,功能太复杂难操作,界面太花哨,功能太简单没有卖点,全怪技术部的工程师们。

好吧,吐槽完工程师思维,要向市场看齐,我们来听听一般市场人员是怎么对需求理解的:

功能要多,不然用户觉得太贵,当然,要价格能更便宜更好。 界面要漂亮,大气,简洁,你看XXX产品?(小时候读书,总有个“人家的孩子”,工作后,总有个“人家的产品”)。 操作要简单,傻瓜式的,明白不?用户不是程序员! 客户要求这。 客户要求那。 客户是上帝。 有冲突是不?你们怎么逼事这么多?那好了,我要求不那么高,你能不能做成用户自定义?你们要把功能做得灵活点,不要这么死板行不?

除了业务员急于签订单,以及应付客户的压力(有些订单后续过程需要业务员来面对客户)上的小心思,某种角度来说,业务员确实是最接近用户表层需求的人。注意,是“表层需求”,真实的深层次需求,是依赖产品经理去挖掘和分析的。对于没有产品经理,或者产品经理不合格的产品团队来说,看到这些需求,头都要炸了:功能又要多,功能又要简单,傻瓜式操作,还要自定义,我艹,你们知道什么叫基本逻辑不?乔布斯如果生在中国,被强制实现这样子自相矛盾的需求,我估计他复活了还能再死一次。

老板再补一刀:要快,要好,要省钱,下个月第一个版本能出来不?

开发团队(无论有没有产品经理的)肚子里骂了N遍娘之后嘟囔:好吧,我尽力。开发团队累死累活消极对待出来的产品一般是这个样子的,哇,功能好多,哇,真TMD难用,哇,怎么这么多bug,哇。。。

于是客户骂业务员,业务员去找开发者:你们怎么做成这样子?开发者掰手指开始数:你看,A功能,你说要的吧,做出来了。B功能,也是你说要的吧,做出来了。C功能。。。

最后就会发现祖国大地上,到处是一个产品N多种眼花缭乱的功能的繁荣景象。比如我前面博文说的,可视门铃上有视频点播之类的功能。

点名时间 demohour.com

在小陈同志的介绍下,发现这个网站,据说是国内做得最好的众筹网站。但是他们自己自称是"中国最大智能新品,限时预购"网站,对众筹这个模式没兴趣,但对里面介绍的各种产品有兴趣,做产品过程可以那啥,它山之石攻一下玉?小陈同志的另外一种思路是:就算你不想从这上面筹到钱,展示你的产品原型看用户反应,总可以吧?

国外一些较知名的众筹网站:AngelList, Kickstarter, Indiegogo

中国智能家居网 smarthomecn.com

搜索引擎上排名挺高,传统媒体性质,具有中国特色的智能家居垂直门户网站。

/media/upic/2014/07/22/skybell.jpg

在浏览关于nest labs被google收购的文章时,无意发现这个叫skybell的智能家居产品。

功能很简单,有一个可转动摄像头,麦克风和按钮,以wifi跟手机连接。按下门铃时手机或平板给出提醒,可与访客互动,无论在不在家,并且支持多用户。

就算有人经过不按门铃,也可收到手机提醒并查看视频。

没提供直接用手机开锁的功能,不知道是不是基于安全考虑。

除了它官网上介绍的应用场景之外,可扩展的需求场景:

 

帮哥们躲前女(男)友,我一哥们,当年一起开皮包公司的,跟前女友闹分手,对方直接追到另一个朋友家里,如果有这产品,可以提前看到门口站的是谁来决定谁躲到衣柜里去。

不出门拒绝上门推销。

基于安全的录像,比如被查水表时录下作为证据。

反向偷窥,开party的时候事先知道谁跟谁暗地有一腿。

 

从其官网上的报价来看,199美刀,不便宜,拿到中国估计除了太贵这个问题,还有一个,这个产品显然是为house而不是apartment设计的,市场份额太小。

官网:http://www.skybell.com/

最近在国内网站看到的一款类似产品:

案例1:

甲方:给我定制开发一车子,要快点开发出来,质量要好,要便宜,最好花2万左右能搞定。 乙方(拿出小本子和笔,做认真倾听状):能谈谈您的需求吗? 甲方:当然要可以遮风挡雨的,敞篷的不实用,坏了很麻烦,前段时间成都一哥们,你在网上见过没?笑死我了,开着敞篷被淋一身。油价太高,要低功耗,要有很好的安全设计,唉,停车好难,停车费好贵,如果能随时停车不被抄牌,也不要钱的话多好。小X,你觉得特斯拉怎么样? 乙方:X总,特斯拉不现实,人家毕竟是全世界最尖端的blablabla,但是电力驱动我觉得是个好主意,我们可以先实现这个,以后再考虑朝那个方向靠拢。 甲方:好吧,先这样,给你一周时间够不够? 乙方:至少两周。 。。。。 甲方:你妹,你弄一电动三轮车搭个雨棚给我。。。 乙方(尼玛,2万块,你还想怎么样?):要不这样,我再给增加续航能力,后面外接三块电池?

听起来很荒谬是不是?我十多年的职业生涯中,常常有人用低于10万块的预算跟我谈要做一个携程,一个天猫出来。严格来说这不是甲方的错,而是我们国内这个糟糕的软件外包市场里,甲方对于软件开发成本是毫无概念的,不良乙方又常常从中搅局,劣币驱良币的事时有发生。

而另外一个常被搞偏的概念是,某成功互联网产品,当初是极低的成本实现的,比如豆瓣,最初就杨勃一个人写出来的啊,你们凭什么动不动收几十万上百万的开发费?这里混淆了几个事实:

a)从概率上来说,豆瓣是成千上万个个人网站死掉之后,幸运地冒出来的。 b)豆瓣发展了多少年才到今天这样子?时间成本比看得见的金钱成本,更难估算。现在豆瓣的开发维护成本是多少?有人清楚么?

案例2:

另一个甲方:我听说,有人2万块能弄一辆像特斯拉的电动车出来。 另一个乙方:X总,我们1.5万,怎么样? 另一个甲方:好,先预付你5000,合作愉快。 另一个乙方:合作愉快。 。。。。 另一个甲方:你妹,给我一个三轮电动车加个雨棚再在前面搞个山寨特斯拉塑料不干胶Logo。。。 另一个乙方:(我听不见,我听不见,听不见,不见,见。。。。)

案例3:

/media/upic/2014/07/15/untitled-1.jpg

好久不写Android程序,恰逢某甲方需要一个类似烟花绽开一样的菜单。github上看了半天,最著名的是ArcMenu,看了下源码,要改成固定坐标的话,还不如直接布局来实现,就是View太多了点。。。

不包装了,需要类似的效果的话,直接到github看看,不过这只是个demo,就只有图标飘来飘去,啥地图背景,毛玻璃效果啥的,你是看不到的。

/media/upic/2014/07/15/thumb_qh.jpg

1、机场书店里的成功学书籍,貌似分解转到微信朋友圈了。一个个在拼标题,看谁取得耸人听闻“美国人疯传十万次的视频:xxxx”“美国人揭秘的惊天真相/内幕”“xxxx的十条真理”“受用一生的十条真理”“价值x亿的一篇文章”,嗯,相当有趣。

2、健身效果不明显,貌似还重了1kg,这两天腰痛的不行,教练叫歇两天,先到跑步机上慢跑两天过渡。

3、组建团队的难度越来越大。。。那谁说来着,技术总是在短期被高估,长期被低估。组建团队也一样,没项目时怕养着,多贵啊,凭啥这帮人领这么高的工资在瞎写一些谁也看不懂的东西,一有项目,傻眼了,临时上哪找这么些人去。小公司通病,但愿早日跨过去。

4、貌似现在资本比前段时间活跃了,几个朋友都得到了个人的或机构的投资,连搞教育的杨博士都连找我几个晚上,像地下工作者一样,谈怎么接受现在要进来的一笔投资,以及会不会改变组织结构的高大上问题。

5、市场,设计,产品,开发,好吧,这帮人注定会一直相互吐槽到死,别拦他们。

6、过穷日子的时候总想着回到做外包拿现钱的时代,但是,挺住,再不以产品为主就要老得不举了。

7、青海挺漂亮,比我2006年去漂亮。

从家里面扫墓回来已经有一段时间了,组建新技术团队,产品及技术外包立项,忙得团团转。躺床上玩了下iPhone的语音识别,发现识别率还挺高,试试看这样能不能记下一点东西。

到县城,雾很大,搭老蒋借胡土豪的车,我哥和我一起去石洞镇扫墓,山路蜿蜒,能见度非常低,并且时不时下雨。

清理坟上杂草,烧香烧纸,放鞭炮。

因为下雨,父亲没有一起来,我哥我俩第一次独立扫墓,毛手毛脚。中途,堂兄西装革履,皮鞋,头戴斗笠,挑着一对箩筐过来,加入我们。

可能是因为村里人都出外打工的缘故,墓地旁边的土地灌木丛生,寂静无比,除了我俩哥哥的寒暄,只听到雨声。这跟我小时候的情形,大相径庭,那时候这座山头,有人种土豆,有人种红薯,欢声笑语,脏话满地。

我撑着雨伞,有那么一点恍惚起来。

扫完墓,开车路过我的老屋,我跟我哥提议下去看看,我俩走到房子旁边,一个村妇开门探出头来,用侗语问,你们找谁呢?我哥用侗语作答,这是我家。

我一个人绕着房子转了几圈,终究还是谢绝了村妇的邀请,没有进屋。

只是发现我以前住的那间房外面,又多了几个燕子窝的痕迹。

屋后我常躺在下面看书的那棵树,早已不见踪影,杂草丛生。

再后来,驱车县城,到贵阳,去重庆,然后,深圳。

发自我的iPhone