心情影响文本编辑软件的选择

前几天做一个网站,代码主要工作使用vscode完成。其后的修修补补,再使用vscode感觉有些大材小用,就右键调用Notepad3完成。

文本编辑,早些时候工作中,我是使用Editplus“汉化”版的,使用多年之后,受良心谴责更换为开源的notepad++。开始感觉差了点,尤其是界面,但用的时间长了,也就慢慢熟悉了,尤其喜欢它的插件功能,通过安装sftp、json等扩展插件,在vscode之前它一直是我的主要编程工具。

去年机器升级安装系统的时候,发现网上对notepad++一片声讨之声,便选择了起替代开源软件Notepad3。但相对于notepad++,无论是界面,还是插件功能,感觉不是一个档次的软件。

上月在安装新系统的,发现notepad++的官网上并没有那遭声讨的言语,所以也就下载使用了。

这次网页修改频繁,感觉Notepad3使用不便,便在edge通过搜索引擎进入notepad++的官网,发现那句话还赫然显示在首页醒目的地方。

原来上次是通过搜狗进入的是国内所谓的官网,它默认屏蔽了真正的官网,而edge默认的搜索引擎是bing。

只好回头继续使用Notepad3,重新进行了一下设置,效果好了很多。与vscode配合使用,工作效率提高不少。

不得不说,软件开发者个人的观点、倾向,通过软件进行散播,的确令人不爽,甚至厌恶。

久违熟悉的修机

下午朋友说家里的机算机蓝屏了,让我帮处理一下。很久没有修机器了,不免还有点兴奋。

从后备箱拿出机器一看,跟自己熟悉的工作一样久远,是联想的一体机。

机器使用的是AMD的速龙610e,四核低功耗。说是熟悉,因为我曾经给同事推荐过,后来自己还使用过该CPU屏蔽一个核心版本的415e,在忘记接风扇的情况玩大灾变到死机。

回家接通电源,看到了熟悉的蓝屏,不用说肯定是XP系统了。于是去制作了一个win7安装U盘,回头准备安装的时候,进入bios设置界面,发现系统日期是09年1月1日,知道不用那么麻烦了,又遇到熟悉的故障了。

查看一下sata模式,果然是默认的Ahci,应该是主板电池电量不足,恢复到默认模式了。更换为ide模式,保存重新开机,曾经无比熟悉的XP界面出现了。

昨天一个老同事问我硬盘出现坏道,有什么软件可以修复。我说,win7后我就再没用过这种软件。

在Vista被Intel坑了一把后,微软在硬件兼容性方面把关严格了很多,这也是win7后机器问题出现变少,我也渐渐没活可干的原因。

围棋中国规则下贴目的无谓坚持

前几日淘宝网上下单4到9月份的《围棋天地》。杂志到家几天了,昨晚闲下来才开始翻看。

第七期有篇陈祖源的文章《再说1目=半子》。还不错,这已经有进步了。中国棋院人士最初是否认这个公式,坚持一个互相比目,一个是与180子半相比较。记得一次转播中某位老一代棋手还拿吃烧饼数相比较。

陈祖源虽然再次提到日本规则的缺乏逻辑性,但也没有再坚持中国数子规则无以伦比的优越性。毕竟如文中所说,终局最后一点价值的不确定性,使得日本规则在计数上更精细。

看了这么多规则文章,能承认这一点已经不容易了。

后面又有一大段,以AI新的“黑贴3又4分之1子白先弃着”来给中国规则打补丁。

何必呢,黑棋贴3子半,和棋黑胜不更简单明了吗?

人穷志短

昨晚忙完不早,躺下之后,却毫无睡意。
累眼累手更累心,心绪难平。
一直认为自己是一个正直的人,有道德底线的人,有职业操守的人,有原则的人,虽然底线、原则都是是自定的。
不想现在,也开始干自己鄙视链最低层的事。就像《天下无贼》里葛优鄙视范伟。
既然开头,今天忙完正事后继续干,少了心理自我谴责,也就是脸皮厚了,效率高了数倍,早早完工。
原来这鸡鸣狗盗的活这么简单。
人穷志短啊。

意外满意的酸菜鱼店

昨天晚上朋友请客,在融创茂一家酸菜鱼店吃饭。今天一天我们都在复盘,都对这家店赞不绝口。

因为家里做酸菜鱼水平足够高,按照儿子的话就是“没有家里做的好啊”,已经很久没有在外面吃酸菜鱼了。但这家的酸菜鱼的确有些出乎我们的意料。

鱼是我们家里常吃的黑鱼,这也是自认为比外面做的酸菜鱼好吃的主要原因。同时酸菜少而精,酸汤味道可口而不口干,肯定不是使用那种网红店勾兑的汤料包。

鱼吃完之后,在电炉上大盘还可以加入热水涮菜,这样点菜都免了。

只是祈祷儿子寒假回来时,这家店别也关门了。

免费也不动心的小说

从网上评论看,目前倾向购买开放式安卓系统电纸书的用户,除去那些买来看视频等不知所以的,有的是为了阅读体积庞大的PDF文件,这就必然会嫌弃kindle那可怜的存储,而为了微信读书的不在少数。

微信读书作为后来者,且没有硬件负担,为了在电子书市场占有一席之地,的确很下血本。除了有不少免费的书籍,用户还可以通过每日问答等活动获得无限卡,免费阅读收费的电纸书。

除此之外,还时不时进行书籍赠送活动,赠送的书籍有些随机性。第一次赠送书籍中,有梁羽生的全集,34本的那种。

这之前在亚马逊的优惠活动中我也曾经见到过,虽然便宜却没有购买的欲望。现在即便微信赠送,依然没有兴趣,略过几次后,才勉强收下。

以前随笔中也写过不喜欢梁羽生作品的原因,就是不喜欢他描写游走正邪之间人物,从王燕羽到练霓裳,再到厉胜男,那种遮遮掩掩的态度,拖泥带水,实在不爽利。

昨天看到简书上评论《甘十九妹》,这点萧逸跟梁羽生倒十分相似。

是怕教坏了读者,还是怕读者质疑自己的人品?

从这点上,梁羽生的确有些小家子气了。

可靠高性价比的kindle

上周两个前同事咨询购买电纸书,犹豫一下,还是给他们推荐了淘宝网上亚马逊的咪咕版kindle。

推荐淘宝网上的产品,尤其是官方能够购买到的,我一直是心里没底,很少推荐。之所以还是推荐了,一是尽一点读书人的义务,再者kindle的质量还是有保证的。

现在的开封包装的kindle,如同当年市场上的散包CPU,不存在造假的问题。现在盒装CPU已经成为主流,就像自从wp版引进中国市场,人们习惯了官方渠道的kindle一样。

如果接受正版电子书,kindle的咪咕版性价比还是非常高的。

网上很多人对kindle固化的系统、无法扩充的小容量存储嗤之以鼻。而持这种观点的绝大多数人,应该不是,甚至是没有购买过电子书的。

对正版电子书而言,不考虑云存储,即便最小版本的内存也够用了,而自己固化的系统,保证了kindle可以稳定、持久运行,而且可以开机就用,不用像安卓系统那样为了省电而关机。

当然,只是性价比高而已。看看朋友发来国外kindle对外促销价,那怎是一个酸字了得。

风格高于内容的《诗》

天冷观影,相比春节期间看《人潮汹涌》的时候,影院里面疫情氛围已经轻松了很多。

同我和我的前两部影片一样,《我和我的父辈》也是由以时代线展开的四个独立单元组成。

其中三个故事,都具有着其所处年代电影的风格。相比英雄史诗风格的《乘风》,滑稽剧风格的《鸭先知》,小品风格的《少年行》,《诗》这个单元,有着那个时代电影罕见的文艺范,二人同行的镜头可谓美得让人心颤。

美则美矣,但切合电影主题论讲故事的能力,这个单元甚至不如《少年行》,不是我和我的父辈,而更像是我的父辈。

片中孩子参与感明显不足,似乎只是为了痛哭催泪与父辈同行,本不应只是找父亲,跟妹妹放孔明灯而已。

如果大雨那个夜晚,知道自己的父亲跟原先的父亲一样回不来,痛哭之后与母亲一起,在妹妹手电筒照射下一同排水,是不是更好。

熟悉的影子,各个时期

昨天下午有事进城去伟东。收拾整理一下稳定运行的正牌拼凑服务器,然后拖地打扫卫生,又用久违的蛤碁石打了两局秀和的棋谱。
时间依然还早,就下楼到超意兴吃了晚饭,顺道在周围转了一圈,找寻一下志远同学所说的烧烤店。
东门出南门回,估计是吃罢晚饭了,小区里人多了不少。一路走来,似乎都是老太太的影子,各个时期的影子。想来她在那里住了14年,从健步如飞到步履蹒跚。
还好,现在只有亲切之感。也许这就是时间的力量。

Ubuntu20.04下安装配置uWsgi部署Flask

安装uWsgi

默认情况下,使用pip安装uWsgi会出现错误,需要首先安装python3-dev,如果安装python-dev会提示安装的是python2.7.

sudo apt install python3-dev
pip install uwsgi

配置、运行uWsgi

进入Flask项目根目录,下创建一个配置文件 myproject.ini:

[uwsgi]    
master = true    #启动主进程,来管理其他进程,其它的uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程。                
http = :5000   #服务端口
socket = :5000  #用于和 nginx 进行数据交互的端口
chdir = /home/login_user/app/FlaskWeb  #项目目录
wsgi-file = /home/login_user/app/FlaskWeb/FlaskWeb.py  #flask项目运行文件
callable = app  #设置在收到请求时,uWSGI加载的模块中哪个变量将被调用,本次flask项目里为“app”。
buffer-size = 65536  #设置用于uwsgi包解析的内部缓存区大小。默认是4k。
processes = 4 #服务进程数
threads = 8 #线程数
enable-threads = true #
max-requests = 2000 #最大请求数
daemonize = flaskweb.log #使进程在后台运行,记录日志
lazy-apps=true #各个进程都创建自己的app
virtualenv = /home/login_user/app #虚拟环境目录

运行uWsgi

uwsgi --ini myproject.ini

注意事项

  1. callable中app 指的是 flask 项目启动程序中定义的 flask name 的名字,并非py文件的名字
  2. 安装运行时会提示“chdir(): No such file or directory”错误,删除掉配置文件中的注释即可。
  3. 运行中会提示找不到数据库,主要因为uwsgi启动多进程时,会启动一个主进程初始化所有的app(其中包括数据库连接),然后将所有app复制到其他进程中。这就导致所有进程全部共用一个MySQL的连接。添加lazy-apps=true解决。
  4. 如果本机使用nginx,使用socket,如果通过frp,则选择http。

设置uwsgi自启动服务

创建 uwsgi.service 文件

在/etc/systemd/system目录下创建文件:

[Unit]
Description=uWSGI
After=network.target
 
[Service]
User=user
WorkingDirectory=/your/path/summary
#Environment=FLASKR_SETTINGS=/your/path/summary/env.cfg
ExecStart=/usr/local/bin/uwsgi --ini //your/path/summary/uwsgi.ini
 
[Install]
WantedBy=multi-user.target

启动、停止、重启、查看服务

sudo systemctl start uwsgi.service
sudo systemctl stop uwsgi.service
sudo systemctl restart uwsgi.service

加入、关闭系统自启动

sudo systemctl daemon-reload
sudo systemctl enable uwsgi.service
sudo systemctl disable uwsgi.service