跳到主要内容

黑客与画家-Graham

书呆子为什么不受欢迎?

书呆子往往和聪明成正比,‘聪明的小孩’。他们把时间和注意力花费再更有意义的事情上。 任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心投入。 聪明小孩在 11~17 岁,有着人生最糟糕的精力。11岁以前生活有家长主导,11岁小学毕业后,情况发生变化。 《蝇王》--威廉·戈丁尔 在一个人有良知前,折磨就是一种娱乐。 在任何等级社会中,那些对自己没自信的人就会通过虐待下等人来突显自己的身份。 没有什么比一个共同的敌人更能是人们团结起来。 最后欢迎的海西不欺负书呆子,是那些焦虑的中间层。 公立学校的老师很像监狱的狱卒,关心的时犯人呆在自己应该呆的位置上。 为什么离开学校后,真实世界却能友好地对待书呆子呢?

  1. 真实世界的庞大规模使得书呆子做的每件事都能产生价值意义。发现正确答案开始变得重要。
  2. 比尔·盖茨 就是很好的例子。
  3. 书呆子读书时思考的时真实世界看重的东西。 为什么人们要搬到郊区去呢?养育下一代!
  4. 学校是虚假生活中的牲口围栏。真正目的是把儿童关在一个地方,以便大人们白天可以腾出手把事情昨完。
  5. 孩子们过的很无聊。所以叛逆。20 世纪工业革命之前不是这样的。
  6. 工业化,带来专业化。当今的青少年在生产活动中,毫无用处,只能快餐廉价劳动力。
  7. 几乎在任何团体都存在等级关系。领导者有善于实现目标的人担任。
  8. tack(老成),我一直误解以为是 tacit (缄默,不苟言笑,taciturn)。成年后懂得,它真正的意思是 熟练的触碰,词根出自 tactile (触觉)。

freak - 怪人,是书呆子的联盟,他们不爱学习。校园生活真正的问题是空虚。人生而喜欢劳动,创造。 书呆子更新是被塞进中学的 成年人。 最难的部分,是意识到你该怎么做。

2 黑客与画家

都是创作者。与作曲家、建筑师、作家一样,试图创造出优秀的作品。 做什么和怎么做不应该分的太开。如果你决定做一件事,却不知道怎么做,你就是在自找麻烦。 没有什么比一个错误的前提更容易产生大量待解决的问题。 创造优美事务的方式往往不是从头做起,而是在现有成果基础上做 一些小小的调整,或者将已有的观点用比较新的方式组合起来。这种类型工作很难 用研究型论文表达。 设计优美的软件,考核时困难的。 唯一有效的外部考核时 时间。 不幸的是这可能比一个人的生命还长。塞缪尔·约翰逊曾说过:“人们对一个作家的评价,要 100 年才能达成一致。” 黑客搞懂“计算机理论”的必要性,与画家搞懂颜料化学成分的必要性差不多。 黑客新想法的最佳来源,并非名字里有“计算机”三个字的理论领域,而是其他创作领域。 编程语言是来帮助思考程序的,而不是用来表达已经想好的程序。我认识的黑客没有一个喜欢静态语言。 雅虎收购我的 Viaweb 后,程序员被当作技工,职责就是将产品经理的“构想”翻译成代码。 大公司为了减少设计上的灾难,选择了减少设计结果的标准差。 真正竞争软件的设计战场时新兴领域市场。 黑客如何才能做自己喜欢的事情?一份赚钱的工作,一份为了爱好的工作。 我在面试程序员的时候,主要关注的事情就是业余时间他们写了什么软件。因为如果你不爱一件事,你不可能把它做的真正优秀。你要是热爱编程,你就不可避免开发你自己的项目。 从画家身上,我们能借鉴到什么对黑客的启示?

  • 如何学习编程? 实践、通过范例(开源运动)、一幅画时逐步完成的,编程亦然。
  • 一种好的编程语言,应该像油画颜料 一样,能够使我们从容地改变想法。
  • 坚持一丝不苟,就能取得成果。所有那些看不见的细节合并在一起产生了惊人的效果,仿佛上千个细微的声音都以同一个音调在歌唱。
  • 黑客就如画家,工作起来是有周期的。暂时放手有时能防止热情熄火。
  • 绘画的合作方式,编程亦然。 黑客需要换位思考。软件的试用方式最好能符合用户直觉,别指望用户去看手册。 源码应该可以自己解释自己 现在正是编程的黄金时代。它能有多酷取决于我们能够用这种新媒介做出怎样的工作。

不能说的话

所谓时尚,本质上就是自己看不见自己的样子。

在大庭广众之下,你有没有什么观点是不愿说出口?

如果别人告诉你什么你就相信,你会和他们犯下同样的错误。

真话让人们开始思考。

异端邪说。不一定正确,极富争议。

如何找到不能说的话。

回顾历史。将当代观念和不同时期古代观念比较一下。 孩子的大脑是我们所有不能说的话的一面反射镜。 观察禁忌/流行是如何产生的 优秀的作品往往来自于被其他人忽视的想法。而最被忽视的想法就是那些被禁止的思想观点。智力越高的人,越愿意去思考那些惊世骇俗的思想观点。 注意场合,守口如瓶。自由思考比畅所欲言更重要。 把辩论上升到一个抽象的层次。找到对方的元标签(对某个标签的抽象描述)。如“政治正确”。 另一种办法是使用隐喻。 如果你要清晰思考,就必须原理人群。

4 良好的坏习惯

  • 公民自由是国家富强的原因。

版权法。黑客计算机软件推动了版权法。

数据在本质上是自负的。

5 另一条路

  • 互联玩软件,你的数据和软件本身都不保存在终端设备。

    函数式编程,对于互联网很有用。因为它不包含状态。 devops 关注用户,亲眼看到他们怎么使用你的软件。 效率对互联网至关重要。 订阅方式 除了微软自己,没有人能让微软遭受严重挫折。 1974 苹果 与 UNIX 。诞生。 开发互联网软件,最多需要 13 个人。因为无需软件发布、软件移植及其他。 软件定价最适合加个歧视。

你的电脑正在取而代之的“你的数据”

互联网软件

无安装 数据自由,无处不在 没有版本概念,永远最新。bug 修复快 免运维。 数据更安全。容灾,专业的人看护。

谁是互联网软件的目标客户?个人和小企业。其他的该来的收就会来。

互联网软件更安全。 他就类似是银行。

有钱的客户,倾向于更贵的选择。大公司付出的高价之中,很大一部分是商家为了让大公司买下这个而付出的费用。

技术放大了他们的决策。创业公司历史,他们越来越小,越来越快,越来越不像正规企业。

从制造简洁的产品开始入手。迅速退出1.0版,并不断加以改进。倾听用户反馈。启发用户,而不是限制他们。

6 如何创造财富。

创业公司就是解决某个技术难题的小公司。

一个命题。 创业就是一个压缩过程。如果你想赚 100 万美元,就不得不忍受相当于 100 万美元的痛苦。 运气很重要。 金钱不等于财富。它只是财富一种简便的表达方式。 大饼谬论 手工艺人 工作是什么 可测量性和可放大性。 小团体=可测量性 高科技=可放大性 潜规则 用户数量 财富和权力。

7 关注贫富分化

财富的老爹模式 每个人技能不同导致收入不同,这才是贫富分化的主要原因。 偷窃。人类历史财富积累的最常见方法是 偷窃。 技术的杠杆效应。 技术无法使其变得便宜的唯一东西就是品牌。

8 防止垃圾邮件的一种方法

贝叶斯过滤器。

9 设计者的品味

美感是第一道关卡。

好设计是简单的设计 好设计是永不过时的设计 好设计是解决主要问题的设计 好设计是启发性的设计。提供模块,让用户自由组合。 好设计是艰苦的设计 好设计是看似容易的设计 好设计是对称的设计。(重复性对称和递归性堆成) 好设计是模仿大自然的设计。 好设计是一种再设计。(不断优化修改,扔掉早期原型) 好设计是常常是奇特的设计。 好设计是成批出现的。 好设计是大胆的设计。

10 编程语言解析

机器语言 高级语言 开放源码 语言战争 抽象性 面向对象编程 文艺复兴

11 100年后的编程语言

12 拒绝平庸

秘密武器 lisp ,最了解我们产品的是客户。 Blub 困境 编程语言不只是技术,也是一种习惯性思维,非常难于改变。 创业公司的合气道。

13 书呆子的复仇

朝着数学的方向发展。

14 梦寐以求的编程语言

流行的秘诀 外部因素。流行的计算机硬件系统。 简洁。可以让用户懒惰。 可编程性(Hackability) 语言的设计者应该假定他们的用户是天才。 真正优秀的语言即整洁又混乱。C 语言, Lisp 都是这样的例子。总带有一点放纵不羁,不服管教的个性。 一次性,易装备 函数库 效率 编程时提高代码运行速度的关键是使用好的性能分析器。 时间 要有耐心。人们注意到你的收,不是第一眼看到你站在那里,而是发现过了这么久你居然还在那里。 再设计 梦寐以求的编程语言

  • 句法短到令人生疑
  • 大量优秀范例
  • 抽象程度高
  • 干净简练
  • 内核小而强大
  • 以层的方式构建。

15 设计与研究

最佳作品不是对用户的言听计从的人做出来的。

先设定目标用户。贴近用户,寸步不离。