Amyjune Hineline 发布的文章

一些系统管理员、网页设计师、工程师和程序员分享了他们在命令行上经历的最可怕的经历。

每个开发人员内心最害怕的事情是什么?在你的代码开始运行前的宁静时刻,什么最让你感到恐怖?你见过或写过最可怕的代码是什么?

错误的权限

我负责一台服务器,然后我通过 FTP 上传了一些东西。显示了一些奇怪的东西,所以我想权限可能需要改变一下。

不用说,我愚蠢地关闭了读取权限并使网站瘫痪了。(当没有人能访问时,网站就没啥用了。)

我花了几个小时才修复好。这是很多年前我在一个机构担任唯一的网页开发人员时的事情。

Miriam Goldman

混乱的 HTML

我曾经因 WordPress 的默认主题有可用的更新而使一个客户的网站瘫痪,这个客户当时是《华尔街日报》畅销书榜上的一位作者。

他的开发人员在主题中硬编码了 HTML,而不是创建一个子主题。而我运行了更新操作。

那个年代,人们不容易实现每晚备份,所以我花了几个小时打电话给托管提供商。像分阶段发布、子主题、每晚备份或手动备份这样的东西现在都很常见,还有自动更新和手动回滚的能力。但在那个时代并不常见。

Courtney Robertson

密钥不再秘密

我想我们中的许多人在公共代码中看到过密钥。或者另一个经典案例:我的一个朋友从开发服务器向 10 万个用户发送电子邮件。

John E. Picozzi

Unix 混乱

这是一个 Unix 的故事。今天在 Linux 中已经修复了这个问题。

在我要向管理层进行一个重要的新组件演示的前一天,我需要更新我的代码(这是在 Git 存在之前的年代)。我进入我的主目录,找到项目目录,然后删掉了一切。不幸的是,在那个版本的 Unix 中,该命令会跟随符号链接进行删除,并且我有一个链接指向代码的最新版本(并不是所有代码都在源代码系统中,因为它还处于测试阶段)。

好在一天后,大楼里出现了网络问题,因此演示推迟了一天,我们设法恢复了代码。那是三十多年前的事情。即使现在我也不知道网络问题是巧合,还是我们的系统管理员试图帮助我们(如果是这样,那确实奏效了!)

Josh Salomon

命令式编程

看到 CSS 文件中到处都是 !important; 而不是正确使用特异性。

我曾经不得不覆盖和定制一个 WordPress 主题几乎所有的 CSS,因为该网站的所有者坚持不换一个更接近他想要的设计的新主题。

那个主题开发者最后一次更新是在 2018 年,但网站至今仍在使用。

Christi Nickerson

错误引用

在我以前的职位上,我的前任在代码注释中引用了 Journey 的《Any Way You Want It》歌词错误。

Ben Cotton

Algol68 的幽灵

在上世纪 60 年代末到 70 年代初,Algol68 的复杂性使许多有影响力的人望而却步,包括 Niklaus Wirth 在内。我记得当时最常见的抱怨之一是:“谁能为这样一个复杂的怪物写一个编译器呢?” 但是事实上,许多人都开发过。此外,许多在 Algol68 中发展出来的或至少以形式化的概念出现在后来的其他语言中,尤其是在 C 语言和 Bourne shell 中(感谢 Steve Bourne)。

Algol68 的一些概念并没有经过很好的演化。例如,处理“书”和“章节”等的 I/O 概念在今天有些奇怪。像将字符集等问题留给实现本身处理似乎相当过时。

但是其中一些概念在今天仍然极为重要,例如产生值的表达式、强类型化(Algol68 中称为“模式”的类型)、堆内存和垃圾回收、运算符的定义和重载等等。

有好的地方,也有不好的地方。

Algol68 是一门值得学习的语言,即使只是为了了解现代计算中的许多想法的来源以及在路上丢失了多少。

Chris Hermansen

密码暴露

我为一个新的支持客户进行技术审计时,发现之前的开发人员将密码以明文形式存储在整个主题中,并使用了糟糕的方式连接到远程数据库。他们的 composer 文件也异常庞大。每次我尝试在本地运行网站时,需要花费五分钟的时间。过时的依赖项、我无法访问的仓库,问题还有很多。

Miriam Goldman

迷宫般的代码

我见过的最可怕的代码是一段 PDP-11 汇编语言,位于一个名为 RSTS 的操作系统的内核中,今天已经没有人记得它了。当时源代码记录在胶片上,我跟随这段代码路径经过几个转折,试图弄清楚正在发生的事情。然后,我遇到了这条指令:

MOV R5,PC

我举起双手尖叫了起来。真的,我尖叫了。办公室里的人以为我撞到头了,或者心脏病发作了。

那个年代,内存是宝贵的,MOV 指令使用的内存比 BR(即“分支”)指令稍微少一点。将寄存器 5 的内容复制到程序计数器实际上是一个廉价的无条件跳转,跳转到寄存器 5 中存储的地址。但是,我不知道寄存器 5 中存储了什么,也不知道如何找到它。

时至今日,将近 40 年过去了,我仍然想知道是谁写出这样的代码,以及如何调试它。

Greg Scott

差一个

我在自动化行业工作,其中的可编程逻辑控制器(PLC)使用一些相当奇怪的语言进行编程。

让我印象深刻的一个例子是,在 ST 语言中,你可以定义数组从索引 1 开始。这意味着第一个元素在位置 1 而不是 0。每当我看到这个时,我都会抓狂。

Stephan Avenwedde

分歧

有一次在一个从测试环境到生产环境的发布期间,我让 MongoDB 实例停机了 40 分钟。我们的测试环境与生产环境有所分歧。只是一个数据库配置的差异,没什么太激动人心的东西。但这是一个很好的教训,要确保你的测试和生产环境保持同步!

Em Nouveau

神秘的低语

这是一个仍在运行且正常的项目,但我已经修改了代码以隐藏源代码。

for(int c =0; y < yyy && c < ccc; y++, c++){// some code here}

乍看起来,它似乎是一个无害的循环。但也许你会问为什么有两个变量、两个停止条件以及两个增量。然后你会意识到只有一个初始化器,第二个变量(y)在这个循环之前在不同的代码块中被初始化。

当我意识到这一点时,我花了大约一个小时的时间来理解为什么代码是这样编写的,以及它应该如何工作。显然,代码中没有 c 的注释,并且变量名是无意义的(代码中被称为 cy 有一个稍微具有意义的名称,但不足以解释它的意义,即使是今天我也不知道它的作用)。

Josh Salomon

关键数据

大约在 1980 年,我在大学毕业后得到了我的第一份工作。我是印第安那州一所工程学院的计算中心副主管。这是一个两人 IT 部门的辅助职位。我在 PDP-11/40 上处理行政计算,使用 RK05 可移动的“披萨碟”磁盘驱动器(每个驱动器容量为 2.5 MB)。每个行政办公室都有一个驱动器,而我工作的一部分就是每周进行磁盘对磁盘的备份。但是那个夏天我很忙,连续四周没有备份过注册办公室的数据。然后我意识到了风险,所以我确保开始进行每月的磁盘到磁带备份。

我从 11/40 上卸载了注册办公室的磁盘驱动器,然后装在了带有一台 9 磁道磁带驱动器的 11/70 上,并开始进行备份。几分钟后,我听到磁盘驱动器里传来一阵刮擦的声音。是的,磁头撞上了磁盘。在短短几分钟内,我摧毁了所有注册办公室的数据,以及最新的备份 —— 一个四周前的 9 磁道磁带。

当我不得不面对注册办公室主任,并告诉他我已经摧毁了他所有的数据时,那一刻真的很尴尬。

如今,我告诉新的 IT 人员,只有在你摧毁了某人的关键数据,而且无法恢复时,你才算是专业人士。永远记住你胃里的那种感觉。

Greg Scott

愤怒的暴民

一个客户篡改了 WordPress 核心代码以添加后续在常规更新中发布的功能,但他们却不明白为什么在每次尝试更新 LearnDash 时网站都会崩溃。(他们也不喜欢我们的报告指出了他们糟糕的开发实践。)于是他们赶我们走,称我们是骗子和无能之辈。但直到今天,我仍然具有他们域名的委派访问权限,以及两个域名的生产和开发环境的 wp-admin 访问权限。

此外,尽管我们给了一个加密位置的链接用于共享访问凭据,他们却通过电子邮件发送了我们的登录信息。

Laura Byrne

不要忘记备份

我在企业网络上的工作经验不多,所以我没有使任何服务器崩溃过。然而,作为一个年轻人,我曾经试图帮助一个人解决 IT 问题,不知何故导致 Windows 95 崩溃,并不得不免费重新安装。

作为一个非常年轻的 Amiga 用户,我最悲伤的时刻之一是我的保存磁盘坏掉了,里面装满了所有我的文件,原因是某种机械故障。如今,我已经学会更好地备份我的重要个人文件。

Rikard Grossman-Nielsen

万恶之源

当时我刚开始接触 Linux,之前我用的是 DOS,借助 Norton Commander 进行操作。后来,Midnight Commander 发布了,我非常喜欢它。当时我使用的 Linux 发行版(Jurix)没有打包 Midnight Commander,所以我自己从源代码编译了它,就像我那个时候使用的其他软件一样。它完美地运行了,突然间我在 Linux 上感到更亲切了。

这不是一个恐怖的故事。

我的同事告诉我不要以 root 身份运行 Midnight Commander,无论它有多么让人舒适。但是 root 权限很方便,感觉更像 DOS,所以我无视了他们的建议。结果就是:我意外地删除了整个 /etc 目录的内容。在那之前,我从来没有用过备份功能,但是那一天我意识到备份实际上是有用的。

27 年过去了,我仍然记得这个故事,并定期进行备份。

Peter Czanik

幻觉

最糟糕的项目是一家代理机构让我做的一个一屏的页面,一开始看起来很简单。我说我可以用一些 HTML、CSS,也许加点 JavaScript,将其组合起来。但他们特别要求我不要这样做。他们希望我将设计图剪切下来,然后使用 CSS 在页面中定位这些元素。他们还要求我将所有的 CSS 内嵌到 HTML 文件中,因为他们真的只想要一个页面

其中的文本都不是真实的文本。

除了定位这些图片所需的元素之外,其他都不是真正的 HTML 元素。

我告诉他们,设计足够简单,我可以用实际的代码将其组合起来,但他们不想要那样。他们只想让我花时间将这些碎片拼凑在一起,然后转而做其他项目。他们让我做了两个类似的一屏网站。

这实在伤害了我的前端灵魂。为我来说,这个项目在身体上是痛苦的。这是一个试用合同职位,当他们给我提供全职工作时,我礼貌地拒绝了。

Rachel Vasquez

内存破坏

对我来说,最可怕的事情就是 ANSI C99 中可能发生的内存破坏。在一个屏幕录像中,我捕捉到了这个(不完全是)超自然现象,可以在这个 YouTube 视频片段 中观看到。

Image of gseqencer before memory corruption.

标有 file 的 GtkEntry 显示了一些随机的符号。我检查了一下 代码,但没有发现任何问题。

ags_export_soundcard_open_response_callback() 函数是一个回调函数,用于处理 GtkFileChooserDialogresponse 事件。(顺便说一句,用于解决这个问题的工具是 valgrind。)

Image of gsequencer after memory corruption.

Joël Krähemann

Python 的恐怖之处

我见过的最可怕的编程特性是 Python 中对 dict 的访问权限。在运行时改变对象的类型违背了我的编程行为准则。

缝合怪网络

在 2006 年,我用 Fedora 和一些脚本构建了一台防火墙,并说服了一家托管在合作数据中心的大型网站的客户,将其专有的防火墙替换为我的防火墙。我建立了系统并在一个清晨的 4 点到达现场进行安装。那时我才发现(饱受痛苦地)他在防火墙后面有一个带有公共 IP 地址的负载均衡器。客户经历了一个 5 分钟的停机时间,但我重新连接了一切恢复到原来的状态。

我发现了一种通过使用代理 ARP 来处理他复杂的网络配置的方法。这个想法是,当外部世界的任何人发出负载均衡器的 ARP 请求时,我会进行回应。几天后,我再次在凌晨 4 点出现并安装了我的系统。这次,我把整个数据中心的所有设备都给搞宕了。我设置了我的代理 ARP 来回应所有请求,因此局域网上的所有流量最终都找到了我并消失在黑洞中。

当我意识到我做了什么时,我把一切都恢复到原来的状态。但是损害已经造成。如果有人在 2006 年的一个清晨美国中部时间大约 4 点钟尝试浏览你最喜欢的网站,它没有响应,那可能是我的错。我通过在机架上安装并启动一个系统,让整个数据中心的网站都宕机了。

网站运营商愤怒地抗议,而我则黯然离开。他们再也没有邀请我回去再试。真是遗憾,我觉得再试试桥接可能会起作用。

Greg Scott

你的恐怖故事

你最喜欢的与技术相关的恐怖故事是什么?在评论中告诉我们(但要友善,并更改项目名称以保护无辜者!)


via: https://opensource.com/article/22/10/technology-horror-stories

作者:AmyJune Hineline 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

人们使用树莓派做各种各样的事情。有哪些用途让你特别好奇的吗?

最近,我在一个电话会议上听到有人说开源社区是好奇心和解决问题的文化的结合。好奇心是我们解决问题的基础。在解决各种规模的问题时,我们使用了大量的开源工具,其中包括在功能极为方便的树莓派上运行的 Linux

我们每个人都有各种不同的生活经历,所以我向我们的作者社区询问了他们所遇到的最奇特的树莓派用途。我有一种预感,这些令人惊奇的构建将会为其他人激发灵感。

使用树莓派进行实验

对我来说,树莓派是在家庭网络中增加额外开发资源的绝佳工具。如果我想要创建一个新的网站或者尝试一个新的软件工具,我不必让我的桌面 Linux 机器因为一堆我可能只在实验时使用一次的软件包而变得笨重。相反,我会将它设置在我的树莓派上。

如果我认为我将要做一些冒险的事情,我会使用备份的启动环境。我有两张 microSD 卡,这样我就可以在树莓派上插一张卡,同时设置第二张卡进行任何我想要的实验。额外的 microSD 卡成本并不高,但在我想要在第二个镜像上进行实验的时候,它能节省大量时间。只需关机,换下 microSD 卡,重新启动,立即就可以在专用的测试系统上工作。

当我不进行实验时,我的树莓派充当打印服务器,将我的非 WiFi 打印机连接到家庭网络上。它还是一个方便的 SSH 文件服务器,让我可以快速备份重要文件。

Jim Hall

树莓派的流行

我见过的树莓派最令人惊讶的事情是它使小型单板计算机的概念变得流行和通俗化,并使其真正实用于大众。

在树莓派出现之前,我们有类似的小型单板计算机,但它们往往是小众的、昂贵的,并且从软件角度来看让人拒之千里。树莓派价格便宜,便宜到任何人都可以轻松为一个项目获得一台(不考虑目前难以获得的情况)。一旦它变得便宜,人们就会克服软件挑战,使其足够好以解决许多基本的计算任务,甚至可以将完整的真正的计算机用于特定任务,而不仅仅是微控制器。

我们拥有大量好的、相对廉价的小型单板计算机,这促进了各种调试、玩耍和 实验。人们愿意尝试新的想法,甚至推动了更多业余爱好者的硬件开发来支持这些想法。

老实说,这是我从树莓派看到的最令人惊奇和激进的事情:它根本性地改变了人们对计算的认知,尤其是树莓派擅长的领域,并不仅仅催生了自己的生态系统,现在还催生了无数其他多样化的生态系统。

John ‘Warthog9' Hawley

蜜蜂的树莓派

在 2018 年,我和我的弟弟曾经养过几个蜂箱,并使用树莓派和各种传感器来监测蜂箱的温度和湿度。我们还计划在夏天实施蜂箱秤,以观察蜜蜂的产蜜情况,并在冬天测量重量,以查看蜜蜂是否有足够的食物。不过我们最终没有实施这个计划。

我们的小型监测解决方案基于树莓派 2B,运行 Raspbian Stretch(基于 Debian 9),并连接了一个温湿度传感器(DHT11)。在蜂箱内我们有三到四个这样的传感器,用于测量蜂箱入口孔、盖子下方和最低框架的温度。我们直接将传感器连接到树莓派,并使用 Python\_DHT 传感器库读取数据。我们还建立了 InfluxDB、Telegraf,并最终设置了 Grafana 来可视化数据。

如果你想了解更多关于我们的设置的信息,我们在 Linux Magazine 上发表了一篇关于我们小型监测解决方案的文章。

Heike Jurzik

树莓派的复古计算

我希望用树莓派创建一个模拟如何使用“开关和指示灯”将机器语言编程到旧式计算机的项目。使用树莓派的 GPIO 引脚,这看起来相当简单。例如,他们的在线手册上展示了如何使用 GPIO 开关控制 LED 的开关,或者使用按钮进行输入。我认为只需一些 LED 和开关,再加上在树莓派上运行的小程序,就可以模拟旧式计算机。不过,我缺乏空闲时间来从事这样的项目,这就是为什么我编写了 Toy CPU 来模拟它。

Jim Hall

使用树莓派打造玩具

当我女儿四岁的时候,她要求圣诞节时给她买一个“巨齿鲨音乐盒”。她能在脑海中完美地想像出来。它会是粉红色的、闪闪发光的,上面有她的名字。当她打开盒子时,会播放这部热门电影的主题曲。她可以将巨齿鲨和其他宝贝都放在盒子里。在网上和商店里到处搜索后,我发现没有一个能与她的想象相媲美。于是我和丈夫决定,在我们自己的玩具店(也就是他的家庭办公室)自己动手制作一个。而这一切的核心当然是树莓派。他使用光传感器和 Python 脚本,让音乐在恰当的时刻播放。我们将科技设备谨慎地放置在音乐盒的底部,并根据她的审美进行装饰。那一年,开源技术让圣诞魔法成为了可能!

Lauren Pritchett

(题图:MJ/aa8f1412-0f1d-4780-99db-22d6522010b7)


via: https://opensource.com/article/23/3/most-curious-uses-raspberry-pi

作者:AmyJune Hineline 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你的笔记本电脑就像一块空白的画布,可以用来展示个性化的装饰。你最喜欢的贴纸是什么?参与我们的调查,然后看看其他开源爱好者都说了些什么。

去年 12 月刚刚换了工作用的笔记本电脑后,我意识到我有多么喜欢给我的工作设备贴贴纸。这些贴纸有些是过去活动的纪念品,有些是我热衷的项目的标志,还有一些则只是为了好玩!

因为好奇别人的笔记本上贴了什么,我对周围的同事朋友问了一圈。

无障碍倡导者

AMyJune 的笔记本电脑上有很多 Drupal 贴纸

这是我的工作笔记本电脑(你能看出我对 Drupal 的热爱吗)。我最喜欢的贴纸是有轮椅的 Druplicon... 当 Drupal 8 发布时,我们把这个标志 和轮椅结合在一起,因为我所在的机构专注于无障碍性。

AmyJune Hineline

充满活力的 Java

Alan Formy-Duval 的笔记本电脑上有各种 Linux 贴纸

自从我还是个孩子的时候,我的电脑和其他东西上就一直有贴纸。我认为我最喜欢的要么是 “Tux”,要么是 “Linux Inside”。它们大多与领域相关,只有一些不相关的。在右下角,我有一个运行在“汤姆猫”上的 Java 贴纸(哈哈)- 这是我职业生涯中花费大部分时间的领域。

Alan Formy-Duval

实用目的

Rikard Grossman-Nielsen 的两台笔记本电脑上有贴着两条绒面条

嗯,我没有贴任何贴纸。然而,我在我的两台笔记本电脑上粘了绒面条,用来固定我的移动硬盘,这样我在公交车上玩游戏时就不会掉落了。我还粘了一个锁槽。

Rikard Grossman-Nielsen

保持外观

John 'Warthog9' Hawley 的笔记本电脑贴着各种标志

虽然这不是最装饰得最多的笔记本电脑,但我喜欢这套集合(你知道的,很难在没有旅行的情况下获得更多!)

我最喜欢的是“最后一个提交的人是维护者”。这是对维护状态的讽刺性评论,也承诺代码将因此而继续存在。

主要是关于我使用或贡献的事物,我认为有意义,或者只是觉得这个贴纸很棒。

John 'Warthog9' Hawley

盖掉 Windows

我从不在笔记本电脑上贴贴纸,因为对我来说,真正酷的贴纸似乎都是我没有的那些(一个脾气暴躁的老人说的)。

但是我孩子们在高中时用过的那台旧的组装计算机,一台拥有 3GHz Core Duo 处理器和 8GB 内存的机器上贴着一个我几年前在温哥华的 Linux 基金会开源峰会上拿到的 Open Mainframe 贴纸。我相当喜欢那个贴纸。

还有,因为在我的生活中,Control 键位于 A 键旁边,而不是在底部行,所以我周围有一些键盘上有一个 CTRL 贴纸在 CapsLock 键上,还有一个 CAPS 贴纸在 Control 键上,它们与 GNOME 调整工具中的 交换 Ctrl 和 CapsLock 选项 一起使用。

最后,过去我会剥掉那些带有 Windows 标志的贴纸,因为当时我唯一的选择是购买带有 Windows 税的计算机,并用 Linux 贴纸覆盖上面的胶片。同样,对于带有 Windows 标志的 Super 键的键盘,我也会这样做。

纪念品

StrangeMama 的笔记本电脑上有一个 Kanopi 贴纸和其他各种标志

迄今为止,Kanopi 贴纸是我最喜欢的贴纸。它不仅闪闪发光,而且呈现出七彩光泽,它时刻提醒我这家公司是多么令人惊奇。他们真的把员工放在首位,并在选择与 Kanopi 的整体公司使命和愿景相符的客户项目时非常周到。

Curt V8 贴纸是对一位亲密朋友的纪念。他热爱福特,而我丈夫喜欢雪佛兰。这种有趣的竞争导致我们在车库里乱放着福特和雪佛兰的物品,这取决于我们在哪家住。每次我看到这个仿制的福特贴纸时,我都会微笑,因为我生活在一个雪佛兰家族。

各种贴纸代表了我们多年来的家庭冒险。约会之夜,朋友,家庭公路旅行,惊险的徒步探险(天使阁),以及我年幼孩子争取从每个城市和州获得一张警察贴纸的动力。

Kristine Strange

会议福利品

Cindy William 的笔记本电脑上有各种标志,包括一个 Kanopi 贴纸和 Gilmore Girls 的标志

龙是 我所就读大学的吉祥物。我还贴了一些 Gilmore Girls 和咖啡贴纸。

这是我女儿房门的照片,上面贴满了我多年来从各种会议上带回来的贴纸。

Cindy William 的女儿房门上贴满了来自各种 WordPress 和 Drupal Camp 的标志

Cindy Williams

贴上鸡

这是我非工作用的笔记本电脑。我的工作笔记本电脑基本上被覆盖在一层蜂窝状的六边形贴纸中,上面印有我们的产品、我使用和支持的开源项目,以及至少一个 Opensource.com 的六边形贴纸。 : )

我无法挑出最喜欢的,因为它们都是我喜欢的,否则我就不会把它们贴在我随身携带的笔记本电脑上。我特别喜欢鸡、渡鸦和手持刀具的 Sergi the Cat。

Kevin Sonney 的笔记本电脑上贴着各种标志

Kevin Sonney 的笔记本电脑上贴着各种标志

Kevin Sonney

美食趣味

我过去经常在笔记本电脑上贴满贴纸。去年买的这台电脑很快就贴满了:

DJ Billings 的笔记本电脑上有各种标志,包括一个松饼标志

我最喜欢的是杯子蛋糕和甜甜圈标志,因为是我自己画的。我刚刚购买了一台 System76 的 Darter Pro 笔记本电脑,我非常喜欢它。我得到了一堆很酷的贴纸,但我一直不确定是否要把它们贴在笔记本上。我不知道为什么。

DJ Billings

保持简洁

Don Watkins 的笔记本电脑上贴有 opensource.com 和 Red Hat 的贴纸

我在我的笔记本电脑上不贴很多贴纸,但目前正在使用的这台笔记本上贴着我最喜欢的两个贴纸,它是 System76 的 Darter Pro。

Don Watkins

生活的必需品

Katie Sanders 的笔记本电脑和带有贴纸的 Yeto 杯子

我还包括了我的水瓶。我想我更喜欢那些贴纸。

啤酒,狗,音乐,牛角面包。我还需要什么?

Katie Sanders

我的座右铭

Faye Polson 的笔记本电脑上有“yeet or be yeeted”贴纸

我最喜欢的贴纸是 “yeet or be yeeted”。

Faye Polson

大蒜

Tiffany Bridge 的笔记本电脑上有电影、WordPress 和大蒜贴纸

大部分贴纸都是专业的,但 “Greetings from Hamunaptra”、“City of the Dead” 贴纸隐晦地参考了我最喜欢的电影之一《 木乃伊 The Mummy 》(1999),是由 Brendan Fraser 和 Rachel Weisz 主演的。

旗帜和 “Blackbeard's Bar & Grill” 贴纸指的是对我完全痴迷的 “Our Flag Means Death”。

而大蒜则是我朋友商店的 Cosmic Garlic 贴纸。大蒜在民间被用作各种疾病的草药疗法,所以在疫情期间把它放在笔记本电脑上似乎是一件好事。

Tiffany Bridge

开源项目

Seth Kenlon 的笔记本电脑上有各种 Linux 和开源贴纸

我通常会贴上我使用、贡献或钦佩的项目的贴纸。统计数据显示,我的笔记本电脑现在应该被覆盖了更多的贴纸。我已经三年没参加科技会议了,所以进展比以往慢一点。

Seth Kenlon

Drupal 装点一新

April 的笔记本电脑上贴着几个 Drupal 标志

我会添加一些代表我在技术领域的贴纸。所以我会包括我所参与的组织、我参加过的活动和我支持的项目。

见到人们笔记本电脑上的 Drupal 熊总是很有趣,因为我设计了它。

请注意,我所有的贴纸都贴在笔记本电脑外壳上以便保存。

April Sides

对 WordPress 狂热

Michelle Frechette 的笔记本电脑上有各种 WordPress 和 Wapuu 的贴纸

我很难选出最喜欢的,但可能是 “Michelle wapuu”!她就是我!

贴纸 “I press all the words” 和 “WordPress is my super power” 是来自 WordCamp Rochester,所以它们对我来说很重要。

基本上,如果我和某个贴纸有渊源(比如我在营地演讲过),或者我只是喜欢它,我就会贴上它!

Michelle Frechette

对艺术的热衷

Dagger McJagger 的笔记本电脑上有各种 Drupal 和开源的贴纸

我非常偏爱艺术贴纸。在电脑上看到艺术作品让我想起认识的人和使用这台电脑时的经历。

我最喜欢的是我的伴侣给我的悲伤表情 Midsommar 贴纸。第一次看完电影后,我们在剧院外花了几个小时讨论它,一直讨论到深夜。直到今天我们还在提到它。

Jonathan Daggerhart

自定义外观

Sallie Goetsch 的笔记本电脑上贴着女神 Ereshkigal 的定制外观贴纸

我在 2019 年买了一台新的旅行笔记本电脑,自那以后一直保持着原样,因为我没有参加任何活动。我的工作笔记本电脑上有一个女神 Ereshkigal 的定制外观贴纸,我以她的名字来命名这台电脑。

— Sallie Goetsch

GNU Emacs

Sachin Patil 的笔记本电脑上只有一个贴纸

一个 GNU Emacs 的贴纸。

Sachin Patil

Opensource.com

在看到大家的回复后,也许收到了非常聪明的社区经理寄来的一些很酷的贴纸...

好吧,好吧,我投降了!AmyJune、Don 和 Sachin 说服我在笔记本电脑上贴一个贴纸。

这是一张显示我笔记本电脑上独特贴纸的照片:

Chris Hermansen 的笔记本电脑上贴着 opensource.com 的贴纸

— Chris Hermansen

贴纸和开源

你不必为你的计算机贴满贴纸。这不是必须的,当然这也不能说明你比其他人更或更少热爱开源。但如果你喜欢一个开源项目,很有可能它有一款贴纸可以用来装饰你的计算机(或者你的门、水瓶或 USB 麦克风)。请放心,如果你热爱开源,同时你也喜欢贴纸,那两者之间有很强的交集!

(题图:MJ/3f69639a-1aab-46d8-97ee-ab095de96e5f)


via: https://opensource.com/article/22/11/laptop-stickers

作者:AmyJune Hineline 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

社区成员分享了影响了其科技生涯的重要女性的故事。

一段开源之旅往往不是独自一人能完成的。你的爱好、职业和生活都受到了科技领域其他人的影响,而数据表明这其中一些影响力来自于女性。这是国际妇女节存在的众多原因之一,也是一起回顾你技术职业生涯中的女性的一个很好的理由。我们向 Opensource.com 的贡献者询问了他们的想法。

励志的女性们

Kathleen Greenaway 博士

我的大学教授 Kathleen Greenaway 博士 是激励过我的女性之一。她正是我想成为的人。我记得她在一次关于打破玻璃天花板的女性活动中说,她无法相信这么多年后我们还在谈论这个问题。我现在发现自己也是这么想的。这只是其中一个例子,但她就是这样。

—— Shanta Nathwani

Hilary Mason

我对 PHP 的入门要归功于 Hilary Mason?wprov=sfti1)。当她在普罗维登斯 RI 的 Johnson & Wales 担任教授时,她开了一门服务器端编程的选修课。她向我们展示了 PHP,并在最后一个项目中让我们使用数据库构建了一些东西。我记得我建立了一个简单的登录系统和一个评论工具之类的。我喜欢告诉人们我是从一个女性那里学来的 PHP(她还是 bit.ly 的首席数据科学家!)

—— John E. Picozzi

Carie Fisher

对我来说,科技界最鼓舞人心的女性是 Carie Fisher。我是在刚开始参与无障碍社区时遇到的她。她邀请我一起帮助项目,并在我申请工作、获得认证和在会议上发言时帮助我克服了冒名顶替综合症。在对技术包容性的激情和奉献精神上,只有少数人能与她相提并论。

—— AmyJune Hineline

Kanopi Studios

我在技术领域工作了 25 年,并且经常是公司或部门中唯一的女性开发人员。然后我加入了 Kanopi Studios,这是一家由女性拥有和领导的机构,这里有许多聪明、精通技术的女性员工,我每天都从她们那里得到启发。我的性别不再是我事业成功的障碍。我感觉自己受到尊重和并被倾听,我的成就也得到认可。

—— Cindy Williams

Barbara Liskov 和 Sandi Metz

我认为 Barbara Liskov 是我们领域中最有影响力的人物之一,我也非常喜欢 Sandi Metz,她的演讲和教学技巧对我的职业生涯帮助很大。我推荐她的所有书籍和会议视频。

—— benelori

家庭

在我的生活中,无论是个人还是职业上,我受到了许多女性的启发。我总是说我的母亲、姐姐和祖母在所有事情上都是我很好的参考对象。我现在有很棒的同事,他们也是我的榜样。我总是这样想:尽力和那些对你很重要的人保持紧密联系。在我刚学习编程开发那时候,我们没有任何参考榜样。没有人告诉我们 第一个程序员是女性,亦或我们能够拥有 WiFi 和 GPS 是多亏了一位女性。我现在正在读一本非常好的书 —— 《The Invisible Woman》,我强烈推荐。

—— Marta Torre

Sarah Drasner

我们其他人的工程管理》由一位杰出的科技女性撰写,作者是 Sarah Drasner。这本书让我注意到了另一位杰出的科技女性。这本书(还有我们出色的开发经理 Jody,她将书的副本发给了业内的所有领头人物)促使我做出了一个决定——不断深化讨论,了解我们在面对反馈时的不同经历。我们意识到很多人可能甚至不知道如何谈论他们需要什么或者什么对他们有用。因此,我们希望可以用一场公开或随意的聊天对话作为一次非常有用的协作学习体验,在对话中,人们分享一些好的和坏的经历(当然这些分享都是非强制的)并看一些不同风格的案例。

—— Fei Lauren

Sheryl Sandberg

在德国汉诺威举行的 WomenPower 会议上,有人推荐给我人生中的第一本关于科技界女性的书,它是 雪莉·桑德伯格 Sheryl Sandberg 的 《精益求精:女性、工作和领导意愿》。我不仅对她自己的工作方式印象深刻,还对她如何成功地运用我们作为女性被赋予的权力以及她和公司的成功的是如何改变了我们的事例感到钦佩不已。

—— Anne Faulhaber

自己的影响力

在开源领域,或许比其他地方更甚,我们都是彼此影响着的。共享和协作的精神植根于开源的发展过程。告诉我们你在开源之旅中受到过谁的影响吧。


via: https://opensource.com/article/23/3/international-womens-day-tech-influence

作者:AmyJune Hineline 选题:lkxed 译者:XiaotingHuang22 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我请社区的开源从业者分享了他们关于编写有用的 Git 提交信息的建议。

最近,当需要更新时,我一直在密切关注从产品和服务获得的变更日志。以下是一些示例:

  • 修复了一些错误。
  • 进行了一些可访问性改进。
  • 我们已经进行了改进,并修复了错误,以实现更顺畅地运行。

当我想到我还是一名初级开发人员写的一些首次提交信息时,我不得不沮丧地垂下头:

  • 用鼠标点了一下,现在一切似乎都正常了。
  • 执行了程序员 X 告诉我的操作,现在横幅是蓝色的。

这可真令人沮丧!我向我们的贡献者们提出了以下问题:

  • 什么是好的 Git 提交信息?
  • 什么是坏的 Git 提交信息?
  • 你认为一个项目应该有哪些关于提交信息所写内容的规则?

以下是他们的答案:

易阅读的文笔是关键

与你写任何东西一样,你应该考虑谁会阅读它。然后相应地调整信息的数量和深度。

提高你的自然语言和写作技能对于软件开发的职业生涯顺利发展至关重要。重要的不仅仅是代码。

—— Camilla Conte

具有描述性,不要假设

我在 OpenStack 社区中花了很多时间合作,与我在像“野外”的其他随意的项目中看到的相比,它的代码审查者有一些相当严格的标准。

我花在撰写一条可靠的提交信息的时间,往往要比编写实际的代码实现或修复程序的时间长得多。有时,提交信息可能会比它们解释的代码变化长很多倍。

总结一些贡献者指导:

  • 描述为什么要做出改变,而不仅仅是改变了什么
  • 第一个提交行是最重要的(就像电子邮件的主题行)
  • 不要假设审查者了解你正在修复的原始问题
  • 不要假设审查者可以访问外部 Web 服务或网站(总结缺陷报告和其他相关讨论)
  • 不要假设代码是不言自明的和自我说明的(尽管没有必要重复你在代码注释中也提出的观点)
  • 不要只包含与更改的早期修订相关的信息(我们希望贡献者将修订压扁在一起,并相应地编辑其提交信息)。

《OpenStack 贡献者指南》中有一个关于该主题的 简短章节

—— Jeremy Stanley

未来的你会感谢自己

我非常同意 Jeremy 的观点。+1000。

Jeremy 说:“描述为什么要做出改变,而不仅仅是改变了什么。”

想象一下,你是旁观者,在遥远的未来试图理解这个提交。

正如老话所说,设身处地为他人着想。

—— Leigh Morresi

使用 bug ID

我建议在提交信息的开头添加 bug ID,这样在以后使用 grep 命令 跟踪提交信息时就会更方便。

例如:

$ git commit -m "BZ#19xxxxx

要写出深思熟虑的提交,请考虑以下事项:

  • 我为什么要做这些更改?
  • 我的更改产生了什么影响?
  • 为什么有更改的必要?
  • 更改的依据是什么?

—— Agil Antony

讲述整个故事

我喜欢想象每个提交信息都有一个隐藏的前缀,上面写着 “By applying this(通过应用这个)”。

一个好的提交信息包括将要发生的事情以及原因。仅仅有工单作参考是不够的,因为这分散了信息;Git 是去中心化的。作为一名软件开发人员,我想知道为什么当前要考虑做出更改。正在解决的具体问题是什么?考虑(并放弃)了哪些替代解决方案?在创建变更集的过程中发现了哪些影响当前内容的意外情况?

缩短提交信息没有什么好处。你未来的自己和未来的同事会感激你深入地解释了问题,以及为什么这个变更集是解决方案。认真学习和利用那些内容丰富的“烹饪”博客。然而,在此,仅仅是把生活经验替换成了项目的问题罢了(LCTT 译注:意思是要认真学习和模仿优秀、详细的提交信息)。

—— Lisa Seelye

但不要过于冗长

一个好的 Git 提交信息包含有关所做操作的信息,而不要包含其他信息。例如,如果你需要更新 .gitignore,只需写 “更新了 .gitignore” 即可。人们可以自行深入到提交本身中了解更多细节。它不需要冗长。

糟糕的提交信息类似于“哦,糟糕”或“试试这个”。当然,我也曾经犯过这样的错误,但这对于任何需要一目了然地查看提交信息的人来说都没有任何帮助。

提交信息的规则非常主观。他们可能因领导和团队而异。但至少要提供一些有关提交的上下文信息。特别是如果它是一个大的更改。没有人有时间浏览 1000 多个具有大量更改历史的文件。

—— Miriam Goldman

使用现在时

我喜欢项目经理风格的提交信息,用现在时而不是将来时的术语编写(例如,“添加” 而不是“已添加”)。然而,这通常只有在频繁提交时才有可能。当你面临最后期限时,你能记住的只有“我是如何做的”而已。然而,写得好的提交不仅有助于合作者,而且有助于提交者回忆历史。

—— Chris Okpada

不要依赖链接

我想提醒同事们的一件事是,你不仅仅是向给你的提交作批准的人解释。你还要向未来的开发人员和用户解释,他们在使用 bisect 或 blame 定位问题时发现了这个提交,并试图了解其相关性。

如果提供的唯一的上下文是指向某个外部系统的链接,并且在未来很长一段时间内,它所链接的系统不再使用,或者该用户无法访问,那么你的提交信息将变得无用,可能还不如空白。

我经常去挖掘一些开源项目的 Git 历史,发现有些提交信息无非就是一个 Bug ID,或者是某个公司内部的和专用的缺陷跟踪器的链接。

不要依赖链接!

—— Jeremy Stanley

清晰简洁的变更日志

作为一名发布沟通经理,我会经常阅读整个发布版块。我还会与开发人员会面,讨论任何尚未明确的领域。然后我提前测试了版本。之后,我将通过寻找变更日志和相应的修订或新内容来撰写发布文章。

变更日志是开发人员的个人提醒,但也有相应的提议和工单。你应该适当地将产品名称大写,使用拼写检查器,与标点符号和句子结构保持一致。首席开发人员也应该校对这些。你的客户,即开发人员,正在阅读这些内容。在运行更新之前,他们应该了解哪些信息能更好地为客户服务?

—— Courtney Robertson

具体一点

作为一个经常性的发布经理,我喜欢带有组件名称的提交的信息,以及对更改内容的简要描述。在我们忘记了你聪明的分支名称之后,还可以参考一下这项工作的请求来自何处,这有助于将修复程序联系在一起。

  • “修复致命错误”并不是理想的提交。
  • “ISS-304: 修复具有合作伙伴角色的用户在登录访问控制功能中的致命错误”更好。
  • “ISS-304: 登录访问控制:修复 getPartnerId() 的致命错误”也更好。

我可以查看 Git 提交、分支、合并提交之间的整个关系,并检查更改的各个行和文件。但我在发布过程中没有这样的时间。我希望能够在项目管理工具回溯这项工作的源头,了解哪些组件正在被更改,以及以何种方式进行更改。

—— Ryan Price

让它成为一种习惯

我最喜欢犯的错误是“在我切换分支之前提交”,因为我必须处理其他更紧急的事情。有时候,我需要把我目前的工作提交给一个完全不同的项目。我的经理的策略是让我们像平时一样工作。但当我们变基时,他希望我们在有意义的地方压扁提交,并编写更好的信息。我不能说我们总是这样做,但他的方法确实有道理。

我也有很多“这个坏了,不知道为什么”类型的信息(哈哈),我尝试了一些东西,但想在尝试其他东西之前提交该尝试,以防方法 A 比方法 B 更接近解决问题。我已经写了 10 多年了。

—— RachieVee

你的提交信息建议或提示是什么?让我们在评论中知道。


via: https://opensource.com/article/22/12/git-commit-message

作者:AmyJune Hineline 选题:lkxed 译者:ZhangZhanhaoxiang 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

分享你的 Wordle 结果是有趣的。尝试这些开源技巧让它们可以无障碍分享。

 title=

Wordle 似乎在社交媒体上到处出现。Wordle 是一个快速的文字游戏,你可以每天玩一次,你可以很容易地通过社交媒体与朋友分享结果。

Wordle 的目的是猜测一个秘密单词。要进行猜测,需要输入一个单词,然后 Wordle 在一个由彩色编码的表情符号组成的网格中显示你的猜测结果。绿色表示一个字母在正确的位置。黄色表示密语中包含该字母,但它在错误的位置。灰色表示该字母根本就不在这个词中。

Sample of wordle results displaying colors for letter position

人们通过将产生的字母网格粘贴到社交媒体上来分享他们在游戏中的进展,这很容易做到,因为这个网格只是 一组表情符号。然而,表情图标和表情符存在无障碍问题。虽然它们很容易复制和粘贴,但对于生活在低视力或色盲的人来说,共享的结果可能很难看清。灰色、黄色、绿色的颜色对一些人来说可能很难区分。

Wordle results statistics

受到与 Mike Lim 谈话的启发,我在互联网上做了一些探究,发现了一些提示,包括一个帮助改善共享游戏结果的无障碍性的开源项目。

使用一个开源的无障碍应用

wa11y 应用 的使用很简单。你可以在 这里 找到 wa11y GitHub 项目。复制你的 Wordle 结果并将其粘贴到应用中,它就会将你的结果转换为文字。

Emoji converted to words

你可以简单地勾选复选框来包含表情符号,以表示成功猜测,但该项目维护者不建议这样做。辅助技术非常喜欢表情符号,以至于它会读取每一个表情符号。内联地、全部读取。尽管技术圈喜欢阅读它们,但使用辅助技术的人可能会发现它很麻烦,并经常放弃有几个以上的表情符号的信息。

Words and emoji included in the output

Emojis are beautiful, but can be frustrating for folks who use screen readers and other accessibility tools. Please consider your audience on social media.

提供无障碍图片

也许你不能使用 wa11y 应用,但仍然想确保你的结果是无障碍访问的。你可以进行截图,上传图片,并添加替代文本。你有几种方法可以做到这一点:

  • 附上图片,并在信息栏中写上替代文本。
  • 附上图片并深入到你的特定社交媒体应用的无障碍选项中,启用替代文本并从那里添加。开源社交网络 Mastodon 默认启用实际的替代文本。
  • @AltTxtReminder 是一个你可以关注的账户,当你忘记时,它会提醒你为图片添加替代文本。

如果你分享了默认结果,你总是可以选择在表情符号之前添加替代文本。这样,你的受众就可以获得文字信息,但在重复的表情符号变得繁琐之前,可以中止信息的其余部分。

Twitter wordle results without text

Twitter results with descriptive explanation of results

总结

Wordle 是最近互联网上的一个热门游戏,所以在分享你的结果时,一定要记住无障碍分享。有一些使用开源技术的简单方法可以使你的结果更容易与大家分享。


via: https://opensource.com/article/22/1/open-source-accessibility-wordle

作者:AmyJune Hineline 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出