关于犯错

我们当下的教育环境,对犯错的态度和处理方式过于简单粗暴了。比如,教师们强调“书写规范”、“卷面整洁”……,稍微违犯,轻者从头来过,重者罚抄百遍。

究其原因,是我们整体社会环境对“犯错”的态度,经常所提的“学霸”其实等于“少犯错,甚至不犯错”,并用来应对各种各样的考试。如果我们的学习衡量标准只是单一的“应试”也没什么不妥。但殊不知,学习的过程远非学校中那么单一,并且每个人的学习敏感度敏感期都不尽相同,过分的“整齐划一”实际上可能扼杀了天才。比如英语的学习,有的人用眼睛看,有的人是用耳朵听,有的人是用嘴读,各有侧重点。以我的英语学习经历来看,我更倾向于“读、听”敏感,对于单词记忆来说读读就能记忆,让我写简直是浪费时间。但有的人就是“看、写”模式。 — 当然真的要学好英语还有很多其他的要素。

脱离了学校的单一学习环境后,很多“学霸”都不见得能很快适应,所以我们看到,举办各种各样的考试来去“适应”这些“学霸”,其实严格地来说这些“学霸”只是“考霸”。

真正的“学霸”是:了解自身的学习模式并利用之进行高效学习的人。而更厉害的“学霸”,会从别人的学习模式中“提取”自己可以运用的东西来学习、借鉴、总结并内化到自身的学习模式中。而老师,则应该不仅可以借鉴模式,而且能够总结出各种学习模式和适应范围并能够给学生知道的人。这才是真正的师傅、老师。

所谓老师,如果不从学生的”犯错“中去发现:为什么犯?什么错?那么就不能称为一个合格的”师者“,最多只是从事一份教师的职业而已。

但当下这样的”师者“,寥寥无几。有些人可能会说当下的体制、教师的考核方式等等,是的,有缺陷,但,你其实是有选择的,而且大多数时候,你已经做出了选择。

顺带提一下所谓”挫折教育“,这真是国人的另一个”天才产物“ — 用不犯错的方式来让孩子学习犯错。

过度的基础建设其实是向穷人征税

路是越修越多越修越好,但是貌似对老百姓来说还要花相对更多的时间。有的人会说,这不对,以前我用2小时才能到的地方,现在只需要半小时了。是的,绝对时间是短了。

但我说的是“相对更多的时间”,公共交通比起有车的人,时间差距显然是更大了。

你会说,公共交通便宜很多啊,但这个逻辑里隐含了:穷人的时间不值钱。

可是,穷人的时间效用更大。金钱的边际效用递减的,而穷人的钱可能边际效用可能还在上升的阶段。这个概念其实可以定义穷人,但效用很难量化,不太好用数据说话。但不影响产生结论。

从这里来看,其实时间还是很好的衡量物,对所有理性人来说都是一样的。

所以只要是制造了时间上的不平等,就是不公平对待。

但是,中国的事情是,表面上似乎人很重要,因为地铁站、机场里安检人员数量已经世界第一了,但考虑到其“不必要”性,其实还是“人不重要”。

貌似quora也被赶出中国大陆了

网站被封有一段时间了,最近appstore也下架了

失信的成本是所有人来承担的

最近发生了一件事,总结了一下之前的一些经历。记录一下,算是对微型独立软件供应商(Micro ISV)的一个“生存”参考。

事情始末大概是这样:通过朋友介绍了一个小项目,其实就是2-3天的项目,都算不上是项目,纯粹出于帮忙的动机。毕竟鄂尔多斯地区找一个软件开发供应商比较难,之前的版本是一个河南的小伙做的,花了1万多,外加往返机票。我也就很实在的报了个价 – 6000块,因为最多也就是3天的工作量(其中还有50%的buffer)。如果不了解行情的人,可能还觉得我有点黑,没办法,这是市场决定的,不是我决定的。

我也是比较“傲娇”地要求事前一次性付清,然后开工。结果呢?这位项目负责人担心我搞不定,想要做完再付款。我和他说如果担心保障可以对公签合同,不过收费就是1万2(因为还有其他开销),可能是由于我一开始就给报了一个比较低的价格,这个时候这位项目负责人已经不能接受这个offer了。然后就是反复的电话沟通。然后当然是谈崩了(也可能是我的谈判技巧不佳)。

现在想想,如果我一开始报价1万5,然后打个八折1万2,然后先付6k,完工验收后再付6k。也许他还能接受。

但是,想法还是太naive了。如果人不爽快,后面要钱的那种感觉我可不愿意,毕竟我是个“审慎的”享乐主义者 – 绝对从一开始就避免这种尴尬和不爽。

然而,在目前鄂尔多斯地区(或者是类似的3、4线城市)这种困境确实是存在的 — 由于一些众所周知的原因,所有人的信用度都打了折,结果就是,所有人都要负担这份“成本”。

最可悲的事情是什么?

不是和笨蛋做事情,而是不得不为笨蛋做事。

事实是,我也是那个笨蛋。

如果笨蛋无可避免,那么要怎么和笨蛋相处?

大多数类似问题,其实都没有答案。答案在于“选择”。

如果没得选择,那么也就没有必要探讨答案,除了制造焦虑,没有益处。

Vagrant使用总结

最开始想要使用Vagrant时,是想要方便地管理和共享开发环境配置,还有一定化的自动化需求。研究了官网,感觉配置还是比较多的,后来就找到puppet,然后又找到一个puphpet(用php开发的一个puppet配置生成工具),就用上了。后来发现,这么使用虽然上手较快,但对Vagrant的配置体系反而似懂非懂,而puppet本身的配置也挺繁琐。

磕磕绊绊倒也是能用,共享开发环境的时候,直接生成一个“笨重的”box,然后发给别人。

provision脚本可以用来初始化环境,而且支持shell、ansible、puppet…,但是本身环境的搭建并不复杂,就没用。所有系统软件都是手动安装的,导致后面只能通过box来进行共享,而不是更优雅的脚本。好在需要共享的人和场景都不多,但每一次都还是很痛的。

最终还是保留使用puppet,相比其它的plugin更灵活、社区也更强一些。

总结一下:

  1. 使用provision初始化环境,需要使用shell或者其它plugin,我使用shell;
  2. 最好别一开始使用工具生成vagrant配置文件,本身并不复杂,否则后面遇到各种蛋疼的问题,搞不清楚到底是生成工具的问题还是配置的问题;
  3. 即便使用了provision脚本,但是如果os升级或者某个软件升级,还是得在shell里操作或者在脚本操作,后续也不得不又通过box共享(或者重新下载新的os镜像+provision);
  4. 一旦维护了脚本,就需要测试。一旦出现了两套东西需要维护,就存在debug由差别(甚至非常细微的差别)造成的各种很猥琐的问题

疫苗事件发生后的各种“态度”

年轻人基本没有什么态度,中年人有孩子的赶紧去翻看自己的孩子用的疫苗有没有问题,貌似有问题也没什么办法。

地方媒体纷纷发布各自地区使用的疫苗来源,基本上问题有点严重的也不会发布了,问题不大的或者没有的,连着几天从多个角度进行“全方位”报道。

中央媒体是不能像地方媒体那样的,但目前似乎也仅仅作为“喉舌”,传递高层和相关部门的态度,但仅限于态度。

公知和相对独立的媒体的态度,在发布与被删的边缘游走。

动作?不需要的,也就是短期掉一波原本就不“牢靠”的粉丝而已。普通人们半个月以后就有别的问题需要考虑了。

解决?不可能的,这么难的问题,慢慢来吧……

你「构建」的啥?

工程师眼里,所有事情都是工程。也是为什么会有 social engineer、social hack……

工程师的主要工作是:应用科学+构建可用之物。

依照这个前提,所有人无非是三个级别的工程师 – 构建的对象不同:

1. 物

最常见的工程师,也就是一般意义上的工程师,越牛的工程师能够构建的物品越复杂。比如软件系统、汽车、建筑。

2. 人

比较常见的就是老师了,但其实大多数的领导者,只要团队超过1个人,就算。领导的人越多越牛,当然前提是能够产出。

3. 想象

也就是真正意义上的大师、哲学家,提出一整套的体系,至于是不是由他来构建,不重要。有时候,没构建出来反而更受大家追捧。

瞎扯~

选择基于用户(user-based)还是基于物品(item-based)的过滤?

“推荐”的本质是 – 为a推荐b,a是主体(或者在一个协同过滤系统中叫user),b是客体(在协同过滤系统中叫item)
而学习的来源是已有数据中 user对item的选择(协同过滤)
user-based和item-based只是两个方向,简单来说:
user-based是“人以群分”,item-based是“物以类聚”。
如果某几个user经常选择相似的item,或者说某几个user对某个item的评价(“品味”)是相似的。那么当另一个user表现出相似的品味时,推荐给他那些根据品味聚集起来的其他user所选择的item。也就是所谓的“人以群分”,这是user-based。
优点:比较容易实现,适合规模较小但变化频繁的数据集,比如音乐推荐和分享类网站。这样网站的用户更愿意了解和自己”臭味相投“的人。
如果预先算出item之间的相似度,然后根据user对其中一个的选择来推荐其他的相似item给他,就是item-based。也就是”物以类聚“
优点:不需要随时计算,可以预先或者通过后台增量去计算。关键在于物品间的比较不会像”用户选择“的比较那么频繁变化。(比如购物网站,或者item非常多)
在实践中,无论是user-based还是item-based都在于搞清楚哪个是user哪个是item。
那么举个例子,如果是”发掘潜在的付费用户“这个主题,到底是user-based还是item-based呢?
(以下只是分析,未必是标准答案)
首先,这个表达不是很明确,潜在的付费用户是如何定义的?
是购买相似产品的用户?
是购买过产品的用户?
是第一次购买吗?如果用户有第二次购买行为需要发掘吗?
个人觉得“发掘潜在的购买行为”更准确一些。
还有一个因素要考虑,产品的种类有多少,如果像淘宝/amazon那样有数以十万计的商品,显然应该是item-based。但是如果是很少部分(比如1%)的用户购买几个产品。反倒是user-based也比较合适(甚至人工介入)。
但是注意,“您购买了a我推荐您购买b”。此时a和b应该避免是同一个类别,当然,如果推荐结果里出现过多的“同类推荐”,说明算法有问题。用户已经购买了,貌似已经不是”发掘潜在”了。
其实这里还是应该使用“item-based” – 先把所有的用户进行聚类,然后发掘和付费用户相似的的用户。发掘潜在的付费行为也就有了着落。此时最大的问题是聚类属性的选择。
所以,无论是user-based还是item-based,都要看问题的本质是什么,如果没有正确理解问题本质,要么逻辑很复杂,要么效果差。

关于孩子的”非线性“阅读

前天随机地看了一个TED,里面有一段:

As a society, we’re creating reading experiences for children that are the equivalent of telling bar jokes in a church. And then we wonder why so many children don’t read. Educator and philosopher Paulo Freire believed that teaching and learning should be two-way. Students shouldn’t be viewed as empty buckets to be filled with facts but as cocreators of knowledge.
有点启发和触动。这句话大意是:我们给孩子提供的阅读体验实际上近乎“对牛弹琴”或“强迫”的单向体验,或者说是“被动”体验,而应该让孩子也成为知识创造者,或者说让孩子体会到创造的乐趣。说起来我今天中午还在给儿子读《老人与海》,完完全全是这种体验,我也很累,儿子也没有任何互动的反馈,像是在完成任务。
如何让阅读变得有互动、有反馈,就像游戏一样?
在阅读《老人与海》时候其实有考虑一种模式,所谓“非线性”阅读,比如在阅读过程中会有很多新奇的东西或者地名,如果我们直接“跳走”去看对应的条目或者扩展,会怎么样?孩子原本被我胁迫的阅读体验会打断或无效吗?我倒觉得,反正也是无效,倒不如干脆“跳走”,让孩子来决定阅读体验。也许这种非线性的阅读更适合人类。
鱼叉是什么样子?怎么用的?帆是什么样子的?为什么要用帆?哈瓦那是哪里?什么样子?我们什么时候可以去?……男孩是老人的什么人?为什么他看起来很喜欢老人?……
继续问下去,你还怕孩子问不出你回答不出的问题吗?
阅读体验能否变成“随机行走”?应该可以。