读《心外传奇》

今天读了李清晨的《心外传奇》。

看了几乎所有优质医疗剧,心外是最帅的,代表作《医龙》(日),产科是最暖的,代表作《产科医生》,没有之一。一个是挽回生命,一个是创造生命,而即便无神论者也会认同,生命是个奇迹。心外要做的总是游走在生死之间,电视剧里总是成功拯救生命,而现实世界里,会有人救不回来。

人类历史上,从蒙昧到掌握知识,是非常不容易的,当下的人,是躺在前人的遗产上的。无法想象,在没有疫苗,青霉素,外科手术的古代乃至近代,普通平民根本没有生活质量可言,王公贵族生病也不过是多活几天而已。穿越回古代的话,最可能的是很快就因病挂掉了,熬不到拜相封王那一天!

心外手术的死亡率,是从曾经的99.9%起步的。曾经被外科祖师爷排斥,认为没有手术可能,偶尔有个别医生遇到极端案例,缝合心包成功,后来,终于有了低温手术的方法,几分钟内解决问题。在电视上看到心外医生的缝合速度,很是惊人,但是从书中了解,这并不是个案,在早期手不够快病人就死了。

心外手术效果立竿见影,拯救蓝婴,术后马上可以看到嘴唇泛红,心脏的重要可见一斑。人体的强大,超乎想象,一些先天心脏病,通过简单的缝合,随着小孩的发育,就会自己长好;有一些手术,心跳停止,靠体外循环来支持,手术后,血液回到人体,心跳恢复,多么神奇!以前看电视,就在想,体外循环(人工心肺)怎么搞出来的。想过会很难,没想到有这么多坎坷。

体外循环的研究进程,真是惊天地泣鬼神,前仆后继的医生,被无情的打击,想想看,做一台死一台是什么心情,再强大的心理素质恐怕也受不了,有一些甚至一生都没有再拿起手术刀。最让人震撼的是,竟然曾经有“交叉循环”这种体外循环方法,脑洞大开。那个时代的仪器,大概是无法精确控制压力和确保加氧,将父子的大动脉用导管相连,用父亲的心脏作为循环泵的替代,用父亲的肺来给血加氧,保证孩子的心脏停跳后体外循环——顶住了记者们200%死亡率的压力,这样的手术竟然成功了!有的孩子父母都无法匹配,靠志愿者进行交叉循环,现在很多人连献血都未必会做,要躺在手术台上,冒生命危险,开大动脉做人体仪器,这是怎样的人道主义精神!有的小孩术后死亡了,父母同意解剖寻找真正死因,这就是贵族气质。

AED这种小型设备,在大型马拉松赛事是必不可少,在地铁站等公共建筑也常见,可在当年,心脏的生物电机制,是偶然被发现的。微型心脏起搏器,已广泛应用,在当年,这玩意和冰箱一样大。现在微创手术已经很平常,在当年,只有一个疯狂的医学生敢把管子插到自己心脏还拍个X光!

再说一次,今天能舒舒服服的活着,因为我们站在无数先贤的肩膀上。不单是心脏外科手术,从早上起床到晚上睡觉,所有的一切都是这样。扔到荒岛上,我们与野人无异。

感恩,感谢生命,感谢医生们。

在本地使用git做版本管理

此前一直在用乌龟svn做本地版本管理,最近认识了一帮伙伴,都在github上倒腾,我一开始只会在web上编辑,慢慢发现不方便,也好像有点低级,就也装了本地的git客户端。随后,鼠标右键的东西太多了,琢磨能否把乌龟svn删掉,这下发现,git做本地的版本管理,真是神器也,再简单不过了,有些网文写的过于复杂,其实就一句话:

在目录上执行git init,或者右键创建新的repo,然后,就可以愉快的开始提交(commit)了。

给非程序员使用,我觉得可以进一步简化,比如一键全部提交,因为很多人只是怕改来改去忘记了,可以随时回滚而已。当然,在本地做一些小项目,还可能需要创建一个dev分支,在这上改,改差不多了再merge一下。至于remote,push,pull这些东西,本地管理是不需要的,这与svn是根本不同的,一开始逻辑没拧过来,总想push上去。只要.git目录不强行删掉,其包含所有文件的snapshot,就是一个完整的版本控制系统,随时可以回溯到任何版本。实在要模拟远程,创建一个bare库即可。

由于是从svn转换过来,我期望可以完整的保存所有的记录。这里走了一些弯路:

  1. svn需要有trunk目录,如果没有,新建一个挪进去;
  2. 我用subgit这个工具import一键生成只有空文件,不好使;
  3. git svn clone是好使的;

git没法像svn那样checkout或者提交某个目录,而需要用subtree来创建一个分支,但这个分支是悬浮状态,从图形上看是凭空出来的一个点,后续的提交拉取感觉也奇怪。看了几个知名项目的git图形,聚沙成塔,聚人成精,模块单独拉出来都不会是长期分支,更不是subtree,再看看我一点点可怜的代码,还搞什么subtree分开闹革命,就都放在一起吧。

git客户端,首推git for windows portable 和 gitExtensions的组合,再有一个sourcetree备用就足够了。gitExtensions回朔文件历史的方式似乎比其他git客户端更为先进,不论是改名,换目录,他会尽力去找到源头,对初始规划不完善的业余人士非常有利,同时,看代码也非常方便,sourcetree窗口的布局不利于看代码。没有一个客户端能完整取代git命令本身,或多或少都有支持不足。

不清楚大规模项目实操中svn和git各如何,但在本地,显而易见git是更容易的选择。

不懂就要被骗

大部分中国人,活得累的一个原因是几乎所有的事情都得懂,落后就要挨打,不懂就要被骗。

比如家人生病,医院其实并不能像电视剧里那样,提供真正的医疗和护理服务,必须得抽出一个人来陪护,雇佣护工,给多少钱能找到好人呢,比你的工资高的时候才可以,这样悖论又出来了。甚至,给钱多了,也极难有专业的优质的省心的服务。还比如教育,姑且不说水平高低,学校完全实现不了托管孩子的作用,老师整天把家长弄到微信群里点来点去,这倒是强项。政府就更不必说,在东北,跑一个事儿不去三趟以上是摸不清门路的,纳税再多,也么有啥子服务不服务,南方能好到哪里去呢。中国的医院,学校,政府,只是把病人,孩子,纳税人圈养起来的机构,实际上省心的服务极少能够提供,这真的很奇怪,但放眼一看,各行各业,莫不如此。

在地产行业,不管是不是EPC合同,很多时候,甲方干的是总承包单位的活儿,总包干的是分包,分包干的是劳务,甚至有时候初始管理不到位,后来甲方把所有劳务和供应商的活儿都得兼着管了。又比如装修这档子事儿,没有个懂行的,要么是你自己,要么是朋友,盯在那里,给多少钱都保不齐不偷工减料,装修一次,从材料到人工,都得成专家。多年的经验表明,钱给够或者不给够,不是决定性因素。当你愿意多付钱买省心的时候,人家好像在玩德州扑克,鱼来了,傻子来了,只会钻各种空子宰你,而并不会提供专业的服务。

试多几次花钱买罪受,整个社会的风气就成了不愿意多花钱,或者,愿意出国去花钱。

人心浮躁,到底怎们能打破这个局面呢?互联网企业扛起了解决痛点的大旗,结果呢,帮人省钱的互联网企业一堆一堆的,提升品质的,除了神州专车,神州租车,不是我给神州洗地,真没有了。大部分互联网企业说白了就是网上中介,英文叫O2O显得牛逼了,要么压榨下游,要么压榨上游,最终是提升整个社会的成本,降低整个社会的品质,原来10元的煎饼,10元的盒饭,10元打的出租,现在互联网平台要抽成20%,互联网煎饼价格变成了12元,品质与他们无关,让下游抢单,让客户评价,钱到手。靠这种思路,只能是互联网公司在风口上圈钱走人,于社会并无助益。

大家都在钻钱眼,赚快钱,都在抱怨别人,而没有把手头的事情,做的专业,做的足够好,结局就是大家都不好。形成专业的圈层,提供省心的服务,相互愿意花钱买服务,这是推高并维持住人力价格的本质,如果专业人士都不能整体富裕的话,国家不可能跨越中等收入陷阱。互联网和软件行业走在前面,其他的行业里,机会是无限的,但愿我有生之年,能赶上这波大潮,国民能真正富裕,不懂不再被骗。

 

对云时代的小恐惧

前天打开许久没用的滴答清单,提示“免费用户可以创建9个清单”,此前是意识到这个数量对于GTD而言只能实现最基本的配置,要单列几个计划都无法实现,而且,一旦在整理清单的时候,删掉了,又没有深刻理解数量上限的意义,再添加时,就需要购买付费版,当前涨价到139元/年,涨幅40%。不能说这是在作恶,因为本来人家是免费提供给你的,但是,让人觉得不舒服,这有点trap。印象里一流互联网企业不会这么做,至少不会动老用户的奶酪。在国内,免费用户有点像是免费测试的,成熟了就一脚踹开,留下愿意付费的。对比一下wunderlist,从权限上是非常厚道的,而且实际上包括文件上传也没有实际限制。对比一下doitim,现在仍然是100元/年,没有涨价,而且是全功能GTD,不仅仅是清单。

(wunderlist我这里上不去了,无法登陆。C2C&GFW,不愧是中国互联网行业的的两大法宝。)

不是说不愿意付,十年来一直在支持正版软件和开源软件,此前,也断断续续的给滴答清单付费过。在刚毕业的几年内,付费过很多GTD软件,有一些大版本号都更替几代了。可能由于工作性质吧,忙的时候是数不清的事情推着你,闲的时候就想随性而为少做安排,此外,尽管我努力推介任务管理,但老板并没有支持,在传统行业,work smart是遭鄙视的,不足以体现劳动人民的拼搏精神的,宁可开视频会到半夜,也不会去读写公共文档,连电邮都很少用到,任务委派和co-work就太复杂了。最终,个人管理和团队管理两个方面,都不需要重度使用GTD以及相关软件,就这么成了断断续续的用户。

大家可以观察到,在PC时代不愿意付费的用户,在这云的时代,在各种掌上设备上开始付费了。有一些仍然是,我付钱,你把二进制码给我,我在本地运行。各大小软件厂,更在向云端租赁(订阅)app在迈步,这是一条赚钱的好路子,例如微软,本来OFFICE并不需要总是买买买,现在通过office365,提供云端存储和云端app,一旦迈了进去,当企业或个人形成依赖后,就需要每年付费,这种依赖比本地的文档更难脱开,而且,无法盗版。对于软件企业,这种模式能保护知识产权,培养用户根基;对于用户,也不错,减少了一次性投入,也不用购买大量的高性能计算机,TOC应该是下降的。

麻烦的是,因为不是一次性提供二进制码,订阅合同是需要续订的,以前是在大版本升级的时候,需要交钱,现在是续订的时候,如果厂家涨价,或降低同档次服务,一旦形成垄断,用户是没有办法的。举个极端例子,百度云盘,现在很多人当仓库,如果其他的云盘都死掉了,你有2T的文件在上面,突然宣布,需要付费才能读取,你能不给钱吗?更极端一点,如果不给钱,就公开在云上,你怎么办?不是说百度会做这样的事儿,而是在云时代,这成为了一种可能,尤其在伟大祖国,没有隐私权立法,连CDMA都拆掉了加密协议,所有人都是赤裸的,在BAT面前都是待宰的羔羊。

比较靠谱的方案,是在家里建立私有云,不依赖公有云。有个朋友,把除了电子邮件的所有的网络工具全部删掉了,在互联网上抹去了所有痕迹的,也不会出现在任何云上,这几年也一样活得很潇洒,也许这样,能避免所有来自云的恐惧吧。

当然,还有一种办法,趁早付费,把需要的云服务都订阅上,尽可能的多买一些年头。不论是doitim,还是dida365,其实都是值得付费的应用。

树莓派3b安装archLinux

万事怕折腾^^

用noobs安装默认系统,桌面是开箱即用了,但是问题来了:

  1. 没有二进制软件源,官方推荐的那几个都没有充足和比较新的,在x86上有的很多没有;
  2. 初代的时候,SD卡只有4G没所谓,现在的TF卡都16G起,空间太浪费了;
  3. noobs默认配置没有多分区,即便手工配置,也不是很方便。

这时我们的老朋友archLinux浮出了水面,什么,gentoo?nonono,这个派的小cpu要编译到啥时候去。arch兄是出了名的软件丰富,在arm领域就更出名了,ArchLinuxArm,简称alarm。我是很奇怪PI没有选择和archLinux合作,而是在debian基础上开发了raspbian,而且,曾经推荐的alarm镜像,竟然删除了,现在只有手工安装这一条路了。

起初我尝试了直接在raspbian下直接重新分区,弄了一下halt掉了,算球。现在不像读书的时候,随手一抓就是Linux主机,只好抓起了vitualbox,下载这个arch迷你镜像,或者gentoo的迷你镜像应该是也可以,分配尽可能多的内存(1G以上最好1.5G,反正临时用一下),不分配硬盘,直接从iso启动,在启动界面,选择安装i686或x64都行,然后直接退出安装,回到控制台。我从笔记本自带的读卡器没有办法读取,有一个杂牌的USB读卡器倒是好使,插上去识别为sda。

在控制台下安装过程参看官方文档,或者中文文档。可以多分几个区,bsdtar用tar替代应该也没问题。搞完直接插回到RPI3上,就可以有显示器启动了。没有网线的,执行wifi-menu,选择wifi,输入密码,这时会自动在/etc/netctl/下生成配置档,类似于wlan0-myhome。然后,参看这篇文章,让wifi自动连接。其实就是执行:

不改成和wifi档名称一致,照抄就行。重启后,忽略dmesg一点错误,拔掉所有外设可以用了。

花了几分钟安装桌面系统,然后就放弃了,难怪PI Foundation也放弃了。

这时,整个开源世界打开了,x86的荣光再现。如果要搞python:

包的依赖处理的不错,版本都是各自最新的release版本,在raspbian中要落后两三个版本,在anaconda-arm里要落后的更多。不是说多么赶潮流,而是要实现和x86的版本基本一致,避免特性的不兼容。如果不是对外做服务器或者做高清播放机,树莓派上archLinux真是比较好的选择。

好吧,主要是,又可以折腾了。

如果要设置中文

(这里的ArchLinux并不支持64位arm8特性,PI官方没有支持,再说1G内存玩啥子64位哦~)