见地

一个进程的意义,或在于,它有它要执行的任务。

有的为了调度,有的为了计算,有的为了IO,有的为了传输。

一个进程的意义,或在于,它要为后续的进程创造条件。

在时空里埋下线索,为后续的crash保留好进程上下文。Debug的过程或许痛苦,但是螺旋式上升(或者下沉)必须经历。

一个进程的意义,或在于,它要代表一颗星星,静静地挂在内存的夜空。

很久没有写字了,但却从未停止思考。这么一方小天地,自是无人问津,可以畅快表达。

永恒的事物,必要时间去证明它的价值 – 或是它的荒诞。

思考太多却很少见诸笔端的主要原因有三:

一是不够自信,一直处于自我怀疑之中;
二是读书太少,更加不敢开口,怕暴露智商;
三是不敢胡说,文字表达天生存在缺陷,开口即是错。

在我自己开辟的一方赛博领土之上,我倒是愿意说一些莫名其妙的真话。但最好也是猥琐到让人不能轻易看懂,自己也安全。

今天就来谈谈,很久以来,一些一直在思考却从未有结果的事情。我想很多我早已想通的道理,而世界却未必明白。

所以我将它写下来,孤独的思想者,把一切苍白的辩驳都交给时间。

眼前的光景,是荒唐的人间。世界观没来得及稳固就被颠覆的感觉,不知道是否有人能够体会。

我们的生活,B站、抖音,歌舞升平,一浪高过一浪。生活仿佛从未发生变化甚至快要高潮一样,而这正是当下最该警惕的地方。

不禁想回忆起,从什么时候开始觉得生活变得逐渐不一样?我觉得是从2012年。

混沌中心

混沌是什么?混沌是无法描述的,就如此刻我想诉说的事物,它无法被琢磨,无法被找寻,无法被把握。

但能清楚的感受到它的存在。更进一步的,是能感知到,它将去向哪儿。

我们身处混沌的中心,眼前充斥着一切迷雾,混沌假以掩饰,令我们亦步亦趋。

我们的生活,如今被互联网所支配。而互联网是一个无法停止的事物,一旦启动,就必将改变眼前的一切。

而有一些价值观,需要被表达,也是此文的意义。

可能有些人,看到这里,就不再继续读下去了。这也正是每当想要对这个世界阐述一种立场时,最悲观的地方。

黑客精神

黑客在看待一个问题时,首先是质疑。如果想要知道一道上锁的门是否可靠,只需要推敲即可。记住,质疑,再然后是推敲。

世上之事,大抵如此。从SQL注入,到人生的意义。其实世上之事,大都经不起推敲。

地球上所有的信息系统,都有漏洞。甚至可能连数学理论本身都有漏洞。如果你认为printf(“hello world\n”)这样的代码不会有漏洞,请看看射线导致磁盘、内存位反转的案例。类似这样的,甚至更加古怪的问题,人类黑客,可能永远也无法发现它。而很多时候逻辑深处的漏洞,甚至比物理漏洞还要隐蔽。之所以常人觉察不到,仅仅是因为认知和格局还无法辅佐我们抵达。

可悲的是,如今大部分具有黑客思维的人,所从事的工作,竟然是在给这个世界上最愚蠢的程序猿们开发的CRUD系统寻找所谓的安全问题!更可悲的是,很多在质疑和推敲方面具有良好潜质、良好的思辨能力的选手,竟沉迷在这样的工作当中无法自拔,自我满足。

黑客生存的意义,绝不应该局限在给信息系统寻找漏洞这件经不起推敲的事情。当好不容易具备了与别人不一样的怀疑视角,一定不要把这种能力埋没在和傻瓜比数数,以及指导他们做作业这些无聊事情上。而是应该去研究金融、经济、Politics、管理。当然,如果你的脑核足够富余,哲学和数学更是个不错的选择。

只提出愿景,而忽视现实,是非常惹人讨厌的。你可能会说,黑客也是人,黑客要吃饭,养家糊口,就必须去做一些很傻的事情。其实这是经不起推敲的,看透一切事物的本质,便知道物欲也是虚无。穷且益坚,求真务实,就成为了一个黑客该有的​追求。

其实,只要能理解,这个世界上,大部分事情,都经不起推敲的​道理,就不会再去追求物质。

​​就说金钱吧。在以黑客思维去看待地球文明时,货币系统只各个互斥的群体为了内部耦合与外部协作而构建出的一套​算法罢了。货币、贵金属、古董,乃至一切等价物,都只是对​价值结构体的引用罢了。

个体的贫穷和富有,取决于这套算法的​实现逻辑。掌握了这套算法,未必能实现富裕。有commit的权限和编码的水平,兴许倒可以实现利益最大化。

但是跳脱出这个系统,才是黑客精神。仅仅沉迷在这套系统之间,还是​没有意义。

在无垠的大地,广袤的草原上,生活着一批原始人。

他们以部落的方式群居,身体强壮的人负责打猎、种植,心灵手巧的人负责编织、烹饪。

部落里需要饮水,于是年老的长者带领着大家从遥远的河流里,往部落挖了一条沟渠。

至于为什么他们不直接搬到大河边居住,也许是因为河边土地过于松软吧,部落的土房子还无法适应那样松软的地表。

日子就这样,年复一年。

对了,在沟渠挖好以后,部落里除了打猎、编织的人以外,又多了一类人。

他们因为住的离沟渠比较近,可以很轻易地打到水,所以,他们开始一个新的工作,卖水。

不过,在原始人的世界里,没有“卖”这个字,他们也理解不了这个行为。

他们只是用打好的水,去和部落里的其他人换取一些猎物和织好的布。

日子就这样,年复一年。部落的居民也没觉得有什么奇怪。

这确实不是什么奇怪的事情。

毕竟,每个打猎回来的傍晚,打猎的人实在很累,也确实不想再亲自去渠边,拎那么一捅水回来。

他更愿意,拿自己多分到的一只野兔,去和住在沟渠边的人换一桶水。

这样看起来,整个部落的协作,反而变得更高效了。

卖水本身合情合理,也不是什么坏事,反而是一种善举。

这世界本就是这样,很多事情的发生,都有一个善良的初衷。

这件善良的事情,一致这样延续着,年复一年。

直到过了很多年,部落里有了一个聪明人,他居然用木材做成管道,可以更方便地引导水的流动。

一开始部落里的人只是以为可以多一种运输材料。

可是谁知道,有一天,一个原始人居然跳出来说,既然我们可以做成这么方便的管子了,为什么我们不把水供应到部落的每个居民家中呢?

这样,我们就可以不需要从沟渠里取水了!

猎人很开心,他送给这个提建议的伙伴一头野猪,感谢他提出这么具有建设性的思路。

但有一些人,他们不开心了。那就是原本住在沟渠边卖水的人。

这么些年,他们早已经忘记了怎么打猎,甚至,他们当中有的已经开始刻意逃避打猎了。

他们只知道怎么高效地取水、换野兔。

使用管道供水,就意味着,部落抛弃了他们。

管道,可以让猎人不用拿野兔换就可以喝到水,虽然猎人们同样需要用野兔去换一根可以供水的管道。

但却让渠边的人的生活,发生很大的变化。

提议用管道供水的人,他有错吗?他只是一个颠覆者。

发明管道的人,他呢,有错吗?他只是热爱发明。

猎人有错吗?他只是不想再用野兔换水。

在沟渠边卖水的人,有错吗?他只是在用劳动为别人提供方便。

没有谁有错,只是环境需要演变,部落必然要向着更高效的层次转变。

守旧者害怕改变,固执坚守。

颠覆者陷入困局,遇到阻力。

听说在有的部落,甚至因为这些,在内部起了冲突。好在这个部落没有。

最后,事情怎么样了呢?

部落开会决定把供水管道的建设和维护工作交给这些只会卖水的部落居民,让他们继续发扬奉献精神,为部落提供方便。

事情顺利推进了。

一个互害型社会,谁也逃不掉,谁也躲不开。正如雪崩时,没有一片雪花是无辜的。
希望此文可以引起我们共同的反思。

每天披星戴月地上班,走过熙熙攘攘的人群。

可曾想过,这一切繁荣与庸碌,是谁的宏观设计?

你收到的需求,你交付的方案,是谁在帷幄运筹?

今天下了雨,早上你过马路时,匆匆踩了脚油门,溅起的雨水淋湿了一位路人。

路人十分郁闷,带着糟糕的心情草草应付了上司催促的图纸 – 他是一位建筑师。

若干年以后,在你经过最多的路口多了一栋很丑的楼。

你觉得看起来无比别扭,别扭到甚至影响你的心情。

可谁能想到这楼之所以别扭,起因竟是那天飞溅的雨水?

那天的建筑师因为心情不好,还骂了手下的工人几句。

工人感到很不平衡。自那以后,他手里的螺丝,就从没拧紧过。

他心里想,反正建好的楼,最后也轮不到自己住。先倒霉的也是别人。

后来楼真的倒了,一次惨烈的事故。

一个在事故中失去亲人的受害者疯了,去校园里施暴。

保安眼睁睁看着孩子们受到伤害,不敢上前。

他心里想,反正受害的不是自己的孩子 – 更何况,他因为买不起那倒掉的楼,根本没有老婆。

你在广播里听说了这件事,庆幸还好自己的孩子不在这座校园。

庆幸的同时,更加用力地踩了脚油门,并没有感觉到,这又是一个雨天。

Linux和Linux是有区别的。

按Boss的要求在一台CentOS 6上面部署业务,我写的程序是一个基于Rails的Web调度页面,下面挂了一个Python写的数据处理程序。

部署时候被几个小问题折腾到现在,头晕脑胀,来这里发发牢骚。

首先是CentOS6的源里面缺少太多必要的软件包,Rails的SASS相关的GEM用不了,好在界面简单,直接砍掉了这些GEM,搞定。

然后CentOS6自带的Python版本是2.6,根本无法通过pip去装我要的包。

于是在源里面找Python3,安装以后,pip3可以装我要的第三方包了,但装好提示无法使用。

因为rh源里的Python3装完是在/opt/rh/XXX目录下的,即使在/usr/bin/建立了软链接,site-packages里的包也照样用不起来。

归根结底还是因为我的Python水平太菜了,不知道怎么处理Python的依赖问题。

再然后,想着不用rh源里的Python3可能会好点,于是下了源码包编译安装。可是加上–with-ssl选项编译后,自己编译的Python仍然没有ssl模块。

而pip3在线安装依赖包时,又需要使用ssl模块去和pypi.org建立连接。

好吧,那就直接去Pypi上直接下载whl回来安装吧,可是安装好以后又报一样的错,提示找不到模块。

到这一步我是很绝望的,并不是因为自己解决不了这个问题,而是因为根本不想和这样简单又没有意义的问题死耗着。

2019.06.13更新:解决方法

首先这种问题是显然可以解决的,我们先从战略上和战术上一起忽略它,但是这个繁琐的纠缠过程引发了我的如下思考。

理论上来说,这种配置层面的问题,是完全可以通过合适的底层平台来避免的,例如使用更新的操作系统。

已经9102年了,再用CentOS6显然是不合理的,然而仍旧有一批干活的人,喜欢死守陈旧的东西。于是,整个生态就全都需要迁就于这个搭建底层系统的人。

工匠的时间,应该花在更值得琢磨的事情上,而不是解决一个又一个这样的脚本层面的脑残问题。浪费时间的同时又不能给自己带来任何成就感。

所以每当有学生和网友,问我很多简单的问题时,我都会劝他们转行。因为IT工程师圈子里,实在不需要更多庸才了,如果没有解决小问题的能力,就行行善别进这个圈子吧,干哪行不能混口饭吃呢。

至于那些能够通过悟性、思考和努力,掌握了计算机特性的人,自然有成为一个出色工程师的天分,他们并不会因为一两句冷嘲热讽就心灰意冷(如果会,同样说明不适合这个圈子)。反而会更加努力地去钻研出答案,以此来证明自己。他们也不会记恨曾经的嘲讽,显然,克服人性,摆脱情绪,是成为任何一个领域的高手所必须要有的修养。否则德不配位,爬的越高,摔的越痛。

说的深了。不过此文本身就是一篇扯淡文,也无妨。

其实,我只是想说,Linux和Linux是不一样的。CentOS这种东西,能称得上是Linux吗?体系怪异,脉络紊乱,必定难成气候,我话就撂这儿了。

未来操作系统的格局,西半球,一定是属于Debian的。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×