分类 分享 下的文章

BitlBee 将多个聊天应用集合到一个界面中。在我们的 20 个使用开源提升生产力的系列的第九篇文章中了解如何设置和使用 BitlBee。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

将所有聊天都放到 BitlBee 中

即时消息和聊天已经成为网络世界的主要内容。如果你像我一样,你可能打开五六个不同的应用与你的朋友、同事和其他人交谈。关注所有聊天真的很痛苦。谢天谢地,你可以使用一个应用(好吧,是两个)将这些聊天整个到一个地方。

 title=

BitlBee 是作为服务运行的应用,它可以将标准的 IRC 客户端与大量的消息服务进行桥接。而且,由于它本质上是 IRC 服务器,因此你可以选择很多客户端。

BitlBee 几乎包含在所有 Linux 发行版中。在 Ubuntu 上安装(我选择的 Linux 桌面),类似这样:

sudo apt install bitlbee-libpurple

在其他发行版上,包名可能略有不同,但搜索 “bitlbee” 应该就能看到。

你会注意到我用的 libpurple 版的 BitlBee。这个版本能让我使用 libpurple 即时消息库中提供的所有协议,该库最初是为 Pidgin 开发的。

安装完成后,服务应会自动启动。现在,使用一个 IRC 客户端(图片中为 XChat),我可以连接到端口 6667(标准 IRC 端口)上的服务。

 title=

你将自动连接到控制频道 &bitlbee。此频道对于你是独一无二的,在多用户系统上每个人都有一个自己的。在这里你可以配置该服务。

在控制频道中输入 help,你可以随时获得完整的文档。浏览它,然后使用 register 命令在服务器上注册帐户。

register <mypassword>

现在,你在服务器上所做的任何配置更改(IM 帐户、设置等)都将在输入 save 时保存。每当你连接时,使用 identify <mypassword> 连接到你的帐户并加载这些设置。

 title=

命令 help purple 将显示 libpurple 提供的所有可用协议。例如,我安装了 telegram-purple 包,它增加了连接到 Telegram 的能力。我可以使用 account add 命令将我的电话号码作为帐户添加。

account add telegram +15555555

BitlBee 将显示它已添加帐户。你可以使用 account list 列出你的帐户。因为我只有一个帐户,我可以通过 account 0 on 登录,它会进行 Telegram 登录,列出我所有的朋友和聊天,接下来就能正常聊天了。

但是,对于 Slack 这个最常见的聊天系统之一呢?你可以安装 slack-libpurple 插件,并且对 Slack 执行同样的操作。如果你不愿意编译和安装这些,这可能不适合你。

按照插件页面上的说明操作,安装后重新启动 BitlBee 服务。现在,当你运行 help purple 时,应该会列出 Slack。像其他协议一样添加一个 Slack 帐户。

account add slack [email protected]
account 1 set password my_legcay_API_token
account 1 on

你知道么,你已经连接到 Slack 中,你可以通过 chat add 命令添加你感兴趣的 Slack 频道。比如:

chat add 1 happyparty

将 Slack 频道 happyparty 添加为本地频道 #happyparty。现在可以使用标准 IRC /join 命令访问该频道。这很酷。

BitlBee 和 IRC 客户端帮助我的(大部分)聊天和即时消息保存在一个地方,并减少了我的分心,因为我不再需要查找并切换到任何一个刚刚找我的应用上。


via: https://opensource.com/article/20/1/open-source-chat-tool

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

jrnl 可以创建可搜索、带时间戳、可导出、加密的(如果需要)的日常活动日志。在我们的 20 个使用开源提升生产力的系列的第八篇文章中了解更多。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 jrnl 记录日志

在我的公司,许多人会在下班之前在 Slack 上发送一个“一天结束”的状态。在有着许多项目和全球化的团队里,这是一个分享你已完成、未完成以及你需要哪些帮助的一个很好的方式。但有时候我太忙了,以至于我忘了做了什么。这时候就需要记录日志了。

 title=

打开一个文本编辑器并在你做一些事的时候添加一行很容易。但是在需要找出你在什么时候做的笔记,或者要快速提取相关的行时会有挑战。幸运的是,jrnl 可以提供帮助。

jrnl 能让你在命令行中快速输入条目、搜索过去的条目并导出为 HTML 和 Markdown 等富文本格式。你可以有多个日志,这意味着你可以将工作条目与私有条目分开。它将条目存储为纯文本,因此即使 jrnl 停止工作,数据也不会丢失。

由于 jrnl 是一个 Python 程序,最简单的安装方法是使用 pip3 install jrnl。这将确保你获得最新和最好的版本。第一次运行它会询问一些问题,接下来就能正常使用。

 title=

现在,每当你需要做笔记或记录日志时,只需输入 jrnl <some text>,它将带有时间戳的记录保存到默认文件中。你可以使用 jrnl -on YYYY-MM-DD 搜索特定日期条目,jrnl -from YYYY-MM-DD 搜索在那日期之后的条目,以及用 jrnl -to YYYY-MM-DD 搜索到那日期的条目。搜索词可以与 -and 参数结合使用,允许像 jrnl -from 2019-01-01 -and -to 2019-12-31 这类搜索。

你还可以使用 --edit 标志编辑日志中的条目。开始之前,通过编辑文件 ~/.config/jrnl/jrnl.yaml 来设置默认编辑器。你还可以指定日志使用什么文件、用于标签的特殊字符以及一些其他选项。现在,重要的是设置编辑器。我使用 Vim,jrnl 的文档中有一些使用其他编辑器如 VSCode 和 Sublime Text 的有用提示

 title=

jrnl 还可以加密日志文件。通过设置全局 encrypt 变量,你将告诉 jrnl 加密你定义的所有日志。还可在配置文件中的针对文件设置 encrypt: true 来加密文件。

journals:
  default: ~/journals/journal.txt
  work: ~/journals/work.txt
  private:
    journal: ~/journals/private.txt
    encrypt: true

如果日志尚未加密,系统将提示你输入在对它进行任何操作的密码。日志文件将加密保存在磁盘上,以免受窥探。jrnl 文档 中包含其工作原理、使用哪些加密方式等的更多信息。

 title=

日志记录帮助我记住什么时候做了什么事,并在我需要的时候能够找到它。


via: https://opensource.com/article/20/1/python-journal

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

待办事项清单是跟踪任务列表的强大方法。在我们的 20 个使用开源提升生产力的系列的第七篇文章中了解如何使用它。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 todo 跟踪任务

任务管理和待办事项清单是我非常喜欢0的东西。我是一位生产效率的狂热粉丝(以至于我为此做了一个播客),我尝试了各种不同的应用。我甚至为此做了演讲写了些文章。因此,当我谈到提高工作效率时,肯定会出现任务管理和待办事项清单工具。

Getting fancy with Todo.txt

说实话,由于简单、跨平台且易于同步,用 todo.txt 肯定不会错。它是我不断反复提到的两个待办事项清单以及任务管理应用之一(另一个是 Org 模式)。让我反复使用它的原因是它简单、可移植、易于理解,并且有许多很好的附加组件,并且当一台机器有附加组件,而另一台没有,也不会破坏它。由于它是一个 Bash shell 脚本,我还没发现一个无法支持它的系统。

设置 todo.txt

首先,你需要安装基本 shell 脚本并将默认配置文件复制到 ~/.todo 目录:

git clone https://github.com/todotxt/todo.txt-cli.git
cd todo.txt-cli
make
sudo make install
mkdir ~/.todo
cp todo.cfg ~/.todo/config

接下来,设置配置文件。一般,我想取消对颜色设置的注释,但必须马上设置的是 TODO_DIR 变量:

export TODO_DIR="$HOME/.todo"

添加待办事件

要添加第一个待办事件,只需输入 todo.sh add <NewTodo> 就能添加。这还将在 $HOME/.todo/ 中创建三个文件:todo.txtdone.txtreports.txt

添加几个项目后,运行 todo.sh ls 查看你的待办事项。

 title=

管理任务

你可以通过给项目设置优先级来稍微改善它。要向项目添加优先级,运行 todo.sh pri # A。数字是列表中任务的数量,而字母 A 是优先级。你可以将优先级设置为从 A 到 Z,因为这是它的排序方式。

要完成任务,运行 todo.sh do # 来标记项目已完成并将它移动到 done.txt。运行 todo.sh report 会向 report.txt 写入已完成和未完成项的数量。

所有这三个文件的格式都有详细的说明,因此你可以使用你的文本编辑器修改。todo.txt 的基本格式是:

(Priority) YYYY-MM-DD Task

该日期表示任务的到期日期(如果已设置)。手动编辑文件时,只需在任务前面加一个 x 来标记为已完成。运行 todo.sh archive 会将这些项目移动到 done.txt,你可以编辑该文本文件,并在有时间时将已完成的项目归档。

设置重复任务

我有很多重复的任务,我需要以每天/周/月来计划。

 title=

这就是 todo.txt 的灵活性所在。通过在 ~/.todo.actions.d/ 中使用附加组件,你可以添加命令并扩展基本 todo.sh 的功能。附加组件基本上是实现特定命令的脚本。对于重复执行的任务,插件 ice\_recur 应该符合要求。按照其页面上的说明操作,你可以设置任务以非常灵活的方式重复执行。

 title=

在该附加组件目录中有很多附加组件,包括同步到某些云服务,也有链接到桌面或移动端应用的组件,这样你可以随时看到待办列表。

我只是简单介绍了这个代办事项清单功能,请花点时间深入了解这个工具的强大!它确实可以帮助我每天完成任务。


via: https://opensource.com/article/20/1/open-source-to-do-list

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

通过将联系人同步到本地从而更快访问它。在我们的 20 个使用开源提升生产力的系列的第六篇文章中了解该如何做。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

用于联系人管理的开源工具

在本系列之前的文章中,我解释了如何在本地同步你的邮件日历。希望这些加速了你访问邮件和日历。现在,我将讨论联系人同步,你可以给他们发送邮件和日历邀请。

 title=

我目前收集了很多邮件地址。管理这些数据可能有点麻烦。有基于 Web 的服务,但它们不如本地副本快。

几天前,我谈到了用于管理日历的 vdirsyncer。vdirsyncer 还使用 CardDAV 协议处理联系人。vdirsyncer 除了可以使用文件系统存储日历外,还支持通过 google\_contactscarddav 进行联系人同步,但 fileext 设置会被更改,因此你无法在日历文件中存储联系人。

我在配置文件添加了一块配置,并从 Google 镜像了我的联系人。设置它需要额外的步骤。从 Google 镜像完成后,配置非常简单:

[pair address_sync]
a = "googlecard"
b = "localcard"
collections = ["from a", "from b"]
conflict_resolution = "a wins"

[storage googlecard]
type = "google_contacts"
token_file = "~/.vdirsyncer/google_token"
client_id = "my_client_id"
client_secret = "my_client_secret"

[storage localcard]
type = "filesystem"
path = "~/.calendars/Addresses/"
fileext = ".vcf"

现在,当我运行 vdirsyncer discover 时,它会找到我的 Google 联系人,并且 vdirsyncer sync 将它们复制到我的本地计算机。但同样,这只进行到一半。现在我想查看和使用联系人。需要 khardabook

 title=

为什么选择两个应用?因为每个都有它自己的使用场景,在这里,越多越好。khard 用于管理地址,类似于 khal 用于管理日历条目。如果你的发行版附带了旧版本,你可能需要通过 pip 安装最新版本。安装 khard 后,你需要创建 ~/.config/khard/khard.conf,因为 khard 没有与 khal 那样漂亮的配置向导。我的看起来像这样:

[addressbooks]
[[addresses]]
path = ~/.calendars/Addresses/default/

[general]
debug = no
default_action = list
editor = vim, -i, NONE
merge_editor = vimdiff

[contact table]
display = first_name
group_by_addressbook = no
reverse = no
show_nicknames = yes
show_uids = no
sort = last_name
localize_dates = yes

[vcard]
preferred_version = 3.0
search_in_source_files = yes
skip_unparsable = no

这会定义源通讯簿(并给它一个友好的名称)、显示内容和联系人编辑程序。运行 khard list 将列出所有条目,khard list <[email protected]> 可以搜索特定条目。如果要添加或编辑条目,addedit 命令将使用相同的基本模板打开配置的编辑器,唯一的区别是 add 命令的模板将为空。

 title=

abook 需要你导入和导出 VCF 文件,但它为查找提供了一些不错的功能。要将文件转换为 abook 格式,请先安装 abook 并创建 ~/.abook 默认目录。然后让 abook 解析所有文件,并将它们放入 ~/.abook/addresses 文件中:

apt install abook
ls ~/.calendars/Addresses/default/* | xargs cat | abook --convert --informat vcard --outformat abook > ~/.abook/addresses

现在运行 abook,你将有一个非常漂亮的 UI 来浏览、搜索和编辑条目。将它们导出到单个文件有点痛苦,所以我用 khard 进行大部分编辑,并有一个 cron 任务将它们导入到 abook 中。

abook 还可在命令行中搜索,并有大量有关将其与邮件客户端集成的文档。例如,你可以在 .config/alot/config 文件中添加一些信息,从而在 Nmuch 的邮件客户端 alot 中使用 abook 查询联系人:

[accounts]
  [[Personal]]
     realname = Kevin Sonney
     address = [email protected]
     alias_regexp = kevin\[email protected]
     gpg_key = 7BB612C9
     sendmail_command = msmtp --account=Personal -t
     # ~ expansion works
     sent_box = maildir://~/Maildir/Sent
     draft_box = maildir://~/Maildir/Drafts
    [[[abook]]]
        type = abook

这样你就可以在邮件和日历中快速查找联系人了!


via: https://opensource.com/article/20/1/sync-contacts-locally

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

请阅读我们的热门文章,这些文章着重讨论了敏捷的过去、现在和未来。

对于 Opensource.com 上的敏捷主题来说,2019 年是非常棒的一年。随着 2020 年的到来,我们回顾了我们读者所读的与敏捷相关的热门文章。

小规模 Scrum 指南

Opensource.com 关于小规模 Scrum 的指南(我曾参与合著)由六部分组成,为小型团队提供了关于如何将敏捷引入到他们的工作中的建议。在官方的 Scrum 指南的概述中,传统的 Scrum 框架推荐至少三个人来实现,以充分发挥其潜力。但是,它并没有为一两个人的团队如何成功遵循 Scrum 提供指导。我们的六部分系列旨在规范化小规模的 Scrum,并检验我们在现实世界中使用它的经验。该系列受到了读者的热烈欢迎,以至于这六篇文章占据了前 10 名文章的 60%。因此,如果你还没有阅读的话,一定要从我们的小规模 Scrum 介绍页面下载。

全面的敏捷项目管理指南

遵循传统项目管理方法的团队最初对敏捷持怀疑态度,现在已经热衷于敏捷的工作方式。目前,敏捷已被接受,并且一种更加灵活的混合风格已经找到了归宿。Matt Shealy 撰写的有关敏捷项目管理的综合指南涵盖了敏捷项目管理的 12 条指导原则,对于希望为其项目带来敏捷性的传统项目经理而言,它是完美的选择。

成为出色的敏捷开发人员的 4 个步骤

DevOps 文化已经出现在许多现代软件团队中,这些团队采用了敏捷软件开发原则,利用了最先进的工具和自动化技术。但是,这种机械的敏捷方法并不能保证开发人员在日常工作中遵循敏捷实践。Daniel Oh 在成为出色的敏捷开发人员的 4 个步骤中给出了一些很棒的技巧,通过关注设计思维,使用可预测的方法,以质量为中心并不断学习和探索来提高你的敏捷性。用你的敏捷工具补充这些方法将形成非常灵活和强大的敏捷开发人员。

Scrum 和 kanban:哪种敏捷框架更好?

对于以敏捷方式运行的团队来说,Scrum 和 kanban 是两种最流行的方法。在 “Scrum 与 kanban:哪种敏捷框架更好?” 中,Taz Brown 探索了两者的历史和目的。在阅读本文时,我想起一句名言:“如果你的工具箱里只有锤子,那么所有问题看起来都像钉子。”知道何时使用 kanban 以及何时使用 Scrum 非常重要,本文有助于说明两者都有一席之地,这取决于你的团队、挑战和目标。

开发人员对敏捷发表意见的 4 种方式

当采用敏捷的话题出现时,开发人员常常会担心自己会被强加上一种工作风格。在“开发人员对敏捷发表意见的 4 种方式”中,Clément Verna 着眼于开发人员通过帮助确定敏捷在其团队中的表现形式来颠覆这种说法的方法。检查敏捷的起源和基础是一个很好的起点,但是真正的价值在于拥有可帮助指导你的过程的指标。知道你将面临什么样的挑战会给你的前进提供坚实的基础。根据经验进行决策不仅可以增强团队的能力,还可以使他们对整个过程有一种主人翁意识。Verna 的文章还探讨了将人置于过程之上并作为一个团队来实现目标的重要性。

敏捷的现在和未来

今年,Opensource.com 的作者围绕敏捷的过去、现在以及未来可能会是什么样子进行了大量的讨论。感谢他们所有人,请一定于 2020 年在这里分享你自己的敏捷故事


via: https://opensource.com/article/19/12/agile-resources

作者:Leigh Griffin 选题:lujun9972 译者:algzjh 校对:wxy

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

保存和共享日历可能会有点麻烦。在我们的 20 个使用开源提升生产力的系列的第五篇文章中了解如何让它更简单。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 khal 和 vdirsyncer 跟踪你的日程

处理日历很麻烦,要找到好的工具总是很困难的。但是自从我去年将日历列为我的“失败"之一以来,我已经取得了一些进步。

目前使用日历最困难的是一直需要以某种方式在线共享。两种最受欢迎的在线日历是 Google Calendar 和 Microsoft Outlook/Exchange。两者都在公司环境中大量使用,这意味着我的日历必须支持其中之一或者两个。

 title=

Khal 是基于控制台的日历,可以读取和写入 VCalendar 文件。它配置相当容易,但是不支持与其他应用同步。

幸运的是,khal 能与 vdirsyncer 一起使用,它是一个漂亮的命令行程序,可以将在线日历(和联系人,我将在另一篇文章中讨论)同步到本地磁盘。是的,它还可以上传新事件。

 title=

Vdirsyncer 是个 Python 3 程序,可以通过软件包管理器或 pip 安装。它可以同步 CalDAV、VCalendar/iCalendar、Google Calendar 和目录中的本地文件。由于我使用 Google Calendar,尽管这不是最简单的设置,我也将以它为例。

在 vdirsyncer 中设置 Google Calendar 是有文档参考的,所以这里我不再赘述。重要的是确保设置你的同步对,将 Google Calendar 设置为冲突解决的“赢家”。也就是说,如果同一事件有两个更新,那么需要知道哪个更新优先。类似这样做:

[general]
status_path = "~/.calendars/status"

[pair personal_sync]
a = "personal"
b = "personallocal"
collections = ["from a", "from b"]
conflict_resolution = "a wins"
metadata = ["color"]

[storage personal]
type = "google_calendar"
token_file = "~/.vdirsyncer/google_calendar_token"
client_id = "google_client_id"
client_secret = "google_client_secret"

[storage personallocal]
type = "filesystem"
path = "~/.calendars/Personal"
fileext = ".ics"

在第一次 vdirsyncer 同步之后,你将在存储路径中看到一系列目录。每个文件夹都将包含多个文件,日历中的每个事件都是一个文件。下一步是导入 khal。首先运行 khal configure 进行初始设置。

 title=

现在,运行 khal interactive 将显示本文开头的界面。输入 n 将打开“新事件”对话框。这里要注意的一件事:日历的名称与 vdirsyncer 创建的目录匹配,但是你可以更改 khal 配置文件来指定更清晰的名称。根据条目所在的日历,向条目添加颜色还可以帮助你确定日历内容:

[calendars]
[[personal]]
path = ~/.calendars/Personal/[email protected]/
color = light magenta
[[holidays]]
path = ~/.calendars/Personal/cln2stbjc4hmgrrcd5i62ua0ctp6utbg5pr2sor1dhimsp31e8n6errfctm6abj3dtmg@virtual/
color = light blue
[[birthdays]]
path = ~/.calendars/Personal/c5i68sj5edpm4rrfdchm6rreehgm6t3j81jn4rrle0n7cbj3c5m6arj4c5p2sprfdtjmop9ecdnmq@virtual/
color = brown

现在,当你运行 khal interactive 时,每个日历将被着色以区别于其他日历,并且当你添加新条目时,它将有更具描述性的名称。

Adding a new calendar entry

设置有些麻烦,但是完成后,khal 和 vdirsyncer 可以一起为你提供一种简便的方法来管理日历事件并使它们与你的在线服务保持同步。


via: https://opensource.com/article/20/1/open-source-calendar

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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