空值

2021-01-15 20:10:15

我很想打破事情。虽然我不是质量检查专家或安全专家,但我已经开发出了一种诀窍,可以使用会导致其故障的软件来“愚蠢”地工作。我的一些开发者朋友感叹他们在发布软件之前没有向我展示软件。因为有时我会在发布后立即发现令人讨厌的错误。

这里有一些有趣的例子,它们超越了开发人员的期望或测试,有时通过“在外面”做一些事情来突破软件的界限。

早在2013年,Fedora 19的代号为“Schrödinger’s Cat”。使用此名称可以发现Fedora使用的错误报告系统中的错误。该错误现已修复,但当时是发行版令人沮丧的(如果很有趣)的问题。

简而言之,发行版本代号包含(请原谅非英语国家的人们)“特殊”字符“'”和“ö”。

Fedora使用BugZilla进行问题跟踪,而Ubuntu使用Launchpad。在上述Fedora 19发行期间,LaunchPad团队的成员自信地建议该问题不会在我们的基础架构上发生。我觉得这是一个大胆的主张,并且不相信这是经过充分测试的。

因此,从那时起,我更改了LaunchPad配置文件,在友好名称字段中添加了表情符号。

由于Launchpad具有一个可以发送电子邮件的Bug跟踪程序,而且我是活跃的Bug记者,因此开发人员可以通过Launchpad接收我的邮件。那些使用Thunderbird的开发人员经历了以下事情:

我找不到有人向我发送电子邮件客户端的屏幕快照,其中包含我的邮件,因此我使用了错误1779569中的上述内容

这是Thunderbird中的错误,此错误已得到修复。我很高兴知道,只要在启动板配置文件中添加漂亮的表情符号,就可以在看似无关的软件中带来意想不到的后果。巨大的成功🌈

一段时间后,我一直按住键以查看它们的作用。前提是“如果猫站在钥匙上怎么办?”。过去有证据表明猫确实可以发现问题。

我的ThinkPads在顶部一行有一个硬件麦克风静音按钮。该按钮内部有一个LED,因此用户可以看到静音状态。 LED点亮时,麦克风将静音。

我发现按住静音按钮时,它将自动重复。这足够公平,但是屏幕右上方有一个指示器,用于显示是否处于静音状态。不幸的是,在按住静音一两秒后,LED和指示灯最终将不同步。 LED指示灯会提示您已静音,但指示灯会显示相反的声音。这可能令人尴尬!

当您在大多数操作系统(而不是MacOS)上按PrtSc(打印屏幕)键时,这会以某种方式触发屏幕上的内容的捕获。在Ubuntu中,有一个快门效果,一个屏幕闪烁,淡化为黑色,以及一个音效显示它已经完成。截取屏幕快照时会稍有延迟,并且淡入淡出效果会在按键和桌面之间恢复可用。

我发现PrtSc密钥也重复了。这是一个小问题,因为一旦开始自动重复,重复的闪烁和淡入淡出效果将使CPU占用最大,从而使后续的屏幕截图花费很长时间。感觉就像是计算机被锁死或进入了非常糟糕的状态,因为屏幕变黑并且CPU变得繁忙,这通常导致风扇旋转。

当时,我与桌面团队的Seb和Will进行了IRC对话。在告诉威尔会发生什么之前,我可能应该警告过威尔。这是对当下事件的戏剧性重现。

< popey>嘿,最新版本的任何人,如果您按住PrtSc键,密钥会自动重复吗?< seb12>您为什么要这样做?< willcooke>等等,让我测试< willcooke> **断开连接的< popey>糟糕!我应该告诉威尔,他的屏幕会变黑

大约一年前,在一家公司的sprint中,我做了一个闪电演讲,在其中我想尽最大可能地做出简短的举动(快照是“ Linux通用软件包”)。我在演讲前30分钟“编写”了演讲稿,直到我上半场公司之前,才进行全部测试。

为了娱乐,我与观众进行了互动,制作了一个名为null的快照,目的是将其几乎完全清空,因此命名为null。我将名称,描述,摘要,零件和其他元数据设置为字符串“ null”。该单元在本地构建和安装非常完美。因此,为了获得更多乐趣,我在商店中注册了名称null,然后尝试发布我的作品以供所有人查看。

在发布时,显示了一个微调器(如预期的那样),但是运行时间比我对于一个基本为空的程序包的预期要长得多。在舞台上,我有点糊涂了,直到观众中的Snap Store团队的某人抓住麦克风并说了出来。丹尼尔说过类似的话:“那将永远无法完成,您已经使后端崩溃了”。哎呀!

上载快照时,会针对快照运行安全性和健全性检查。我使用(可能保留)单词null似乎愚弄了现场直播的后端检查脚本,在我的同伴面前。我想,这就是结束闪电谈话的方式!

后端错误由Daniel报告,并很快得到修复。我有趣的null snap现在已成功发布,并且据估计有近100个“用户”!

做这些事情(例如以您的名字设置表情符号或奇怪地命名事物)的有趣之处在于,它们不会仅一次导致一个问题。

快照的发布者每月都会收到一封电子邮件,标题为“您的快照月份”,该摘要为他们总结了每个快照的活动用户数。

我最近收到了一封这样的摘要邮件,该邮件被截断到零并停止。这是我的闪电演讲之后的18个月,该快照发布已经很久了。这是无尽乐趣的有毒之井。

我已将此问题报告给电子邮件背后的团队,现在已修复。

Snap Store有一个令人愉悦的开源Web前端,其源代码在GitHub上。我注意到,当我查看我的(现在已发布的)null snap的信息时,UI的某些部分无法使用。原来这是另一个已修复的错误。

我喜欢Francisco的评论“您的null快照现在应该正在工作(直到下一个null问题)”。

我觉得所有这些都是次要的成功。我知道有些人会把手举起来,抱怨这些东西在发布前都没有经过适当测试。当然可能有一些情况。但是我认为您无法完全解释人们可能会对您的软件所做的所有非常愚蠢的事情。

我,我将继续按住键,单击错误的内容,然后愚蠢地命名,因此下一个出现的人看不到我们发现的错误。