如果更早遇见是不是会好一点呢?

读完了《推理竞技场》。

非常有意思的一本书,读起来非常搞笑

跟自己说着很久没有看书了,然后抽了两个半午休看完了这本书。我自己对这本书评价一般,虽然读起来确实流畅,也多少有些海猫的影子,不过,时间不太对吧。

我为什么不去直接读《竹林中》呢?我也许应该再去看看干货更多的书籍,而不是把很多哲学思想再加工的半成品推理小说?

看完了这本书,让我有点不太想打开下一本书,也就是收获没有那么多。

好多东西堆在我眼前,可以推进我的业余项目、可以把工作精进搞好、可以去看纸牌圣经练习手法、可以学习视频制作(对了安装了fcpx,可以有时间学习视频编辑了)、可以去把之前买的狗头人桌游打开、可以尝试去运动……

貌似又有了那种感觉,我拥有那么多东西,可是却没有办法很好的享受这些,如果我能静下心来,明明可以创造出很多很多愉快的记忆和成果的。

于此同时,我的本职工作,其实内容很简单,上传下达,文件检查,感觉还是没有把状态管理好,目前做的这些工作有点消耗精力。

静下心来,静下心来,平静的心情来感受生活是我自己目前需要做的。

原文地址

把浪漫的图灵实验变得更加浪漫-由《侦探AI》阅读想到的随笔

前言

有的时候有些想法会找到你,然后不断的出现~不断的出现~就好像如果是早起的梦境如果和人诉说,那么就能够记忆的更加深刻。

引子

提前说明,有少量剧透~
我读完《侦探AI》和友人的对话

好久没有读早坂的作品,虽然上木系列好像通过5部完结了,不过我也没有找到资源,我在看完了一部专业书籍之后想调剂一下,因此选了这部小说。
17年的作品,里面对AI的描写,很多是经不起推敲的,比如:ai如果能知道自己有框架问题,他自己怎么发现框架这个词接地呢。哈哈,经不起推敲的细节明摆着,也让我看下去了,这不就是我喜欢的作品吗?
依然是我喜欢的风格,给出一个胡扯的案件,然后构建故事框架,让这个胡扯的案件变得合理,小心翼翼的透露信息,精心的构建故事,尽量让前后合理。同时又在细节上注入思考,在人物上尽量让其可爱。真是部不错的作品。
所以,每天看视频也没有啥吸收和输入,我要不要再好好看看书呢?如果能让我静下来的话,看书不好吗?

这部作品最棒的地方是给了图灵实验一个更加浪漫的解答。这给我了一个种子让我意识到了一个问题,我为什么喜欢“新本科”?我被它的什么特质吸引,以及在我眼里新本格最大的创新和意义是什么呢?
我想记录的就是这样的想法。

最大的创新,以浪漫为中心获得了积极的意义

虽然很多时候,我不喜欢宏观叙述,不过如果面对宏观问题,宏观的解答才是有必要的。这里的问题是:描写猎奇凶杀细节的作品到底在渲染什么,给人类有什么积极意义吗?所谓“批判性”的描写诸多分尸、虐杀等等细节真的能站住脚吗?我的答案是不能。

这里提一下我为什么不喜欢社会派的作品,因为,我认为社会派作品的内核不是推理小说。如果要反应社会问题,描写和记录他人的人生,启迪后人,不需要推理小说的载体,《红楼梦》不是社会题材吗?如果是要吸引人阅读,把推理放到装饰性位置上也无妨,但是,那就不是推理作为核心的故事了。

福尔摩斯、阿加莎克里斯蒂的作品都很棒,但是随着发展,要有创新。我的观点:新本格以浪漫化的手法,消解或者解构了凶杀元素,并在内核中歌颂了人类特有的智慧。

就消解而言,我觉得最有代表性的是《解体诸因》。猎奇杀人没有意义吗?挂羊头卖狗肉?好吧,来看看解体诸因中的处理,对于一额新本格小说,当一具尸体以奇怪的方式被分尸之时,你会感到恐惧吗?感到恶心?不是的。得益于《占星术杀人魔法》的启迪,一具尸体被分尸的时候, 我的注意力全在考虑“为什么”这么做。犹如有些人提到,有些创作是“戴着脚镣舞蹈”,推理小说的脚镣是最重的。对天谜地解的追求也好,或者对自圆其说的追求也好,总之一切诡异的目的服务于谜题,作者被舒服于付线回收,这里特别要说明的是,新本格很多时候的“失真”更加从侧面消解了凶杀的恐怖性或者负面性——放弃对现实可行性的追去带来了意料之外的效果。

(未完待续)

学习symfony的流水日记-1

昨日和宇视科技的技术人员了解硬件信息因此断更,今天继续我的symfony流水账学习。昨天突然想到我的应用可能一开始就要处理1对多关系,想想有点头疼呀。

早起集中精力先看controler文档。看文档发现的心得,虽然我在用php,但是当我因为一个文本没有编辑好,结果整个项目无法访问时,当我看到type hint给contrler传入一个接口,结果这个接口直接可以用时(肯定用了依赖注入把)。我就想,我是不是只是用php语法去实现了某个东西,好多都是静态语言的特性。只是因为用了php就想php扮演的多大的角色(当然,php也很重要),肯定是不合适的。

流水笔记有个好处,就是当我想向别人输出的时候,重定向到这里,感觉能轻松很多,也有所收获和积累。

中国企业的求生欲,藏在微信里 有点累,读一下水文,放松放松。
放松好了,集中宝贵的经历,看教程,毕竟,后续还想安排通读DEMO教程呢。

模板看完了。继续看配置模块。配置看完了,要看数据库访问了。

午餐时间,吃了点东西,然后继续配置我的开发环境,把最近的文档整理一下,另外,看看能不能给机器搞个双显卡。^_^,日常折腾呢。

服务器资源访问不到。这个感觉问题更大一点,虽然目前还不是太重要就是了。

中午折腾机器,发现安装独立显卡后,集成显卡没有输出了。这是硬件特性吗?暂时不管了,继续看数据库访问吧。今天周五,周六放假等着我呢。
数据库也看完了。这样最基本常用的模块我就都看过了。虽然部署,配置等等也有很多模糊和需要学习的地方,bundle也没有看,ajax也没有看到,用户验证部分也没有看到……哈哈,总之,我先把demo模块读一次吧。

这次是读代码了,仔细想想,我没怎么好好看过代码,经常是自己摸索出奇奇怪怪的套路,这次好好看一下是个不错的机会。

……打开代码,vs提示要我配置git和php……又开始折腾了,我是真的喜欢折腾静不下心来啊。
看了一小下demo的代码,感觉……没有太大感觉,还是自己上手至少先把qr编辑器做好吧。

启动apache2,开始建立我的qr配置部分,然后慢慢的就把各个部分都做好。
php bin/console make:controller qrConfigController
生成控制器。

引入bootstrap部分我就迷茫了……哈哈,没有那么简单的事情呢。
{{ encore_entry_link_tags('app') }}
这个总是报错。

原来我终于到了需要先把css编译才能使用的这一步。安装yarn还安装错了。哈哈。Google一下我发现我遇到的是wsl的bug……暂时放弃webpack把,这个功能感觉过于先进了。
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
这个命令出错了。

下班回到家然后,工作上感觉还是在推进一下比较好,因为稍稍有点危机感。打开电脑,配置好代理,命令敲完,发现借助现代的工具配置项目果然还是简单呢。

1
2
3
export https_proxy=http://127.0.0.1:6152;
export http_proxy=http://127.0.0.1:6152;
export all_proxy=socks5://127.0.0.1:6153

代理帮了大忙了。

建立一个新项目吧。
crud还是要学习一下的。
brew services start mysql
Homebrew 都能管理服务了……真是变化大啊
放个9年前的帖子,不知道还能不能用,至少mysql -uroot可以直接访问数据库是真的。

可以用,直接建立好数据库了。
php总是调用3.7版本,是环境变量的问题
原来是zsh的问题……真是各种坑等着你啊。
……仔细思考了一下,并不是这样的!!
环境变量的顺序没有错,/usr/local/bin确实是在最前面,问题可能是我刚刚才安装php到local,而没用重启,我怀疑zsh缓存了每个环境变量下的目录,所以找不到我的PHP。重启一下terminal看看;

果然啊!!居然是和上一次一样的错误。就是安装php扩展后,命令行可以正确执行gd图像生成,可是apache2不行。

学习symfony的流水日记-0

开始新的crud学习,拒绝浮躁,静心修炼,争取喜欢现在的自己。
特别说明:本篇依然是流水账日记。

早起给机器添加了内存,拆了隔壁电脑的两条内存,这样我就有8g内存可以用了,很开心说不上,资源是利用起来了。开始学习symfony的crud,争取今天做点什么东西出来。
symfony的安装教程

开始顺着教程走。

1
php composer.phar create-project symfony/website-skeleton AccessControl

先建立个项目看看,运行之后发现检查依赖没有通过,果然还是下载symfony的二级制版本吧。检查php依赖好好把php配置好。二进制的软件去github下载了,休息休息吧。

symfony check:requirements
之后产生了报告,修改时区,安装依赖,

1
2
3
apt-cache search php-dom
apt install
php --ini

检查配置文件修复时区问题。chongqing php不认识呢,修改php的timezone,让symfony完全通过吧。

使用命令行工具建立项目。时间还是超级长,原因就是symfony使用了自己自带了composer.phar这个是没有任何的代理加持的。还是应该把整个composer全局化,并配置镜像代理。

1
2
sudo mv composer.phar /usr/local/bin/composer
composer config -g repo.packagist composer https://packagist.phpcomposer.com

全局的代理配置好,然后重新用symfony建立项目。配置好这些之后依然exit status 128,我怀疑,其实项目已经建立好了。毕竟这个是git的报错,看着报错信息好像是我没有指定正确的用户名和邮箱,这个放一下,继续后续开发学习。
建立demo项目的命令失败了。git被拒绝,看来还是要把git配置好才行。
git加速教程
按照这个教程配置git。希望一条命令可以解决问题。如果不行还是要调试一下git,毕竟后续还要下载好多安装包。正确的设置方式可以参考这里这里。设置好之后,github速度快很多了。如果下次碰到问题,再重新设置一次。(clash的支持很有必要)
继续安装demo项目,项目自带了sqlite3数据库,这样看着就好多了。重新安装php对sqlite3的支持库,然后继续更新。突发奇想,要不我就不用mysql了?目前没有看到sqlite3有什么不好,如果并发数不是那么多的话,如果没有事务要求的话……先看看吧,再犹豫一下比较好。
status 中128的错误还是在报错,简单设置一下吧。

1
2
git config --global user.email "[email protected]"
git config --global user.name "MyName"

设置好之后以后再报错就再说。
刚刚就是上午的工作了,进行了午餐,之后继续下午的工作。
一抬手就发现根本无法使用demo项目,并不了解程序的运行逻辑和入口。这个就放一边,先把入门的hello world写好再说。
路由模块找不到对应的方法,也就是说,我的apache应该没有配置好或者模块哪里有问题。自带的symfony服务器工具非常好用和方便。

我发现一个问题,利用apache的子目录来进行测试,是因为我太喜欢80端口了。这个习惯不好。另外,symfony本身这个命令建立的网站就是独立网站了,最好能有一个独立虚拟目录给他,这样才是便于测试和理解的。

继续调整了配置后发现,在这个框架下,public才是网站应该指向的地址,这样逻辑就顺了,symfony new project_name 中的name原来是最顶级的名字,把他理解为自模块应该是我在mvc.net中学到的不好的习惯。

虽然现在访问起来依然是index.php/lucky/number。不过网站是可以访问了。根据开发建议使用symfony自带的服务器这一点,我觉得还是忽视这个问题比较好。解决问题的教程在这里

完成了create pages的教学,下一步看from模块,争取一个模块一个模块的看过去,完成symfony的学习和使用。

form模块就很复杂了,休息了一下,把form模块的代码实践完。label写好了,中文也能改,这不就是把我昨天做二维码界面的工作重构了吗?感觉还是挺好的。虽然,我记忆中,mvc耦合文件图片等等事情的时候,我还是没有怎么搞懂……至少是没有找到最佳实践。

看完了form模块,从数据库和模板里面我选择模板,哈哈,虽然每个都很麻烦,但是,数据库可以再等等嘛~……等等,我刚刚应该是调用task_success失败了,虽然解决了也大致知道怎么回事儿了。还是按照文档的顺序来看吧(打下这句话的时候,我已经看完了)。

写给自己的博客使用笔记

博客管理

本博客为个人博客,联系方式见首页。

本文章记录一下博客的管理使用说明,防止每次都忘记。

添加文章

1
npx hexo new "about ts type not in runtime" # please run this command in project Folder

执行以上命令可以添加文章,然后就可以撰写文章了。

生成并发布网站

1
npx hexo g -d

执行该命令可以直接生成并重新发布网站。(提醒一下,记得关注网络状态)。

修改文章之后本地预览网站

1
2
npx hexo g #生成网站
npx hexo s #生成预览服务器

官方教程如下

Create a new post

1
hexo new "My New Post"

More info: Writing

Run server

1
hexo server

More info: Server

Generate static files

1
hexo generate

More info: Generating

Deploy to remote sites

2023-11-9更新:使用了github的workflow自动部署了,这样就不用这样的方式了,git提交之后,就可以自动更新。

1
hexo deploy

More info: Deployment

科研文献审稿经验心得分享

初衷

在实验室学习的过程中,经常能从导师那里接到一些审稿文章,而后进行一些审稿工作。开始几次审稿的时候我自己都还没有发过文章,文献读的也少,因此,吃力程度可想而之。借助google在网上固然可以得到很多相关的资料,其中很多帮助很大,但是大部分资料都是审稿回复的一些基本语句,还有就是,学术大牛对在投文章如何看待审稿意见的建议。 我一直以为对于任何事物的学习过程而言,开始的时候总是有其特殊的困难,因此对于开始一项学习而言,需要最入门简单的教程。而对于审稿工作,每个研究生第一次接触的时候总会有这样那样的困惑或者是更一般的无从下手的迷茫。笔者自己面对新工作的时候经常会不知道干什么而拖到Deadline的最后一刻,利用Deadline生产力原则来完成工作,不过我知道,这当然是不好的,事物的学习还是遵从它自然的规则更好。因此,写这篇随笔来记录一下自己的审稿心得,一方面是对自己学习的总结,另一方面希望对初次进行审稿的研究生同学提供一点点帮助。

审稿的基本概念

考虑到这是一篇基础性文章,请允许我不厌其烦的介绍审稿的诸多细节,虽然对于很多人特别是经历过科技文章写作投稿的人来说,这些都是无意义的堆砌,但是,我回忆自己学习经历的初期,确实对“审稿”,“期刊”,“编辑”这些基本概念也是要一点点的查过来的,因此我想对于初学者,这种基本的介绍还是有帮助的。 首先是出版社(比如 Elsevier, Wiley等都是著名的科技文献出版社),出版社是一个商业组织,出版社旗下有很多的期刊,这些期刊上面刊登着世界各地的研究者以科技论文的形式发表的自己的研究成果。不同的期刊关注科学研究的不同领域,而出版社负责组织这些期刊。可想而知,科学研究的内容是一般是复杂的,而且针对具体的领域又很有深度,管理好一个期刊使期刊可以真正促进对应的学科进步是一件困难的事情。另一方面,出版社也非常关心的一件事情是如何保证自己期刊文章的质量。而审稿制度就可以在一定程度上解决这个问题。 简单说明一下文章发表的流程,从文章产生的角度,首先最开始当然是研究者选择课题,进行研究,并将研究成果以科技论文的形式撰写出来并投稿到自己想要发表的期刊。然后期刊的编辑会接收到文章,编辑的工作就是初步检查文章的内容并确定这篇文章是否符合期刊的发表要求。由于文章多涉及专业的研究内容,因此,编辑在确定文章的研究课题大致符合期刊要求之后,需要进一步对研究质量进行检查。编辑会在这个文章对应的研究领域里选择若干名专家,将文章发送给这些专家,由专家对文章的研究价值、创新性、研究严谨性进行评审,并给出审稿意见,这些审稿意见会返回给编辑和作者,一方面帮助编辑判断该文章是否适合发表,另一方面帮助作者完善其研究。当一篇稿件送到研究者手中时就形成了审稿的工作。

审稿的意义

说明了审稿的作用之后,来考虑一个问题,我们为什么要审稿呢? 虽然这个问题看似高大上,有点近乎哲学的意味了。不过,其实还是很简单的问题。讨论为什么要审稿之前,我们来说一下“学术共同体”。这是一个稍微抽象的概念,大致上可以理解为所有从事科研工作的人员的集合。科学研究是一个漫长艰辛的过程,时间长,工程庞大,内容繁杂,稂莠不齐,同时还经常会反复,因此,科研工作非单一个人、组织、甚至是国家可以完成的。所以,科学研究者们互相帮助,有时获取资源,有时提供帮助,在长期的运行过程中,慢慢形成了一个有利于科学研究进步的组织结构和行为规则这就是学术共同体了。 对学术共同体有了了解之后,其实很多科研中遇到的概念都可以很好理解了。比如,为什么学术造假时非常恶劣的行为?那是因为造假的研究结果会在学术共同体内传播,影响很多人的研究,甚至将一个学科引向错误的方向毁掉一个学科。为什么研究成果一定要以发表论文的形式来表现?那是科学研究的成果只有发表出来,才能使学术共同体内的其他人了解到你的研究,从而帮助整个学术共同体推进研究的进程。 解释完上面的内容,审稿工作的意义也就很好理解了。从学术共同体的角度来说,审稿工作是每个科研工作者的义务。就像Google Scholar首页上那句话一样“Stand on the shoulders of giants”,可以很容易的想见,如果没有大量优质的文献支撑,一个研究者很难了解自己到研究领域的研究历史、研究重点,没有对当前的研究进展的了解作为基础的话,创新的研究成果就无从谈起了。因此,每个研究者需要利用自己所具有的对自己研究专业的知识、经验帮助其他科研工作者完善他们的研究工作,或者提出批评、或者提出建议。同时帮助编辑判断研究工作的价值,一定程度上防止有问题的文章发表出来。 是不是很有责任感?其实,对于审稿人而言,审阅他人的文章也是自己学习进步的过程。不同观点看待一个事物的过程中很容易产生创新的想法。

需要完成的工作

既然本文想着重介绍的是入门,那么就来说说针对一篇审稿我们要做什么。 首先,拿到一篇审稿的第一步,了解审稿的期刊来源,期刊研究的是什么内容。同时了解文章作者的背景信息,包括这个作者的研究领域,所在的单位,之前的研究成果。这些都是帮助我们理解文章的基本内容。针对入门的同学,再补充一个更为基础的问题,哪里去找这些内容呢?如果是中文审稿的话用作者的名字一搜也许就找到了,如果是英文呢?其实道理是一样的,查找信息的方式就是把英文当成你的母语设置关键词去检索你需要的信息。很多研究生同学(包括我自己)都是开始的时候对英文很头疼,不过和其他所有的学习过程一样,只要坚持其实很快就能适应。这里说明一下了解任何一个作者的捷径,就是看作者发表的文章,这个相当于第一手资料,快速的浏览作者的文章的题目、摘要、图片你就可以了解作者。很多时候拿到的审稿和我们自己的课题稍微有点远,因此我自己的经验是先通过作者之前的研究了解基本背景,这样读的时候,更方便发现文章的研究重点而防止自己的精力被不重要的细节分散。 然后,仔细阅读文章全文。所谓仔细阅读全文的方法因人而异,有些人会逐段读,而我自己因为经常被人打断思路,而且我读英文比较慢,因此我会先和看一般文献一样快速通读,了解文章到骨架,然后细致阅读补充内容。审稿阅读的和一般阅读是不同的,因为你是有目的,所以需要“带着问题读”。这篇文章的研究背景是什么?创新点是什么?当前研究的瓶颈或者关注的焦点是什么?解决什么问题?使用了什么方法?作者得出了什么结论?作者如何用他的实验支撑结论?作者使用的方法是否可行?作者的数据是否可信?带着这些问题会帮助你更好理解文章,这中间也需要阅读相关的文章。 最后,阅读完之后就是要给出审稿意见,指出作者需要修改的错误,提出需要完善的地方,帮助作者改进他的文章。另一方面对于不合格的文章需要给出拒稿意见,要指出作者的问题。

对文章进行评价

对于一篇文章,需要给出处理建议,一半包括小修(Minor revision)、大修(Major revision)、拒稿(Reject),根据什么标准来判断给出处理建议呢? 对于一篇科技论文来说,文章的基础应该是科学的严谨性,严谨性在于理论多选取、方法的可行性、甚至是数据的可信性。另一方面,学术论文的价值在于创新,文章的核心工作不应该是重复性的,应该是全新的,同时创新性来源于对前人研究的总结改进不能是凭空产生的,对于一篇合格的文章,引言部分需要核心论证的就是文章的创新性,因此,不合格的文章大致是以下三种情况: 1. 没有创新性; 2. 数据不可信; 3. 研究工作没有意义。 如何发现和说明这些问题呢?这就需要审稿人阅读相关领域的文献,动笔计算文章中的数据,认真的分析文章研究结论的合理性。我个人经验是阅读文章的过程中,一定要形成自己的观点,一旦你有了自己的观点和认识,你就不会被作者牵走。更重要的是,你的观点和作者不同的时候,你就就会有自己的问题,这些问题会帮助你分析和这个审稿相关的文献,加深你对作者研究内容的理解,最终使你可以更加客观评价审稿文献。

结尾

以上就是我个人对于审稿工作的经验分享,希望对后来人有帮助。