从“少林寺”毕业后,我当上了开源社区“区长”

news2024/9/24 6:24:06

本期名人堂我们有幸邀请到了Alluxio创始成员兼开源社区副总裁范斌先生。范斌先生讲述了自己的求学、工作、加入开源社区的经历,以及对未来十年数据编排发展的展望,和对开发贡献者的一些建议。

问题 1:范斌老师您好,很荣幸有机会采访到您,请先介绍一下您自己?

大家好,我是Alluxio的创始工程师以及开源社区副总裁(VP of Open Source)。我本科毕业于中科大计算机系,随后分别在香港中文大学计算机科学工程系和卡内基梅隆大学计算机系取得硕士和博士学位。博士期间我在分布式系统算法和系统实现等方向发表多篇包括SIGCOMM, SOSP, NSDI等顶级国际会议论文,包括提出了Cuckoo Filter算法。加入Alluxio前, 我在Google从事下一代大规模分布式存储系统的研究与开发。

问题 2:您从大学本科到博士都是学的计算机专业,而且横跨了大陆、香港和美国三地,为什么会这么着迷于计算机呢?

我算是从很小的时候就开始接触计算机了。小学三年级的时候,我参加了学校组织的计算机兴趣班,系统地学习了BASIC语言编程。我至今仍记得在老师指导下,编写的第一个BASIC程序“打印画布”,实现在电脑屏幕上反复输出同一个符号“#”,如同在一匹布上打印出好看的花纹。当时我一下子就被这个程序迷住了,觉得编写计算机程序,按照自己的想法去做这样或那样有趣的事情实在太好玩了。这就是我入门的经历,从此就非常专心地开始学习计算机程序设计。

小时候我只是觉得计算机是一个有意思的玩具,可以打游戏也可以编写游戏。念完大学、读完博士以后,非常深刻地认识到这是一个非常了不起的行业,它深刻的改变了整个人类社会的运行方式,所以我很自豪一直投身在计算机科学行业当中。

问题 3:在CS领域TOP4的卡内基梅隆大学计算机系攻读计算机博士是什么体验?对加入Alluxio开源项目和创业公司有什么影响?

我在2007年进入了卡内基梅隆大学攻读计算机博士学位,方向是分布式系统,主要是分布式网络系统和分布式存储系统等课题。这一期间,我非常有幸能和很多世界级的专家、学者以及一流的同学一起共事,这个宝贵的经历使得我的专业水平以及对领域的认识都得到了相当大的提升。特别是让我近距离观察到最优秀的学者是如何认识问题、研究问题和解决问题的。我们当时具体解决了什么问题可能相对没有那么重要,而关键是收获了一套方法论,这样后面再做很多类似的事情都会非常得心应手,可以说这是我在整个博士阶段最大的收益之一。

因为同样做的是计算机分布式系统的一些研究,所以我去加州大学伯克利分校访问的时候,认识了当时正在那里攻读博士学位的李浩源博士。当时他的博士项目就是Tachyon,后来改名叫做Alluxio。也是因为这样的机缘,后来我就选择从Google离职加入这家创业公司。

问题 4:您博士毕业后即进入谷歌并在核心存储基础设施团队负责构建分布存储系统的开发,这段经历有什么样的收获?

我在攻读博士期间学习和养成了一套好的方法来研究和解决一些系统难题,但真正的工程实践能力还没有得到最好的锻炼。这是因为这一时期作为一个博士生我专注目标是发表好的论文。而为这些论文写的代码也就是俗称的研究代码(research code),追求的是把一些好的想法快速实现原型,展现给同行看,但并不要求达到生产标准(production ready)。这是从学校里做系统研究的一个常见问题。你也可以理解为学术界和工业界的分工是不一样的。

我在加入谷歌工作的两年里最大的收获是拓宽了视野以及培养了良好的工程习惯。我一直觉得Google就像是计算机江湖里的少林寺,整个大数据以及AI领域里的各种各样的技术,其实很大一部分最早都是发源于Google的。在这样的平台,你可以见证很多技术的发展脉络,并提前五到十年看到下一个时代的技术趋势。这个对于开阔我的眼界是非常有帮助的。

问题 5:作为Alluxio最早的初创者,为什么会选择加入Alluxio?有哪些吸引你的地方?对比谷歌这样的大厂光环,你怎么看待加入startup公司能够带给你的收获?

其实我在卡内基梅隆大学念博士的时候就立下了一个决心,会去参与一个初创公司。我一直就没有什么大厂情节,始终觉得在小公司尤其是初创公司里面做事会更有趣,节奏更快,更有挑战性。对我来说, 我只是一直在等一个合适的机会,能够找到一个我喜欢并愿意为之付出的团队和项目。

问题 6:Alluxio起源于开源项目,目前逐渐商业化,在越来越多的行业被客户认可并使用,是否可以举几个典型例子,Alluxio如何给客户带来巨大价值?

这是一个非常好的问题,我在不同的客户环境下会看到大家使用Alluxio的不同方法。不过总体而言,大部分用例都是通过更快的把数据呈现给计算,帮助客户更高效地管理、使用数据,使他们能够更快的从数据之中挖掘价值。举个例子,比如说在中国联通这样的场景下,通过使用Alluxio可以使他们对于类似Spark这样的任务环境有更好的数据管理效果,以及更好的数据输出速度。这样就可以使中国联通大数据平台上的工程师更有效率地完成他们的工作内容,同时更快速的去迭代算法的开发以及一些不同业务逻辑的开发。这带来的是生产效率的巨大提升。再比如新加坡的星展银行,东南亚最大的银行之一,他们有一些关键的业务跑在Alluxio之上。以上例子都表明了我们所提供的这套数据服务对我们广大用户的巨大价值。如果这套服务出了问题,不工作了,那给相关企业带来的麻烦也是巨大甚至是致命的。正因如此,我感觉我们的工作责任重大,同时也对我们的成就非常自豪。

问题 7:展望未来十年,您觉得数据编排将在整个大数据领域扮演什么样的角色?

我觉得数据编排会成为一个默认的数据层。无论什么时候,不论你是想获取数据,还是想要做大量的数据处理和计算,你都会习惯于从数据编排这层提取数据。它会成为一个大家默认的数据层,也会成为工业界里面的一层工业标准。有了这层标准之后,提供计算的厂商和用户都可以轻松自如地做他们想要做的事情,而不用去关心具体的数据是怎么获得的,或者它是在一个什么样的服务里边怎样设置的。届时,这种相对底层或是比较繁琐的事情就交给数据编排层去处理了,我觉得这会是生产力的一个巨大的进步,会让社会的生产效率达到一个更高的层面。

问题 8:作为Alluxio开源社区的PMC Co-chair对开源社区发展有何期望?有哪些想对开发贡献小伙伴们说的话,您有什么tips可以让大家快速的玩转开源社区吗?

好的,首先非常欢迎大家加入Alluxio开源社区。我在读博士的时候就已经做了一些项目,然后开源了出来,但当时并没有意识到这其实只是开源的程序,一个源代码并不是真正的开源社区。开源社区是人和人之间的组织,社区内的人和人之间会有很多活动和联系,而开源某个项目仅仅是把你的代码放到Github上或者是类似的服务上托管出去,和真正去做开源社区有很大的不同。

我作为Alluxio开源社区的co-chair,我的任务是如何把这个社区里的用户、代码修改的贡献者以及有能力去做整个项目演进的资深开发者很好的组织起来,使大家都能各取所需,并在项目中充分发挥自己的作用。在这个过程中会有很多非常优秀的朋友参与进来,而我们在结交新朋友的同时自己也会学习到很多宝贵的经验。

如果说要给开发者一些tips的话,我觉得是尽可能多的参加社区活动,了解社区里面的人都在做什么事情,提前思考自己期望得到哪些方面的指导,然后多跟社区里的人做分享交流。这样做会比自己盲目摸索的效率高很多。

我们社区成员主要集中在Slack channel和微信群中,如果大家对这方面有兴趣的话,欢迎直接加入我们的Slack channel或者联系微信小助手,和我们的contributor或maintainer做一个沟通,相信会有事半功倍的效果。

想要了解更多关于Alluxio的干货文章、热门活动、专家分享,可点击进入https://page.ma.scrmtech.com/landing-page/index?pf_uid=27086_2062&id=13197:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

归并排序与逆序对数量模板题

归并排序 归并排序模板题 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 1∼109 范围内&#xff…

DCG开年大戏上演“拖字诀”,爆雷恐迎加密至暗时刻

文/章鱼哥出品/陀螺财经币圈无新事,新年伊始,DCG被Gemini催债引发爆雷传言的事情一如FTX、SBF爆雷当初 ,DCG是否会步他们的后尘,目前还不得而知,但这开年一记重锤,给2023的加密领域开了个坏头。祸起Gemini …

【王道·计算机网络】第一章 计算机网络基本体系【未完】

1. 计算机网络概述 1. 概念 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简而言之,计算机网络就是一些互联的(通过通信链路互联互通)、自治的计算机系…

【4.1】Ribbon负载均衡原理

【4.1】Ribbon负载均衡1 Ribbon--负载均衡原理1.1 负载均衡流程1.2 源码分析(debug)2 总结1 Ribbon–负载均衡原理 1.1 负载均衡流程 图中的地址是真实可用的地址吗? 显然不是。 这样一个请求实际上是无法直接到达user-service的。 因此中间…

求一款免费好用的进销存管理软件?

求一款免费好用的进销存管理软件? 免费好用的进销存管理软件,“免费”一词对用户最具吸引力。 很多的小微企业在企业发展的过程都会选择免费的进销存管理软件来协助自己运营。都会希望,花最低的成本,实现最大的利益。 进销存管…

牛客网数据库sql实战剖析(一)

牛客网SQL实战 1.查找最晚入职员工的所有信息 思路:找出入职时间最大的时间,作为子查询条件进一步查找到该员工的其它信息。 SELECT * FROM employees WHERE hire_date (SELECT MAX(hire_date)FROM employees );这里不能用order by的方式&#xff0c…

私募证券基金动态-12月报

成交量:2022全年日均9,277.25亿元12月A股两市日均成交7,875.28亿元,环比下降15.15%、同比下降26.83%,是2022年继9月以后成交量次低的月份。2022年全年,日均成交量9,277.25亿元。管理人:新提交备案29家,备案…

【北京理工大学-Python 数据分析-1.2-NumPy数据存储与函数】

一、数据CSV文件的存取 CSV文件(Comma-Separated Value,逗号分隔值)是一种常见的文件格式,用来存储批量数据。 如常见的数据存储为CSV后 NumPy中有两个函数可以写入CSV格式,并从CSV文件中读取数据。 CSV文件的存储 np.savetxt…

mysql中的rand()函数简介以及和其他函数组合使用实践

一、本文结构简介 本文首先介绍rand()的基本使用 其次分别介绍round与rand的合用、ceiling与rand的合用、floor与rand的合用、md5与rand的合用 二、rand()的基本使用 rand()是系统自带的获取随机数的函数 (1)无参数:产生获取[0,1)之间的float型的数字 (2)有参数&a…

【jQuery】写一个电梯导航

今天大概是跟着pink老师学习JS的第八天&#xff0c;看了有410章了。 视频教程&#xff1a;pink JS 今天早上跟着老师做了一个电梯导航&#xff1a; 还是那个熟悉的品优购项目。。。 之后我打算自己练习一下&#xff0c;然后就出现bug了。 <div class"tuijian"&…

CO13 订单取消确认报错:“在为订单XXXX 确定实际成本中出错”处理分析

用户再操作CO13时报了一个错误&#xff1a;在为订单XXXX 确定实际成本中出错。 看到这个错误以为是财务同时没有发布成本导致的。然后我也操作了一下发现了一些过账中的错误。 原来是冲销这个工单的账期是在前几个月&#xff0c;而那个月已经关账期了&#xff0c;所以报错。 …

ORB-SLAM3代码和算法学习—浅谈代码中的纯定位模式

0总述 在Tracking线程中&#xff0c;当系统初始化完成后就会正式进入跟踪环节。在ORB-SLAM3算法代码中提供了两种模式&#xff0c;一种是纯定位模式&#xff0c;一种是定位建图的SLAM模式。 对于纯定位模式&#xff0c;在源码中由成员变量mbOnlyTracking控制&#xff0c;这个…

django 利用Form上传文件到 media 文件夹

背景&#xff1a;利用 Form 收集用户提交的信息&#xff0c;包括字符串和文件对象&#xff0c;文件保存在项目的 media 文件夹&#xff0c;因为 static 文件一般是用来存静态文件 css 或者项目所需要的图片&#xff0c;用户上传的文件应该保存在其他文件夹; 1、 启用 media&am…

实战演练 | 使用 SQL 别名简化查询并自定义结果

别名能够在不影响基础表或视图的情况下临时重命名表或列。作为大多数甚至所有关系数据库管理系统都支持的 SQL 功能&#xff0c;别名是简化查询和/或自定义结果集中列标题的好方法。在这篇文章中&#xff0c;我们将使用 Navicat Premium 16 来完成这两项工作。重命名列许多数据…

十级NLPer才能笑出声的算法梗!

文&#xff5c;付奶茶近期小编整理出了一些非常好笑的梗图&#xff0c;与各位NLPer共赏&#xff0c;希望与大家一起评选出本期最好笑的梗图选手&#xff01;【1号选手&#xff1a;非常擅长讲笑话的NLM】前排评论区&#xff1a;&#xff08;1&#xff09;I enjoyed your joke ab…

Android 深入系统完全讲解(一)

因为很多朋友还是会咨询 Android 相关的内容&#xff0c;于是便花费了一些时间&#xff0c;把我总结的方法&#xff0c;一些系统代码的跟踪流程&#xff0c;做一个完整的梳理&#xff0c; 算是给自己职业生涯画个完美的句号。 虽然说后续写代码会相对少一些&#xff0c;但是还…

P1044 [NOIP2003 普及组] 栈

P1044 [NOIP2003 普及组] 栈 方法一&#xff1a;递推dp 思路&#xff1a; 求n的总数&#xff0c;我们可以分解成n在第i&#xff08;1<i<n)位置输出讨论。 我们用a[i][j]表示数i在第j位置输出的情况总数&#xff0c;ans[i][j]表示数i在第1--j位置输出总数和 1&#x…

ROS地图栅格信息

一.地图栅格消息nav_msgs/OccupancyGrid // 栅格地图消息 std_msgs/Header header nav_msgs/MapMetaData info time map_load_time float32 resolution // 分辨率 geometry_msgs/Pose origin // 原点坐标 geometry_msgs/Quaternion orientati…

元数据管理Datahub基于Docker进行部署

目录1. 服务器要求2. 安装Docker3. 安装jq4. 安装python35. 安装docker-compose v1(deprecated&#xff0c;为了兼容性)5.1 安装virtualenv5.2 安装docker-compose6. 安装datahub(在docker-compose-v1-py虚拟环境下)7. 访问Web页面&#xff0c;然后导入测试元数据8. 删除datahu…

数字孪生的概念是什么【深度】

数字孪生技术最早提出是用于航空航天领域&#xff0c;美国 NASA 指出“一个数字孪生&#xff0c;是一种集成化了的多种物理量、多种空间尺度的运载工具或系统的仿真&#xff0c;该仿真使用了当前最为有效的物理模型、传感器数据的更新、飞行的历史等等&#xff0c;来镜像出其对…