Ihavenothing 你要是不提,说实话连我自己都快忘了。史上两大默默无闻的良心编辑器:LyX 和 TeXmacs。原来我还帮忙翻译过 LyX 界面,突然深感骄傲,哈哈!这么说来,RGui 的界面我也掺和过,我曾经辣么厉害我家里人造嘛!

我早该重新写一篇 LaTeX 与 Markdown 对比的博文了,得为 LaTeX 正正名。尽管我的本意不是要污蔑 LaTeX,但 Markdown 的盛行间接造成了污蔑 LaTeX 的结果。这也是开源界的开发者们名声太不对等的结果,我的影响力可能比 LaTeX 开发者大多了(瞧瞧这些惨淡的星标数和粉丝数)。

dapengde reticulate 如果支持 bokeh 等动态图形库的话,就没 Jupyter 什么事了

8 天 后

yihui

的确如此,一升级就出错,一出错看半天。所以今年下半年转战 data.table 了。

我还没有系统学习过tidyverse,看来要考虑要不要先观望一下,先入data.table的坑呢😂

    F-test

    逻辑是这样:tidyverse目前可以看成还在不断开发,活跃度很高,代价就是代码容易变来变去。从目前坛友经验看,tidyverse的旧版本兼容性不好,个人怀疑是测试不充分。

    结论就是: 看工作性质, 做做一次性/探索性的数据分析的话推荐用tidyverse,做R包开发,追求稳定性的话尽量避开tidyverse。

      tctcab henrywangnl 感谢回复和建议,我的意思是想着自己还是学生,先学习一下看起来比较稳定的data.table,然后一边看看tidyverse的开发情况,最后当然希望的是“我全都要”😂

      1 个月 后

      今天我终于憋着一口气跟哈神开了个会,这件破事儿真是让我太费神了;为了开这个会,我还得仔细看他到底在 hugodown 里捣鼓了些什么东西。总之这件事的起因是 blogdown 不让点 Knit 按钮(这在文档中从一开始就强调了),然后 blogdown::serve_site() 有时候会误编译旧的 Rmd 文件(因为 git 设置文件修改时间不靠谱导致 blogdown 误以为有些 Rmd 文件需要重新编译)。这事儿我也是有苦衷的,主要是 RStudio 编辑器无法给我 Knit 按钮的自定义行为(bookdown 可以做到,因为 bookdown 的 Rmd 文件都在根目录下,而 blogdown 则在子目录下,而 RStudio 不支持对子目录下的 Rmd 文件自定义 Knit 按钮行为)。这个问题我从一开始就知道,而且也给编辑器团队反映过,但后来不了了之了。哈神上来不问来由,只顾赶紧解决自己的不适,便开始悄悄重造轮子。解决了 Knit 按钮问题之后,便一发不可收拾,把 blogdown 活生生重写了一大半,两个包里面重叠的函数一大堆,都是他重写的。等到我从另一个人那里得知 hugodown 的存在时,我发现已经拉不住这匹野马了,加上当时我正在疯赶进度以写完我手头的一本书,我也顾不上他。

      当然,我表示强烈抗议之后,哈神是连连道歉了,但我有点怀疑这种一党独大、人挡杀人佛挡杀佛的势头是否能遏制住。毕竟程序员很容易变成控制狂,包括我在内。不知道我这顿拳头能否让他停下来反思一下。

      不管他接下来怎么办,既然那边单方面宣战了,我也只能硬着头皮上了,把 hugodown 解决的问题在 blogdown 里重新解决一遍(很多问题并不难解决),免得那些这么快就倒戈的群众继续妖言惑众,搞得大家将来不知道到底该选哪个。

      哦,这期间还有个大大出乎我意料的故事,刷新了我对官僚主义的认识。当我问起倒戈群众中的一位为什么选择 hugodown 时,她说因为他们公司的 IT 见了 blogdown 这个包名感觉它跟社交媒体有关,所以不许用它,而 hugodown 这个名字看起来很中性,似乎没有什么威胁,所以就放行了,于是公司里只能安装 hugodown 而不能装 blogdown。我特么真是无语问苍天。

        yihui 我还以为会早开了,因为我发现 Github 上 hugodown 似乎停下来了

          Cloud2016 我很早就丢了一封邮件抗议了。要开会的话,我还得花大量时间准备,给他一项一项对比二者的异同,加上我都一年没时间休假了,所以最近休了个假(主要用来更新了一下博客),然后就拖到现在了。

          dapengde 微信是明显的社交媒体软件,肯定是不让用。

            yihui 但我感觉国内是把 wechat 当作操作系统来用的......好希望我们单位也禁掉它。

            另外要是抗议无效的话,我觉得可能得以彼之道还施彼身,比如悄悄开发个 tinyverse 什么的,应该比正面迎战有趣一些。

            不过,大神内耗,好浪费啊。

              dapengde 嗯,我不会用这种方式浪费时间的,有时间我宁愿闷头写博客。

              国内微信的霸权实在是太吓人了,无孔不入,简直成了老大哥。我最痛恨的就是从小学开始,微信就成了教育不可缺少的一部分,家长和老师都被死死绑在上面,仿佛离了微信和手机什么都干不了了。

                yihui

                套用个最近流行的词,你们内卷了!

                吃瓜群众继续蹲个后续

                11 天 后

                翻完这楼,才知道哈神已这般优越,以至于到了不地道的境界,哈哈哈。

                我之前用过一段时间blogdown,现在已经退化回到了hugo本身,想来是R用得少了,加上COS论坛混迹得少了,以至于自己的技能值都在直线下降。。。反省中。

                  yanlinlin82 我用 blogdown 的主要动机是我懒得手敲 YAML 元数据(或更可怕的 TOML),所以在 blogdown 里写了个插件,这样方便每次创建新的日志文章,就像 WordPress 一样。如果我懒得创建新文章的话,我就更不会写了。剩下的就是用一下 blogdown::serve_site() 调用 Hugo 实时预览网站。其实我自己写日志极少用 R Markdown 格式,都是纯 Markdown 文件,因为我的日志很少涉及跑 R 代码(感觉我就是我自己的包的叛徒)。

                  2 个月 后

                  好了,这周我终于着手打这场仗了。看样子那边的帮手都很强劲(包括我们厂长),不过无所谓,相信最终我一定能证明他这样干纯粹是在浪费双方的时间——先是他重写一遍我的代码,然后我又得来重新实现他需要的那些功能。早通知我一声的话,就完全不必这么费劲了。闲话少说,放码过来:

                  remotes::install_github('rstudio/blogdown')

                  目前解决了他(以及其他一些用户)对 blogdown 最深恶痛绝的一点,就是在 RStudio 里面不能点击 Knit 按钮。现在敬请随便点,尽管这个操作并没什么意义,因为 blogdown 网站是只要保存文件就自动编译的,根本不需要特别去点一下按钮,写文章的时候只需要 Cttrl + S 保存即可。

                  第二大问题是 blogdown 经常编译过去已经编过的旧 Rmd 文档。这个特性我已经默认取消了,所以旧日志应该都安全了。

                  剩下还需要做一些改进,不过鉴于最近 hugo-academic 这个最流行的 Hugo 主题又出了幺蛾子(作者把仓库挪窝、打算挣钱了,更要命的是需要让用户安装 Go 和 GIT 才能用这个主题),我紧急修正了对这个主题的支持,所以打算接下来尽快往 CRAN 更新一下 blogdown,其它的工作就留到再下一个版本再做。

                  目前这个版本中我非常需要各位壮士帮忙测试的是:

                  options(blogdown.generator.server = TRUE)
                  blogdown::serve_site()

                  因为我把这种服务器方式的实现重写了一遍,以去掉对 processx 包的依赖,我不知道这样会不会有什么我没注意到的问题。尤其是 Windows 用户,请帮忙试试,因为 Windows 下的实现只是大致靠谱,并不能保证 100% 靠谱。如果没什么问题的话,我想把它改成默认的网站预览方式,因为它贼快。

                  借这栋高楼,也请各位壮士尽情吐槽 blogdown,使用过程中有什么不便或不合理的地方请直说。经历了这次事件,我发现有些用户可能对我太过抬举和客气,以至于有些问题宁愿自己忍着。其实大可不必如此。上面的问题我从一开始就心知肚明,但我没料到会给用户造成这么大的困扰。

                  又及:在读 hugodown 代码过程中,我发现它用了 59 个硬依赖包(递归后的结果),活生生比 blogdown 的依赖多出 33 个,而多用了 33 个 R 包,还是为了实现 blogdown 的子集,真不知该如何说理。净土宗的依赖问题让我总感觉像是钓龙虾,只要依赖一个,后面就会一个夹一个,依赖出一大坨来。净土宗的敌方还煞有介事建了个 http://www.tinyverse.org 网站(注意是 tiny 而非 tidy)来嘲讽净土宗,虽然我觉得这网站上说的基本上是废话,但有时候还真是只有敌人口中才能说出真话……