我的2018年开源贡献

我爱开源社区,不仅因为它有能力围绕共同的兴趣和问题团结开发人员和其他技术人员,还因为它展示了每个人(从初学者到大师)都在探索什么。 为此,我想分享一些我今年建立的项目,以满足我自己的一些需求。 我在这里提出的三个项目是我生活中特定需求的结果,这些需求围绕着优化对我来说很重要的信息和管理我的专业联系人而产生。 它们是针对我的特定挑战的特定工具,但是作为开源项目,它们也许对您也很有用。

借助InBrief,办公室里的第二个屏幕上充满了标题,鸣叫,日历,待办事项和天气。 这是我使用Electron构建的个人仪表板应用程序。 所有这些都是完全可定制的,使其成为我构建的为数不多的类似于完全实现的产品的开源项目之一。 用户可以从GitHub下载已编译的二进制文件,以在Mac和Linux上试用该应用程序。 (可能会支持Windows,但我希望获得一些帮助以进行该设置!)

以下是其一些深入功能:

  • RSS —我很久以前就宣布Google停用Google Reader时RSS失效,但现在我看到市场上的读者数量和仍在积极支持RSS的站点数量给我带来了多么大的错误。 InBrief有一个小部件,可刮擦一组分类的RSS feed,按类别合并故事,并提供一组合并的标题。
  • Twitter -Twitter仍然是我检查最多的社交媒体平台,主要是因为我关注的技术人员数量众多。 InBrief有一个小部件,可显示我帐户中各个列表中的推文。 (我将个人,公司,幽默和开源/行业一般人士所关注的人分解出来。)
  • 电子邮件和任务 -InBrief时刻关注着我的菜谱,从Exchange和Gmail中读取了我未读和标记的电子邮件,以及从Todoist和Asana读取的今天和本周到期的待办事项。
  • 日历 -InBrief根据我的Exchange日历概述了我当天的议程。
  • 天气 -当然,任何仪表板都必须具备此条件,我认为这实际上是短期天气预报的有用地方。

什么启发了InBrief

我同时使用了几种不同的工具来完成InBrief现在为我所做的工作。 那些是:

  • TweetDeck —我一直是TweetDeck的长期用户,并且一直喜欢它,但是我需要一些可以共享屏幕空间的东西。
  • Feedly-它具有许多强大的功能,但是速度很慢,而且我并不觉得自己可以从高级计划中获得价值。
  • 电子邮件/日历/托多斯 -InBrief尚未取代这些工具,但我希望可以将这些工具的地位集中在一处。

简要介绍

说说您对Electron的大量使用,它允许进行一些非常快速的跨平台应用程序开发。 在Electron环境中,InBrief使用从零开始的CSS框架在React上运行,并使用简单的JSON数据存储来保存设置。

InBrief的下一步是什么

我一直在与某人合作以改善此项目的UI和UX,因此我计划在今年余下的时间和有时间的时候继续这样做。

另外,我想探索:

  • OPML —支持指向OPML文件以导入类别和提要。
  • 主题 -为工具构建更多主题和样式,以增加更多种类。

如果有人希望看到支持的其他服务和小部件,请在GitHub上提出功能请求!

为了更好地管理我的专业关系,我建立了Rolodex,这是一个将我的Exchange,Google和LinkedIn联系人同步到一个主列表的Web应用程序。 在这个应用程序中,我可以为与我有特殊关系的联系人加注星标,查看我与网络的联系频率,设置提醒我与特定个人交流的频率,并在互动后记录笔记,以便我什么都记得了 网络并不是我的第一手天赋,但是Rolodex给了我一个结构,在这个结构中我可以更好地管理关系和建立新关系。

什么启发了Rolodex

去年下半年,《华尔街日报》发表了一篇关于戴维·洛克菲勒用来追踪他所有协会的系统的介绍。 考虑到他构建该系统的时间,所有这些都在定制的Rolodex系统中的便签纸上完成。 受他的系统启发,我决定采用一种更积极的方法来跟踪我的专业关系。 我建立了自己的系统,因为尽管市场上有很多有趣的个人CRM应用程序,但它们都是面向交易的。 对于我的需求,我想要的是更多关于管理广泛联系的信息,但不一定要针对任何目标。

Rolodex的堆栈

Rolodex是一个由Node.JS支持的Web应用程序,它将所有内容存储在SQLite3中,并在前端使用React + Bootstrap4。 整个过程都是完全Docker化的,从而易于部署和重用。

Rolodex的下一步是什么

我将这个Web应用程序用作日常工作的一部分,因此我一直在寻找小错误和调整平台的方法。 目前,同步调度程序中存在一个错误,我正在考虑将数据存储区切换到Postgres。 这是一个项目,只要它是我工作流程的一部分,我都会不断添加功能。

我现在正在考虑的功能是:

  • 报告导出 -抓取某些联系人的CSV注释
  • 同步 -从各种来源提取并合并联系人后,将合并的数据推回一项或全部服务
  • 速度改进 —同步数据太慢,因此,我想找到优化方法。

供稿页

最后,为了保持对信息的迷恋,我希望将裸露的RSS feed设置为主页。 构建InBrief后,我放弃了Feedly,并觉得切换到它太慢了。 因此,我在一个下午凑齐了FeedPage,以满足这一需求。

每隔几分钟,FeedPage就会从我的Gists中提取一个OPML文件(OPML是用于存储RSS feed的分类列表的标准XML格式),提取每个feed的最新副本,并根据OPML将feed项组织到分类列表中文件的类别。 显示提要的页面只是纯HTML,并从CDN中提取Bootstrap,因此加载速度非常快。 每当我想管理我的提要时,我只需在GitHub上编辑OPML文件。

FeedPage的堆栈

Feedpage是Node.JS Web应用程序,它使用一个简单的EJS模板来呈现提要。 整个index.js文件-项目中唯一的实际JS代码-总共需要141行。

FeedPage的下一步是什么

不多。 这是做简单工作的简单工具。 如果有人发现加快OPML解析或抓取Feed的方法,请大喊大叫!


最初于 2018 年6月12日 johnjonesfour.com 发布