状态板是为“项目经理”准备的!用一连串泡沫导弹对破损的建筑进行报复。
Retaliation 是 Jenkins CI 构建监视器,可自动协调泡沫导弹反击“破坏构建”的开发人员。它通过向USB 泡沫导弹发射器播放预编程的控制序列来瞄准有问题的代码猴子来实现这一点。
从更深层次来说, Retaliation不仅仅是一个“简单的 python 脚本”。这是对如何管理软件开发团队和软件开发生命周期的彻底反思。它在深层心理层面发挥作用,提供外部顾问谈论的所有其他“极限编程”事物中看不到的生产力提高。潜伏在每个编码员心灵中的相互确保破坏的主要威胁确保即使是最马虎的开发人员也永远不会忘记再次“签入丢失的文件”!
报复给我们带来了结对编程承诺但永远无法实现的生产力提高!自实施以来,我们发现构建破损率减少了 13.37%。
威尔,首席代码黑客
老实说,您愿意在具有熔岩灯构建通知程序的开发团队中工作吗?接下来怎么办? Nyan Cat 鼠标垫?真正的程序员在报复的威胁下工作!
马特,打码机
按照盒子上的说明进行操作。我已经看到我的团队取得了进步,但我们甚至还没有安装它!纯粹的威胁已经让我的团队的编码变得正常。
汤姆,首席代码队长
您可以在此视频中看到报复行动。
将 Dream Cheeky Thunder USB 导弹发射器安装在中央固定位置。
将 retaliation.py 脚本下载到连接到导弹发射器的系统上。
修改retaliation.py
脚本中的COMMAND_SETS
,为每一位构建制动编码员(其用户 ID 在 Jenkins 中列出)定义目标命令。命令集是移动和开火命令的数组。建议使用“零”命令启动每个命令集。这会将发射器停放在已知位置(左下角)。然后,您可以使用“向上”和“向右”,然后输入时间(以毫秒为单位)来定位火力。
您可以通过使用目标名称调用 retaliation.py 来测试集合。例如:
python retaliation.py "[developer's user name]"
尝试和错误是最好的方法。考虑在下班后秘密进行此操作以获得最佳效果!
设置 Jenkins 通知插件。在端口22222
上定义一个UDP
端点,指向托管retaliation.py
系统。提示:确保您的防火墙没有阻止此端口上的 UDP。
通过运行以下命令开始侦听失败的构建事件:
python retaliation.py stalk
(考虑将其设置为引导/启动脚本。在 Windows 上使用pythonw.exe
启动以使其在后台隐藏运行。)
等待 DEFCON 1 - 让战争游戏开始吧!
感谢 PaperCut 的开发团队(致力于打印管理软件)在测试过程中“在头脑中解决了一些问题”!
仔细选择安装位置。选择办公空间的中心位置。努力使目标之间的角距最大化。这将减少误伤事件的可能性……但话又说回来,这是与领土有关的,也是乐趣的一部分!
考虑使用双面胶带粘住发射器以锁定其位置。这减少了有人使用“物理黑客”破坏坐标目标系统的机会。
如果破坏者处于近距离,出于健康和安全原因,我们建议瞄准他们的键盘或显示器,而不是他们的头部。
如果您要覆盖的区域很广,请考虑多次发射导弹(例如集群支持!)。在多台计算机上设置脚本并在 Jenkins 中配置多个端点通知。
要使其在 Windows 上运行,您需要安装 PyUSB 和 libusb-win32。这可能有点棘手,但如果您掌握了 CI 构建脚本,那么这应该很容易!
如果您的开发团队在澳大利亚,并且您发现报复正在失去其效果,请尝试将每枚导弹浸入一些 Vegemite 中以增加冲击力:-)
retaliation.py
还兼作Dream Cheeky USB Missile Launcher的命令行脚本 API。您可以调用它来从脚本或命令行控制设备,如下所示:
retaliation.py reset
retaliation.py right 3000
retaliation.py up 700
retaliation.py fire 1
如果您确实想出了一些其他很酷的用途或报复想法,请分享您的故事!