1
0
Fork 0

update 无名游侠/siger-mogan.md. 代码——纯文本已经满足不了“我”的野心

This commit is contained in:
袁德俊 2022-06-24 02:28:26 +00:00 committed by Gitee
parent 4409a525e0
commit 5073688506
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 70 additions and 1 deletions

View File

@ -172,4 +172,73 @@ https://gitee.com/XmacsLabs/mogan/releases/
https://www.bilibili.com/video/BV1jY4y1L7eX
一个很棒的发布会!
一个很棒的发布会!
# 代码——纯文本已经满足不了“我”的野心
### 1. 做两个底层替换的直接原因?
因为Qt 4.8.x已经不在维护状态了Qt最新的版本是Qt 6.x所以我们选择升级到Qt 5.15.x。然而上游还没有做迁移到Qt 5的具体计划。目前Qt 4.8.x仍旧在各大Linux发行版的软件源里面我认为我们不能等到Qt 4.8.x在Linux发行版里面被淘汰了再升级到Qt 5。我需要在墨干编辑器里面做一些试验来证明迁移到Qt 5不会带来新的问题然后说服上游迁移到Qt 5。
Guile 1.8.x目前已经不在Debian的软件源里面这是GNU TeXmacs这么多年没有在Debian软件源里面的最重要的原因但是Guile 2.x性能上有问题Guile 3.x在性能上能满足要求但是暂时还不能在Windows平台正常工作。而S7 Scheme这个小巧且高性能的实现能够满足我们的需求。目前墨干编辑器迁移到S7 Scheme对于最终用户的影响不大但是对于资深用户是有一定影响的。和Qt 5一样我们需要在墨干编辑器中证明S7 Scheme的切换足够稳定、高性能最终才能去说服上游切换到S7 Scheme或者新增一个Scheme实现。
最近我们在尝试将墨干编辑器投递进入Debian软件源。
### 2. 做 TEXMACS 上游社区工作的背景故事?
我在中国科学技术大学计算机系求学期间是USTC LUG的活跃成员。我从初中开始学习编程高中有了自己的电脑就开始折腾Ubuntu。我始终认为软件自由是很重要的在大学期间我一直想参与开源社区。然后在2013年我了解大学同学那边了解到GNU TeXmacs开始用GNU TeXmacs完成自己的作业报告用PDF格式提交。GNU TeXmacs里面的代码片段、二叉树等功能很好地满足了我的需求。我当时看到GNU TeXmacs的官方文档没有中文翻译就抽空翻译官方文档借着文档翻译我对这个软件了解了更多我觉得这是一个对大学生的日常学习非常有帮助的软件。所以我联系了GNU TeXmacs官方得到了代码提交的权限把我翻译的部分文档提交到了GNU TeXmacs的代码仓库。
大学期间我大部分时间还是在翻译文档虽然我有整个代码仓库的代码提交权限我把自己的贡献范围缩小在文档翻译这个目录下面。本科毕业参加工作之后有了很多做软件工程经验我才开始有计划地给GNU TeXmacs贡献代码。在早期我主要在GNU TeXmacs的插件做一些力所能及的工作另外会修复一些GNU TeXmacs的错误尤其是和CJK相关的一些错误。
后来随着编程经验上的不断的丰富在工作中已经有能力参与Apache Spark这样的大型项目的开发自己也基于Apache Spark的Catalyst引擎研发过SQL引擎。在工作实践中我对如何维护一个项目有了自己看法我试着把我自己在工作中行之有效的实践应用到GNU TeXmacs研发当中比如说在GNU TeXmacs代码仓库中引入C++的单元测试。GNU TeXmacs这个项目事实上是比现在这些常见的软件工程开发方法比如测试驱动开发的诞生更早。GNU TeXmacs的代码实现相对来说是比较高质量的在这样一个和Apache Spark项目差不多规模的项目中引入“现代的开发方法”并不是一件公认的正确的决策。不过测试代码并不影响功能代码所以我仍旧把这种开发方法或者习惯带入到了GNU TeXmacs的日常研发中。然后在一些编程理念上我和GNU TeXmacs的作者是有不同的看法的比如将Qt升级到Qt 5。
为了不被GNU TeXmacs这个代码仓库的规则所束缚所以我自己基于GNU TeXmacs制作了自己的发行版一开始叫Xmacs因为我是一个软件工程师并不是LaTeX用户我取名Xmacs的最初的想法就是我只关注TeXmacs中TeX之外的那些功能。今年2022年开始我把Xmacs更名为墨干编辑器一方面近两年长期在家办公自然而然更加关注家乡的山水用墨干音同莫干山的莫干来表达我自己的“乡愁”另一方面我觉得GNU TeXmacs这个名字可能是影响它被更多的用户所接纳的一个重要原因针对中文用户改名墨干我可以在Bilibili的原创视频中自信满满地念出这个名字也让中文用户更能接受这个名字。我们在墨干探索GNU TeXmacs发展的方向同时在及时地将在墨干中比较可靠的实现提交到上游代码仓库中。
### 3. 《Scala实用指南》的翻译工作是怎样的背景
在日常工作中经常使用Scala自然而然会去参与Scala语言社区结识一些志同道合的朋友。当时在Scala中文社区了解到淘宝虎鸣要翻译《Pragmatic Scala》我就联系他和他一起翻译并出版了《Scala实用指南》。翻译是很辛苦的事情。我翻译这本书其实也带着通过实践去了解出版一本书的整个流程的想法因为我一直有写一本GNU TeXmacs相关图书的计划。
### 4. 两篇知乎文章落款都是 TEXMACS当前的工作重心是怎样的
> 墨干是怎么水到渠成的?还是一时的灵感?
(前面的回到已经充分说明了缘起,以及阿婆主的心愿,一直心中的期待: _因为我一直有写一本GNU TeXmacs相关图书的计划_
### 5. 结构化编辑器一文的回答,“代码——纯文本已经满足不了“我”的野心”
> 代表了一颗改变世界的心,是一个程序员应有的朝气。
> 用它来做本次采访的标题是否可以?
可以
### 如果做一个自我评价或者给同学们介绍自己,会用什么语言来形容自己?
我的母语:吴语。
### 6. MILL SCALA 这是在 RISCV 社区认识的,
> 阅读了一些背景后, SCALA 的作用面远不于此?
> 对于青少年,是否也会有这样的怪圈“喜欢 Scala 的程序员爱不释手;玩不来的则谈之色变。”
> **对于学习之路,青少年面前越来越长,有什么好的建议吗?**
纸上得来终觉浅,绝知此事要躬行。我觉得编程语言脱离实践是没有意义的,一门优秀的语言,必然是活着的,换句话说就是,有这样一个群体,在用这门编程语言进行创作。
### 7. 墨客星球更多是社区外围建设的工作,就开发方面,还有那些工作?包括野心?是否可以引入一些青少年?当然门槛确实高。
社区是我们墨者实验室工作的重心。墨客星球是在为墨者百科做一些社区建设和技术上的探索。墨干编辑器GNU TeXmacs只是一个编辑器工具我们用这个工具创作的内容才是椟中之珠。
目前在开发上还有大量工作其中最重要的就是目前向墨客星球提交内容需要遵循Git工作流Git工作流本身是软件开发的标准工作流是常识。但是非开发者来说Git工作流过于繁琐我们想在墨干编辑器中直接编辑完成之后点击提交按钮就完成了Git代码合并请求的提交。这样没有工程背景的墨干编辑器用户也能够很方便地在墨客星球创建自己的空间。
我们希望具有探索精神的青少年能够加入我们。一开始可以是B站视频的观众墨客星球的阅读者慢慢地我希望他们可以成为墨客星球某个空间的主人
### 8. 最后,保留问题?《我的兴趣爱好》是 SIGER 编委的必答题,也是同学们之间相互认识一个基础。也邀请您介绍一下自己的兴趣爱好?
我喜欢游泳,也喜欢和朋友们一起自驾游。
### 9. 除了对学生SIGER 读者群也会有老师?除了墨客星球的社区建设,多用,多分享,就“创新”的理解是否有更具体的思路?或者和墨客星球社区是如何结合的?“学习既有科学技术,创造全新科学技术。”
我们希望老师们能够愉快地使用墨干编辑器,也特别希望能够收到老师们一些针对细节的反馈,正面的或者负面的。目前,墨干编辑器的目标用户中,我们会优先服务中学教师这个群体。
墨客星球目前和中学教师们最大的联系是内置的可编辑可另存为的高考数学真题2021年和2022年这是目前第一个结合点。我们希望能得到一线教师的反馈比如针对试卷内容的纠错也希望互联网最初的那种无私的分享精神能够在墨客星球中复兴。
第二个结合点是我们后续会在墨客星球中内置一些幻灯片模版这样老师们可以访问墨客星球就可以获得这些模版用于日常目的。比如Yiqi Xu上传的视频中这个黑板和白色粉笔风格的幻灯片模版https://www.zhihu.com/zvideo/1508534867768266752
第三个结合点是我们后续会花一些功夫在墨干编辑器V1.0.4内置的欧几里得绘图插件上,写一些教程,制作一些视频,告诉老师们将欧几里得绘图软件用于平面几何的教学。教程会和视频配套,访问墨客星球,老师们就可以很方便地将视频中的绘图代码复制出来,稍作修改,用于教学。