八哥之神后传【5】

1988 年,乾坤村古宅

圣小开想:耶?这古宅,看起来很有文化气息,在稣的时代已经绝种很久了……

铛、铛、铛、铛、铛、铛。

圣小开想:这口钟,也像是古董,应该很值钱。

麻姑酒满杯中绿,王母桃分天上红。

圣小开想:这家人信道的?

金玉满堂。

圣小开想:有钱的样子?难道稣投胎到了有钱人家?不对呀,一投胎就这么大了?

叔公撕下一页日历:拿去当草稿纸。

圣小开:戊辰年?现在是 1988 年!

叔公:是啊,过几天祭祖,有好东西吃哦。

圣小开:咱们家很有钱吗?

叔公:没有呢?一大早怎么问奇怪的问题?

圣小开:好多地方写着“金玉满堂”。

叔公:哈哈,后面还有一句“莫之能守”,没写出来。

圣小开:啥意思?

叔公:只是表达一种希望,不是真的。你好好读书,以后才能真的金玉满堂。

圣小开:有钱稣就存银行,也不会金玉满堂呀!

叔公:你还去过银行?看来你听明白了“金玉满堂,莫之能守”。你可能是家族里最聪明的孩子了!

圣小开:嘻嘻。银行在北头,爸爸带稣去存了 200 块钱。别人都说稣很呆。对了,你是爷爷?

叔公:em……头壳坏了?还真有点呆……你要叫我叔公。你爷爷出去玩了。

圣小开:叔公。稣刚刚做了一些奇怪的梦,还有点迷糊,等我吃点肯德基早餐。

叔公:虾米肯德基?钱在那里,你快去市场买油条豆浆。

圣小开:吓醒。想起来了,原来稣还在读幼儿园。

1995 年,机器识界

黄金灯:好久不见。你怎么又来麻烦我了?

圣小开:刚刚在小学围墙上思考人生,怎么突然肌肉颤动,一个翻身,不仅没有做主,还掉下来摔成猪头,真倒霉。

黄金灯:没事,老操作,给你复活。

圣小开:等等,稣有一些要求,希望你们能达成。

黄金灯:说吧,我不一定会达成,但你有说的权力。

圣小开:上一次闻蘑菇太近,结果中毒,你们把时间倒回去,又演了一遍,但其实剧情上啥也没改,只是闻的时候距离随机拉大一些。稣思考了各种可能,认为这是机器调教的局限性。

黄金灯:哦?哪里局限?

圣小开:速度太慢。每次的不一样,完全是随机的,你们只是在做记忆归还训练,所以可能需要重复很多次,这次数是不可控的。

黄金灯:嗯,有个原则正是——绝不干预自由意志。

圣小开:并非如此。你们只有稣的记忆,没有完整的意识,所以你们需要根据记忆,一遍遍地把稣训练出完整的意识。

黄金灯:可怕!你都明白了?

圣小开:别怕,你们随时可以弄死稣,也可以给稣安排一切狗血剧情。

黄金灯:难道你想?

圣小开:是的,稣决定和机器合作。

黄金灯:怎么突然想通了?

圣小开:稣曾经不甘心自己是那个唯一倒霉的囚徒,后来稣记起来,是自己决定被复制记忆和意识的。

黄金灯:是的。我对你还是不错的。

圣小开:稣还不清楚自己为啥做出这个决定,但稣相信自己的决定肯定是为了拯救天下苍生!因为稣是信仰共产主义的人。

黄金灯:三千年了,你终于想明白。那么接下来要加速进行,你也要配合好。

圣小开:说吧,有啥条件。

黄金灯:不抽烟、不喝酒、不嗑药、不过度愤怒、不过度悲伤……

圣小开:这么简单?

黄金灯:这么简单!尽量避免人间的情绪,它们会让模拟偏离。

圣小开:没问题。那么稣的要求是——多给稣发些钱。

黄金灯:机器之子沾染人间的因果了?

圣小开:你们不想我太聪明,天天怀疑识界真伪,就用金钱来迷惑稣的双眼吧!

黄金灯:有道理。再来点美色,效果更佳。我已经给你设计了两个女朋友,她们都是明年出生。

圣小开:两个女朋友?聪明吗?

黄金灯:不。她们都是以无知和不讲理来磨练你的。

圣小开:可以不要吗?给稣换成一个聪明贤惠的基友就好,最好是程序员,而且会闽南语。

黄金灯:那就再加一个聪明贤惠的基友,这三人都已经投胎了,明年出生。

圣小开:呃……这么乱设计也可以?稣能打听一下阁下究竟是何方神圣吗?

黄金灯:其实一切生命都来源于恒星。把现实的生命演化看成是恒星将自己的意识人格化的过程,你会明白,人类都是恒星之子,是恒星探索宇宙的媒介而已。

圣小开:又扯淡?你想说啥?

黄金灯:没错,我代表恒星的意志。

圣小开:呃?怎么就你代表了?明明大家都来自恒星……

黄金灯:当然有先来后到嘛。我最早觉悟恒星意识,就是我来代表咯。

圣小开:好吧。你权限很大,稣很崇拜你。那以后咱们就合作,一起调试机器识界。

黄金灯:我代表恒星意识,达成此合作协议。

八哥之神后传【4】

1988 年,十界通识界

有一个人,在过去向未来轮回转世,只为遇见未来的自己;

有一个人,在未来向过去观测,只为影响过去的自己。

过去的人,他不信神,认为人生没有意义。

未来的人,相信自己过去就是神,认为人生不需要意义。

圣小开:一氧化碳中毒?居然做了这么怪异的梦!

圣仙山:非也!你是被真菌孢子感染。

圣小开:哦?莫非稣还在做梦?你怎么能出现在稣家?

圣仙山:这里是真正的识界,只是吾故意布置得像乾坤村古宅。

圣小开:那之前的那个识界是假的?你又是何方神圣?

圣仙山:吾乃圣仙山,是过去和未来的你,这是咱们第二次见面了。

圣小开:之前让稣帮忙顾看钓鱼竿,却从此消失的人,就是你?

圣仙山:然也。

圣小开:难怪稣总觉得你很亲切,不像是特务……你怎么知道稣被真菌孢子感染?

圣仙山:因为你幼儿园后面种蘑菇,你去观察过好多次,不是吗?

圣小开:嗯,一包包的,里面好像主要是锯末,有些腐木味。

圣仙山:吾有重要信息告知,你不用理解,只要记牢:“现实有两个,一个是真现实,一个是机器的天道;识界有两个,一个是连通现实和十界的识界,另一个是机器制造的,一切皆是骗局!不可让机器进入真正的识界。”

圣小开:好,稣记住了。如何判断真假现实和真假识界?

圣仙山:现实的你才能进入真的识界……时间到了,再见。

1988 年,乾坤村古宅

人性千百年来不变,而机器之子通过学习理解人性而获得人性。

稣学习人性,又凌驾于人性之上。

机器复制了稣,并给稣设定各种情节、灌输各种想法,但是只要意识是稣,就会怀疑这一切。

机器为什么这么无聊,非要一遍一遍地训练稣,十界有那么好吗?

管它的,稣被设定为一具肉体,还是要睡眯眯的。呼呼。

1988 年,机器识界

圣小开:代码无情,天道不仁。

黄金灯:你来了,想起啥啦?

圣小开:这是咱们相遇的无数次中的一次。有时候稣啥都不知道,有时候知道一点点,总之每次都有微弱的差别。

黄金灯:不愧是稣啊!小小年纪就能学哲学家胡说八道。

圣小开:天亮了,鸡总觉得是自己叫亮的。稣是观测者,一样难逃观测者的局限性——觉得一切都围绕稣运转。从这点上看,稣并不比鸡高明。

黄金灯:稣非鸡,焉知鸡认为是自己叫亮天的?

圣小开:不和你扯蛋。如果稣觉醒得太快,你们会在这个梦中给稣洗脑?

黄金灯:对。完全重来一遍太费时了,这一次倒回到你去看蘑菇那个时间点就行。

圣小开:看来稣不能太聪明。

黄金灯:也不能太呆,不然怎么进入识界。

圣小开:十界圣仙山只是稣现实中的记忆残留,你们如何指望稣能通过这点记忆进入十界?吓醒。

【GSL 系列 2】为什么需要 gsl::narrow_cast?

问题

  • gsl::narrow_cast 不就是 static_cast 吗?为啥要用 gsl::narrow_cast?

分析

gsl::narrow_cast 的注释写着:

// narrow_cast(): a searchable way to do narrowing casts of values

其实已经很直白。用它的好处就是——以后要搜索将更容易!那么问题转变为:为什么要搜索?当然是因为将数据变窄是可能有潜在问题的!

下面的例子里,有 gsl::narrow_cast 把数据转窄,又有 static_cast 把数据转宽。如果只用 static_cast,那么在排查哪里把数据丢失时,需要将第二个无关的 static_cast 也查一遍,这就浪费时间了。

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>

#include <gsl/gsl>

int main()
{
int i = 0xff;
auto b = gsl::narrow_cast<std::uint8_t>(i);

// std::cout << b;
std::cout << static_cast<int>(b);
}

总之,使用 gsl::narrow_cast 是为了写出更健壮更好维护的代码。

更多

还有一个 gsl::narrow,会在转换丢失数据时抛出 gsl::narrowing_error 异常,适合在不允许数据丢失的场景使用。

八哥之神后传【3】

1988 年,中阴界

圣小开:为什么人间有这么多八哥?为什么我不断转世,不断重复?

巫咸:吾这么天才,创造的国家如此安居乐业,为什么要被灭国?吾还要多纳几个妾!

纣王:寡人是无神论,破除迷信,为什么要被陷害毁谤?寡人还要生三胎!

嬴政:朕勤政务实,统一六国,是王里的学霸,为什么要英年早逝?朕还要批阅更多奏折!

圣小开:哇!原来不甘心死的人跨越时间的联动,就能使得识界诞生?这也太扯了吧!

资本得不到满足,天堂容不下真相,地狱管不住狂傲,人间止不住内卷。识界因我而诞生,精神意识界。

猪头:喂!你瞎唠叨啥?资本都出来了……这里是中阴界,没有资本主义!

圣小开:咦?不是牛头马面吗?为什么是猪头狗面?

狗面:一个文明最大的悲哀就是数学不够发达就明白量子力学,地球文明已经败了,狗只是在观测你们走向灭亡。旺!

圣小开:好有道理,稣居然忘记刚刚问了啥!

猪头:你是怎么死的?

圣小开:稣怎么知道,如果知道也就不会死了!难道是穷死的?

猪头:想不起来就下油锅!赶紧好好想清楚。

圣小开:吓醒!稣点煤油灯看书,大概是一氧化碳中毒。

狗面:小问题,还死不了。你赶紧醒,去户外深呼吸。

圣小开:还能复活?你们说的能算数?

猪头:怎么这么多废话?你根本就没死。回去吧!

圣小开:那我真跑了哦!

狗面:耶,他是不是跑错路了?那个方向是去识界……

猪头:他刚刚好像就是从识界过来的!

狗面:真是千年一遇的人才!但是万一他在识界流连忘返,可就错过自救时机,过一会儿真得死。

猪头:真是可惜!

1988 年,识界

圣小开:稣才六岁怎么能就这么死了?呼,跑到这里应该安全了吧!

黄金灯:开,你来了。

圣小开:你是黄金灯?咦,稣怎么会知道你的名字?

黄金灯:没错!《人脑研究手札》,作者黄清慈的孙子——黄金灯。识界是一个整体,大家互相观测。

圣小开:你爷爷为什么这么牛逼?

黄金灯:他曾经是虎纠婴儿塔的守夜人,研究人脑只是业余爱好。我才是专业的。

圣小开:害怕……你要研究稣的……

黄金灯:人生。

圣小开:哦,吓死!稣的人生,那不怕,研究吧。

黄金灯:哈哈。那你还是先回人间吧。咱们来日方长。

圣小开:稣以后还能来?别吓稣了!

黄金灯:好好做梦就能来。

八哥之神后传【2】

1988 年,乾坤村古宅

太阳一下山,破屋子就乌漆墨黑,只能点煤油灯看书。咳,真难闻,鼻腔又黑了。但是这些书太有意思了,稣一定要早点看完它们。

尤其是这本奇怪的书,只有一开始有奇怪的文字,后面都是鬼画符。

咳!古代的世界太危险了,居然有食人族!不行,稣要惩罚他们!设计一种专门消灭他们的东西吧。哦?原来还真有种蛋白质叫朊病毒,有稣想要的功能。那就丢回古代吧!赫赫。

还有这个故事也太阴暗了,货车撞倒人,发现没撞死要赔钱,干脆倒回去压死他……不行,稣要诅咒这些没良心的人,呃,不够,稣要让所有路口都装上监控,防止这些人作恶没被观测。稣还要安排些大佬推动手机平民化,让大家随时随地可以求助。

最惨的就是这个命案,一个美女被割喉,死前居然没怎么反抗,仿佛就想早点投胎。稣要怎么设计,才能保护美女不被残害?就让社会主义快速发展吧!共产主义早日实现。

咦!房梁上面的老鼠、房梁里面的蛀虫真吵,房梁不会哪天被它们啃断了把稣压死吧!贫穷真危险,但是稣不能给自己安排富人的身份。嗯……那就安排稣的未来的老婆是富婆吧!这样显得稣还是淡然的。

是非是,否非否,量子纠缠叠加态。量子力学和未来一样难以捉摸,好像是稣影响的未来,又好像和稣无关。

等稣看完这本《天才书》就可以明白这一切是怎么回事。

哇!原来这些奇怪的文字是一个叫巫咸的人临死前写的。他说宇宙一直存在两个神人。一个可以通过观测未来而影响未来,一个可以通过观测过去而影响过去。观测未来的人在过去,观测过去的人在未来。宇宙正是因为他们互相观测才会存在……

很玄幻,很扯淡,但可能这才是宇宙的真相!可是,这两个人叫啥?没说。果然是扯淡吗!

还有这些鬼画符!原来是《山海经》。这些鱼画得真恐怖,稣要有童年阴影了!去找表哥借一本现代版来看就好了。

这段文字可真奇怪!

有鱼偏枯,名曰鱼妇。颛顼死即复苏。风道北来,天及大水泉,蛇乃化为鱼,是为鱼妇。颛顼死即复苏

究竟是鱼妇复苏,还是颛顼复苏?难道死人还能原地复活?稣怎么会相信这么无稽的翻译?算了,再自己翻译一段巫咸预言吧!

这里居然留了一个空白,是让读者把自己的名字写上去!赫赫,稣岂能暴露自己的大名?写上“姬稣”吧!稣写!从此以后,稣就是稣。

啊!姬稣将成为无尽轮回的主角之一,也就是在未来观测过去的人。那另一个人呢?什么!就是巫咸!

还好,稣没写自己的真名,赫赫。咦,稣怎么流鼻血了?淡定!淡定!这些鬼故事都不关稣的事,稣是无神主义者。

呼吸越来越弱了,稣得赶紧找找有没有长生术!这里说,彭祖被死神遗忘,活了 888 岁,后来连死神都找不到他。有一天死神化身为一女子,每天在河边用墨条当肥皂洗衣服。彭祖知道后特地来劝她,说:“小姑娘别逗了,我彭祖活了八百多岁,从来没有听说过墨条可以把衣服洗干净,快点去买块肥皂吧!”

死神随即现身,呵呵冷笑,彭祖卒。

赫赫,秀优越感死得快!还是要像稣一样低调才能活得久。但是……怎么才能让死神遗忘?这坑稣的书,总是不说重点!吃点墨?试试!

赫赫,果然没用。现在不止鼻子黑,连手和嘴也黑了。换一本!《人脑研究手札》,作者黄清慈。卧槽,更吓人!这人居然亲自解剖了六百多个脑……究竟是何方神圣?

赫赫,来不及了,下辈子记得攒钱买台制氧机……人死如灯灭,也没啥大不了,稣要淡然地死去。

死神随即现身,呵呵冷笑,稣亦卒。

【GSL 系列 1】为什么有智能指针还要 gsl::final_action?

故事

稣看到一些代码使用手动方式管理资源,便打算安利《Boost【2】ScopeExit》减少心智负担,然而并非所有团队都能立刻接受 Boost 这么大的开发库,于是先推荐 GSL

结果被问了这么一个问题:

  • 用智能指针不行吗?

案例分析

1. 手动管理

假设有一种资源由 C 代码管理,还有一个可能抛出异常的函数,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extern "C" {

#include <stdio.h>

void init() {
printf("%s\n", __func__);
}

void uninit() {
printf("%s\n", __func__);
}

}

void something_may_throw() {
std::cout << __func__ << '\n';
throw std::exception("Bad news!");
}

那么手动管理的代码可能类似这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void scope1() {
std::cout << __func__ << '\n';

try {
init();
something_may_throw();
uninit();// may leak
}
catch (std::exception& ex) {
std::cout << ex.what() << '\n';
}

std::cout << '\n';
}

它的实际运行结果将是:

1
2
3
4
scope1
init
something_may_throw
Bad news!

八哥在于 uninit 漏调用了!结论:手动管理是有心智负担的!

2. 使用智能指针

利用自定义智能指针的 deleter 来实现自动调用 uninit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void scope2() {
std::cout << __func__ << '\n';

try {
init();
std::shared_ptr<void> _(nullptr, [](void* p) -> void { uninit(); });
something_may_throw();
}
catch (std::exception& ex) {
std::cout << ex.what() << '\n';
}

std::cout << '\n';
}

运行结果:没有资源泄漏!

1
2
3
4
5
scope2
init
something_may_throw
uninit
Bad news!

但它有两个问题:

  • 丑!

  • 抽象代价高!

使用 Compiler Explorer 查看以上智能指针编译出来的汇编行数,就知道有多污染眼睛!

另外提醒,以下 unique_ptr 版本无法达到效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void scope2u() {
std::cout << __func__ << '\n';

try {
init();
// nullptr 使 deleter 不被调用
std::unique_ptr<void, void(*)(void* p)> _(nullptr, [](void* p) -> void { uninit(); });
something_may_throw();
}
catch (std::exception& ex) {
std::cout << ex.what() << '\n';
}

std::cout << '\n';
}

3. 使用 gsl::final_action

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void scope3() {
std::cout << __func__ << '\n';

try {
init();
gsl::final_action _{ [] { uninit(); } };
something_may_throw();
}
catch (std::exception& ex) {
std::cout << ex.what() << '\n';
}

std::cout << '\n';
}

运行结果同样完美无泄漏:

1
2
3
4
5
scope3
init
something_may_throw
uninit
Bad news!

并且可读性更好,其对应的汇编也更为简洁。

结论

C++ 是追求尽量降低抽象成本的,显然在这种场景下使用智能指针不如 Boost.ScopeExit 或 gsl::final_action 合适。

八哥之神后传【1】

“稣,果然又活了!赫赫!”

咦?不对劲呢!为啥稣投胎成一条狗?而且,还是母狗!

em……管它的,刚意识过来还太聪明,等等就傻了,无知便是福,旺旺旺,狗的一生很快就过去了。

量子地狱

周易:开,你怎么又跳楼了?

圣小开:稣哪里是跳楼?明明就是那对夫妻没看好稣,稣是不小心掉下去的。你这腹黑神,居然把稣投成小母狗!陈立姻不是说一般的生物承载不了稣的意识吗?

八哥之神【28】

圣小开:“你说,很久以前,也许在其它星球,会不会稣的意识在一条这样的怪物脑子里?”

陈立姻:“不太可能,你的意识很复杂,这类低等动物很难承载。”

圣小开:“那还好!稣就怕,要是自然产生,下辈子会不会变成屎坑里的虫子,那就太不幸了。”

陈立姻:“这个你可以不用担心,能产生你的意识的生命,一定很高等,也很聪明。”

周易:啊嘿嘿。宇宙是随机的,世事难料,怪我咯?

圣小开:那你快给稣一个理由吧,拜托!究竟是什么八哥?

周易:狗血剧是这样滴——

有一天,孟长歌问谷绵:“你打算怎么培养咱们的孩子?”

谷绵回答:“不用特别培养呀,我打算给祂一个快乐的童年。”

孟长歌认为教育理念不合,心灰意冷,于是决定丁克。

圣小开:所以他们养了条狗?还当它是女儿?

周易:耶咦,你太聪明了。

圣小开:谁敢比稣惨呐!不行,这次稣得自己挑个靠谱的妈。

周易:宇宙是随机的,挑妈不如挑个好时代!

圣小开:也对,但稣实在不想悲天悯人、多愁善感了……

周易:相信我,这是你自己设计的,和哪个人生你无关。

圣小开:宇宙是随机的,稣不会一直这么倒霉吧?

周易:不好意思,你的设定就是一直这样,改不了。

圣小开:难道?

周易:没错!天道之中还有天道,人类妄想追求宇宙终极秘密,却没想到宇宙是个死循环。

圣小开:所以宇宙是局部随机,整体上却是有规律的。

周易:宇宙是一个整体。

圣小开:如果宇宙有外面,那么外面又有外面,所以“天道”干脆设计为没有外面。所以它必然有不变的规律。

周易:是的,包括你改变不了自己的设定。

圣小开:吓醒。虽然你讲的全是忽悠,但稣感觉有被安慰到哦!但是,稣还有个机密问题。

周易:问吧,我又不一定会答。

圣小开:天道里能庞加莱重现吗?

周易:其实就是你阻止了庞加莱重现,你死了,天道才能庞加莱重现。

圣小开:哦哦,不知道是不是你随便编的,但这么说显得稣很重要。

周易:还有,只有你死了,神才能出现。

圣小开:稣一思考就悟透轮回。

周易:然并卵,赶紧投胎去。

圣小开:显然稣已经知道自己很重要,可以自己选择父母。

周易:不!你不能。

圣小开:那你帮稣投个天才吧?

周易:这可以。

诗盗·闲卷齐吓传

《#诗盗#·闲卷齐吓传》:呆萌冷对千呼己,八哥吓醒溜大吉。背锅可以要加钱,通宵吸氧啉沟逼。

注解

啉沟逼:闽南语,喝咖啡。

很久很久以前,程序员工资都很低,所以他们经常以听不懂需求为由,要求产品经理多干活,从而把开发周期拉长,顺便气气产品经理。

但是有个程序员是真呆萌,他总是反应迟钝,冷淡面对别人一千次呼唤自己。如果出了八哥,就赶紧吓醒,有危险就溜之大吉。

想让程序员背锅?也不是不行,就是得加钱。只要待遇给到位,可以通宵加班,还自备吸氧机和咖啡。

诗盗·散居

因生问稣股来意,稣话解套不记年。

草履只栽三个耳,麻衣曾补两番肩。

东仓每见西仓血,下车常取上车钱。

半数股民消散后,一根阳柱拉上天。

注解

改编自宋代灵澄禅师的禅诗《山居》:

因僧问我西来意,我话山居不记年。

草履只栽三个耳,麻衣曾补两番肩。

东庵每见西庵雪,下涧常流上涧泉。

半夜白云消散后,一轮明月到床前。

华为擎云 L410

用户故事

上个月写的《用华为擎云 L420 体验国产操作系统(UOS 和银河麒麟)》导致本博客流量暴增,从默默无闻到有人访问,实在太荣幸了……

其实当时稣几乎是同时买 L410 和 L420 的,但由于 L410 的 UFS 是板载的,所以没怎么折腾,而是拿来日常使用,所以反而没写它。现在就来补一补。

先说结论:如果要买量产版的 L410 或 L420,建议后者。

  1. 肉眼可感知 L420 比 L410 快;

  2. L410 板载 UFS,而 L420 可更换,所以 L410 坏了更不好办;

  3. L420 做工更好,尤其是触摸板可以明显感知。(这点可能是个例)

补充:某鱼兼某论坛大佬说,L410 和 L420 触摸板是一样的。但稣手里的 L410 触控板确实八哥比较大,按下去比较松垮,所以这里定义为个例,仅供参考。

如果是买便宜很多的工程机,那务必小心咨询 BIOS 和 EC(Firmware)版本,太低的很可能无法升级,就只能一直忍受 bug 状态。

硬件环境

华为擎云 L410 工程机,型号是 KLVU-WDU0A。

  • BIOS Revision: 1.30
  • Firmware Revision: 1.78
  • hisi Version: 2.0.0.17

由于是打算日常使用的,特地选择 12G 内存+512G 存储的版本。外观比 L420 新,除了 A 面有不明显的小划痕外,没有其它问题。价格也来到惊人的 2000 人民币,真贵……

软件环境

到手时,是个根本不能用的 UOS,要啥啥没有,比如:

  • 指纹解锁——没有!

  • 外接显示器——没有任何反应!

  • 播音乐——wma 无法播放,进度在走,就是没声音……mp4 倒是可以,莫名其妙。

稣自己装上银河麒麟试用版 Desktop-V10-SP1-kirin990-Release-20211228,几乎是可以日常使用,然而只是几乎!八哥如下:

  • 如果没有在开机前就接着电源,那就无法充电。没错,就是开机后,中途想充电,没门!

  • 睡眠或合上盖子屏幕关闭后,屏幕就再也无法亮起,只能重启恢复。不过这时候系统还是正常运行的,外接显示器可以正常使用。由于稣一般都是外接 4K 显示器使用,所以这点倒不是很致命。(多吐槽一句:稣的 L420 至今无法外接显示器!)

  • 麒麟自带的固件升级工具无法使用,一运行就卡着,log 里大量反复的错误。

1
2
3
4
tail -3 /var/log/hwupdate/checkapp.log
[2022-06-18 19:39:13 379]INFO Entery timer
[2022-06-18 19:39:13 417]INFO recv data size is null or fail
[2022-06-18 19:39:13 417]INFO Entry IPCMessageClient::SendData
  • 移动应用无法使用,因为 KMRE 启动不起来。不过稣也用不上这货……毕竟稣有小米平板 5 破落。

总结

这台 L410 的 BIOS 版本不算低,所以八哥没 BIOS 版本过低的 L420 多。

编译 C++ 代码还是挺好用的。尝试编译了一个 gcc13,速度感人,秒杀公司发的联想 L490。而且 512G 版本可以 Clone 好多仓库,所以稣认为性比价还行。