
当我,Sidharth Bansal,听说我在 Numfocus 的 Matplotlib 项目中入选了 Google Summer of Code (GSOC) 2020 时,我兴奋地跳了起来。在这篇文章中,我将谈论我过去的经历,我如何入选 Matplotlib 的 GSOC 项目,以及我的项目详情。感谢社区的支持!😊
关于我:#
我目前正在印度德里理工大学攻读软件工程学士学位。我的开源之旅始于 Public Lab,一个开源组织,我担任全栈 Ruby on Rails 网站开发者。我最初在那里参与了 Google Summer of Code。我构建了一个多方身份验证系统,该系统允许用户通过多个关联网站(如 mapknitter.org 和 spectralworkbench.org)进行身份验证,并使用 OmniAuth 提供程序(如 Facebook、Twitter、Google 和 Github)。我还参与了那里的多标签订阅项目。该项目涉及用户对标签/类别的订阅,以便在用户订阅的类别中有新帖子发布时通知他们。我去年还为 Google Code-In 和 GSoC 项目担任导师。我也在那里做过自由职业者。
除此之外,我还成功完成了今年在 Google 印度 Google Payments 团队的软件工程实习。我在那里构建了一个 PAN 收集流程。如果用户在当前财政年度通过刮刮卡获得的总金额超过 PAN_LIMIT,则会从用户处收集 PAN(税号)信息。在刮奖时触发 PAN UI。启用 Paisa-Offers 提高他们的限制,以便在超过 PAN_LIMIT 后授予刮刮卡。我使用了 Java、Guice、Android、Spanner Queues、Protocol Buffers、JUnit 等不同技术。
我对机器学习和自然语言处理也充满热情,并在我的大学里完成了一些项目。我研究了“使用模糊逻辑的查询扩展”。我将在一段时间内发布它。它涉及对传统词典进行模糊化处理,以进行查询扩展。
我们的论文“词嵌入研究的实验比较与计量学检验”在上周被 ESCI 期刊和 Springer LNN 接受。它解释了通用嵌入的最新趋势,并对其进行了比较。
开始使用 matplotlib#
我选择 Matplotlib 是因为它是一个拥有许多与绘图相关的酷炫东西的组织。我一直想在这些东西上工作。人们真的非常友好,总是乐于助人!
迈出第一步:#
第一步是加入社区。我开始使用 Gitter 频道来了解维护者。我开始学习构成基线图像问题的不同部分。我从学习 Matplotlib 的系统架构开始。然后,我安装了 Matplotlib,学习了与 Matplotlib 相关的酷炫技术栈,如 sphinx、python、pypi 等。
持续贡献,持续学习:#
学习是一个持续的过程。从导师那里获得关于 GSOC 项目中涉及的各种用例场景的指导,帮助我获得了许多见解。我解决了一些小问题。我了解了这里遵循的代码审查流程、sphinx 文档、发布流程。我做了一些PRs。这是一次很棒的学习经历。
关于项目:#
该项目的目的是生成基线图像,而不是下载它们。基线图像有问题,因为它们通过添加更多基线图像而导致存储库的大小快速增长。此外,基线图像迫使 Matplotlib 贡献者固定到某个旧版本的 FreeType,因为 FreeType 的几乎每次发布都会导致微小的光栅化更改,这将需要重新生成所有基线图像。因此,它会导致存储库大小进一步增长。想法是根本不在 Github 存储库中存储基线图像。它涉及将 Matplotlib 包分成两个独立的包 - mpl-test 和 mpl-notest。Mpl-test 将包含测试套件和相关信息。Mpl-notest 将包含 mpl 绘图库的功能。然后,我们将创建用于生成和获取最新版本的逻辑。还会进行一些缓存。然后,我们将对 CI 实现类似的策略。
导师 Antony Lee
感谢您阅读…在 Matplotlib 与很棒的人一起编码,我感到非常开心。我将在随后的帖子中分享我的工作进展。