Linux下Lizzie+katago简单配置

今天在围棋论坛看到有网友提问,如何在linux下配置lizzie与katago。回答了几次关于权限、路径设置之后,问题总不能解决,于是决定自己在安装了ubuntu20.04版本的940Mx笔记本上从头配置一下。

首先从github下载了最新版本的Lizzie.0.7.4.Mac-Linux和katago-v1.10.0-opencl-linux-x64,为了配置简单节省时间,将文件解压到同一个目录下。然后在目录下下载katago的权重文件,并更名为默认的default_model.bin.gz。

首先运行katago,如果新笔记本,会提示两个问题,一是驱动未安装,二是缺少libzip.so.5文件。驱动可以在linux附加驱动中安装最新驱动,并重新启动机器。缺少的文件可以从网上下载,也可以自行编译。将文件拷贝至/usr/lib目录下,katago就可以正常运行了。

确保katago运行后,就可以通过java -jar lizzie.jar运行lizzie,待lizzie熟悉的界面出现后,会提示找不到Leelazero引擎。现在估计没有几个人再去用leela了,进入菜单中的引擎设置,将原先的Leelazero引擎设置行修改为./katago gtp,按照程序要求重新运行后,katago引擎就开始正常工作了。

lizzie与katago运行正常,除了慢,还有笔记本的滚滚热风吹出,似乎又回到了katago苦战Leelazero,连爬七手逆转的时刻。

为了软件更换系统

这几天把PC机硬盘划出一块,把最常用的jupyter转到Win10系统下了。
我这些年来运行服务器系统,都是避开Windows系统的,倒不是网上高手们所说的装13,只是早期学习应用中有过比较,同样硬件配置,Linux下正常流畅运行的无论虚拟机,还是数据库,转到Windows系统下,简直是自虐。
不是有偏见,术业有专攻,同样非要在Linux系统下模拟Windows的桌面,照猫画虎,同样是自虐。
这次换系统的原因,是为了使用kite软件。这款jupyter的辅助软件,无论是代码提示,还是变量记忆,服务快捷周到,效率提升,对我这样的低手来说,简直有种飞起来的感觉。
上一次为了软件更新系统,还是PAL。

微软两子云泥之别

近期倒腾数据,使用Excel多了点,发现虽然版本命名规则混乱,也不知道升级了几代了,诸如字符集等老毛病一样没改,而新问题又不断出现。
index函数,这是我使用次数最多,最熟练的函数了,居然总提示我嵌套错误。害得我恨不得逐字符检查,最后才发现,原来Excel把自增长序号,也认为是函数了。
估计也就是凭借系统垄断,否则这烂软件公司早倒闭了。
而另一个用的多的vscode,现在连网页编辑都设为默认软件了。它可是怎么看都不像是微软家的产品,简便、开放,快平台,真心不收费。
真不知道微软高层还有内部部门,怎么看待这个另类的自家产品。

再遭流氓软件袭击

这几天被流氓软件烦透了。整天提醒别人装软件要小心,结果自己中招了。
因为新服务器安装完后,为了方便数据备份转移,需要用到U盘,结果没用多少次的台电优盘,插到电脑上总是提示找不到设备。
因为心疼再买U盘的钱,准备使用软件把U盘量产低格,但官网现在没有提供量产软件,脑子一时短路,选择下载了搜索引擎前列的软件。
软件还没有安装完,桌面上就出现了大量的快捷方式图标。
先后安装了腾讯、金山的清理软件。不知道是流氓软件水平高了,还是清理软件十年多没有技术升级提高,还是说同流合污,蛇鼠一窝,清理下来,连流氓软件都找不到。
而那一个个什么大师,某某精灵还在层出不穷的在系统右下角弹出。
不过流氓软件虽然流氓,也有自己的规矩,那就是虽然在系统安装软件列表中隐藏,逃避卸载,但安装文件夹中,还是有卸载的程序。估计这规矩也是怕真正监管部门动真格的。
于是直接打开C盘下的软件安装文件夹,看到哪个文件夹可疑,进去卸载掉,宁可错杀,也绝不放过。
今天算是清净了。

无能插件险些冤杀老机器

昨天的DIY新服务之所以拖延一日,主要是老“服务器”的原因。原本前天晚上是准备完成数据处理工作后,乘兴将装机完成的。

结果在工作中,jupyterlab运行异常卡顿,敲代码居然都一顿一顿的。使用计算机这么多年,我一向是不怕慢就怕卡,因为卡起来直接影响思路和心情,否则也不会也分不清睡前还是梦中想出来如何设计数据模型。

当年我面对杂七杂八的机器,五花八门的问题,一般一手掂着螺丝刀,一面心中念咒:不行就拆了你,大不了就报废下岗。念完咒,机器能好了一大半。

按理说面对下岗,老机器应该更卖力才对,看来这招只是对公家机器可行,对自家机器不管用。

昨天上午终于忙完,看着这宁死不屈的待下岗机器,不由心中有愧,脑子也清醒了。心想机器效率再差,也不至于如此之慢。

后来一分析,估计不是硬件、系统问题,应该是软件问题。于是卸载了jupyter的代码辅助插件lsp,果然,系统顿时恢复正常了。

网上曾有网友调侃,装上lsp后,两分钟后才出现代码提示。由此看,果然不虚。

本来想安装lsp来提高效率,没想到拖后腿不说,还差点冤杀了老机器。

“迷你服务器”完工

昨天购买的机器配件到货齐全,把准系统开包后,本想一鼓作气把机器组装起来,但因为有工作急着需要处理,装机工作只能推迟到今天。

下午回家,首先把CPU拆包检查。这可是本次装机的配件中最贵的,也是机器的核心,装机的主角。

CPU选择的是服务器志强的E3 1265LV3,跟我上一台机器用的E3 1230V3是同门兄弟,都是4核8线程,TDP只有45w,考虑到集成了核显,所以在服务器运行中功耗肯定还会降低不少。

拆开机箱,安装CPU,涂抹硅脂,扣上散热片及风扇。散件安装完毕,将从京东购买的内存跟SSD也安装上了。

毕竟也算是DIY老手了,不一会机器安装完毕,直接连接到客厅电视上开机。运行正常,但在安装系统中电视屏幕找不到信号。应该是电视机太老了,而且联想准系统只有dp接口,通过转换口连接HDMI,估计电视在分辨率转换中不能正常识别。

于是转移阵地到电脑桌上,这次正常安装完系统。安装过程中机器噪音很低,散热片只是温温而已。

安装后摆上书架,跟原先使用思科路由器机箱的服务器相比,高大上了许多,性能应该更不是一个档次了。

完美的一次DIY装机。

入手联想准系统

前年这个时候,小外甥来济南,提到想跟我学DIY电脑。

外甥想跟舅舅学,自然很高兴。当时我计划中是先买一台准系统进行DIY,这样可以更简化地入门学习。

但两年过去,计划没有变化快。

前几天,家中的j1900服务器不止在处理PDF文件时已经不堪重用,就连ftp传输大量文件,CPU占用都接近满负荷,实在忍无可忍,于是DIY计划推后也罢,提前也罢,立即付诸行动。

只不过准系统由原计划中的戴尔9020改为联想M93P,无他,便宜尔。

机器到手,还没有一同从菜鸟驿站领回的泡菜沉。打开包装,基本算是全新的机器,而体积更是比我想象中还要小巧。

下一步就要看运行情况了。

计算机书籍的相对权威性

现在逛书店少之又少了,从网上买计算机类的书,有如隔山买牛。

之所以还要拼运气拼人品买书,主要是书籍相对网上的资料更具权威性,虽然只是相对而言。

网上技术类网文搜索下来,前面热门几页里面,重复率极高,基本都是采集后再发布。更有甚者,现在搜索排名靠前的链接中,很多都是搜索再链接的集合。

而这些转来转去的文章,已经不知道最初的老妈生在哪个年代,处在什么环境。即便原创,除却权威性,严谨性也非常欠缺,毕竟网文随意性太强了。

这次凑单买的MongoDB的书籍,虽然版本还停留在3,但能再版到第三版,也称得上权威了。买这本略显过时的书的动力,是因为近期学习中,看到网上颇火的一篇文章,在提到在建立集合的时候,要建立关联的集合,说这样可以避免臃肿。

虽是初学者,但我还是带着脑子。既然是nosql数据库,有别于传统关系型数据库的就是关联性,在nosql还注重关联性,那岂不是自毁武功?

买到这本书后第一件事,就是翻看有没有相关的内容。果然很快找到了其列出的经验法则:尽可能地使用内嵌数据。这种方式要高效得多,并且是可行的。

这也印证了我的理解。

在我理解中,传统数据库相当你进入一个档案室,给你一个号牌,你到各个分门别类的档案盒中查找资料,找到一个,根据手中号牌还有新找到的号牌,再找另一个。

每个档案盒相当于一个表,里面每份档案则是一条记录。

而nosql数据库如MongoDB,则是一个号牌直接从一个档案柜里拿出一份档案袋,基本的资料都在里面了。档案柜不叫表,而是集合,而档案袋则可以称为文档。

看来我还不算笨。

读计算机书厌恶之处

搬家后读书少了,自然也有借口。一是没有沙发,可以随时窝着读书;二是原先常读书之处,没有了放书或者kindle的地方。

最近找到放书的地方,看书,主要是计算机类书籍也就多起来。

对计算机书,虽然最近国内作者的书买的多了点,但我也不是崇洋媚外。国外很多作者写的也很一般,有的甚至让人厌恶。

计算机最讨厌买到那种照抄官方教程的,不少翻译水平也就是谷歌机翻的水平。这种基本属于花钱买气受。

我最近看不下去的《docker深入浅出》,属于另一种。那就是书中涉及到操作,无论是安装还是运行代码,都要把不同操作系统都摆出来罗列。重要的一次两次也就罢了,通篇都是如此,不止是生厌,而是有些抓狂了。

作者这样要么是显摆自己见多识广,要么是重复、重复再重复,增加书籍厚度,骗取稿费。

总而言之,不怀疑水平,也怀疑其人品。

Oracle免费ARM云服务器积跬步至千里

申请Oracle免费云的时候,除了2个1G内存的传统云虚拟服务器,还有4个基于Arm的核心和24GB内存的服务,可用作一个虚拟机或最多4个虚拟机。

后者说起来有些绕,简而言之就是最多可以建4个服务器,服务器加起来不超过核心和内存数上限就可以。但同时又有服务时长的限制,怕被绕进去掉坑里,还是小心建了一个2核心8G内存的服务器先运行。相比起1G内存的服务器,已经很宽裕了。

在前天通过docker在家里机器部署完成Odoo之后,不免动了使用云服务器部署Odoo的念头。今天早上干的第一件事就是登录Arm服务器,顺利安装完Docker,但在满怀期待pull odoo的时候,却发现镜像不支持linux/arm64。又到Odoo Nightly查看了一下,也没有arm版本的安装文件。

Oracle之所以如此大方的提供Arm服务器,显然是为了培养、发展Arm系统及其相关软件生态圈。这就像最初的安卓系统一样,现在谁还会说x86商业生态圈坚不可摧?