六十而耳顺 —— 60级小结

在Steem悄悄地升到了60级,本文简单梳理一下过去的文章和思考,以及接下来的一些想法。


耳顺


“六十而耳顺”,先来解读它的意思。


孔子云:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲不踰矩。” ——《论语·为政》



无论后世对孔子的褒贬如何,孔子都无愧于是当时的智仁勇兼具之人杰,缔造文明的核心人物,轴心时代的开创者。上文中,“立”、“不惑”、“耳顺”等当下常被人用于年龄的变化,但恐怕很多人没有真正理解孔子的本意,常常是误用。


一方面,这是孔子对自己一生的总结,未必适用于他人。孔子一生所历73年,这段话在约72岁时所作。另一方面,理解孔子,无须跪着解读,用常人的视角去观察更有意义。


孔子少年老成,十五岁便志于“学”(学问)。当下,无须说十五岁的青少年,便是终其一生也未必有志者,也不在寡。而十五六岁正是躁动的年纪,惹是生非者不少,这在西方和东方却也差不多。


孔子跳过二十多岁的成人之礼不说(孔子20岁成家生子),可见在他看来这并不重要。“三十而立”,用孔子自己的话说:“不知礼,无以立也”。孔子30岁时以“知礼”闻名,齐景公和晏婴向他问礼,所以“而立”说的是孔子知书达理、学而有成,并非很多人认为的“成家立业”或“物质独立”。


孔子成名之后,求仕于齐、鲁,但并不顺利,四十岁左右专心治学,于是能够“不惑”。


“五十而知天命”,便是知道自己命中注定该做什么。据说孔子50岁前因为学《易》知道自己应该做官,所以便出来求仕。


“六十而耳顺”,对古之贤达而言,有“善于倾听民间疾苦,善于接受贤达劝谏”之意[1]。60岁前后,孔子周游列国、颠沛流离,很不顺心,但孔子却很虚心。郑人说他“累累若丧家之狗”,孔子点头称是。毁誉置之度外、又能洞察世事,可以谓之“耳顺”。


七十在孔子的年代毫无疑问是高寿。70岁左右,孔子丧子、丧徒(颜回、仲由),反而“从心所欲、不逾矩”,大抵物我两忘,一切皆可放下,人之将死,也彻底自由。


那么,在Steem上的朋友,60级之后,对这一空间内的世事,可以不计毁誉、洞若观火,也可称得上耳顺了吧 :)



思考

在 Steem 上的旅程,与我最初的计划,似乎还是颇为匹配的。

先说说写作和思考相关的部分。

1. 开端与计划

第一篇《The Road Not Taken》 虽然是转载了Robert Frost的诗,并无原创,但也立了基调,即“took the one less traveled by”。

此后的两篇《在Steemit的写作计划 | My Writing Plan on Steemit》 以及 《【Steem之旅】2019年Steem世界的探索 | Exploring the Steem World in 2019》 大概确立了写作的路线,以及希望更深入地了解Steem、为社区做一些工作、认识更多朋友的想法。

随后的写作大概是沿着这个思路前进,但完成度目前还比较低,希望可以继续改进。

2. 《黑客之道》系列

谈技术哲学和技术之道,但目前还是只开了个头,还没有深入写。

  1. 序 - #1:如何培养真正的黑客?
  2. 序 - #2 真正的问题解决者
  3. 番外 | 墨子(一):奇人

3. 《科学与教育》系列


科学哲学与技术哲学是相伴相生的,为了谈好技术问题,先谈谈科学和教育问题,也会略有帮助。


  1. 【未来教育学】成年人需要什么样的STEM教育?(一)(二)(三)(四)(五)(六)(七):以STEM切入点,谈了一些科学教育方面的Why, What和How等问题。
  2. 【未来教育学】知 与 智:一篇杂文,抨击了网络和商业上流行的知识平台

4. 《观非常人,行非常事》系列


这个系列原以为已经写了好多篇了,原来还挺少的,可能是默默写了,没发到Steem吧。可以把上文的一篇《墨子》和对联活动的《梁羽生》也加到这个系列。


  1. 作为科普作家的艾萨克·阿西莫夫 | Isaac Asimov and Popular Science
  2. 程灵素:海棠无香
  3. 番外 | 墨子(一):奇人
  4. 下邳圯桥,张良进履
  5. 梁羽生与《名联观止》

5. 《标签的本质》系列


这个系列是把 “标签” 作为观察 Steem 和世界的一个视角来写的,是不错的话题,但只开了头,希望接下来可以继续写好。


  1. 标签的本质 | The Nature of Tags(一)

6. 《区块链与公共利益》系列


这个系列希望关注的是区块链与公共利益间的关联,也是我觉得区块链项目最有意义的方向。


  1. 区块链、Steem与公共利益 | Blockchain, Steem and Public Benefit
  2. 区块链、Steem与公共利益(二)– 开源与区块链 | Blockchain, Steem and Public Benefit (2) – Open Source and Blockchain

7. 其他杂文


  1. 【跨文化活动】地球文明的星际对话 | 宇宙政治与宇宙语言:参加阿朵 @itchyfeetdonica 的跨文化交流的活动

以上总计21篇。作为写作的部分,进度并不快,希望接下来能有更多进展。


实践


除了写作之外,有相当一部分文章是关于实践的,即如何参与 Steem社区的各种活动和建设,下面也做一些总结。


1. 新手村 @team-cn


给村里做的贡献不多,下面可能是有些帮助的:


  1. 和大家一起参与SP代理竞赛:《数英雄,论成败:评SP代理竞赛》
  2. @cn-hello 小门童 帮助邀请新人加入新手村:借问师友何处有,门童遥指新手村 | 关于 @cn-hello 小友的来历
  3. @cn-curation 编辑
  4. @cn-activity 编辑(已经暂停)

2. Steem指南 @steem-guides


目前《Steem指南》的修订有了一些进展,但整体进展比较缓慢,需要改进执行力。


《Steem指南》修订计划:


  1. 《Steem指南》重新起航https://steem-guides.github.io/steemh/
  2. 《Steem指南》 – 编辑的工作流 | Editors’ Workflow
  3. 《Steem指南》 – 编辑的工作流 | Editors’ Workflow | 第2版 | 2019/04/19更新
  4. Steem Guides + SCT = Wisdom about Steem | 《Steem指南》+ SCT = Steem之智慧

《Steem指南》新的子版块:建议收藏这两个链接


  1. Steem常用链接: https://steem-guides.github.io/links/zh | Steem Links:《Steem指南》子项目 | Subproject of Steem Guides
  2. 中文区花名册:https://steem-guides.github.io/roster/ | Steem 花名册:《Steem指北》子项目 | Steem Roster: A Sub-Project of Steem-People / 真·花名册 | Update of Steem Roster

《Steem指南》小助手


  1. @cn-hello 不仅帮助新人认识新手村,也介绍《Steem指南》等教程,也希望可以通过改进让《指南》越来越容易阅读和使用。

3. Steem工具和服务


steemblog 博客镜像服务:目前已经服务了近20位用户,有需要的可以留言


  1. steemblog: Steem时光机 | Steem Time Machine
  2. 用GitHub创建Steem文章镜像 | Mirroring Your Steem Blogs on GitHub | 免费博客备份服务: steemblog

关于国内访问 steemit 的几种方式的文档:


  1. 【Steem指南】用eSteem Surfer发帖
  2. 【Steem指南】用requestly绕过 steemit 被禁问题
  3. 【Steem指南】浏览器插件:Steem Server选择工具;解决steemit被禁的问题

4. 其他社区参与


steemstem


  1. #cn-stem curator:最近收到的投稿较少,欢迎新人关注STEM

steemcleaners


  1. 翻译和介绍了账户安全问题,此问题值得持续关注:网络钓鱼的安全威胁,请中文区用户警惕 | Phishing Warning

5. 对联活动


起初是为了写梁羽生的生平,但觉得对联活动也不错,所以顺便组织活动、普及对联知识。本周我们会继续。


活动列表:https://steemblog.github.io/@robertyan/tags/cn-couplet/


  1. #1 梁羽生与《名联观止》
  2. #2 内外与五四
  3. #3 对偶与春秋
  4. #4 贺寿与建祠

前行


Steem 的内容丰富多彩,在这里认识了很多有趣的朋友,玩得很开心。


接下来的行进路线,与最开始的计划并无大的差异,但可能需要有更高的执行力、以及和社区里伙伴更好的合作。


思考与写作


其实写作计划一直是比较清晰的,但 Steem 能玩的太多了,有时候写作的进度就无法跟上了。希望可以提高执行力。


  1. 《黑客之道》系列:顺着大纲继续写
  2. 《语言与世界》系列:语言学和认知科学相关,用小号单独写
  3. 《标签的本质》系列:顺着大纲继续写
  4. 《区块链与公共利益》系列:需要整理下思路,可能会开一个番外《开源回忆录》

区块链与公共利益


在《区块链与公共利益》系列中我曾提到,我觉得公共利益是区块链在技术、经济和社交层面最有意义的价值体现。本质上,我认为这是对Web精神的继承与发扬(这是基于将区块链看成下一代Web的重要组成部分的这一观点得出的)。


对Steem世界的初步探索,也将逐步走向更有针对性的推动区块链实现更多公共利益。


我并不怀疑区块链技术会逐步纵向大众,但其带来的结果并不总是正面的,如何用其利而避其害,是我们需要思考的问题。区块链根植于“自由主义”的基因,驱使它可能向着“人之道,损不足以奉有余”的方向前进,使得财富聚拢而损害大多数人的利益。“自由”与“平等”的矛盾始终萦绕着商业世界。


区块链与公共利益的结合,是我认为可以寻找的出路的一个方面。


主要的工作会在以下几点:


  1. 《Steem指南》:Steem指南解决的是社区知识共享和沉淀的问题;但需要做一些反思和整理,解决目前的执行力的问题。
  2. 协助公共利益组织:如 @team-cn、@steemstem 等,具体来说包括:
    1. 改进 CN区 使用 steem 的各类服务的体验,如 steem-engine 等;
    2. 推动 CN区 的项目更好的发展,例如 @wherein,和 @iguazi 也有一些讨论;
    3. 帮助 @steemstem 改进 https://www.steemstem.io 的访问体验(刚开始);
    4. 了解和参与 utopian 社区;
  3. 更加系统地思考和研究如何帮助更多以公共利益为目的的组织发展和成长;
  4. 其他有趣、好玩、又有助于社区成长的事情(欢迎大家参加对联活动)。

最后

其实本文是对 @yellowbird 黄鸟大哥 提到的在 steemblog 中增加【置顶文章】板块的实验,否则可能不会写这篇总结的文章。

对于 steemblog 的用户,如果想要置顶文章或者调整首页的文章顺序,可以在文章的文本中加入如下的隐藏标签(可以加在末尾,像本文做的那样;别的地方也可以),你的文章会按照 position 的数值从小到大排列。如不设置,默认的position 是 9999,会按照时间排序;所以,一般需要置顶的文章才需要设置。

<div position=”1” />

参考文献

  1. 李零,《丧家狗 —— 我读论语》,山西人民出版社,2007年



Posted from my blog with SteemPress : https://robertyan.000webhostapp.com/2019/06/%e5%85%ad%e5%8d%81%e8%80%8c%e8%80%b3%e9%a1%ba-60%e7%ba%a7%e5%b0%8f%e7%bb%93


This page is synchronized from the post: ‘六十而耳顺 —— 60级小结’

如何培养信息素养? / 浅谈大众文化与精英文化(之一)| About Information Literacy

问题来源

本文起源于今天看到的两件小事:

第一件是,今天在微信群里看到转发的一则关于 新学期名单:刘小灵童、程门立雪、吴@&&、赵#@……当老师太难了! 的笑话。新生的名单中包含了很多不常用的汉字,和比较搞笑的组合,如“刘小灵童”、“程门立雪”等。

直接印象是这个班级名单中出现非常规的姓名的频次过高了,通过搜索引擎检索后便能发现这是一则伪造的新闻(笑话),与2018年9月的一则新闻高度雷同 李锁铛然、刘小灵童…这届新生名字让人笑崩溃

第二件是,在大伟老师的文章令人失望的媒体APP(自媒体)中讨论的关于当下的新闻媒体的信息质量低下的问题。

“假新闻”与“劣质新闻”这些“问题”,展现了我们当下时代中,面对信息的迷惑与焦虑。这背后,也隐藏着精英文化与大众文化对峙与分歧的文化挑战。



Partial map of the Internet, with nodes representing IP addresses
By The Opte Project - Originally from the English Wikipedia; description page is/was here., CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=1538544

信息困境的来源

信息与大众

面对“假新闻”与“劣质新闻”,常见的归因是将问题的根源归结于技术的发展、信息传播方式的变迁,即“互联网”、“社交网络”、“大众媒体”的兴起,但忽视了技术对文化的影响。例如,假消息为何产生、假消息为何受到追捧,互联网“新闻”为何质量低下,等等,并非技术问题,而是社会问题。

  • 发布假新闻的作者利用“自媒体”获得了原来所不曾拥有的传播能力,但另一方面,是由于存在大量不善于识别假新闻和热衷传播“笑话”的大众读者,才促成了消息的广泛传播。
  • 制造低俗的新闻和文章的作者,通过互联网触及了大量的读者,但这些文章的高阅读量也反应了大众的低俗趣味。

也就是说,至少是“互联网”信息渠道和大众文化的“合谋”,造成了“假新闻”与“劣质新闻”的流行。

通过考察技术史,可以发现,信息技术对大众文化的发展有着密切的联系,例如:

  1. 北宋以后,随着活字印刷技术的出现,推动了出版业的兴起、教育的普及和市民社会的繁荣,市民的审美趣味得到了越来越多的重视,元曲、明清小说的发达是大众文化兴起的显著的例子;
  2. 19世纪之后,在欧洲与美国,随着报纸、广播、电报等的出现,都市人口的增加,社会平等得到充分的重视,以及大众消费的增加,大众文化的话语权得到了显著增强。
  3. 20世纪下半叶以来,好莱坞电影的繁荣与彩色电视的普及,以及21世纪以来的互联网与社交网络的兴起,使得大众文化出现了全球性的扩张,颠覆了过去精英文化为主导的格局。

在信息与市场的簇拥下,大众文化已经成了当前媒体传播的主流样式。所以,当我们在思考如何培养或提升“信息素养”的时候,需要面对的不仅是“信息”这一抽象的概念,更是具体的大众文化的形态。以此种对信息和文化的解释为基础,我们能更清晰地分析采用怎样的态度来应对信息的困境。

上智与下愚

《论语·阳货》说:“唯上智与下愚不移”。这在现代强调平等的时代,多半是不合时宜的话,但随着科学的分科化越来越精细,工业时代大规模的分工协作的发展、尤其是流水线的出现,工作技能的要求越来越专门化,知识领域之间的隔阂越来越深,一定程度上削弱了大众锻炼自身智慧、增长本领的机会。例如,我向来觉得农民比工人更有创造力,思维更为系统全面。农民通常需要对作物栽种的整个流程有深刻而具体的了解,了解天时、熟悉市场与乡村社会的规则,而工人则长期锁定在一个狭窄的专业分工中。

再举个信息时代的案例:大型互联网企业中常常基于效率的考量,将软件工程师分工为开发工程师、测试工程师、运维工程师、项目经理,甚至更多(系统工程师、前端开发工程师、后端开发工程师、游戏开发工程师、数据库管理者、敏捷教练、大数据开发工程师、数据科学家…… 数不胜数)。其中,测试工程师认为开发工程师不应该测试自己的代码而应该由专门的人员来测试,这直接导致一些开发工程师(也就是常说的程序员)的测试水平极为低下,他们却认为这是理所当然的。实际上,测试的方法确有精深之处,但掌握基本的方法却毫不困难,因此把作为整体的软件工程划分为琐碎的诸多模块,对于工程师的思考能力与技能的健全发展却是极大的损害。分工的狭隘之处,可见一斑。“全栈工程师”(指掌握全部技能的软件工程师)虽然受工程师追捧,在实践中却远远达不到其理想状态。

这种随着工业化而产生的大众的智力和能力的衰弱,不仅仅体现在生产的方面,更体现在军事、家务、游戏等诸多领域。[1] 就家务而言,以前的家庭自己制作被褥、衣服、围巾、手套,打造家具,修理水电等等,都不在话下,和现在高度依赖网购、上门服务的城市家庭相比,不可同日而语。现在的孩子常玩各类电子游戏,尽管不乏佳作,但多以制造紧张专注的氛围为长处,以迎合炫耀和虚假的成就感为“钩子”,仅就对智力的要求与锻炼而言,与传统游戏如围棋、中国/国际象棋、桥牌等相比,差距是显而易见的。

所以,除了“大众文化”已经形成的“无需深沉思考、无需费心咀嚼”[2]的特点之外,工业化以及正在发生的智能化趋势,进一步削弱了大众的智力。认识到“大众文化”呈现“弱智化”的多方面历史与社会原因,有助于我们进一步思考培养“信息素养”的基本思路。

信息素养的基本策略

“信息素养”的形成,充分叙述需要极长的篇幅,这里仅从“动机”、“来源结构”、“文化”这三个方面做简要叙述。最简单易行的方法,我认为,别无新意,不过是“主动读书”四个字而已。至于复杂而更为有效的方式,则是与富有挑战和深度的生产或生活活动相结合,有目的的运用信息与知识。本文只讲“主动读书”的部分。这里只是根据大部分面对信息困境的普遍情况而提出的策略,具体的实施应该是因人而异的。

需要注意的是,我们这里提出的方案,恐怕并不能解决我们识别某一则假新闻,或者找到某个合适的新闻客户端的问题,但可能帮助我们从整体上反思自身信息检索的行为模式与应对之策。

1. 动机

相比在某些文章中可能会强调的信息筛选的技术,我觉得最有必要改善的是获取信息的“动机”。

大部分劣质信息(包括假新闻、低俗新闻、商业广告)都是被动推送给读者的(哪怕是我们主动打开的App,其本质仍然是被动“呈上”给读者的,而不是我们主动搜寻的)。信息的制造者早就洞察了读者“懒惰”的本性,他们将或无效或有效的信息(有时也把那些成为知识,即知识付费)包装成美味可口、易于“消化”(实际只是形成情绪或者表层印象)的信息大餐,等待愿者上钩;但真正有价值的信息,却常常是需要一定的“咀嚼”才能发现其中滋味的。

所以,提升信息素养的首要准则是反问自身获取信息的目的是什么,是为了消遣娱乐、猎奇追新,还是为了解决某个更为具体和长远的实际问题、或者满足某种求知欲的需要。有目的的主动的获取信息,主动辨识“被动”推送的信息的来源、真伪和意图,是提升信息素养的首要原则。但这不代表我们完全不需要“被动”的信息,要完全隔离被动的信息本身也是不可能的。

2. 来源结构

互联网的现状是,越来越多的无用信息被生产出来,从中要舀出一碗清水,复杂度会越来越高(但成本随着技术完善,仍然可能是下降的趋势)。即便是受到称颂的百科全书Wikipedia,信息的可信度也值得商榷。从Google或者百度得到的信息,除了搜索浅层次的常规信息,在解决大部分问题时,返回的都只是平庸的见解。信息检索技术(包括搜索引擎)确实大幅度提高了信息查询的效率,但最有效和高密度的信息来源,依然还是书本。人类“心智的圣所”,依然还是图书馆。从技术上而言,互联网在帮助大脑处理深度信息的有效性上,还没有超出图书馆的能力。

而且,除了功利的获取知识或信息之外,书籍的阅读也是养性与修身的过程。所以,在信息的来源结构中,如果能保持一定比例(如20%信息量、或每天1个小时、或每周10个小时,等等)的信息来源为“书”,特别是那些有着长远价值的经典之作,将是提升信息素养的关键手段。

这里书籍的阅读过程也同样应当是“主动”的,而不是“被动”地听某人“说书”,或者看一些“书评”等边缘信息。当建立“主动”找书、看书、总结、应用等通道后,信息素养的提升应当会容易很多。

3. 文化

大众文化并不等于粗俗或无知,大众文化也有其精深与通达之处,但绝不意味着仅仅以宣扬欲望、物质、暴力等为手法。

浸润在大众文化之中的人可能难以分辨自身文化的诸多特点。例如,对很多人来说,追求物质、鄙视崇高,是一种理所当然,且认为他人的行为无不带有“最大化自身利益”的意图。在这种假设下观察的信息,也自然局限在自身的“透明玻璃墙”中。

文化的影响是最难以破除的,或许唯有通过“主动阅读”真正拓宽自身的文化食谱,并从一定程度上突破“工业化”、“智能化”和专业分工带来的思维“窄化”与对智力的伤害,才能尽得大众文化之妙、不受大众文化之害吧。

当然,在大众文化之外,“精英文化”也有其局限之处。但更大的问题可能是今天“精英”被污名化太甚,有需要正名之处。这些我们在以后的文章中再谈。

最后

本文实际上是由最近在思考的关于“精英文化与大众文化的分歧”的问题出发,所引发的一些讨论,而借“信息素养”这个问题进行阐发,但在深度上还有所欠缺。

在当今时代,所谓的“两种文化”之争(科学家与文学知识分子的相互不理解与相互看不起)已经不是文化冲突的主要形态,而是被大众与精英文化的冲突所取代。在之后的文章中,我们会进一步探讨大众文化与精英文化的对立状态,以及调和的可能性。

参考文献

  1. 郑也夫,“大众的弱智化”问题:科技发展中,我们聪明了还是傻了,2019年4月
  2. 傅守祥,世俗化的文化:中国大众文化发展的消费性取向,2006年9月

This page is synchronized from the post: ‘如何培养信息素养? / 浅谈大众文化与精英文化(之一)| About Information Literacy’

Cn-Curator: 基于转发的好文推荐系统 | Cn-Curator: Reward Awesome Posts by Resteem



image from: https://github.com/awesome-steem

起因

大伟老师 @rivalhw 最近一直在通过好文推荐来推动社区的活力和发展,对于CN社区的写作者来说,是实实在在的认同与帮助。

但【好文推荐】目前每天手动的编辑量有些大(约0.5~1小时),大伟老师在《Steemit社区好文推荐的一点新想法》 中已经介绍了希望可以自动化部分好文推荐的工作的计划。简言之,系统将自动发布文章,汇总大伟老师已经转发的“好文”,并且根据一定的比例自动点赞。

虽然 Steem 的生态并不仅仅限于“写作”或“文章”,但文章的创作仍然是 Steem 最重要的沟通和交流方式之一,也是人类表达思想、进行交流的核心手段。

就“文章”而言,Steem的默认设置是认为 Vote(投票)是最核心的表达认同、赞赏、反对等 Curation 的方式,但由于经济利诱的影响,使得 Vote 并不那么纯粹,而夹杂了多方利益的博弈。相比之下,一般而言,Reblog / Resteem (转发)似乎更值得信服。一般而言,被转发次数较多的文章或者是确实令人惊叹,或者是与更多人的切身利益或兴趣相关;也就是说,转发也是一种实际上的 Curation 的非常有效的手段。

所以,大伟老师通过转发来表达自己对好文的赞赏,似乎也更在情理之中了。Cn-Curator 系统目前的实现方式也是通过观察 curator 的转发行为,自动汇总报告、自动进行的点赞。

实现

这个系统基于 Autopilot 系统的模块构建,实现是十分简单的,大约花费了1h左右实现(包括调试、测试、部署等)。

由于 Autopilot 项目已经实现的一些用于构建自动化工具的模块(材料、食材),我们可以很快地写一些 Recipe(菜谱),用于自动发布文章、自动点赞、自动领取收益、自动转账等操作。

比如,Cn-Curator 系统最主要的代码是实现了两个 cn-reader 的 recipes:

  1. 一个是自动发文的“菜谱”,代码在 https://github.com/awesome-steem/cn-curator/blob/master/recipe/info/cn_reader.py
  2. 一个是自动点赞的“菜谱”,代码在 https://github.com/awesome-steem/cn-curator/blob/master/recipe/vote/cn_reader.py

这两个“菜谱”的核心代码也比较容易理解,这里简单贴一下。通过代码里的几个参数,大家应该能理解 recipe 想要表达的意图。

自动发文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
RESTEEM_ACCOUNT = "rivalhw"
INFO_ACCOUNT = "rivalhw"
CURATION_CYCLE = 1.01 # days

class CnReaderSummary(InfoRecipe):

def mode(self):
return "query.comment.post"

def config(self):
return {
"account": RESTEEM_ACCOUNT,
"days": CURATION_CYCLE,
"reblog": True
}

def by(self):
return INFO_ACCOUNT

def title(self, data):
return "好文天天赞{}榜上有名".format(get_zh_time_str())

def body(self, data):
date = get_zh_time_str()
count = len(data)
head = ["作者", "文章"]
body = []
for item in data:
row = [
"@" + item['author'],
"<a href=\"{}\">{}</a>".format(self.get_url(item['authorperm']), item['title'])
]
body.append(row)
table = build_table(head=head, data=body)
return POST_TEMPLATE.format(date=date, count=count, table=table)

def tags(self, data):
return ["cn-reader", "cn", "partiko", "zzan"]

def ready(self, data):
# post only there're more than 0 resteemed posts
return data and len(data) > 0

def get_url(self, authorperm):
return APP_URL + "/" + authorperm

自动点赞

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
RESTEEM_ACCOUNT = "rivalhw"
VOTER_ACCOUNT = "rivalhw"
CURATION_CYCLE = 1.01 # days

class CnReaderVoter(VoteRecipe):

def __init__(self):
super().__init__()
self.posts_num = 0
self.voted_posts = 0

def mode(self):
return "query.comment.post"

def config(self):
return {
"account": RESTEEM_ACCOUNT,
"days": CURATION_CYCLE,
"reblog": True
}

def by(self):
return VOTER_ACCOUNT

def what_to_vote(self, ops):
if not self.ops.is_upvoted_by(self.by()):
logger.info("We will vote the post {}".format(self.ops.get_url()))
self.posts_num += 1
return True
return False

def who_to_vote(self, author):
return True

def when_to_vote(self, ops):
return VOTE_TIMING # mins

def how_to_vote(self, post):
self.voted_posts += 1
logger.info("voting {} / {} posts".format(self.voted_posts, self.posts_num))
weight = self.voter.estimate_vote_pct_for_n_votes(days=CURATION_CYCLE, n=self.posts_num) * VOTE_PERCENTAGE
if weight > 100:
weight = 100
return weight

def after_success(self, res):
if self.voted_posts == self.posts_num:
logger.info("Done with voting. Exit.")
sys.exit()

我们将部署这些脚本于每天晚上8点执行,所以大伟老师当天的转发会自动生成报告并进行点赞。
如大伟老师所说,随着成本的降低,类似的curation工作或许可以拓展到更多的领域。

Cn-Curator 项目在GitHub以 MIT License 开源:https://github.com/awesome-steem/cn-curator

欢迎参与贡献或提出你的建议和问题~

未来

Awesome Steem #0 | 你欣赏的人生感言或经验 中我提到过,

博物馆的馆长,就常常被称为 Curator。 所以Curator的工作不仅仅是用金钱去奖励别人,而更本质的是让世界上有魅力、有温度的内容可以被留存、传递和发扬出去。

Steem 的美妙之处之一,在于其中有很多精彩而值得驻足观赏(awesome)的人、物和事。
Cn-Curator 的意义之一,也是让这些美妙和精彩(awesome)的瞬间可以以更低的成本,被更好的保留和发现吧。

与大伟老师的【好文推荐】的努力相对应的,SteemCN 也有计划实现一个【好文推荐】的页面,用于汇总 大伟 @rivalhw 和 @cn-curation 等推荐的文章。此功能也在开发的过程中:https://github.com/steem-driver/condenser/issues/11 欢迎提供建议或贡献你的力量。

最后,感谢大伟老师在【好文推荐】的工作上的坚持与耐心;诚然,这并非一项容易的工作,需要诚意正心,需要兴趣与毅力,也需要合适的工具。同时,也感谢所有坚持在 Steem 创作更好的作品的朋友们,世界因你们而美好 :)


This page is synchronized from the post: ‘Cn-Curator: 基于转发的好文推荐系统 | Cn-Curator: Reward Awesome Posts by Resteem’

Lens v0.1.2 新功能:市场订单记录、快速交易记录查询、转账记录、代理详情和记录 | Lens v0.1.2 new features: Order History, Improved Trade History, Transfer and Delegation Details and History

本文介绍 Lens 项目的最新功能:

  1. 市场订单记录
  2. 更快的交易记录查询
  3. 转账记录
  4. 代理详情、代理记录

关于 Lens 项目的简单介绍,可以参考文章:Lens: 用数据看清世界 | Lens: A Clear World via Data,用基于 Steem Smart Contract、Scotbot 的数据,看清项目、组织、市场等的真实情形,了解过去、预测未来。


image source: Pixabay

Lens 项目的链接为: https://tribes.rocks/lens/

新功能 New Features

本次我们开发了一些之前计划中的功能,并使用了最新的Steem Engine的API提高了查询的效率。

1. 我的订单记录 My Orders History

前一个版本的更新中,我们就已经添加了未完成的订单的功能,这次更新中为了方便查询历史上提交过的订单,我们也添加了订单记录这个功能。

比如我们想学习某一个用户的挂单策略,甚至查看某个挂单的用户是不是交易机器人,我们可以通过Order History 的功能来进行分析。

以下为一些案例:

第一个例子。以 @aggroed 为例,我们可以看到他的PAL挂单是买单多于卖单,我们可以看到他的挂价随着市场价格的变化也在不断进行调整,并对市场价格的稳定有一定的影响力。


image.png
screenshot from https://tribes.rocks/lens/?account=aggroed&page=order&token=PAL

第二个例子。之前很多人对于 SCT 的价格快速上升到 4~5 Steem 觉得很兴奋,当然这背后是离不开团队的护持的。实际上,我们可以直接看到 Jack 的挂单细节,结合交易记录,还可以看到是谁在对应的价格卖出了 SCT。


image.png
screenshot from https://tribes.rocks/lens/?account=jack8831&page=order&token=SCT

image.png
screenshot from https://tribes.rocks/lens?page=trade&account=jack8831&token=SCT

第三个例子。之前村长 @ericet 提到过 MEEP 背后有交易机器人的影子,通过观察 此账户的MEEP 交易记录,我们可以看到在6月29日至7月2日之间,有接近500个买单+卖单被生成,确实比较像机器人操控市场的行为。交易频率是识别机器人的重要特征之一。


image.png
screenshot from https://tribes.rocks/lens?page=order&account=inertia&token=MEEP

2. 更快的交易记录查询 Faster Trade History Query

上一篇中,我们已经推出了交易记录查询的功能,但由于受依赖服务的稳定性影响较大,有时会不可用。所以,对于个人交易记录的查询,我们采用了新的Steem Engine API,查询效率和稳定性都有了很大的提高。

譬如,我们要查看某位曾经在ZZAN空投中采用大量小号领取空投的攻击者的市场行为,可以查看她/他的交易记录。原来她/他已经出售了 80K+ 的ZZAN(出售价格为 3K+ Steem)。(表格之下的总和统计的是所有交易记录的总和,而不只是当页的综合。)


image.png
screenshot from https://tribes.rocks/lens/?account=mcenoramle&page=trade&token=ZZAN

目前交易记录的查询,比之前已经快了很多,应该可以正常使用了。

3. 转账记录 Transfer History

转账记录在 Steem Engine 中应该也可以查看。这里的转账记录可以查看多种 Token 的记录,同时将转出与转入分离,可能使用时会更灵活一些。

比如,我们想看上面提到的这位攻击者主要从哪些小号转账,以及她/他的主要关联账户是哪些,我们可以通过转账记录查询到一些蛛丝马迹。

如果可以加上一些转账的数额和分布的统计信息,或许会更容易发现其中的关联。这一功能我们可能会在 Affinity 账户关联的功能中实现。


image.png
screenshot from https://tribes.rocks/lens?page=transfer&account=mcenoramle&token=ZZAN

4. 代理详情和记录 Delegation Details and Records

代理是一个十分有趣的功能,但有时候我们希望查看代理给了谁以及谁代理跟了我时,在Steem Engine中不是很方便。
所以代理详情主要是展示代理者和被代理者的基本信息。例如,我们可以看看CN区的集资号的代理情况。



screenshot from https://tribes.rocks/lens/?account=cn-zzang&page=delegation

image.png
screenshot from https://tribes.rocks/lens/?account=cn-sports&page=delegation

使用代理历史记录的功能,我们还可以看到用户逐步代理的记录,即每一次新代理的数量是多少。


image.png
screenshot from https://tribes.rocks/lens/?account=cn-zzang&page=delegation

以上便是代理详情和代理记录的页面。

计划 Plan

本次的更新的4个功能都和历史信息有一些关系,帮助我们看清事物的变化。

Lens 的服务的页面交互、功能的完善度和友好度还存在很多缺陷,我们会继续优化。以下是更新的计划:

  1. 添加更多信息查询功能:如账户关联 Affinity、共享黑名单、排行榜等。
  2. 完善对 token 市场和项目的分析:投资价值(投资回报比例)、持有者的动态、项目动态等等,以辅助投资决策;
  3. 有趣的数据科学专题,如 steemspeak 的价格波动分析。目前我们有一个“数据科学”小组正基于兴趣进行这方面的研究和探索。如有兴趣,欢迎加入我们。
  4. 改进服务界面,添加 token 的选择、用户登录、改进整体的页面风格和交互等。

如果你对这个工具感兴趣,或者有别的想要看到的信息,不妨留言告知我们。

Lens 的地址是:https://tribes.rocks/lens/

目前如果要查看token和账户相关信息,请修改token和account相关的参数。


This page is synchronized from the post: ‘Lens v0.1.2 新功能:市场订单记录、快速交易记录查询、转账记录、代理详情和记录 | Lens v0.1.2 new features: Order History, Improved Trade History, Transfer and Delegation Details and History’

Steem Engine Threat Model (1) | Steem Engine 安全威胁模型(一)

区块链安全威胁模型 | Blockchain Threat Model

互联网平台和金融市场,从来不缺乏投机者和攻击者。在区块链领域,由于结合了互联网和金融的特点,除了其带来的技术创新之外,也激发了大量的金融犯罪,包括洗钱、经济诈骗、安全攻击等等,不可胜数。犯罪者总是走在科技创新的前沿,这是技术史上的常例。

由于 Steem 等区块链平台存在数据公开、资金敏感的特点,与其他常见的网络安全模型相比,如 OWASP 等,存在很大的差异。这也提出了在此领域建立针对性的安全模型的必要。

此前,我们在其他的文章中介绍过 SportsTalkSocial 等平台发生过的创世攻击(Genesis Attack)的典型案例。本文简要介绍 Tunes 项目( https://www.tunestoken.com/ )面对的较为严重的 空投攻击 | Airdrop Attack 的情况。



image source Pixabay

空投攻击 | Airdrop Attack

在文章 A New Tribe Is Born!!! Welcome To The Tunes Tribe!!!!! 中,Tunes 平台将对添加评论的用户进行空投。



这与之前的 ZZAN 空投的情形类似。

由于 Tunes 并没有明确表示针对申请者的申请条件,很快有大量用户进行申请。昨天在浏览申请留言时,我们发现有一位有约 500 个小号的用户,动用了他的大量小号(或许不是全部)进行了空投认领,很快将评论的总数刷到了 1000+。

具体情况可以参见上文中的评论部分,我们会发现有大量模式相同的账户名称与相似与反复出现的留言格式。通过 steemd 的简单查看,我们可以发现这些账户都由同一个主账户控制。


image.png
screenshot from A New Tribe Is Born!!! Welcome To The Tunes Tribe!!!!!

毫无疑问,在通过留言进行空投的形式中,这类攻击很容易被引发。

在之前的 ZZAN 空投中,也不乏有用户通过大量小号留言来领取空投。我们发现这同一位攻击者在 ZZAN 的空投活动中也同样领取了大量ZZAN空投,并在市场上卖出了大量ZZAN。除了这类恶意的攻击者,也不乏一些存在多账号的用户,通过自己的多账户,领取空投的情况。

以上的空投攻击(Airdrop Attack)的情况目前已经告知了 Tunes 团队,他们将采取措施对申请者进行更为严格的审查。

如何防御 | Countermeasures

Tunes 和 ZZAN 在空投时,都采用了回复留言并发放空投的形式。这种形式,这对于投机者而言是极为廉价和可控的发动空投攻击的方式。作为防范,空投一方有必要进行账户信息、账户关联验证、黑名单验证等方式来进行过滤,以提高空投的有效性和安全性。

账户信息验证 | Account Info Validation

首先,在平台自主空投模式下,运营方通常会根据账户的 Stake情况、账户年龄、声望、发帖频率、活跃度等信息,来生成一个基本的名单,进行空投。

在“留言回复模式”下,虽然不会主动搜寻名单,但同样需要加入一层审查机制,对申请的账户进行基本的信息排查与验证,以防止被投机者利用。

账户关联查询 | Accounts Affinity

在相对匿名的平台上,小号泛滥是无法遏制的行为。但账户间存在的互动、转账等社会与经济联系有时难以避免;而且,当账户要套现时,也经常不得不使用同一个交易所账户:这些都是鉴别小号的有效手段。

目前的挑战可能在于进行关联分析的成本较高。针对这一问题,Lens工具原来就打算提供一个展示账户关联的工具,以防范攻击者,将在近期推出。

黑名单共享 | Shared Blacklist

此外,对于存在“犯罪记录”的用户,各Tribes和 Steem Engine 方面应该使用一个共享的黑名单,用于帮助各社区的运营者和用户们,发现和识别“犯罪分子”,清除负面影响。

对此,Lens 可能也会提供一个黑名单的入口,帮助用户识别常见的社区扰乱者。

最后

本文是【Steem Engine 安全威胁模型】系列文章之一,用于介绍于 Steem 等区块链平台中常见的安全攻击范式,帮助平台的运营者和使用者们,更好的使用平台、获取价值。

安全攻击难以彻底扼制和避免的,但通过有效的学习和使用防范机制,可以帮助各方共同遏制常见的攻击者和投机者的行为。


This page is synchronized from the post: ‘Steem Engine Threat Model (1) | Steem Engine 安全威胁模型(一)’

功过与是非

上一期《贺寿与建祠》中,我们谈到了写人物的对联,如寿联与祠联。今日继续人物的话题,谈一谈“挽联”。

梁启超在《李鸿章传》中说:“天下唯庸人无咎无誉”。千古之下,本无完人,也无须完人。

大人物的功过是非,自来不易评价。庸碌之人评论其人,虽多巷议,实无定论:其一,未曾有大人物的境界与视野,以己度人,未免失之偏狭;其二,其评价多依据“风闻”,不力求史实与证据,颇多臆测。

正如赵翼所说:

只眼须凭自主张,纷纷艺苑漫雌黄。
矮人看戏何曾见,都是随人说短长。

挽联,多由亲朋所赠,比之媒体的捕风捉影,更有可信之处、更多真情实感,也是我们观看世间的一道窗口。

功过

上一篇中我们曾提到一副讽袁世凯的寿联,这里以袁氏为例,继续谈”挽联“。

今人对袁氏的“差评”,在于其“洪宪复辟称帝”,在历史教科书中被盖棺定论为“独夫民贼“。但历史进程中的细节,不该如此简单观看:至少“洪宪”本是“洪扬宪法”之意;所谓“复辟帝制”,是以日德等“君主立宪”为模仿的对象;所谓“宋教仁案”,史料也多认为非袁所指使。

当时的“共和”与“君宪”两派,针锋相对。在军政实力上,以“君宪”派为强(“非袁不可”,其意在此),但在舆论和谋略上,似乎“共和”派更高一筹(如蔡松坡之反复)。“君宪”的眼光,确不如“共和”激进与长远,但动荡之中的“保守”与“统一”,也有广大的支持者。“共和”既然最终获胜,则“君宪”一派的袁项城、杨度、严复、刘师培、康有为等人,自然被历史进程所抛弃;只是所谓“胜败”,从历史的节点来看,却本非注定的。

且看杨度挽袁项城联:袁氏死后,群龙无首、军阀割据,正在情理之中。至此30余年后,方定于一。

民国误共和,共和误民国,百年之后,再评是案;
君宪负公明,公明负君宪,九泉之下,三复斯言。

讽袁氏的挽联,则多为“无名氏”所作为佳。例如讽袁氏的生平,确是当时舆论:

刺遁初而遁初死,鸩智庵而智庵死,最后杀夔丞而夔丞又死。死者长已矣,阴府三曹谁折狱?
使朝鲜则朝鲜亡,臣满清则满清亡,及身帝洪宪则洪宪亦亡。亡之命也夫,轻舟两岸不啼猿。

总得来说,袁世凯一时之国柱、数十年之雄,执掌天下之时,也并非毫无作为;于家国,既有功、亦有过。然国体之争既败,身死名灭、为他人笑者,此乃作史者之无情也。



image source: Wikipedia - 袁世凯

是非

袁项城的对立面,正是孙中山,今人称之“国父”者也。

孙中山的生平,无须赘言。然公之事业,未能亲手完成,及先生逝世,仍然军阀混战、“天下三分”,所以“革命尚未成功,同志仍需努力”,其意在此。孙文虽有“国父”之名,却无“国父”之实,此其所不及华盛顿者。

1925年3月12日,孙先生逝世,自有各方名流所赠之联,也有政敌所赠之联。

国民党元老于右任作挽联:

总四十年胼手胝足之工,直是为生民立命,为天地立心,历程中,揖让征诛举同尘土;
流九万里志士劳民之泪,始知其来也有因,其生也有自,瞑目后,精神肝胆犹照人寰。

蔡元培赠联:

是中国自由神,三民五权,推翻历史数千年专制之局;
愿吾侪后死者,齐心协力,完成先生一二件未况之功。

杨度赠联,也是公论:

英雄作事无他,只坚忍一心,能成世界能成我;
自古英雄有几?正疮痍满目,半哭苍生半哭公。

袁克文反对其父袁氏称帝,此联只中,兼有惋惜袁、孙二人之意(上联指中山陵近明孝陵):

埏隧近明帝故陵,自有江南供俎豆;
史迁作霸王本纪,不教成败论英雄。

袁与孙,都未能竟其功,然一时之方略的是非,难以逆赌。百多年来各种尝试与探索,至今仍无定论;所谓是非,也常常不只有一个答案。

然能保持多元、开放的头脑,这或许是后来者从历史的浪潮中所能收获的。



image source: Wikipedia - 孙中山

活动

上一期活动,我们为刚满50、60或70级的寿星作寿联。

下面为活动结果。‌‌

参与:

  • 赠机机的小号 @kissfirer 的寿联如下

@andrewma

古有丝绸之路
今有机机著传

@julian2013

如飞蛾赴火,
祈凤凰涅槃。

@abcallen

福福福福入冬还
寿寿寿寿比南山

  • 赠野夫:@zhongyefu 的寿联如下

@andrewma

如论帅气逼人
唯我也夫是也

@zhongyefu 自寿联

忽临茫茫雪
没及盈盈心

  • 赠平健:@m18207319997 的寿联如下

@m18207319997 自寿联

斯缇姆价格平稳不下跌,
新手村发展健全永前进!

  • 赠阿盐:@robertyan 的寿联如下

@andrewma

文如寅技超Robert文武双全
心似镜胸如山虚怀若谷

@julian2013

正儿八经腌萝卜
学富五车是真干

点评:‌‌

  • 这期参与还是挺活跃的,感谢大家的参与与对寿星们的祝福。

奖励:‌‌

  • 按照上期规则,每位有他人给他写对联的寿星都能获得 1 STEEM:@kissfirer, @zhongyefu, @robertyan。
  • 最佳作品获得 2 STEEM 奖励:@julain2013 自寿联为佳,如下:
  • 其余每人获赠 0.1 STEEM 参与奖。

本期最佳是 @julian2013 为 @kissfirer 自寿联,正是“吻火者”之谓。

如飞蛾赴火,
祈凤凰涅槃。

—-‌‌

以下为本期对联活动内容:为100年内故去之人任选一位做“挽联”

  • 形式:‌
    • 为“挽联”,含上下两联
  • 规则:‌‌

    • 满足对联的基本规则;
    • 不许抄袭任何别人的成果;
    • 不应当使用机器协助,如微软亚洲研究院开发的“自动对联”
  • ‌奖励:最佳作品奖励 3 STEEM;参与奖,各0.1 STEEM,前10名都有奖 :)‌‌

  • 参与方式:回复本文‌‌
  • 评价方式:由 @robertyan 评判
  • 时间:本文发布起7日内有效‌‌

更多对联相关文章,可以查看:https://steemblog.github.io/@robertyan/tags/cn-couplet/

参考文献


This page is synchronized from the post: ‘功过与是非’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×