标签 Google 下的文章

Google 的标志性口号“不作恶”在劳工审判中受到质疑

上个月,软件工程师 Kyle Dhillon 在美国国家劳工关系委员会(NLRB)的审判中说,Google著名的企业口号“ 不作恶 Don't be evil ”,在五年前吸引了他加入这家科技巨头。近年来,Google 不再强调这一口号,但现在却成了 NLRB 对该公司投诉案的焦点,公众对该公司的行为准则进行了反思。2015 年,Google 成立新的 Alphabet 母公司之后,这句口号从 Google 行为准则的开头被移到了结尾。而 Alphabet 的更广泛的行为准则没有提到这句话。

终究还是“作恶”更容易一些。

Linux 基金会调查显示企业急于招聘开源人才

在西雅图举行的开源峰会上,Linux 基金会和 edX 发布了 2021 年开源工作报告。其中有几个值得注意的数据:92% 的经理人说难于找到足够的人才;在该调查历史上第一次,云和容器技术技能比 Linux 更受招聘经理的青睐,分别是 41% 和 32%;几乎所有的开源专业人士(88%)都报告说在他们的工作中使用 DevOps 实践;大多数雇主(88%)优先雇用经过认证的专业人员,而 2020 年为 57%,2018 年为 47%。

开源和云技术已经成为技术人的必备技能。

Apache OpenOffice 发现安全漏洞,能被恶意文件劫持

Apache OpenOffice(AOO)目前存在远程代码执行漏洞,虽然该应用的源代码已经打了补丁,但该修复程序只作为测试版软件提供,等待正式发布。该漏洞的公开披露日期是 8 月 30 日,这意味着大多数运行这个开源办公套件的人可能拥有该软件的脆弱版本,该套件已被下载数亿次,最后一次更新是在 5 月。

还有人用 OpenOffice 吗?赶快离开它吧。

18 年后,最古老的 BT 种子还活着

迄今最古老的 BT 种子《The Fanimatrix》和 BitTorrent 协议都诞生于 2003 年,这是一部新西兰粉丝摄制的《黑客帝国》题材真人短片,成本仅 800 美元,9 天拍摄完成,主创表示最大的花销是皮夹克。为了低成本地传播,拍摄者选择了初出茅庐的 BT 种子,只要有人做种,那么资源就可以一直分发下去。而 18 年过去了,这部影片仍旧有几十个做种者。

这是一种好技术,但是并不是所有人都喜欢它。

Apache 软件基金会去年变更了约 1.34 亿行的代码

Apache 软件基金会(ASF)最近公布了截至 4 月 30 日的 2021 财年报告,设法筹集了超过 300 万美元的资金。在代码方面,ASF 在 2021 财年对其托管的项目进行了 25.8 万次提交,由 3058 名提交人变更了 1.34 亿行代码。ASF 已经拥有 200 个项目管理委员会和 351 个 Apache 项目。去年有 14 个项目从 Apache 孵化器状态毕业。去年,最活跃的 Apache 项目是 Kafka、Hadoop、ZooKeeper、POI 和 Logging。

开源世界虽然是由一个个贡献者搭建起来的,但是各种基金会在其中发挥了不可或缺的作用。

Google 推出私有计算核心服务

Google 的私有计算核心是一个开源的平台,提供了一个沙盒式的安全环境。它可以将“智能回复”、“现在播放”和“实时字幕”等服务在私有计算核心中处理,除非得到手机所有者的明确许可,否则不会与其他应用程序共享。现在,Google 已经通过私有计算核心服务进一步加强了这一举措。这将通过利用专门的开源 API 来实现,这些 API 通过删除个人身份信息来保护隐私,并使用联合学习、联合分析和私有信息检索等技术进行处理。

看起来还不错,但是就像谷歌之前的一些类似技术,或许也有隐患。

大约五年前的今天,我上交了 Google 员工证,然后走出了悉尼 Google 办公室,开启了一段自谋职业的崭新生活。我认为我应该详述一下这个故事,因为我通过阅读 Michael Lynch 的作品而收获颇丰。正如你所看到的,我仍然花费了几年时间才开始考虑写这篇文章,但是最终我告诉自己,倘若我不在五周年纪念日写它,我就永远也不会写了。

这篇文章有点儿长,但是我希望它对那些对于在大型技术公司工作感兴趣的新开发人员或是想要离职的大型企业雇员能够有所帮助。我将谈谈我进入 Google,在 Google 工作和辞职的故事,以及之后我做了什么。如果你想了解更多的细节,可以随时询问,不过我已经有很多博文要写,所以不能保证有什么深入的内容。

同样地,冒着显而易见的劳工风险:我已经有 5 年不在 Google 工作了,所以请不要以这个故事来作为当今 Google 或是 Google 雇员经历全貌的字面描述。但是,我认为其中的许多内容仍然与一般性的技术职业有关。

通往 Google 的艰辛道路

2005 年,我获得了第一份带薪的编程工作,是在当地的电力公司工作,把一些旧的 Pascal 代码用不同的编译器在不同的操作系统上运行。这基本上只是我为了挣外快而做的暑期工,同年我还刚刚开始攻读我数学和物理的学位。他们很高兴有一个本科生能够胜任这份工作。我被这些大人吓了一跳,因为他们不仅只是对我的编程爱好感兴趣,而且真的还会为此给我钱。

直到 2007 年毕业以前,我一直在做类似的工作。我喜欢编程工作,而 Google 是一家从事着很酷的编程工作的很酷的公司,因此我申请了实习。 Google 的面试过程以困难而著称,所以我花了好几个星期时间练习了所有我在网上能够找到的 Google 面试题。我认为 13 年里面试流程并没有发生太大的变化 —— 我提交了简历,受邀参加了几轮电话面试,这些面试问的几乎都是算法问题(我记得有一个动态规划问题和一个分治几何问题)。我通过了最初的几轮面试,然后受邀前往悉尼接受了由 Google 的工程师们进行的为期一天的现场面试。我回到家里,等待 Google HR 的电话,这个过程漫长得像是有一辈子。我被拒绝了。

对于我们收到的拒绝和失败感到难过很自然,因此我们并不会经常谈及它们。但是出于同样的原因,其他人也不会去谈论他们自己的失败,这只会使得情况变得更加糟糕。当我后来真的进入 Google 时,我觉得作为一个此前被拒绝过的人,我一定有哪里做得不对,但是有一天我和一群同事坐在一张桌子旁,开始交谈。那时候我才发现,实际上我身边的很多人都至少被拒绝过一次。我甚至都不是“最差的”。有个家伙开玩笑说,他肯定是因为 Google HR 厌倦了拒绝他才得以进来的。我说的也是一些相当厉害的工程师 —— 有些人负责着我一直在用的代码,而我打赌你也在用。

进行面试的公司通常会为每个名额面试两名或更多的候选人。这意味着比起录用,会有更多的拒绝,所以一般面试参与者被拒绝的可能性要大于被录用。然而我们一直忘记了这一点。四个开发人员参加面试,一个被录用了,其他三个在社交媒体上抱怨这场面试是如何的漏洞百出,因为他们个人被拒绝了。当然,面试远非完美,但是我们需要停止如此个人化地谈论它。

只要你能够找到问题所在并知道如何去改进自己,拒绝和失败就没有那么糟糕。Google 的面试主要针对算法,我在其中磕磕拌拌地摸索,但绝对没有能够脱颖而出。

在被 Google 拒绝以后,我得到了两样东西,并进行了为期一年的休假。第一件东西是澳大利亚商务编号(ABN),我用它来提供数学与科学补习课程,以及技术工作合同。我获得的另一样东西是一张大学科技图书馆的借书证。我当时并不打算再次去参加 Google 的面试,但是那次的面试经历告诉我还有很多东西是我所不知道的。我就在图书馆开设课程给大家做辅导,并在期间阅读书籍。顺便说一句,有些人认为我为我的补习业务所做的所有这些财务工作和其他东西很奇怪,而大多数补习老师都只收现金。但是我学到了许多对我日后生活很有帮助的东西,所以我一点儿都不后悔。

2009 年,我根据一个叫 Persi Diaconis 的魔术师转行为数学家的作品,进行了一个数学荣誉课程(也就是学士学位四年级)。计算机科学系让我选修他们的一个算法单元作为其中的一部分。

就像我所说的那样,我本来并没有打算再去 Google 面试,但是让我快速地讲讲这是怎么发生的。我从高中就开始学习日语,因此在 2012 年,我决定尝试在东京生活。这基本上行得通,除了我犯了一个相当大的错误 —— 我没有任何日语方面的纸质资质证明,因此很难获得工作面试。最终,我的一个已经被 Google 录用的朋友建议我再试一次。与 Google 所有的办事处一样, Google 东京的官方商务语言是英语,因此他们不要求我具有日语资质证明。

Google 面试,再一次

我的朋友向 Google HR 推荐了我。这绝对有帮助,但是如果你自己得到了被推荐的机会,也不要太过于兴奋。它所能够确保的是你的简历会被注意到(不是小事)并且免去一次电话面试,但你仍然得通过剩下的电话面试和现场面试。

这一次我用来自 Project EulerGoogle CodeJam 的题进行练习。电话面试过程中,我不得不在 Google Doc 上进行一些在线编程,这有点儿尴尬,但是除此以外电话面试一切顺利。然后我受邀前往六本木的 Mori Tower 办公室进行了为期一天的现场面试。

Mori Tower in Tokyo, where I interviewed for Google. It's the sixth tallest building in the city, which means it's huge.

我的首个面试非常糟糕。我的脑子僵住了。我知道我能够解出那些题目,但是直到面试官走出房间我才想出答案。我立刻就感到很放松,并且意识到这是一个三元搜索问题。这是在是很令人沮丧,但是我觉得继续前进,看看剩下的面试进展如何。

其中的两道面试题很糟糕。其中之一直至今日仍然是我遇到过的最糟糕的面试问题。面试官说:“你用同一输入运行一个程序两次,得到了两个不同的结果。告诉我这是为什么。”我回答道:“当这种情况在现代计算机上发生而且并不在我的预期之中时,通常是竞态条件。”他只说:“不,这不是竞态条件。”然后看着我等着我的下一个回答。如果他有兴趣讨论一下的话,这个问题本该是一个很棒的问题,但是很显然他实际上只想玩“猜猜神秘数”。对于我所说的几乎全部内容,他只是回答:“不。”显然,该程序完全是确定性的,不存储任何状态,并且不依赖于环境(例如磁盘或是实时时钟),但却在每次执行时都给出不同的结果。我怀疑我们对于“被存储的状态”或是“环境”的含义还是某些东西有着不同的理解,但是我无法区分。有一次(变得绝望了)我试着问电子元件的温度变化是否会有影响,而他说:“不,那会是一个竞态条件,我已经告诉过你这不是竞态条件了。”最终,面试结束了,而我仍然不知道那个秘密数字是什么。

我讲这个故事的原因是,我听说过许多更为平淡的恐怖故事,用以证明面试官是憎恶面试者的坏人。然而,与流行的刻板印象所相反的是,当天的大多数面试基本上都还可以,面试官也很友好并且很尊重人。面试也着实很困难,因此最好减少面试官的工作量。希望那个“猜数字”面试官从 Google HR 那里得到的反馈是,他的问题对于作出聘用决定没什么帮助。

这次,面试带来了一份要约,但是有一个小问题:这份工作在悉尼,担任站点可靠性工程师(SRE)。我以前从未听说过 SRE,但是我和一位悉尼的资深 SRE 通了电话,他解释说他注意到了我在天然气行业从事嵌入式工程的经历,并且认为 SRE 会和适合我,因为同样强调可靠性与拟合紧密约束。

在东京花了大约一年时间来建立起自己的生活,我不想抛弃一切然后搬到悉尼,但是我绝不可能会拒绝一份来自 Google 的要约。与招聘人员交谈时,我确实犯了一个非常愚蠢的错误:我被问到当时能赚多少钱,然后我就脱口而出。别这么做。这意味着不管在面试中发生了什么事情,或是你上一份工作中被底薪了多少,或者其它什么。你可能会被拒绝,或者会在原来的薪水基础上得到一些象征性的提升,并且如果你试图进一步协商,会被认为疯狂而又不合理。就我而言,我的收入甚至远远低于 Google 的入门级职位。我无法肯定地说全是这样,但是在 2013 年我搬到了悉尼,在 Google Maps 成为了一名新毕业生级别的 SRE。

悉尼的 Google Maps SRE

像 Maps 这样的产品实际上是若干个软件项目,每个都有自己的开发人员团队。甚至诸如路线查找之类的功能实际上也是多个软件项目 —— 从交通时刻表数据收集,到线路计算,再到结果渲染,等等等等。 SRE 的工作包含两个方面:一方面是为各个项目提供待命,实时响应任何生产事故;另一方面(在无需救火时)则是将生产事故中所积攒的经验应用到其他项目中去,并且发现其中可能出错的方式,或是发现使其性能更好的机会。Google 的 SRE 还需要像开发人员的内部咨询小组一样,对部署实践、自动化、监控或是类似的问题提供咨询。

这项工作相当紧张。作为一个团队,我们每周至少需要处理一次生产事故,否则就要为更多的服务提供支持。每个礼拜,悉尼的所有 SRE 都会聚在一起,交流发生过的故障事件或是有关如何使事情更好地运转的新技巧。学习曲线的感觉就像是再次成为了一名本科生。

我有时会感到震惊,听说我选择离开 Google 的人会问:“但是你不会想念那些福利吗?!”物质上的福利(例如伙食等等)绝对很棒,但是它们是你可以买到的东西,因此,不,它们不是我所想念的东西。如果你问我所想念的是什么,我会说是在那里工作的人们。与你可能听说过的不同,傲慢的人不喜欢在 Google 之类的地方工作。有一个臭名昭著的故事,一个自恋的人在 Google 找了份工作,并假装自己是各方面的顶级专家,让自己尴尬不已。他待了不到半年就离开了。总的来说,与我工作过的其他地方相比,这里的文化在傲慢、指责以及政治方面很少。另一方面,Google 并没有垄断好同事。

不过,有一种公司政治是个大问题。晋升需要“展示影响”,而众所周知的是,要做到这一点最简单的方法是发布一些新事物(不是惟一的方法,但是最简单)。结果是 Googler 们比起改进现有的解决方案,对于推广他们自己内测品质的原型方案更感兴趣。在 SRE 之间,我们经常开玩笑说, Google 内部有两种软件:一种是老的东西,工作得很好,但已经废弃了,甚至连考虑使用都是不够谷歌化的;另一种是热门的新东西,尽管它们还不能用,但却是今天 100% 可以使用的官方工具。作为 SRE,我们经常亲眼看到新的热点事物出了什么问题(有时甚至在没出 alpha 之前它就已经成了过时的旧东西)。(我此前已经对这类事物进行了更为深入的讨论。

这不是我们这些愤世疾俗的 SRE 所想象的东西;这在公司中被公认为是一个问题,而我记得有人向我保证,晋升委员会已经开始通过维护工作等方式寻找关于其影响的证据。

晋升申请

2015 年,在 Google 工作了两年之后,我的经理告诉我,现在是时候申请一个高于我新毕业生水准的晋升了。晋升过程是每年两次由晋升委员会进行集中管理的。你可以先提出申请,然后加上一份对你所从事过的项目的简短描述,再加上同事的推荐信。委员会将会进行审查,然后给你赞成或反对的意见。仅仅有你经理的推荐是不够的,因为你的经理有想让你获得晋升的动机。手下有高级别的员工有助于你自己的职业发展。

长话短说,我提交了我的申请,而委员会说不。事实上,这是个相当糟糕的拒绝。我不记得详细的答复了,但感觉就像是委员会在我的申请中寻找可以不屑一顾的东西。例如,我从事过的一个项目是一个内部工具,它出现了功能需求的积压。我查看了这个项目,发现根本问题在于它已经超出了构建它的键值存储,需要一个合适的数据库。我主张切换到关系数据库,并实现了它:模式、数据迁移、查询、实时站点迁移等等。新查询的速度要快得多,而且(更重要的是)可以有效地支持新功能。在进行迁移之前,我必须要解决的一个问题是大部分代码没有被测试所覆盖,而这是由于大部分的代码都不可测试。我使用依赖注入以及我此前讨论过的其他技巧重构了代码,而这使我能够构建一组回归测试套件。我记得这个项目被驳回主要是被评价为测试单元的编写是“新毕业生水平的工作”。

我的经理真的很支持我,并且写了上诉。他没有给我看,但是我认为这是可以被缩减成 “WTF” 的若干页(更雄辩而详尽地论述)。以下是一些我也认为这一回复有点 “WTF” 的原因:

Google SRE 有一种“关键人物”的概念。一个项目的关键人物有两个角色:一个是比起其他 SRE 对于软件项目有着更为深入的了解,以便你能够回答他们可能会提出的问题;另一个角色是作为项目本身的开发人员的第一联络人,以便他们的所有 SRE 问题都能得到回答。 Google 的职业阶梯指南说,关键人物不应该处于“新毕业生水准”,而应该晋升。正如我在申请中所写的,我是三个项目的关键人物。

我的关键人物经历使得想要找到同意支持我的晋升申请的资深开发人员很容易。当他们发现我是新毕业生级别时都十分震惊。他们都同意支持我的申请,认可我已经处在了一个更高的级别。

在我的申请之中,我提到曾担任过一组新毕业实习生的导师。当我提出申请时,他们之中的许多人都已经被聘用为了正式雇员。我足够资深,可以去担任他们的导师,但是还绝不足以晋升到比他们更高的级别。

给我经理上诉的回复与最初的审查截然不同。这次,我“大大超出了对于我‘新毕业生’级别工作的期望”,但是问题在于他们需要稍多一些时间来确保我能够晋升到新毕业生加一的级别。我被告知在接下来的 6 个月时间里,倘若我能够继续超出预期,直到下一个晋升周期,也许那时我就会得到晋升。上诉结束了;这就是最终结果。

我写了一封电子邮件,表示我要采取另一种选择。就像许多科技公司一样, Google 也有员工持股计划。在开始工作时,你会得到一笔象征性的补助金,而在各个“投资”里程碑时刻,你会收到真正的股份。我的下一次股票授予是在几个月之后。从那以后,我将不再为 Google 工作。

我离开的原因

任何辞职的决定并不容易,而某天你或许会面临同样的抉择。以下是一些有助于我作出决定的因素。(我在以前的一篇贴子里对一些这类想法进行了更深入的解释。

如果你思考一下,考虑到我并不是字面意义上真正的应届毕业生, Google 的评价应该是这样的:“你正在做一些非常错误的事情。在 X、 Y 还有 Z 方面有所改进之前,你根本不会得到晋升。”被告知“你远远超出了预期,但是我们还需要 6 个月左右的时间”,这是毫无道理的。没有人关注我是否有能力做好我的工作。我得到了许多借口,但是没有能够帮助我提高的任何有用反馈。(注意:有时候你必须要明确地要求反馈。经理们可能会陷入捍卫自己所给出的绩效评级的陷阱,而不会去考虑报告是否需要反馈。)

我也不确定晋升委员会会在 6 个月里看到什么他们在已经过去的 2 年时间里都没有看到的问题。他们难保不会再要求 6 个月时间?如果我需要花上多年时间来证明自己以获得新毕业生加一的级别晋升,那么我升到新毕业生加二的时候得有多老呢?

刚加入 Google 时,我的工作级别无关紧要,因为我当时学到了那么多东西,并且能在我的简历里写入一家著名的公司。两年过后,等式变得不同了。 Google 所提供给我的未来所具有的价值正在下降,而 Google 之外机会的价值却正在上升。 Google 的职位实际上在 Google 之外几乎毫无意义。在过去的 5 年间,许多人都问过我在 Google 做过什么,但是没有一个人问我在 Google 是什么职位,也没人称我为“新毕业生”。尽管我在短期内受到了财务方面的打击,但实际上在我上交员工证的那天我就已经得到了晋升。

值得称赞的是,Google 没有做过任何类似于以下的事情,但是在其他公司中却很常见:试图让员工对于要求加薪感到内疚。在几年前我工作过的地方,一些工程师在一次成功发布会后,在许多紧要关头要求加薪。管理层扮演起了受害者的角色,并且指责工程师们是在“强迫他们”。(大约 6 个月时间后,他们失去了自己大部分的工程团队。)如果你真的愿意就辞职时间进行配合(例如,在发布日期之后,而不是前一周),并且愿意记录下你的知识并做了整理等等,那么你仅仅是由于雇主支付给你的工资不足而“强迫他们”。

名义上,我在 Google 留下了大量未授予的股票。但是知道你拥有股票时,股票才属于你。我只是得到了未来会有分红的承诺,而我可以将其除以所需的时间来将其转换为同等的工资率。为这项投资工作 2 个月是值得的,为了剩余的投资工作数年是不值得的。不要被授予股票的偏见所迷惑。

什么时候不应该辞职呢?嗯,与在其他地方相比,你能得到的很多吗?公司的职业发展道路不是天上掉下来的,他们是一系列的业务报价,代表着你将为什么样的公司评估而工作。如果你认为自己能得到很多(考虑到所有的薪酬和像是工作环境之类的无形资产),很好!否则,是时候认真考虑一下下一步该做什么了。

离开 Google 之后

我应当警告你的是,我采取了高增长的战略,但是牺牲了短期稳定性。如果对你而言稳定性更为重要,你应该做出不一样的选择。我的 A 计划、 B 计划、 C 计划都失败了,我最终花费了几个月时间苦苦找寻出路。最后,我在一家小型网店得到了一份合同,为 Safety Town 工作,一家政府建立的面向孩子们的道路安全网站。那里的薪水较之于 Google 是一个巨大的缩减,尤其是考虑到这是我几个月以来的第一份工作。但是,你知道,我真的很享受这个项目。当然了,它不像 Google 那么“酷”,而且可能一些学校里的孩子也不觉得它酷。另一方面,在 Google,我只是机器中的一个螺丝钉。 Safety Town 有一个小团队,每个人都扮演着至关重要的角色。在 Safety Town 项目中,我是后端工程师, Safety Town 当时是我唯一需要费心的事情。而且可能一些孩子已经在这个网站上学到了一两件有关道路安全的事情。从那以后,我做了很多项目,大多数都更大,但是我仍然会向人们展示 Safety Town。

Screenshot of Safety Town home page, owned by Australian NSW government.

我记得 Google 悉尼办事处的一张海报,上面写着:“飞向月球吧!即使你错过了,你也会降落在群星之中!”人们很容易忘记,即使你不是在为知名公司或初创公司做“登月计划”,你也可以拥有高质量的生活。

这儿有一个帮助我获得合同的窍门。我会去参加悉尼的科技活动,站在能看到求职公告板的范围之中,等着看见有人在上面写东西。假设他们正在为一个保险公司项目写 CSS 开发方面的信息。即使我对 CSS 或保险不是特别感兴趣,我也会晃悠过去说:“嗨,这是个什么类型的保险项目?”这是最容易的开启谈话的方式,因为在他们努力往求职公告板上的狭小缝隙中写字的时候,满脑子都是这个项目。通常情况下,这样的谈话仍然不会为我带来一份工作,但是偶尔也会发现一些我能够帮上忙的东西。有些活动没有求职公告板,但是组织者们往往很乐意把麦克风递给别人几分钟。这为他们的活动增添了社区参与度。

我在做了一个政府采购的网站后,我取得了重大的突破,因为我学会了不至于对政府采购一窍不通。很难确切说出这些知识的价值,但是不到一年过后,我就签署了一份政府合同,比我此前所期望的要多了 40%。(不过,我如今没有做那么多的政府和大型企业的工作了。)

大约一年半过后,我有了自己的一人公司。随着我声誉的建立,我逐渐获得了更多类似于 SRE 的工作。基本上,从事开发工作是我的“工作”,然后几个月后就有一个需要 SRE/DevOps 帮助的人联系了我。我事实上既喜欢 SRE,也喜欢纯开发工作,但是供求关系意味着 SRE 工作是个好工作。我仍然可以在空余时间编程。

说起这个,工作与生活的平衡是我在新生活中最喜欢的事情。没有人在两份合同之间给我酬劳,但是我可以通过在业余项目中学习新东西来充分利用这一间隙。在一个漫长而又紧张的合同之后,我休息了一下,进行了为期一个月的背包徒步旅行,探索了日本乡村。这是我期待了很长时间的一次旅行,但是在入职 Google 之前我需要更多的钱,而在 Google 供职期间我又需要更多的时间。自营职业远非没有压力,也不是适合每一个人的,但是有的压力会让你感到死气沉沉,有的压力则会让你越发充满活力。于我而言,自主营生是第二种,我想说,和在 Google 时相比,过去的 5 年间我的压力总体上有所减轻。对于我来说,至少我能够诚实地说我不后悔当初加入 Google,也不后悔当初离开 Google。


via: https://theartofmachinery.com/2020/08/04/leaving_google.html

作者:Simon Arneaud 选题:lujun9972 译者:JonnieWayy 校对:wxy

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

有大量的云服务可用于存储重要文档。Google Drive 无疑是最受欢迎的之一。它提供了一组相应的应用程序,例如文档,表格和幻灯片来创建内容。但是,你也可以在 Google Drive 中存储任意内容。本文向你展示如何将其连接到 Fedora 工作站

添加帐户

Fedora 工作站可在安装后首次启动或者之后的任何时候添加一个帐户。要在首次启动期间添加帐户,请按照提示进行操作。其中包括选择添加一个帐户:

选择 Google,然后会出现一个登录提示,请使用你的 Google 帐户信息登录。

请注意,此信息仅传输给 Google,而不传输给 GNOME 项目。下一个页面要求你授予访问权限,这是必需的,以便系统桌面可以与 Google 进行交互。向下滚动查看访问请求,然后选择“允许”继续。

你会在移动设备和 Gmail 中收到有关新设备(系统)访问 Google 帐户的通知。这是正常现象。

如果你在初次启动时没有执行此操作,或者需要重新添加帐户,请打开“设置”,然后选择“在线账户”来添加帐户。可以通过顶部栏右侧的下拉菜单(“齿轮”图标)或打开“概览”并输入“settings”来使用它。接着和上面一样。

在 Google Drive 中使用“文件”应用

打开“文件”应用(以前称为 “nautilus”)。“文件”应用可以通过左侧栏访问。在列表中找到你的 Google 帐户。

当你选择帐户后,“文件”应用会显示你的 Google Drive 的内容。你可以使用 Fedora 工作站的本地应用打开某些文件,例如声音文件或 LibreOffice 兼容文件(包括 Microsoft Office 文档)。其他文件(例如 Google 文档、表格和幻灯片等 Google 应用文件)将使用浏览器和相应的应用打开。

请记住,如果文件很大,将需要一些时间才能通过网络接收文件,你才可以打开它。

你还可以复制粘贴 Google Drive 中的文件到连接到 Fedora 工作站的其他存储,或者反之。你还可以使用内置功能来重命名文件、创建文件夹并组织它们。对于共享和其他高级选项,请和平常一样在浏览器中使用 Google Drive。

请注意,“文件”应用程序不会实时刷新内容。如果你从其他连接 Google 的设备(例如手机或平板电脑)添加或删除文件,那么可能需要按 Ctrl+R 刷新“文件”应用。


via: https://fedoramagazine.org/connect-your-google-drive-to-fedora-workstation/

作者:Paul W. Frields 选题:lujun9972 译者:geekpi 校对:wxy

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

Google 开发者大会已经结束一周有余,我的心情也从参会两天的跌宕起伏变得平稳了一些,便趁着这个机会,写一篇会后评论,在摆脱了体验的层面上,重看 Google 开发者大会 2019。

四年来的变与不变

Google 开发者大会在上海举办,这已经是连续的第四年了,从 2016 年,一直到 2019 年,四年过去了,我们不妨看看, Google 开发者大会发生了哪些变化。

在 2016 年,Google 开发者大会的 Keywords 是 Android 、Firebase、Angular、Mobile Web、Google Play 、Ads 和 What‘s next。

在 2017 年,Google 开发者大会的 Keywords 变成了 PWA & AMP、Tensorflow、Firebase、Kotlin、Android ,此外,2017 年,Flutter 有了自己的第一场演讲:「Rapidly build beautiful mobile apps with Flutter」, AR Core 也在这一年的 Google 开发者大会上,崭露头角。

到了 2018 年,Google 开发者大会的 Keywords 是 Tensorflow、Firebase、ARCore、Flutter。

而今年的 2019 年,主角只有一个,那就是 Tensorflow ,其他的诸如 Firebase、ARCore、Flutter 虽然也占据了不小的篇幅,但和 Tensorflow 相比,差距还是不小。

四年来, Google 开发者大会的关键词变得越来越简单,技术也变得越来越专业。但演讲的标题,却看起来越来越接地气。以往的大会往往讨论的是技术实现的细节,如今的大会,分享的更多是 Google 能力如何与产品、业界所结合。过去的内容往往是通过跑分来对比,如今的内容则更多是介绍能力是如何被企业所使用,改变了企业的工作模式。四年来,Google 开发者大会的内容从纯英文,到如今的中文 Topic 层出不穷,曾经傲娇的 Google 也变得越来越亲近中国开发者。

Google 的技术不如从前了么?显然不是,从今年的 Tensorflow Dev Summit ,到 Google I/O 2019 ,Google 给我们的惊艳从未少过,只是不同的是,如今的 Google 不再是那个强调自己的技术多么先进的技术公司了,而是一个更加强调 Google 如何改变世界,如何帮助企业获得成长的产品型公司了,显然, Google 更加成熟了,它明白,技术本身只是工具,技术的出现,是为了改变我们的生活,让我们的生活、工作变得更加美好

2019 in 机器学习

如果说今年的大会最核心的是什么,那莫过于 机器学习 了,从无处不在的 机器学习 产品,到第二天数十场的 Tensorflow 专场演讲,无一不表明了本次大会的主角,就是 Tensorflow。

Google 在本次大会中,投注了大量的精力去分享和介绍,如何使用 Tensorflow ,如何应用 Tensorflow ,还介绍了一些国内的企业对于 Tensorflow 的应用,以启发开发者使用 Tensorflow 。针对国内所独有的微信小程序业态, Google 的 Tensorflow.js 也提供了相关的适配,帮助开发者更低成本的使用 Tensorflow ,在自己的应用中接入和应用机器学习。

除了技术,在会场中还可以看到大量的体验性质的项目,这些体验性质的项目看似是创意,背后却是来自 TensorFlow 机器学习能力的产品化,这些体验项目不再是简简单单的介绍 TensorFlow 到底有多么强大,而是用产品告诉你,机器学习、TensorFlow 能够为你的产品赋能多少。这种思路的转变,也正是机器学习不断落地到应用场景的实例。在过去,我们没有足够的产品时,不得不以应用跑分来做对比,但当应用已经足够好的时候,应用已经足以说明一切。

除了基础的 机器学习 能力,我们也看到, 机器学习与 Google 的其他服务是如何一同对外提供服务,在 Google 的 Analytics 服务、Firebase 服务等产品中,看似与 机器学习 无关的应用,背后却都是隐含着 机器学习 的逻辑,借助 机器学习 来帮助 Google 提高服务的水平和水准,让用户可以与 Google 共同前进,取得双赢。

在 2019 年, 机器学习已经不再是一个热词,取而代之的,是各企业默默的将机器学习的能力引入到自己的产品中,默默的为用户提供着服务。在 2019 年,技术不再是 机器学习 的核心,如何将技术产品的价值,迁移到产品上,转换成用户触手可及的产品,才是真正的核心。这里, Google 为大家做了榜样。

Grow 、Grow 、Grow

在本次大会中,最令我惊喜的,莫过于 Grow With Google 这个项目。身处一个日新月异的行业,学习成为我们永恒的话题,但是,学什么、如何学,却是我们一直都没有搞清楚的问题。

在竞争日益白热化的中国,我们恐惧自己被甩下,却因为没有合适的内容,日复一日的学习着技术内容。但是我一直认为,社会是复杂的,生活是复杂的,工作是复杂的,我们凭什么认为我们掌握的简单技能,能够解决一个复杂问题呢?

Grow With Google 并不是一个简单的在线课程的项目,而是一个新的可能,在 Grow With Google 中,它提供了针对教师、个体户、学生和求职者、开发者、初创公司等不同角色下的教育内容,帮助你以最快的方式,完成角色的转变,这种改变自己人生的机会并不多,如今 Google 又提供了一种新的可能,对于焦虑的我们来说,这获取是一剂良药。

让我们自己变得更复杂,拥有更多的可能,或许能够帮助我们,走出知识焦虑的怪圈

总结

Google 开发者大会值得去么?当然值得,去大会并不是为了去看技术的细节,实际上,这些内容在官方文档中,你可能找到更加细致的内容。大会真正带给你的价值,是帮助你拥有一个全新的视角,以不同的视角,来看待这个世界、看待你所遇见的问题。以一种 Google 范的方式,帮助你解决你自己的问题,更好的看清这个世界。

这个我们已经多次讨论过。但是,我还要简要介绍一下它。截至目前,还没有官方的 Google 云端硬盘的 Linux 客户端,我们需要使用非官方客户端。Linux 中有许多集成 Google 云端硬盘的应用。每个应用都提供了一组功能。

我们过去在网站上写过一些此类文章。

这些文章是 DriveSyncGoogle Drive Ocamlfuse 客户端在 Linux 中使用 Nautilus 文件管理器挂载 Google 云端硬盘

今天我们也将讨论相同的主题,程序名字是 ODrive。

ODrive 是什么?

ODrive 意即 Open Drive。它是 Google 云端硬盘的图形客户端,它用 electron 框架编写。

它简单的图形界面能让用户几步就能集成 Google 云端硬盘。

如何在 Linux 上安装和设置 ODrive?

由于开发者提供了 AppImage 包,因此在 Linux 上安装 ODrive 没有任何困难。

只需使用 wget 命令从开发者的 GitHub 页面下载最新的 ODrive AppImage 包。

$ wget https://github.com/liberodark/ODrive/releases/download/0.1.3/odrive-0.1.3-x86_64.AppImage

你必须为 ODrive AppImage 文件设置可执行文件权限。

$ chmod +x odrive-0.1.3-x86_64.AppImage

只需运行 ODrive AppImage 文件以启动 ODrive GUI 以进行进一步设置。

$ ./odrive-0.1.3-x86_64.AppImage

运行上述命令时,可能会看到下面的窗口。只需按下“下一步”按钮即可进行进一步设置。

点击“连接”链接添加 Google 云端硬盘帐户。

输入你要设置 Google 云端硬盘帐户的电子邮箱。

输入邮箱密码。

允许 ODrive 访问你的 Google 帐户。

默认情况下,它将选择文件夹位置。如果你要选择特定文件夹,则可以更改。

最后点击“同步”按钮开始将文件从 Google 下载到本地系统。

同步正在进行中。

同步完成后。它会显示所有已下载的文件。

我看到所有文件都下载到上述目录中。

如果要将本地系统中的任何新文件同步到 Google 。只需从应用菜单启动 “ODrive”,但它不会实际启动应用。它将在后台运行,我们可以使用 ps 命令查看。

$ ps -df | grep odrive

将新文件添加到 Google文件夹后,它会自动开始同步。从通知菜单中也可以看到。是的,我看到一个文件已同步到 Google 中。

同步完成后图形界面没有加载,我不确定这个功能。我会向开发者反馈之后,根据他的反馈更新。


via: https://www.2daygeek.com/odrive-open-drive-google-drive-gui-client-for-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:wxy

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