kindle manager

This commit is contained in:
gavin
2020-06-28 21:16:21 +08:00
parent 616cef3061
commit 5cfab9c98e
4 changed files with 112 additions and 44 deletions

View File

@@ -143,10 +143,10 @@ b['1']['2'] = {'3':1} # OK
- [ ] clean (sdr) - [ ] clean (sdr)
- [ ] sync modify to kindle device - [ ] sync modify to kindle device
- [ ] compare parse html info with xpath & beautisoap & regex - [ ] compare parse html info with xpath & beautisoap & regex
- [ ] save export markdown file name with book name(treeview's item name),<br> - [x] save export markdown file name with book name(treeview's item name),<br>
such as **<<印度漂浮的次大陆.md>>** such as **<<印度漂浮的次大陆.md>>**
- [ ] easily copy filter notes to clipboard - [x] easily copy filter notes to clipboard
- [y] add right click menu for book info treeview item, so I can copy book info by select menu - [x] add right click menu for book info treeview item, so I can copy book info by select menu
format: 1| :book: | [存在主义咖啡馆](href) | 作者/出版社/出版时间/阅读时间 书评 format: 1| :book: | [存在主义咖啡馆](href) | 作者/出版社/出版时间/阅读时间 书评

View File

@@ -1,17 +1,61 @@
TYPE|BOOKNAME|AUTHOR|MARKTIME|CONTENT TYPE|BOOKNAME|AUTHOR|MARKTIME|CONTENT
--|--|--|--|-- --|--|--|--|--
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/30 23:59:28|Linus定律道出了大教堂模式和集市模式最关键的区别在大教堂建筑者看来bug是棘手的、难以发现的、隐藏在深处的要经过几个人数月的全心投入和仔细检查才能有点信心说已经剔除了所有错误。而发布间隔越长倘若等待已久的发布版本并不完美人们的失望就越发不可避免 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 16:30:12|关于病菌的历史作用的最令人生畏的例子来自随同哥伦布1492年的航行而开始的欧洲人对美洲的征服。虽然被那些杀人不眨眼的西班牙征服者杀死的印第安人不计其数但凶恶的西班牙病菌杀死的印第安人却要多得多。为什么在欧洲和美洲之间这种可怕的病菌的交流是这样不对等为什么印第安人的疾病没有大批杀死西班牙入侵者并传回欧洲消灭掉欧洲95%的人口?
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/30 23:59:52|对集市模式而言则完全不同在上千名合作开发者热切钻研每个新发布版本的情况下你可以假定bug是浅显易找的或者至少可以很快变得浅显易找。所以你会频繁发布以获取更多的修正其副作用是良性的即便发布中有些小问题你也不会损失太多 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 16:32:56|可以从数学上把病菌的传播定义为:由每一个原发病人传染的新的受害者的数目。这个数目的大小取决于每一个受害者能够传染给新的受害者的持续时间的长短,以及这种病菌从一个受害者转移到下一个受害者的效率的高低
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 12:06:07|聪明的数据结构配上愚笨的代码,远比反过来要好得多。 Brooks在《人月神话》的第9章里说“让我看你的流程图但不让我看表我会仍然搞不明白。给我看你的表一般我就不再需要你的流程图了表能让人一目了然。”历经30年的术语/文化变迁,这个道理依旧没变 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 16:33:12|病菌以各种稀奇古怪的方式使我们生病,如使我们得生殖器溃疡或腹泻。它这样做会得到什么样的演化利益呢?这似乎是特别令人费解而又自拆台脚的事,因为病菌杀死了它的宿主也就杀死了它自己。
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:25:31|有一群人高调声称自己是黑客但他们并不是。这些人大多是些毛头小子的主要目的是攻入他人计算机或者破解电话系统。真正的黑客称他们为“骇客”cracker而且完全不想搭理他们。多数真正的黑客认为骇客懒惰缺乏责任感而且不是很聪明如果你的目标是能够攻破安全系统那不会让你成为黑客就好比学会热线hotwire发动汽车并不会让你成为汽车工程师一样。遗憾的是很多记者和作者错误地使用“黑客”一词来描述骇客这使得真正的黑客极为不满。 两者最根本的区别是:黑客搞建设,骇客搞破坏 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 16:33:47|我们的疾病的许多“症状”,实际上不过是某种非常聪明的病菌在改变我们的身体或行为以便使我们帮助传播病菌时所表现出来的一些方式而已
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:27:30|(你还必须要培养出一种对自己学习能力的信心——你要相信,即便你没有掌握解决某个问题所需的全部知识,如果你成功处理了其中一小部分而且从中学到东西,你将会学到足够多的知识去解决下一小部分——如此往复,最终你会解决整个问题。 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 16:43:11|这就是为什么“使我们生病”是符合病菌的利益的
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:29:36|黑客天生是反权威的。如果有人能命令你,他就能让你做不成你特别想做的事——而且,如果探究权威者的思维,你会发现其理由往往愚蠢得令人发指。所以无论什么地方出现权威主义倾向,你都要与之抗争,以免他们压迫你和其他黑客。 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 16:43:17|但是,为什么病菌会演化出杀死宿主这种明显自拆台脚的策略呢?
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:30:23|滥用权威者靠审查和保密而强大,他们不信任自愿合作和信息共享——他们只喜欢他们控制之下的“合作”。若要做得像一名黑客,对审查、保密以及使用武力或欺骗这类行为,你必须要有一种直觉上的反感,而且你必须愿意与之抗争 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:05:35|人类历史上最大的一次流行病是在第一次世界大战结束时杀死2100万人的流行性感冒。黑死病(腺鼠疫)在1346年到1352年间杀死了欧洲四分之一的人口在有些城市里死亡人数高达70%。19世纪80年代初当加拿大太平洋铁路修经萨斯喀彻温时该省以前很少接触过白人及其病菌的印第安人死于肺结核的人数每年竟达到惊人的9%
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:33:53|学习编程就像学习如何写好自然语言。最好的方式是阅读大师们写的东西,然后写你自己的东西,多读一些,多写一些,再多读些,再多写些……如此循环往复,直到你写的东西开始发展出你在经典中所体会到的力量和简洁 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:08:40|但由于这种病菌除了在活人体内是不可能生存的,所以人死了这种病也就消失了,直到又一批后代达到易受感染的年代——直到一个受到感染的外来人使一场流行病重新开始
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:39:58|·学习很好地使用你的母语写作。尽管有一种陈旧的看法认为程序员写作不行,但很多黑客(包括我所知道的那些最优秀的黑客们)写得一手好文章,而且其数量多得让人吃惊。 ·阅读科幻小说,参加科幻小说集会(这是认识黑客和潜在黑客的好方法)。 ·研习禅修,并且/或者学习武术。(心智训练似乎在很多重要方面都是类似的。) ·培养起对音乐的鉴赏力。学会欣赏一些独特类型的音乐。学习很好地演奏乐器,或者学习如何唱歌。 ·培养出你对双关语和俏皮话的欣赏能力。 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:38:20|在第一年,黏液病毒在受到感染的兔子中造成了令人满意的(对澳大利亚农民来说)998%的死亡率。令这些农民感到失望的是第二年兔子的死亡率下降到90%最后下降到25%,使得要在澳大利亚完全消灭兔子的希望落空了
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:42:30|关于网名的问题值得着重说一下。将真实身份隐藏在虚假名字后面是骇客、warez d00dz以及其他不入流家伙们幼稚而愚蠢的行为。黑客不会这么做黑客以自己的作为为荣并愿意把自己的作品与真名相联系。所以如果你有假名的话扔掉它。在黑客文化中假名是失败者的标识。 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:40:17|一提起梅毒我们立刻会联想到两种情况生殖器溃疡和病情发展的十分缓慢许多得不到治疗的患者要过好多年才会死去。然而当梅毒于1495年首次在欧洲明确见诸记录时它的脓疱通常从头部到膝部遍布全身使脸上的肉一块块脱落不消几个月就使人一命呜呼。到1546年梅毒已演化成具有我们今天所熟悉的那些症状的疾病。显然同多发性黏液瘤病一样为使患者活得长些而进行演化的那些梅毒螺旋体因此就能够把它们的螺旋体后代传染给更多的患者
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:50:06|有种错误的观点认为教堂模式(或集市模式,或任何其他形式的管理结构)在一定程度上能可靠地产出创意,这完全是无稽之谈。一帮人在一起,不会有什么突破性的创见——即便是集市中那些无政府主义者组成的志愿者团体,通常也不能有真正的创见,更不要说公司委员会中那些为生计着想的还活在过去年代的人了。远见源自个人,其周遭社会机器的最好做法,就是响应这些有突破性的远见——滋养、奖赏并严格测试它们,而不是压制它们。 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:42:57|1519年科尔特斯率领600个西班牙人在墨西哥海岸登陆去征服拥有好几百万人口的勇猛好战的阿兹特克帝国
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:51:24|因此创新的根本问题(在软件中,或任何其他领域)是:如何不压制创意。但是,更为根本的是,如何先产生出一批有创见的人。 如果有人认为大教堂模式能够做到这点,而集市模式由于进入门槛低和过程流动性强不能做到这点,那就大错特错了。如果我们需要的是一个人和他的创意,那怎样的社会环境会更有利于这个创意的实现?一个能凭借创意迅速吸引成百上千合作者的环境,必然要好过任何这样的环境:这个人在着手实现他的创意前,不得不向领导层推销他的创意,否则就有被炒掉的风险 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:46:47|当我们美国人想到存在于1492年的新大陆人口最多的社会时出现在我们心头的往往只是阿兹特克人和印加人的那些社会
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:52:28|事实上如果查一下有多少软件创新是因为使用大教堂模型导致的就很快会发现它非常罕见。大公司靠大学研究提供新创意所以万圣节文件的作者们对Linux能更快吸收这些研究感到不安或者靠收购小公司来收购创意这些都不是大教堂文化的原生创新。事实上用这种方式移植的许多创新都在万圣节文件作者们大力颂扬的“强有力管理”下悄然窒息了 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:49:23|到1618年墨西哥原来2000万左右的人口急剧减少到160万左右
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/5/31 22:55:50|点到点结构是开源社区出现惊人生产力的关键。Kropotkin曾经对权力关系做出的评价被“SNAFU原则” [1]进一步阐明“只有平等个体之间才有真正的交流因为下级向上级讲好听的谎话会比讲真话更能得到持续的奖励。”真正的交流是创造型团队必不可少的而权力关系将极大制约这点。开源社区有效避免了这种权力关系并通过对比告诉我们权力关系会带来多么糟糕的代价大量的bug、低下的生产力和机会的丧失 HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:50:17|在我年轻的时候美国小学生所受到的教育是北美洲本来只有大约100万印第安人居住。把人数说得这样少对于为白人的征服行为辩解是有用的因为他们所征服的只不过是一个可以认为几乎是空无所有的大陆。然而考古发掘和对最早的欧洲探险者所留下的关于我们海岸地区的描写的仔细研究现已表明印第安人原来的人数在2000万左右。就整个新大陆来说据估计在哥伦布来到后的一两个世纪中印第安人口减少了95%
HL|大教堂与集市(开源运动的《圣经》,中文版首次出版)|EricS.Raymond著|2020/6/1 8:07:04|首先,也是最明显的一点,在同侪中拥有好名声是一种最基本的激励,出于前面提到的进化上的原因,我们都渴望体验它。(一些人试着将这种对声誉的内驱力做各种升华,使其看起来和同侪没有那么明显的关联性,比如“荣誉”、“道德操守”、“虔诚”等等,但这并不能改变其内在本质。) HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:50:50|主要的杀手是旧大陆来的病菌。印第安人以前从来没有接触过这些病菌,因此对它们既没有免疫能力,也没有遗传抵抗能力。天花、麻疹、流行性感冒和斑疹伤寒争先恐后地要做杀手的头把交椅
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:50:58|好像这些病还嫌不够似的,紧随其后的还有白喉、疟疾、流行性腮腺炎、百日咳、瘟疫、肺结核和黄热病
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 17:54:00|梅毒、淋病、肺结核和流行性感冒于1779年随库克船长[5]到来接着于1804年又发生了一场斑疹伤寒大流行以及后来的许多“较小的”流行病把夏威夷的人口从1779年的50万左右减少到1853年的84000人。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 18:47:19|正如人类学家克劳德·莱维-斯特劳斯所说的那样,古代文字的主要功能是“方便对别人的奴役”。非专职人员个人使用文字只是很久以后的事,因为那时书写系统变得比较简单同时也更富于表现力。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 20:59:22|文字只在新月沃地、墨西哥、可能还有中国独立出现,完全是因为这几个地方是粮食生产在它们各自的半球范围内出现的最早地区
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 21:36:29|问题似乎在他们的社会。否则又怎样来解释澳大利亚东北部的土著为什么没有采用弓箭?而他们见过与他们进行贸易的托雷斯海峡的岛上居民在使用弓箭。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 21:38:01|1942年当第二次世界大战仍在进行时美国政府制定了曼哈顿计划其显而易见的目的就是抢在纳粹之前发明出为制造原子弹所需要的技术。3年后这个计划成功了共花去20亿美元相当于今天的200多亿美元
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 21:43:39|特利布·戴姆勒得以在一辆自行车上安装了一台发动机从而制造了第一辆摩托车
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 21:45:48|从专利法律师观点看,最佳的发明就是全无先例的发明,就像雅典娜整个地从宙斯的前额跳出来一样[3]。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 21:50:58|从来就没有这样的人。所有公认的著名发明家都有一些有本领的前人和后人,而且他们是在社会有可能使用他们的成果的时候对原来的发明作出改进的
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 23:58:58|在现代的西方,保护发明者的所有权的专利权和其他财产法奖励发明,而在现代的中国,缺乏这种保护妨碍了发明
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/28 23:59:42|对各种观点和异端观点的宽容促进了创新,而浓厚的传统观点(如中国强调中国古代的经典)则扼杀了创新
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:01:16|在整个历史上,战争常常是促进技术革新的主要因素
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:02:15|强有力的集中统一的政府在19世纪后期的德国和日本对技术起了推动作用而在公元1500年后的中国则对技术起了抑制作用。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:04:24|许多北欧人认为,在气候条件严峻的地方,技术能够繁荣发展,因为在那里没有技术就不能生存,而在温和的气候下,技术则会枯萎凋零,因为那里不需要穿衣,而香蕉大概也会从树上掉下来。一种相反的观点则认为,有利的环境使人们用不着为生存进行不懈的斗争,而可以一门心思地去从事创新活动。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:07:53|现在中东的伊斯兰社会相对而言比较保守并不居于技术的最前列。但同一地区的中世纪伊斯兰教社会在技术上却是先进的是能够接受新事物的。它的识字率比同时代的欧洲高得多它吸收了古典的希腊文明的遗产以致许多古典的希腊书籍只是通过阿拉伯文的译本才为我们所知它发明了或精心制作了风车、用潮水推动的碾磨、三角学和大三角帆它在冶金术、机械工程、化学工程和灌溉方法等方面取得了重大的进步它采用了中国的纸和火药又把它们传到欧洲。在中世纪技术绝大多数是从伊斯兰世界流向欧洲而不是像今天那样从欧洲流向伊斯兰世界。只是在公元1500年左右以后技术的最终流向才开始逆转。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:14:09|一个著名的例子是日本放弃枪支。火器在公元1543年到达日本当时有两个葡萄牙人携带火绳枪(原始的枪)乘坐一艘中国货船抵达。日本人对这种新式武器印象很深于是就开始在本地制造从而大大地改进了枪支制造技术到公元1600年已比世界上任何其他国家拥有更多更好的枪支。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:15:19|只是因为日本是一个人口众多的孤立的海岛它才没有因为拒绝这种具有巨大作用的新军事技术而受到惩罚。1853年美国海军准将佩里率领装备有许多大炮的舰队访问日本使日本相信它有必要恢复枪支的制造直到这时日本因孤立而得到安全的状况才宣告结束。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:15:46|日本拒绝枪支和中国抛弃远洋船只(以及抛弃机械钟和水力驱动纺纱机),是历史上孤立或半孤立社会技术倒退的著名例子
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:40:57|盗贼统治者和英明政治家的区别,强盗贵族和公益赞助人的区别,只是程度不同而已:这只是一个从生产者那里榨取来的财物有多少被上层人物留下来的问题,是平民对把重新分配的财物用于公共目的喜欢到什么程度的问题。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:42:32|为什么平民会容忍把他们艰苦劳动的成果奉送给盗贼统治者?从柏拉图到马克思的所有政治理论家都提出过这个问题,在现代的每一次选举中选民们又重新提出了这个问题
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:42:49|得不到公众支持的盗贼统治者有被推翻的危险,不是被受压迫的平民所推翻,就是被暴发的想要取而代之的盗贼统治者所推翻,这些新贵们用许诺为被窃取的果实提供更多服务的办法来谋求公众的支持。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:43:25|从古至今的盗贼统治者混合使用了4种办法
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:46:10|盗贼统治者为了得到公众支持而使用的最后一个方法,是制造一种为盗贼统治辩护的意识形态或宗教
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:47:58|解除平民的武装,同时武装上层掌权人物。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:48:05|用通行的方法把得到的财物的很大一部分再分配给群众来博取他们的欢心
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:48:39|共同的意识形态或宗教有助于解决没有亲属关系的人们应如何共处而不致互相残杀这个问题——办法就是为他们规定一种不是以亲属关系为基础的约束。第二个好处是,它使人们产生了一种为别人而牺牲自己生命的动机,而不是产生利己之心
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 12:58:37|所有这些例子都表明,战争或战争威胁在大多数(即使不是全部)社会合并中起了关键的作用。但是战争,甚至仅仅是族群间的战争,一直是人类社会的一个恒久不变的事实
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 10:08:42|,为什么澳大利亚土著仍然不知金属工具为何物,而仍然生活在石器时代?
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 10:46:03|全世界6000种语言中有1000种挤在一个只比得克萨斯州稍大一点的地区里分成几十个语族以及一些就像英语和汉语那样不同的互相独立的语言
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 10:46:07|新几内亚是世界上语言最集中的地方
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 11:30:58|贸易和战争交替进行,而战争的目的则是割取敌人的首级做战利品和把女人捉来做老婆。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 11:34:45|欧洲移民的人数始终很少,今天新几内亚的人口仍然以新几内亚人为主。这同澳大利亚、美洲和南非的情况形成了鲜明的对比,因为在那些地方,欧洲人的殖民地数量多、时间久,在广大地区内取代了原来的土著人口。为什么新几内亚却不同呢?
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 11:34:58|在这些未能实现的对低地地区殖民的计划中最雄心勃勃的计划是法国侯爵德雷伊于1880年左右在附近的新爱尔兰岛组织的结果1000个殖民者在不到3年的时间里死掉了930人
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 11:49:56|欧洲人的拓殖用两种办法减少了土著的人数。一个办法就是开枪把他们打死在19世纪和18世纪晚些时候欧洲人认为这是一种可以接受的选择到20世纪30年代他们进入新几内亚高原地区时他们就很少这样考虑了。最后一次大规模的屠杀于1928年发生在艾利斯斯普林斯共杀死了31个土著。另一个办法就是欧洲人引进的病菌对这些病菌土著居民还没有机会获得免疫力或形成自然的抵抗力。1778年第一批欧洲移民到达悉尼不到一年死于流行病的土著居民的尸体便随处可见。有案可查的主要的致命疾病有天花、流行性感冒、麻疹、伤寒、斑疹伤寒、水痘、百日咳、肺结核和梅毒。 在所有适于欧洲人发展粮食生产的地区独立的土著社会就被用这两种办法消灭了。唯一的或多或少完好无损地幸存下来的社会是对欧洲人无用的澳大利亚北部和西部地区的社会。在欧洲人殖民的一个世纪内有4万年历史的土著传统基本上被消灭殆尽。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/29 13:14:53|“中国戎夷,五方之民,皆有性也,不可推移。东方曰夷,被发文身,有不火食者矣。”这位周朝的作者接着又把南方、西方和北方的原始部落说成是沉溺于同样野蛮的习俗:“南方曰蛮,雕题交趾,有不火食者矣。西方曰戎,被发衣皮,有不粒食者矣。北方曰狄,衣羽毛穴居,有不粒食者矣。”
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:04:32|事实上,正是由于欧洲是分裂的,哥伦布才成功地第五次在几百个王公贵族中说服一个来赞助他的航海事业。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:04:41|哥伦布曾请求国王派船让他向西航行探险。他的请求被国王拒绝了,于是他就求助于梅迪纳-塞多尼亚公爵,也遭到了拒绝,接着他又求助于梅迪纳-塞利伯爵依然遭到拒绝最后他又求助于西班牙的国王和王后他们拒绝了他的第一次请求但后来在他再次提出请求时总算同意了。如果欧洲在这头3个统治者中任何一个的统治下统一起来它对美洲的殖民也许一开始就失败了。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:05:02|对于欧洲的大炮、电灯照明、印刷术、小型火器和无数的其他发明,情况也是如此:每一项发明在欧洲的一些地方由于人们的习性起先或者被人忽视,或者遭人反对,但一旦某个地区采用了它,它最后总能传播到欧洲的其余地区。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:05:09|欧洲分裂所产生的这些结果与中国统一所产生的结果形成了鲜明的对比
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:05:22|除了作出停止海外航行的决定外中国的朝廷还作出停止其他一些活动的决定放弃开发一种精巧的水力驱动的纺纱机在14世纪从一场产业革命的边缘退了回来在制造机械钟方面领先世界后又把它拆毁或几乎完全破坏了以及在15世纪晚期以后不再发展机械装置和一般技术。统一的这些潜在的有害影响在现代中国又死灰复燃特别是20世纪60年代和70年代“文化大革命”中的那种狂热当时一个或几个领导人的决定就把全国的学校系统关闭了5年之久。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:06:19|欧洲内部的分歧今天在继续挫败甚至是想要通过欧洲经济共同体(EEC)来实现欧洲统一的并不过分的企图,这就表明欧洲对分裂的根深蒂固的执著。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:06:39|中国自有文字以来就一直只有一种书写系统长期以来只有一种占支配地位的语言以及2000年来牢固的文化统一
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:09:09|我用本书的很大篇幅着重讨论了在没有难以克服的障碍的情况下技术的传播问题。但中国在地理上的四通八达最后却成了一个不利条件,某个专制君主的一个决定就能使改革创新半途而废,而且不止一次地这样做了。相比之下,欧洲在地理上的分割形成了几十个或几百个独立的、相互竞争的小国和发明创造的中心。如果某个国家没有去追求某种改革创新,另一个国家会去那样做的,从而迫使邻国也这样去做,否则就会被征服或在经济上处于落后地位。欧洲的地理障碍足以妨碍政治上的统一,但还不足以使技术和思想的传播停止下来。欧洲还从来没有哪一个专制君王能够像在中国那样切断整个欧洲的创造源泉。
HL|枪炮、病菌与钢铁:人类社会的命运(世纪人文系列丛书·开放人文)|贾雷德·戴蒙德|2020/1/30 12:11:53|新月沃地和中国的历史还为现代世界留下了一个有益的教训:环境改变了,过去是第一并不能保证将来也是第一。人们甚至会怀疑,本书从头到尾所运用的地理学推论在现代世界上是否终于变得毫不相干,因为思想可以在因特网上立即向四处传播,而货物照例可以一下子从一个洲空运到另一个洲。看来,对全世界各民族之间的竞争已实行了一些全新的规则,结果,像朝鲜、马来西亚,尤其是日本这些新的力量出现了。 然而仔细想来我们发现这些所谓的新规则不过是旧规则的改头换面而已。不错1947年美国东部贝尔实验室发明的晶体管跃进8000英里到日本去开创了电子工业——但它却没有跃进得近一些到扎伊尔或巴拉圭去建立新的工业。一跃而成为新兴力量的国家仍然是几千年前就已被吸收进旧有的以粮食生产为基础的最高权力中心的那些国家要不就是由来自这些中心的民族重新殖民的那些国家。与扎伊尔或巴拉圭不同日本和其他新兴力量之所以能够迅速利用晶体管是因为它们的国民已在文字、金属机械和中央集权的政府方面有了悠久的历史。世界上两个最早的粮食生产中心——新月沃地和中国仍然支配着现代世界或者是通过它们的一脉相承的国家(现代中国),或者是通过位于很早就受到这两个中心影响的邻近地区内的一些国家(日本、朝鲜、马来西亚和欧洲),或者是通过由它们的海外移民重新殖民或统治的那些国家(美国、澳大利亚、巴西)。撒哈拉沙漠以南的非洲人、澳大利亚土著和美洲印第安人支配世界的前景仍然显得黯淡无光。公元前8000年时的历史进程之手仍然在紧紧抓住我们。

10
kman.py
View File

@@ -135,7 +135,7 @@ class kMan:
if not kp: if not kp:
s2 = u'Disconnected ({})'.format(os.path.join(CURRPATH,CLIPFN)) s2 = u'Disconnected ({})'.format(os.path.join(CURRPATH,CLIPFN))
else: else:
with open(kp+'/system/version.txt' , 'r', encoding='utf8', errors='ignore') as f: with open(os.path.join(kp,'system','version.txt'), 'r', encoding='utf8', errors='ignore') as f:
s2 = u'Connected ({}) version {}'.format(kp,f.read().strip()) s2 = u'Connected ({}) version {}'.format(kp,f.read().strip())
return [s1,s2] return [s1,s2]
@@ -313,7 +313,7 @@ class kMan:
""" """
suff = {'MD':'.md','CSV':'.csv','JSON':'.json'} suff = {'MD':'.md','CSV':'.csv','JSON':'.json'}
op = fnpref+suff[ft] op = os.path.join(CURRPATH, fnpref+suff[ft])
with open(op, 'w', encoding='utf8', errors='ignore') as fw: with open(op, 'w', encoding='utf8', errors='ignore') as fw:
if ft=='JSON': if ft=='JSON':
@@ -347,7 +347,7 @@ class kMan:
""" """
suff = {'MD':'.md','CSV':'.csv','JSON':'.json'} suff = {'MD':'.md','CSV':'.csv','JSON':'.json'}
op = fnpref+suff[ft] op = os.path.join(CURRPATH,fnpref+suff[ft])
with open(op, 'w', encoding='utf8', errors='ignore') as fw: with open(op, 'w', encoding='utf8', errors='ignore') as fw:
if ft=='JSON': if ft=='JSON':
@@ -834,9 +834,9 @@ if __name__=='__main__':
km.add_note_to_highlight(books) km.add_note_to_highlight(books)
# test dict json convert # test dict json convert
with open('./xx', 'w', encoding='utf8', errors='ignore') as fw: with open(os.path.join(CURRPATH,'xx', 'w'), encoding='utf8', errors='ignore') as fw:
fw.write(km.dict2json(books)) fw.write(km.dict2json(books))
if km.json2dict('./xx')==books: print( 'test OK') if km.json2dict(os.path.join(CURRPATH,'xx'))==books: print( 'test OK')
km.export_notes(books, OUTPREF, ft='MD') km.export_notes(books, OUTPREF, ft='MD')

View File

@@ -372,10 +372,11 @@ class kmanWindow(QMainWindow):
def tree_item_clicked(self, modelidx): def tree_item_clicked(self, modelidx):
# modelidx is a QModelIndex object # modelidx is a QModelIndex object
model_index_list = self.ui.treeView.selectedIndexes() # QModelIndexList model_index_list = self.ui.treeView.selectedIndexes() # QModelIndexList
model_index = model_index_list[0] # QModelIndex model_index = model_index_list[0] # QModelIndex
itemmodel = model_index.model() #QAbstractItemModel/QStandardItemModel itemmodel = model_index.model() #QAbstractItemModel/QStandardItemModel
item = itemmodel.itemFromIndex(modelidx) #QStandardItem item = itemmodel.itemFromIndex(model_index) #QStandardItem
self.tree_selected = item.accessibleDescription() self.tree_selected = item.accessibleDescription()
print(self.tree_selected, item.text()) print(self.tree_selected, item.text())
@@ -491,28 +492,47 @@ class kmanWindow(QMainWindow):
# tableview item selected # tableview item selected
if table_index_list: if table_index_list:
model_index = table_index_list[0] # QModelIndex model_index = table_index_list[0] # QModelIndex
print('contextMenuEvent pos {}'.format(event.globalPos()))
menu = QMenu() menu = QMenu()
copyAction = menu.addAction("Copy") copy_action = menu.addAction(u"Copy")
action = menu.exec_(self.mapToGlobal(event.pos())) action = menu.exec_(self.mapToGlobal(event.pos()))
if action ==copyAction: if action ==copy_action:
self.copyAction(model_index.row(), model_index.column()) self.copy_action(model_index.row(), model_index.column())
elif tree_index_list and self.tree_selected.split('_')[0]=='info': elif tree_index_list:
model_index = tree_index_list[0] # QModelIndex model_index = tree_index_list[0] # QModelIndex
itemmodel = model_index.model() #QAbstractItemModel/QStandardItemModel
item = itemmodel.itemFromIndex(model_index) #QStandardItem
pp = self.tree_selected.split('_')[0]
menu = QMenu()
[copy_info_action, export_note_action, export_word_action] = \
[None, None, None]
if pp=='info':
copy_info_action = menu.addAction(u"Copy")
elif pp=='note':
export_note_action = menu.addAction(u"Export Notes")
elif pp=='word':
export_word_action = menu.addAction(u"Export Notes")
else: pass
action = menu.exec_(self.mapToGlobal(event.pos()))
fn = self.tree_selected+item.text().split('(')[0].strip()
if action==copy_info_action:
action = menu.exec_(self.mapToGlobal(event.pos()))
self.copy_action(model_index.row(), model_index.column())
elif action==export_note_action: self.export_filter_notes(fn)
elif action==export_word_action: self.export_filter_words(fn)
else: pass
else: pass
print('contextMenuEvent pos {}'.format(event.globalPos())) print('contextMenuEvent pos {}'.format(event.globalPos()))
menu = QMenu() def copy_action(self, row, column):
copyAction = menu.addAction("Copy")
action = menu.exec_(self.mapToGlobal(event.pos()))
if action ==copyAction:
self.copyAction(model_index.row(), model_index.column())
def copyAction(self, row, column):
import clipboard import clipboard
clipboard.copy(self.copyinfo) clipboard.copy(self.copyinfo)
print('copyAction row {} column {}'.format(row, column)) print('copy_action row {} column {}'.format(row, column))
def search_return_press(self): def search_return_press(self):
self.search_button_clicked() self.search_button_clicked()
@@ -725,18 +745,22 @@ class kmanWindow(QMainWindow):
pass pass
def export(self): def export(self):
if self.tree_selected.split('_')[0]=='note': pp = self.tree_selected.split('_')[0]
self.export_filter_notes() if pp=='note':
else: self.export_filter_notes('export')
self.export_filter_words() elif pp=='word':
print("call export()") self.export_filter_words('export')
else: # info
def export_filter_notes(self):
self.km.export_notes(self.filter_books, 'export', ft='MD')
pass pass
def export_filter_words(self): print("call export()")
self.km.export_words(self.words_data, self.filter_list, 'export', ft='MD')
def export_filter_notes(self, fn):
self.km.export_notes(self.filter_books, fn, ft='MD')
pass
def export_filter_words(self, fn):
self.km.export_words(self.words_data, self.filter_list, fn, ft='MD')
pass pass
def messagebox(self, ico=1, info=''): def messagebox(self, ico=1, info=''):