0%

关于创作一本中国版类Missing Semester在线书籍的想法

为什么要写一本新书?

这个想法在我脑海中已经酝酿了许久,但让我将它正式提出来的契机是这张图片:

cywXhq.jpg

在计算机专业的学习中,我们时常会遇到各种各样的「无关编程的问题」。不管是环境变量PATH的作用、vim编辑器的使用还是Linux系统下可执行文件的扩展名,也包括如何从互联网上寻找问题的答案,都是那些「无关编程的问题」,而且它们往往并不容易从搜索引擎上直接获得答案。

有些时候,遇到这些问题的人会去百度搜索,可能找到一个CSDN链接,点开后里面是另一个CSDN链接,剥了若干层洋葱以后,看到的是一篇博客园十年前的文章——里面的内容可能早已过时,也不能保证解决自己的问题。也有些时候,有幸在大学之前就对计算机有所了解的同学就要遭受“弱智问题”的轰炸,而且常常因为提问者完全缺乏合理提问的常识还不自知等原因感到厌烦,甚至引发不愉快。

因此,我认为,应当有一份资料来帮助解决这个问题。

读者可能要问,不是已经有Missing Semester中文版)了吗?为什么还要再来一本新书?一方面,中国的计算机教育和美国CS教育体系并不相同,因此也出现了很多「中国特色的问题」。譬如在国内大多数院校,往往是计算机相关院系以C++,非计算机相关院系则以C作为程序设计课的语言——这两门语言并不适合入门,它们会牵扯出一系列概念方面、环境配置方面的问题。另一方面,Missing Semester课程中有一些与国内计算机教学不太相关的内容(比如sedawk的使用),同时工作环境限定于Linux系统这一点也劝退了很多想要学习的新人。

因此,我认为,编写一本「具有中国特色的」类Missing Semester在线书籍,是有必要的。

这本书要写哪些内容?

目前还没有明确的大纲,只有一些粗略的想法。在我考虑中的内容有这些:

  • 基于国内网络环境,对于「上网查找答案」提供一些经验性指南

  • 对操作系统基本概念的简要介绍

  • 对C/C++的简要介绍,介绍一些编程语言的基础性概念

  • 对Dev-C++和Visual Studio Code的配置介绍

  • (针对Windows用户)Windows Terminal、Windows Subsystem for Linux等现代工具的入门指南

只写这些内容肯定是不够的,事实上我个人也并没有将这些内容写得足够好的自信。这本书要依赖大家的力量,因此欢迎任何人提出自己的想法。

这本书要怎么写?放在哪里?

目前的想法是用readthedocs/mkdocs或者mdbook撰写,部署在gitee.io上以方便国内同学访问。

如果您有更好的想法,欢迎提出!

这本书由集体贡献,如何保证质量或风格一致性?

目前的想法是由个人提出章节提案,经过讨论同意后由提出者进行撰写,写完后再由另一个人进行审阅。

因为我没有集体维护在线文档的经验,所以这仅仅是一个想法,可能不具备良好运行的可能。如果您有相关的经验而且乐于参与本项目,请不吝赐教!

我对这个企划很感兴趣,我要怎么参与呢?

这是我的邮箱:chuyan-z19@mails.tsinghua.edu.cn

您也可以联系我的QQ:2371576276

最近几天,我在着手用Actix-web重写一遍我们软件工程课的祖传后端小作业:一个基于Django的玩具留言板后端。一方面,这个后端非常成熟,每年助教都会拿出它来、删去一小部分代码,然后给学生来填空,作为一次小作业。另一方面,这个后端也相对完整,虽然没有路由过程中的变量匹配,但是有基本的get、post请求的处理、有数据库交互、有单元测试。

我的想法是在软件工程的大作业里使用Actix-web作为后端框架。我们的大作业项目是一个在线商品交易系统的后端,纯web应用,用Actix-web非常合适。在学习了一段时间的Rust之后,我要一边上手Actix-web,一边向我的队友证明Actix-web可以胜任我们软件工程大作业的需要——在一个难度适中的小工程中做这件事情是最合适的了。因此我开始用Actix重写这个祖传toy后端。

我用了大概两天写完业务逻辑,又用了两天写单元测试。diesel作为一个ORM,和数据库的链接并不很方便,体验远不及Django集成完善的ORM。也由于相同的原因,在Actix中进行单元测试也比较复杂。但把前期的坑一个个踩完了,剩下的就只有平凡无奇的业务逻辑了,并不困难。这四天我的作息不太规律,完全没有动任何作业,花费了几乎所有的时间去写代码、踩了很多的坑然后再一个一个填上。遇到坑的时候很抓狂,但是解决问题之后也很开心。这是我第一次觉得写代码“非常爽”。也正因为如此,我对Actix充满了信心。在第三天晚上我们组内会议的时候,我提名了Actix-web作为后端框架,陈述了它极佳的性能和安全性,但也指出了学习和撰写上的一些困难。可能是因为线上会议的缘故,大家发言并不很积极,也没有对Actix发表太多的意见,初步就定下了这样的方案。

到了第二天组会后,我向后端组的其他两位同学介绍Rust的开发环境安装的时候,事情发生了变化。最开始是说“我们先试一下,如果不行还有Plan B”,然后变成“我觉得这个非常困难,我尝试做一下”,再然后是“统辅不是我最大的问题,我运动队训练占用大量时间”,最后就变成了“我理解你已经在这个框架上花费了大量精力”——我虽然直,但我不傻。话说到这个份上,我完全明白会发生什么了。2vs1,而且我也没有任何的理由来反对一个“可用”的框架Django,毕竟我们小学期学的就是它。

没有任何人做错任何一件事情:队友提出了自己的意见——毕竟我们还没有最终敲定我们的技术栈,而且也没有任何人保证我的提案一定会通过。但我只是觉得心理落差非常大,和之前三天“燃起来了”的感觉完全不同。舍友带领的那个小组对Rust和Actix的包容程度要更好一些,可能因为他们更熟悉、也可能因为舍友作为组长有更强的号召力吧。

事已至此,为了我的成绩和对队友的责任,我也只能把Django的东西拾起来,在后端上尽我的一份力。也算是一次教训吧:在做teamwork之前找到和自己志趣相近的队友,审慎地评估局面。

另附仓库如下:backend-demo

写在前面:

这篇文章是我的朋友上征给清新时报供的一篇稿,今天(2021年3月7日,女生节当天)清新时报在一个非官方、不受领导审核的后门公众号上刊发了“这篇文章”,只不过它的内容已经被修改得面目全非,远非作者原本的意思。

因此,我在征得作者的同意后,将这篇文章的原样发布在自己的博客上。转载请注明原作者。

2021年,我们继续聊一聊“该不该过女生节”

文/溘埃风余上征

​ 又是一年“三·七”将要临近的日子。近年来,随着社会观念的改变、女性权益意识的觉醒、对消费主义批判意识的出现,越来越多的女性打出“反三七,过三八”的旗帜,鼓励女性同胞拒斥女生节/女王节/女神节,而选择过“三·八”国际劳动妇女节。在笔者朋友的实际生活中,即使是平时对“反三七,过三八”并不感冒的女性,也会在“三·七”的各种广告扑面而来时,吐槽一句“整这些女神节有什么用”。但是另一方面,也依然有相当一部分人认为过“三·七”没有什么问题。步入二十一世纪的第三个十年,那就让我们继续来谈一谈,到底该不该过“三·七”女生节?

​ 诚恳地谈,不同的女性面对这个问题的感受确实不同。不能否认,女生节的存在确实一定程度上能带来一些满足感和仪式感。比如校园内每年都会拉起的横幅、比如班级、院系组织的大联欢、比如收到的款式多样的礼物,比如有人买早餐,有人帮忙解数学题……这样的一个节日确实在营造一种氛围,即今天是属于女孩儿的美好节日,女孩们今天是女王、是仙女,可以更有理由去做一些日常生活中不会做的活动,等等。这些的确是不少女性同学所能感触到的内容,而且有许多同学对此颇有好感。而在男生节时,这样的满足感和仪式感按理说也会转移到男性同学身上,男生们则可以是阳刚帅哥、谦谦君子……

​ 然而我们要看到,这些活动的本意或许是给女生带来满足感和仪式感,但并不是说这些活动就完全达到了这样的意思,反而在具体的实践中逐渐固化了一些不像节日那么“美好”的东西。笔者观察了两年来的女生节横幅,在这些横幅上,笔者看到的并不是想象中的对女性的理解与尊重,而依然存在着大量的性别刻板印象以及异性恋“求偶”一样的话语霸权。在不少男生的笔下,女生无外乎是“小仙女”“才女”“淑女”“女神”一类的身份,希望或祝福女生们的特质也无非“温柔”“可爱”“甜美”而已。同时,这种对女生的“称赞”“祝福”的表达,又往往以一种“情话”“情书”“告白”的形式呈现出来:“浪漫”“忠诚”“只爱你一人”“一生只有你”等等。送的小礼品也很能体现一些男生对女生的想象:便宜的可能有毛绒玩具、巧克力,昂贵的则是各种各样的化妆品。男生节也存在着同样的问题,希望男生“阳刚”“帅气”“勇武”,同样也是有意无意地加之于男性的刻板印象。

​ 不仅如此,在这种刻板印象和“求偶”的异性恋想象之外,更令我们对女生节的积极意义动摇的东西是什么呢?女生节当天,女生们可以享受鲜花、掌声与祝福,可这一天过后,女性在社会生活中却依然要面对并未减少的歧视与障碍。对女生送上“温柔”“美丽”的祝福之后,对女性容貌、身材、穿衣打扮的品头论足、指指点点与肆无忌惮的body shame仍然无处不在;这一天的“守护”之后,没有改变的是依然存在的校园、职场性骚扰、职场暴力与家庭暴力;收到了精美的化妆品作为礼物,但容貌焦虑一点都没有减少……当女性仍然在生活中感受到来自现实的系统性歧视和暴力的时候,女生节的浪漫想象和无上地位就显得有些苍白无力。退一步说,即使女生节的横幅、礼物、活动中没有这么多的刻板印象和冒犯,男生们把女生节组织得越华丽、越完美,社会现实就越冰冷、越残酷。

对于不少男性而言,这样的指责可能让他们感到委屈和不公。笔者想指出的是,尽管在女生节里,男生可能付出了比平时百倍甚至千倍的努力去逗女生开心,去宠女生,劳心劳力地完成一个仪式感的东西,但是在日常生活中,部分男性却依然在无所作为中维护着对女性并不友好的社会现实。对于那些可以做的无数的并不需要费什么心思的对女性的尊重、反歧视的行为,真正去做的男生也并没有多少。况且即使是这些麻烦的仪式感的东西,也往往是居高临下地表达对女生的“宠爱”“忠诚”“保护”,女性是弱势的,是需要关照的……而这些东西恰恰是旧的二元性别分工规训的产物,同时又加剧了不平等的社会现实。实际上,男性可以为女性做的事情并没有那么麻烦,并不需要男性付出多大的牺牲(以至于每年都有人吐槽给女生买礼物有多困难),并不需要去“宠”“买早餐”“解数学题”,而可能只是需要在平时的生活中少开一个荤段子,在饭桌上面对其他男性对女性肆意的玩笑表达自己的反感,不对女生的外貌评头论足,等等。这些都是并不需要付出过高的成本和代价,也不需要刻意的准备和排练就能做到的事情,并不会让人感到困难和迷茫。

另外要指出的是,即使设立一个看似“女性操办”的男生节,我们也不禁有这样的疑问:在两个节日之间两性互相“交换礼物、祝福”的“等价交换”的过程中,真的就维护了两性平等吗?反而是在3月7日这一天,女孩被捧上了天,变成了仙女、女王,但之后的日子里却依然遭受着不公正对待,甚至还要单独拿出来一天去“宠”男性,不是更令人感到不适吗?如果真的一定要同时设立男生节和女生节,那么它们存在的意义应该是促进两性相互理解、尊重、包容、消除刻板印象、超越性别规范的鸿沟,而不是在两个日子里把双方各自捧上天,之后生活依旧,女性依然面对挑战,男性依然视若无睹,甚至有的人还要骂上两句“女拳”。

说到底,无论是“三·七”还是“三·八”,必不可少的内核应当是“女性为自己过节”,发出自己的声音,选择自己的未来,而不是由女性之外的什么去决定或者指导。这也是为什么今天我们仍然倡导要过妇女节——作为20世纪国际劳动女性解放运动的纪念日,妇女节从它诞生的一开始就是带有强烈的女性主体性。妇女节是真正属于广大为了自己的权利、社会地位而战斗的女性的节日,是劳动妇女为自己赋权的节日。在妇女节的历史上,没有男性主动的“施舍”与“恩赐”亦或是“宠爱”与“关怀”,而有着的是无数女性主义前辈们的斗争与战斗。今天世界上的妇女能享受到的政治经济文化权利,虽然还没有达到真正的两性平等,与性别歧视和性别规范的斗争还远没有结束,但是也比一百、两百年前的妇女要多得多,而这些正是女性为自己争取而来的真切的权利,并且女性还要继续战斗下去。

篇幅有限,文已至此,读者对于“该不该过三·七”的问题,心中或许有着模糊的认识或者明确的答案,或者也可能认为这篇文章的观点不值一提。但无论如何,值此国际劳动妇女节之际,请允许笔者祝每一位清华园内的女性、世界上的每一位女性节日快乐!

个人闲话

开课一年之后我才知道有这样一门课。知道GAMES是CCF牵头办的这件事之后,心里感觉有点怪怪的,像是一个几十年的老傻逼突然干了人事还干得挺好那种感觉。

笔记比较粗糙,是随听随记的,会持续更新,有没有总体整理我不保证。

作业似乎是不允许分享的,我就不贴了。

阅读全文 »

在刚搭起博客的时候,我用的评论系统是Disqus,大概长这个样子

Disqus在世界范围内的用户很多,也比较有名。但问题也是显而易见的:需要登录社交账号来留言,太笨重;而且如果不科学上网,Disqus根本无法使用。

因此,我希望能找到一个墙内可用、不需要登录的轻量的评论系统,然后我从同学的blog那里看到了valine

valine的使用需要基于BaaS平台leanCloud,依据快速开始页进行设置就好。

然后在/themes/next/_config.yml里配置:

1
2
comments:
active: valine
1
2
3
4
5
6
7
8
9
valine:
enable: true
appid: [自己的appid]
appkey: [自己的appkey]
notify: false # 因为常看blog,就不用邮件提醒了
verify: false # 不会有人在我这刷评论吧?
placeholder: (((*°▽°*)八(*°▽°*))) # 可可爱爱
avatar: https://www.gravatar.com/avatar/[自己的hash] #Gravatar的头像链接或者mp这种通用头像
language: zh-cn

然后hexo clean && hexo g就可以了!

大概长这个样子:

清爽多了。

又水了一篇blog。

论文链接

我家鲨鱼觉得我太摸了,亲自跑到电脑前面来替我写论文笔记(×

废话:

看了这三篇我才反应过来我看的顺序好像有点问题……

Soft Reasoner是最先的,这篇PRover是第二个,然后才是ProofWriter(那个基于T5-11B,全程diss PRover的)。

反正是用神经方法做推理……玄而又玄,众妙之门

摘要

作者提出了PRover,一个可解释的、基于Transformer的模型,既可以在自然语言规则库上进行推理(判断对错),也可以写出推理结论的证明。

阅读全文 »

论文链接

单纯觉得这个灯泡表情非常魔性……

摘要

作者提出了名叫RuleTaker的推理模型,其中的事实和规则都是自然语言(而不需要逻辑表示或者概率表示这种规范表示),以Transformer为基础在自然语言上进行推理。

值得一提的是,作者本人也不很信任这个推理,所以也叫它软推理……

这一模型在两个人工创作的规则集上有较好的泛化表现。

阅读全文 »

论文链接

废话:

我感觉这就是拿着T5做了个finetune……它的迭代式模型很有意思,也很暴力。刚看到一次性模型和迭代式模型的表现差不多的时候我还挺失望的,后来发现迭代式模型在泛化能力上的优势还是有的。

感觉是不是可以怎么优化一下迭代式模型的迭代过程,不要没头苍蝇式的地乱撞。不行可以backward chaining?

摘要

作者提出了一个叫做ProofWriter的生成式模型,既可以用自生成理论的含义,又可以写出用自然语言表示的证明过程。

阅读全文 »