作者: 孟繁永

  • 面向未来的开发

    上周执行了计划了很久的暑假自驾行,可惜因为四个人中的两个感染莫名其妙的病毒中途就回京了。同时,在出发的第二天就遇上滑坡阻路,划破了车胎侧壁,在太原等轮胎等了三天,深度体验了一把太原。

    这个城市核心区其实还不错,老东西不少,旧街市虽已显颓势,但总比北京还是要好很多,路规划的还不错,只是路面起伏不平,不知道是地质原因,还是铺装标准不够高,或者施工队偷工减料了,估计撑不了几年。

    于今来看,似乎几十年的发展并不能支撑一个十年的折旧,顶多五年就没了。那现在要做的事当然不是继续这种只管两三年的事儿,既然前景不好,那就好好做一点能有益于未来二三十年甚至更久的事儿,跟现实保持一定的距离,不被裹挟。

    去了赵州桥,发现赵州桥是把老桥拆了在原址造的假的。路过三苏故里,虽然也是假的,但做的还算认真,因为确实没啥直接关联了,只是人家三苏感情上认可这个旧地方而已。既然只是基于这一点点认同,那就把这一点点认同做好一点。三个展馆看下来,也花了一两个小时,这对于一个栾城来说,算是不错的成绩了。

    在太原,晋祠算是让今人玩废了,建筑尚存,文化不再。很多空间竟然用来做封闭的办公区,其他空间则以布展为名关闭,里面则透出劣质油漆的味道。值得称道的是被山西省政法霸占了几十年的都督府。一进大门便是一个小楼做的抗战博物馆,虽然也像其他地方一样的叙事逻辑,但总归有一些意想不到的细节,让人觉得希望尚在。

    看下来,我们忘记的或者毁掉的,本来就是最有价值的东西,也是最值钱的东西,我们造物的能力在实际上首屈一指,我们造文化的能力却损失殆尽。那就做一做面向造文化的开发。

  • qbittorrent使用小结

    本来用qbittorrent下载东西已经是二十年前的记忆了,这么多年也不刷美剧,基本上就告别了bt,最近因为某项目需要采集数据,重新接触qbittorrent,但是真拿它来干活的时候,发现伺候起来并不简单。

    这一个任务一共一万多个种子,尽管家里已经升级了2000M光纤宽带,但无论是网速还是连接数恐怕也远远达不到肆意下载的程度,于是确认了一下光猫里的默认连接数为4000,调整成了20000,不知道真的上到这个数字会不会崩,后来又改回了4000。

    qbittorrent里面的每个种子的连接数设置成了50,似乎太大了也没用,因为实际上没有那么多源,平均每个任务也就是四五个连接。全局最大连接数曾一度设置为1000或者2000,但通过网络监测结果来看,这么多任务同时下载很多资源花在了任务调度上,带宽利用并不好,于是将总连接数限制到了500或者200,。

    后来,系统崩了,不知道为什么崩的,但任务恢复之后就发现很多下载任务变成了检查恢复,这个特别消耗资源,一则要从存储上把资源都读出来,我用的千兆网连接,速度本身就受限,再加上可能是多个任务同时检查,内存就废了。后来我启用qb以后,把绝大部分任务都暂停,然后逐个继续,才慢慢解决崩溃的问题。

    总结下来有几个原则可以遵循:

    (1)批量添加种子之前,打开设置,在“下载”中修改“默认保存路径”,否则默认到C盘就惨了,我第一晚下载就把C盘搞爆了,批量添加种子时选择的保存位置只对第一个有效,后面的不行。

    (2)继续设置“连接”,每torrent最大连接数可以设置为50,实际上有5到10个就够用了,按平均每个5个计算,同时下载10个torrent,全局最大连接数设置成50也行,可以稍微放大一点到100或者200,再大了意义不大。

    (3)如果涉及到大量任务恢复的情况,可以在重载界面后,首先把全局最大连接数设置成20,同时把所有任务暂停,然后手动分批恢复继续。

  • 如何购买电动工具

    从去年下半年开始装修,很多活是自己干的,作为一个工具控,置备一套电动工具是千载难逢的好机会,前后加起来,差不多花了上万。

    这里面买的比较得意的,就是一套充电手电钻,在这一类工具里面,牧田是当之无愧的王者,真贵,另外还有几个品牌在中国也有代工过,但从仿造品的市场规模看,牧田是影响最广的,以至于牧田款某某某成了淘宝电动工具配套电池的一个事实标准。

    总的来说,牧田电池兼容款电动工具的特点:

    (1)基本上和牧田用的模具99%相似,据说是因为江浙企业给牧田代工留下的,电子件方面也是如此,但是比原版牧田少了摩尔,就是转速控制方面不是完全线性的,使用起来没有那么柔和,但对绝大部分操作影响不大。

    (2)同心度甚至比东成好得多,至少我买到的几个都还不错,相比起来,东成的电钻就是牧田款测试不通过的次品。

    (3)价格是牧田原版的十分之一,是东成等品牌的差不多一半。

    (4)据说随着国外电动工具逐步把代工转移走,国内后续买这些替代工具的成本也会越来越高了。

    (5)就购买渠道而言,似乎淘宝是最直接的,闲鱼在这方面显得水太深,价格也不实惠,卖家推的一般都是性价比不高的一些代工品。

    (6)我本来想支持正版,但正版牧田确实太贵了,多花90%的钱,压力真的很大。我选的工具连工长都要链接去买了。

    也有选的不太实用的,比如充电款的喷漆枪,功率不够,明显比插电的弱很多,估计浇花还行,喷漆够呛。

    希望交流的可以评论,仔细总结太费时间了。

  • 情报洁癖和卫生洁癖是不是一回事?

    情报洁癖是我定义的一个词,一开始想用信息洁癖,但是发现这个词被误用了,本来用文字洁癖就可以表达,非要占用信息这个词,我的情报洁癖试图回到有价值的信息这个层面上来,所谓洁癖则是对情报的真实性的考察过于严苛,不光自己无法忍受虚假信息,就连身边的人轻易相信虚假信息都无法接受,甚至看不得人用百度和抖音。

    我感觉自己已经进入这个状态了,也许还有别的因素,但这一点可能是根本原因,尽管每个人接收信息的能力不一样,但对接收的信息完全不去有所克制的接受,让我无法理解,这种懈怠,比通常的身体上的懈怠更让我不能接受。

    随着生活条件的改善,卫生是会变好一点的,虽然还有很多生活习惯的影响,导致某些标准确实无法持续提高或者坚持下来,但总是阶段性的可以有一点改进,但是精神层面的卫生,就几乎没有什么改善的空间,我想不通。就算已经脱离某个环境很多年了,还是沉浸在那样一种氛围中不能自拔,这一点似乎即使在海外华人圈子,也是奏效的。就像某老师说的,信息茧房是真的不容易打破,不是房子多牢固,是作茧自缚。

  • 锤子科技绝代产品坚果R2手机电源键失灵解救办法

    中午微信语音的时候,手机突然黑屏,然后就没法点亮了,后来尝试:

    (1)办法一:音量加+电源键强制重启,重启之后可以点亮屏幕,再划动屏幕进入。

    然后上网搜了办法,比如清理垃圾文件以及清理内存,我没有找到清理内存在哪里搞,因为是微信语音的时候出的问题,我尝试了删除微信,但并不解决问题。总是强制重启进入系统也不是办法(似乎单独按音量加十几秒也能强制重启,所以貌似就只是电源键坏了),于是想到第二个办法。

    (2)插上充电线,给手机充电的时候,屏幕也会亮,这个时候划屏幕也能进入。

    但这依然也不是个好办法,总不能随时握着充电宝啊。继续尝试,终于找到第三个办法。

    (3)左侧的快捷键设置了双击打开卡包,这个时候也能点亮屏幕。

    但是,这个也不能解决问题,于是想到第四个办法。

    (4)淘宝上找了下维修店,报价说如果主板不坏,修一下180,如果主板坏了,修好300封顶,我没舍得,再者也还需要备份数据以及找备用机。

    那么还有没有别的办法呢?如果微信删掉还不行,那就有一个办法就是重置系统,如果是微信或者别的app造成键位定义冲突,那么这个冲突除了重置还有什么办法清除呢?于是,找到第五个办法。

    (5)在设置中的“任意开关和快捷键”这里,把各个快件键的设置来回改了几下,估计是改到双击电源键打开相机的时候,问题解决了。电源键不再失灵,恢复正常了。

    希望你很快就看到了最后一条并解决了问题。

  • 苹果生姜水与其早期版本探究

    电视剧没什么好看的,好,电视正好也坏了,就不看电视了,父母就开始刷抖音,抖音哪有多少正经信息啊,于是学会了一招苹果生姜水,然后就每天一大碗着吃,从食材来看,似乎也没什么问题,但是就这么单调的食物每天重复,就跟发神经一样,这就不正常了,可是我也不能说什么,否则搞的像我连这点苹果都舍不得让吃,于是我也一筐一筐地买回来。

    但是,我总是放不下这个点,实在忍不住搜了一下,这个苹果姜水流传深广。当然,还有各种衍生版本,比如配胡萝卜、红枣、枸杞等,台湾有配洋葱的吃法。

    又一个但是,只有台湾媒体发了一个“谣言/误导”的文章:

    洋蔥加上蘋果、生薑煮湯治療疾病?缺乏實證影片!勿過度解讀

    MyGoPen查證參考:
    https://www.mygopen.com/2023/06/flu.html

    这就是咱们的大悲剧。

  • 随大流写一下过年感受

  • 阿里云不再提供一年期限的免费域名SSL证书的应对策略

    毫无疑问,当然是用Let’s Encrypt

    那么就开始搞吧,事实上真的很简单。只是首先要搞清楚自己的部署环境,我用的是基于yeszao/dnmp改写的一个环境,大体上一样,可以直接看yeszao/dnmp。

    首先我把域名解析到我的服务器,如果是一个新的域名,则在得到ssl证书之前,给该域名的站点conf中只配置80端口,443端口等后续得到了数字证书以后再添加或解除注释,免得没有ssl的文件nginx无法启动。

    然后在该域名的站点的conf中添加

    location ^~ /.well-known/acme-challenge/ {
          default_type "text/plain";
          root /www/acme-challenge/;
        }

    注意,上面root后面对应的地址是基于dnmp的env配置的映射地址,也就是dnmp目录下的www中再新建一个acme-challenge,如果dnmp在/,则实际目录地址是/dnmp/www/acme-challenge,这个地址在下一步用的到。

    添加以上规则后,重启nginx。

    然后就可以使用命令创建证书了:

    sudo certbot certonly --webroot -w /dnmp/www/acme-challenge/ -d "*.isbn.ink" -d isbn.ink

    命令也可以明确–server参数

    sudo certbot certonly --webroot -w /dnmp/www/acme-challenge/ -d "*.isbn.ink" -d isbn.ink --server https://acme-v02.api.letsencrypt.org/directory

    certbot如何安装请看https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal&tab=standard

    按提示执行完就行了,甚至都自动创建好了更新任务,任务查看命令:systemctl list-timers

    NEXT                        LEFT               LAST                        PASSED       UNIT                           ACTIVATES                       
    Fri 2024-01-26 14:11:00 CST 19min left         n/a                         n/a          snap.certbot.renew.timer       snap.certbot.renew.service

    ssl证书文件默认会放在/etc/letsencrypt下面,那么结合dnmp的env配置项:

    NGINX_SSL_CERTIFICATE_DIR=/etc/letsencrypt

    如果有其他站点需要用到NGINX_SSL_CERTIFICATE_DIR的默认配置./services/nginx/ssl,那么还有个办法,即使用ln到/etc/letsencrypt/live:

    ln -s /etc/letsencrypt/live /dnmp/services/nginx/ssl

    那么,在站点的conf文件中,对443部分的设置如下:

    server {
        listen 443 ssl;
        server_name isbn.ink;
        charset utf8;
        #ssl on;
        ssl_certificate   /ssl/live/isbn.ink/fullchain.pem;
        ssl_certificate_key  /ssl/live/isbn.ink/privkey.pem;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    
        root   /www/localhost;
        index  index.php index.html index.htm;
    
        location / {
            if (!-e $request_filename) {
                rewrite (.*) /index.php;
            }
        }
    
        location ~ [^/]\.php(/|$) {
            fastcgi_pass   php80:9000;
            include        fastcgi-php.conf;
            include        fastcgi_params;
        }
    
    }

    可以看到我把live放到了conf中,而没有放在NGINX_SSL_CERTIFICATE_DIR设置中,因为live/isbn.ink/fullchain.pem是个软地址,实际文件是指向../../archive/isbn.ink/fullchain1.pem的,这里用了两层父目录,站点域名一层,live占了一层,所以ssl的映射目录只能设置为/etc/letsencrypt。

  • 恬不知耻的课文

    因工作需要,研究某教辅的数字化编排,样稿中第一篇课文就是“大青树下的小学”,我找来课文一读,差点恶心死。天底下哪有这样的小学,太不合情理了,于是我搜到这篇文章:“三年级第一课《大青树下的小学》,云南作家吴然为什么写这篇课文?”,由“人教童书”发布。

    作者自述背后的故事,揭开了谜团,划线是作者对实际情况的描写,红线是环境,绿线是故事,结果到了被选为课文的他自己那篇所谓散文,就完全不说人话了。不是不知道事实,却故意扭曲甚至编造,也许是撒谎惯了的缘故吧,为学习这样的课文的孩子们悲哀,包括我的已经读了这篇课文的女儿和过几年也要读这样的课文的儿子。

    附上作者简介:

    吴然(1946~),原名吴兴然,云南宣威县人,中国作家协会会员、云南省作家协会常务理事兼儿童文学委员会副主任,春城晚报社高级编辑。1973年在《云南日报》发表第一篇儿童文学作品《海花》。曾获中国作协第二、五届全国优秀儿童文学奖,以及宋庆龄儿童文学奖、冰心儿童图书奖等多项。作品选入上百种选本,其中《新年礼物》《珍珠泉》《杨梅会》等被编入九年义务教育小学语文教科书。已出版散文、散文诗集《歌溪》、《一碗水》、《我的小马》(台湾版)、《小鸟在歌唱》、《天使的花房》等10多部。
      他在高中毕业后当过工人和小学教师。后调《春城晚报》作编辑,1985年起主编该报《小橘灯》儿童副刊。中国作家协会会员,云南省作家协会儿童文学委员会副主任。80年代以来主要致力于儿童散文和散文诗创作,出版有散文、散文诗集《歌溪》《凉山的风》《风雨集》《珍珠雨》《小鸟在歌》。

    来源:http://www.lbx777.com/yw05/dqsxd/zzjj.htm

  • 银耳汤

    从前,在一个遥远的国度里,有一位善良的老奶奶。她喜欢在自家的小花园里忙碌,为了给周围的人带来快乐和温暖。有一天,她从市场上回来,发现天空中下起了大雪。她担心那些没有温室保暖的动物们,于是她决定煮一锅热汤,给它们送温暖。
    她穿上了最保暖的衣服,戴上了帽子和围巾,然后出发了。虽然雪花飘落在她的身上,但她依然兴高采烈地寻找着。
    在森林里,老奶奶遇到了一只小松鼠,它正躲在一棵树下颤抖。老奶奶把银耳汤端给小松鼠,小松鼠激动得无法用语言表达。它用可爱的眼神看着老奶奶,仿佛在说:“谢谢您,善良的奶奶!”
    接着,老奶奶遇到了一只小兔子,它也正为寒冷而发愁。老奶奶把银耳汤端给小兔子,小兔子感到一股暖意从心底冒出,它高兴地蹦了起来。
    不久后,老奶奶又遇到了一只小狐狸。小狐狸以前从未见过如此美味的汤,它吃了一碗后,还想要更多。老奶奶心满意足地给了它一碗银耳汤,小狐狸感激地看着老奶奶,说:“谢谢您,亲爱的奶奶!”
    动物们都品尝到了老奶奶煮的最好的银耳汤,感到非常开心。
    从那以后,老奶奶煮的银耳汤传遍了这个国度。动物们都爱戴着老奶奶,它们知道,老奶奶用她的善良和爱,为它们带来了温暖和幸福。而老奶奶,也因为她的善良和关爱,被动物们称为“银耳汤奶奶”,成为了这个国度最受尊敬的人物。