eraera
@eraera
Followers
1K
Following
2K
Media
146
Statuses
1K
A blackbox is a network of blackboxes, the world is one such blackbox.
Seattle
Joined December 2006
yet another reason to not trust BBC. https://t.co/xId5T1Bo28 pls, run your spelling checker before publishing.
0
0
0
曾经做过4年的网络安全创业公司,拿到融资也把产品卖出去了。但是我并不喜欢这个行业。1.是成本中心 2.成果不可度量 3.焦虑营销 4.人工远大于产品 5.和世界最聪明的人对抗。后来和网络安全的大佬们交流这些看法,很多人反对,我就闭嘴了,因为不想继续做5.和最聪明的人对抗
3
0
13
每次点开Show more,发现又双是一篇AI生成的长文,我就想赶紧undo,x能不能做个Show less把这篇裹脚布给收了啊,最好在Show less以后再做个hide
0
0
3
为什么第一台数字计算机出现的时候,人们很难预料到计算机的迅速发展?因为大家不知道摩尔定律。摩尔定律主要前提,是不精确的数字电路取代了精准的模拟电路,释放了设计的潜能。AI时代这种替代也会出现,某种现在看起来不精确但足够好用的快速电路,取代精确的浮点运算,让矩阵计算更快更轻量级
1
0
5
我带的高中机器人俱乐部,里面有很多孩子满嘴的impact contribution leadershit对不起leadership,家长从大厂带回家的班味儿都腌入味了。干活连个螺丝都拧不好,整天想着写软件却不会debug。另外一拨孩子做事认真仔细思考,拧个螺丝都会反复确认拧紧对齐。和南郭先生们形成巨大反差
0
1
6
那么问题来了:bug能消除么?在我们造出一台完全符合人类思维概念的机器之前,就像把我的头像和数学意义上的圆比较,永远会存在一些缝隙,bug就存在在这些缝隙里。在这个人类被技术追赶到精疲力竭的丛林中,只要有缝隙,光,就会透进来。7/7
0
1
2
总结:软件的bug出现在两层抽象之间不匹配的细节里面。用户要的C=A+B,是在任何范围都适用的数学概念。高级码农给的实现,是有限精度里的模拟,而码农用的硬件,是某种限定比特长度的二进制加法器,连1.3都做不到精确描述。所以不匹配是必然的,但是你看哪个实现会写适用范围的 6/n
2
0
1
另一个例子:早年以太坊虚机算账号转账余额,用的是无符号整型,余额不能为负嘛。但是底层模拟是不检查负值的。结果就是,转出比余额多一块钱,底层变-1,但是-1的二进制表示如果按无符号转换,就是巨大的正数。破产姐妹一秒泼天的富贵啊。当然也坚持不了多久,收1块钱立刻清零 5/n
1
0
1
前几天推上炒的比较热的python伪随机的问题,发现python伪随机的种子,给3和给-3出来的序列是一样的。有人解释因为底层的实现,把种子取绝对值以后发给C的实现。这是一个很好的模拟的例子:python的伪随机是C模拟的,而且只保证在种子是非负的范围,离开这个范围呢?4/n
1
0
1
前面说了加法这个例子。世界上没有真的加法器,码农也没有,只能拿某些东西来模拟。高层开发用底层语言模拟,底层码农用硬件模拟。如果你不是码农,可以看看我头像这个圆,它其实不是圆,是一堆像素,只要你不在意那些边缘细节,它足够像一个圆。���题就在这里 3/n
1
0
1
多说一句,我尽量不用大词儿,你在这个话题里面不会看到我写熵增熵减,高维度映射低维度,只用码农日常词汇。如果真的需要把香农哥德尔这些大神请出来,我肯定会先说明情况的 2.5/n
0
0
1
当然,如果甲方要一个加法功能,码农做了个减法,也不算bug,是错误。也简单,你的测试呢?我们真正要讨论的bug,是做了软件工程也没抓住的问题:用户要的C=A+B做了,也测了没问题,但是某天就偏偏出错的八阿哥,在某个点,C不是A+B了。2/n
2
0
1
软件为何永远有bug?非常好的话题。软件有客户需求和代码实现。两者几乎永远不匹配。这里面有几种情况。1是甲方爸爸说要黑,码农画了黑,第二天甲方说我要五彩斑斓的黑。这不是bug,是需求变化,方案也简单:得加钱。后续咱们聊为啥bug他老人家一直在 1/n
2
1
2