如果你看过谍战片、动作片或犯罪电影,你就会在脑海中勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的代码,大量的矩阵中的十六进制数字代码像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切还可以显示在多个显示器上面。
当然,我们这些技术人员很快意识到这完全是胡说八道。虽然我们中的许多人都有双显示器(或更多),但闪烁的数据通常与专注于工作这一目的背道而驰。编写代码、管理项目和管理系统与股票交易不同。我们遇到的大多数情况都需要我们对试图解决的问题进行大量思考,与利益相关者进行良好的沟通,进行一些研究以及组织信息,然后还有占工作量很少的快速打字。
但这并不意味着我们不想和电影中的黑客一样。有时,我们只是想让自己看起来“有效率”。
旁注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。
也就是说,让我们找点乐子,用一些老式的无意义数据和代码片段组成的面板填充我们的屏幕(好吧,这些数据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的外观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,因为它看起来确实 100% 酷。
Genact
我们要看的第一个工具是 Genact。Genact 只是简单地回放你选择的一个序列,在你出去喝茶休息的时候慢慢地、无限期地“编译”你的代码。它播放的序列由你决定,但默认情况下它包括一个加密货币挖掘模拟器、composer PHP 依赖管理器、内核编译器、下载器、内存管理等等。不过,我最喜欢的是显示 simcity 加载消息的设置。因此,只要没有人检查得太仔细,你就可以花整个下午的时间等待电脑完成进度条。
Genact 有 linux、os x 和 Windows 版本,Rust 源码可以在 github 上找到。
Hollywood 采取了更直接的方式。它本质上是在终端中创建一个随机数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其他应用程序等,并每隔几秒钟进行切换。它以 shell 脚本的形式组合在一起,因此可以很容易地根据你的需要进行修改。
Hollywood 的源代码可以在 github 上的 apache 2.0 许可下找到。
Blessed-contrib
我个人最喜欢的是 Blessed-contrib,但是它并不是一个专门为了这种表演而设计的应用程序。相反,它是一个基于 node.js 的终端仪表板构建库的演示文件,该库名为 fordated contrib。与其他两个命令不同的是,我实际上使用了 fulded contrib 的库来做一些实际工作的事情,而不仅仅是假装工作。它是一个非常有用的库,有可以用一组命令行显示信息的小部件。但它也很容易填充虚拟数据来实现类似《WarGames》中的梦想。
在 github 上可以找到 Blessed-contrib 的源代码。
当然,虽然这些工具很简单,但有很多方法可以让你的屏幕充满各种乱码。你将在电影中看到的最常见的工具之一是 Nmap,这是一个开源的安全扫描器。事实上,它在好莱坞电影中常常被用作在屏幕上演示黑客行为的工具,很多电影,从《Matrix Reloaded》重装到《The Bourne Ultimatum》、《The Girl with the Dragon Tattoo》,甚至《Die Hard 4》里面也用到了它。
当然,你可以创建自己的组合,使用诸如 screen 或 tmux 之类的终端多路复用器来启动你希望的任何程序,显示你想要的数据。
那么,你是如何让你的电脑看起来很忙的呢?