免费也不动心的小说

从网上评论看,目前倾向购买开放式安卓系统电纸书的用户,除去那些买来看视频等不知所以的,有的是为了阅读体积庞大的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

美剧《基地》,网剧而已

自从chdbits关闭后,我也就没有再追过热门剧,只是通过浏览网络博文等了解一下而已。
最近大热的美剧中,根据阿西莫夫的小说改编的《基地》,评价两极化非常严重,区分两个阵营的标准,就是有没有看过阿西莫夫的原著。
为了造势,制作方苹果把阿西莫夫的儿子都搬出来了,大赞《基地》在各方面超出预期,其父未能将自己的理念与哲学思想搬上荧屏,但David Goyer办到了,同时还忠于原著。
有钱能使鬼推磨,反正阿西莫夫去世很多年了,不会像海明威那样痛斥电影改编自己作品,像是“在自己啤酒里撒了泡尿”。
不过也怪不得苹果。且不说《基地》只是银河帝国的第一部,阿西莫夫自己也是在后面几部中不断填坑补漏。何况,在快餐时代下,有多少人能把银河帝国全集,哪怕是粗略看上一遍。
只是,把银河帝国国王,写的那么不堪,还是有些说不过去的。

《小妹妹》:好莱坞里无好人

购买亚马逊的免费借阅包季卡,不觉已经过去了两个月,今日看到雷蒙德·钱德勒的小说集都已经可以免费借阅,于是顺手借阅了几本。

其实早在三年前利用双十一活动,就购买了钱德勒全集,但现在还在伟东的书架上塑料封还没有开拆呢。

今天看完了《小妹妹》,跟之前看过的《再见,吾爱》和《长眠不醒》不同,一时也想不起在看过雷蒙德的短篇小说中有类似的情节。而且书的内容虽然不能与《漫长的告别》相比,还是要好于前两本的。

小说《小妹妹》据说是雷蒙德根据自己混迹好莱坞的经历所写,里面的人物套用苏三的话,就是“好莱坞里无好人”。除了一身正气、不合时宜马洛,反倒是被他评论为没有正常道德标准的女主角,还人性未泯。

正好中午看过《鱿鱼游戏》的介绍,二者结合,都是描述人心的险恶。只是没有那么彻底而已,就像金庸的《连城诀》。

铁心怯懦到底

熬夜看中国队与沙特队的上半场比赛,感受跟看到首发阵容一模一样,就是:人可以被打死,不能被吓死。

一开场被沙特队带球一马平川横扫禁区前,足矣让对手轻视到骨子里。

下半场扳回一球后,看到中国队换人,想到的是《亮剑》,李云龙攻打平安县城关键时刻,高呼:意大利炮来!

结果下面回应:报告团长,花炮来了!

旧地帮忙思旧人

今天应急到朋友处临时帮忙,上次帮忙的时候还是暑假,跟小子一起去的。

2个多月不干同样的活,感觉手忙脚乱,脑子也快跟不上了,如果小子在,肯定比我有用。

一旦与小子联系在一起,总有一种不真实的感觉。

同一个地方,一起去跑步锻炼,一起帮忙的日子,感觉是那么遥远,而且一去不回。

这样的日子,与这样的感觉,我原先曾经无数次预想过,也有过心理准备,但真要成为现实,虽说不是不能接受,但总是怅然若失。

解决pdfminer与pdfplumber冲突问题

python处理pdf文件,网上一般推荐使用pdfminer3k和pdfplumber这两个库。但如果安装这两个库,则会发生冲突,主要是pdfplumber无法导入。卸载掉pdfminer3k也不起作用,因为系统还会保留lib/python3.8/site-packages/下的pdfminer目录。

网上的解决办法中,无论是按照先pdfminer3k后pdfplumer顺序的,还是回退pdfplumber版本的,都不起作用。

如果二者得兼,可以使用以下办法:

首先安装pdfplumber,然后将pdfminer目录改名为Newpdfminer。

再安装pdfminer3k,安装完毕后将pdfminer目录改名为newpdfminer,然后将原Newpdfminer修改回pdfminer。

Jupyterlab重新启动后,导入包的时候使用newpdfminer代替pdfminer,比如:

from newpdfminer.pdfparser import PDFParser, PDFDocument

from newpdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter

from newpdfminer.converter import PDFPageAggregator

from newpdfminer.layout import LAParams, LTTextBox

from newpdfminer.pdfinterp import PDFTextExtractionNotAllowed

这样就可以解决二者冲突问题。

不过测试了一下通过程序生成的pdf文件,号称以处理文本见长,但使用繁琐的的pdfminer3k出现了乱码,而简洁明了,以处理表格见长的pdfplumber反而没有出现乱码问题。