自动化艺术:提升效率的技术实践

本文详细探讨了自动化技术在个人和工作场景中的应用,包括使用Rust脚本实现新员工入职流程自动化、Gmail过滤器配置、RSS订阅管理,并分析了苹果快捷指令、家庭自动化和IFTTT等大众自动化工具的技术实现模式。

自动化艺术

周六,2020年4月18日 · 8分钟阅读时间

目录

为什么要自动化?

时间是世界上最宝贵的资源之一。如果有方法能为自己释放更多时间,为什么不这样做呢?当我通过自动化摆脱某项任务时,实际上是将执行该任务的负担转移给了某个脚本、服务、API或这些元素的组合。

我个人在构建某物、解决问题或学习新事物时感觉最充实和高效。这些情况都不包括“执行本可通过脚本/自动化完成的重复手动工作”。每当遇到可以自动化的场景,我都会选择自动化——特别是当我认为自动化所需时间少于未来手动执行该任务的时间时。这就是最终的回报:时间。

我喜欢用以下公式来理解自动化:

1
获得的时间 = (手动执行任务的时间) - (自动化任务的时间)

需要说明的是,上述公式中的“自动化任务的时间”还包括未来可能需要修复自动化本身错误的时间。

通过自动化任务,我可以将时间集中在最能发挥效率和创造力的工作上,同时提高整体工作效率。

近期自动化实践

当我进行自动化时,通常先让功能正常运行,再优化外观。在我们的公式中,目标是尽量减少自动化任务所需的时间。通过先实现功能而不在美化上浪费时间,我发现能获得最多时间并保持最高效率。在功能实现后,清理脚本或API造成的混乱会变得更加容易和快速。你可以想象我的大多数自动化项目最初看起来都像鲁布·戈德堡机械。让我们深入了解我最近实现的一些自动化案例。

新员工入职流程

对于我们的初创公司,我们一直在快速招聘。我希望确保入职流程 streamlined 且一致。手动将新成员添加到GSuite、Zoom和GitHub团队非常耗时且容易导致人为错误。我使用Rust脚本实现了将新成员自动加入所有工具的流程。这也是我一个尝试Rust编程语言的好借口。我基本上用Rust自动化了CIO的角色。

现在当新成员加入公司时,他们会被添加到一个配置文件中,该文件会自动在GSuite中设置电子邮件账户、创建Zoom账户、将他们添加到所有正确的GitHub团队,然后发送一封电子邮件概述所有工具和他们的账户信息。随着每位新员工的反馈,这个系统也在不断改进。

我们在oxidecomputer/cio开源了许多用于此目的的Rust库。

新闻通讯RSS订阅

我最近自动化的另一件事是清理每天发送到我电子邮件收件箱的所有新闻通讯。这些大多是订阅的个人博客,如The Morning Paper。由于这些实际上大多是RSS订阅源,我现在将RSS订阅更新导入到Pocket。这样我每天可以在Pocket查看阅读列表,而不是使用电子邮件收件箱。我发现当这些新闻通讯进入收件箱时,我实际上从不阅读它们,因为我倾向于将收件箱用作待办事项列表,并且会立即归档新闻通讯,因为它们不是优先事项。现在,我的收件箱保持整洁,并有一个专门的地方存储我想稍后阅读的内容。

Gmail过滤器

说到电子邮件收件箱…我对Gmail过滤器非常执着。在撰写本文时,我有72个不同的过滤器。我通过配置文件不断改进我的标签和自动归档电子邮件。这个管理系统是我为Gmail过滤器制作的一个Go工具,称为gmailfilters

对于邮件列表,除非是直接发送给我(无论是抄送还是直接发送),我倾向于归档这些消息。这保持了我的收件箱清洁,同时确保每个邮件列表都被分类到自己的Gmail标签中,以便我可以在需要时轻松查看所有消息。通过在配置文件中维护Gmail过滤器,而不是通过用户界面,我节省了大量寻找要编辑的过滤器、编辑和保存的时间。此外,如果我犯了错误并想要恢复,我现在有过去过滤器的git历史记录,因此这就像git revert一样简单。

这些只是我为日常生活自动化的一部分内容。如果你对更多此类内容感兴趣,请参阅我关于个人基础设施的原始文章。

作为开发人员,自动化不是一个新概念,我们倾向于通过持续集成(CI)和持续交付(CD)日常处理自动化模式。对于其他人群来说,看到自动化模式开始在产品中发挥作用是很有趣的。

大众化自动化

苹果快捷指令

最近,我换回了iPhone并购买了iPad。我很高兴尝试新的“快捷指令”功能。快捷指令允许用户执行多个任务并将它们整合到一个操作中。例如,你可以创建一个快捷指令,在从办公室通勤回家时:获取最新交通报告,在开车回家时播放你最喜欢的新播客,然后在你到家时打开灯(假设你有智能灯)。你可以根据已安装的应用程序和偏好构建任何你喜欢的内容。它确实非常可扩展,同时也容易被iPhone采用者大众市场接受。在COVID-19和在家工作的时代,我相信你能想到不同的例子;)

家庭自动化

说到可以自动打开的灯,家庭自动化是更广泛受众为自己创建自动化模式的另一种方式。在Google Home、Apple的Homekit和Amazon Alexa的采用之间,越来越多的人看到了技术可以释放的力量以及通过自动化日常任务节省的时间。这些设备大多数都有创建和使用“例程”将多个任务链接在一起的概念。

例如,当我离开家时,关闭所有灯,设置温度使空调停止运行,并打开安全系统。或者,当我说该睡觉时,关闭所有灯并将安全系统设置为“开启和在家”。这种用户体验和易用性使消费者能够以与开发人员通过编程和脚本相同的方式提高生产力并节省时间。

当然,如果消费者没有受过教育,物联网设备也有黑暗面。无论是你的灯泡、恒温器、家庭安全系统还是冰箱,研究你购买的物联网设备的安全性都很重要。

IFTTT

If-this-then-that(IFTTT)已经存在了相当长的时间,但我想花时间指出它是将自动化带给更广泛受众而无需编程的早期方式。IFTTT克隆现在比比皆是。有Zapier、Huginn和automate.io,仅举几例。所有这些产品都有一个共同点:通过将各种任务组合和链接到一个自动工作流程中来促进个人生产力。

生产力进步

我很高兴自动化模式已经开始成为主流,使大众市场消费者能够看到与开发人员通过脚本实现的相同的生产力提升,而无需编程。用户界面可能不同,但目标是相同的:节省时间并消除重复执行手动任务的需要。开发人员在编写脚本使生活更轻松后获得的感觉不应该是独有的。我希望未来我们能继续看到更简单、更有创意的自动化方式,同时将相同的自动化超能力授予每个人,而不仅仅是程序员。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计