登录式 shell 和非登录式 shell 区别

昨天在 Tmux 中使用 gpg 时遇到了一个问题,在别人的回答中看到了 login shell 和 non-login shell 的区别。在我的情况下终端中 bash 或者 zsh 都是能够使用 gpg 签名 git commit 的,但是在 tmux 下却报了错误。所以才有了这样一篇总结。 登录式 shell 是用户使用自己的 user ID 登录交互式 shell 的第一个进程。这里又要提及另外两个概念就是交互式 shell 和非交互式 shell,幸而这两个概念比较好理解。 交互式 shell 指的是在终端有交互的模式,用户输入命令, Read more ...

2019-01-12 shell , linux , tmux , bash

使用 Huginn 搭建自己的 IFTTT

Huginn 是一个 Ruby 实现的在线的自动化任务构建系统。它可以用来监控网页,监听时间,实现自定义行为。Huginn 的 Agents 可以创建或消费事件,并通过一个直接的 Graph 对事件进行传播。可以把它认为是一个开源版本的 IFTTT, Zapier。 Huginn 可以做: 追踪天气,当发生降雨或下雪天气时提前发送邮件(或其他通信方式)提醒 列举出一些关键字,当这些关键字在 Twitter 上被提及时发送提醒 监控机票价格或在线商城价格 监控网页变化 连接不同的服务,比如 Adioso,HipChat,Basec Read more ...

2019-01-11 huginn , ifttt , docker , linux , rss

notion 使用记录

很早就有人推荐 Notion,但是注册了用了一下,本以为就是一个在线的 Google Docs,可昨天在豆瓣看到一篇文章介绍比 Trello 更加智能的代替品,然后一看就是 Notion,于是就再来研究下 Notion。然后发现原来 Notion 可以是 Google Calendar, 可以是 Trello,可以是 Google Docs,可以是 todo list,可以是 Google Excel。甚至可以导入 word,markdown,html,csv。 Notion 最为人称道的地方在于其非线性的编辑器,我们通常的编辑器都是从上倒下的我们通常 Read more ...

2019-01-06 notion , trello , docs

Google Cloud Platform 使用向导

Google Cloud 提供 300 刀的初始优惠,而最近我的 Linode 节点越来越不稳定,时常撞墙,所以不得不再别人强烈推荐下注册了一下 GCP。这里就记录一下遇到的问题,其他具体的细节网上已经够多,就不再赘述。 关于信用卡 国内的信用卡不太清楚为什么我试了几个都有报错,网上说把账单地址改成美国,信用卡签名也最好保持一致。 区域选择 GCP 的 Compute Engine 在不同的机房都有分布,在创建 Compute Engine 的时候可以参考这里 这里非常详细的介绍了各个机房的地理位置,以及该机房拥有的机器类型,特性等。 网页版 SS Read more ...

2019-01-06 google , google-cloud

html 转 pdf 命令行工具 wkhtmltopdf

最近因为用 HTML 写了一个文档,当想要输出时保存为 PDF,而 Chrome 自带的打印功能,本来就能够快速的保存为 PDF,但是却保留不了页面中的链接,所以找到了这个 wkhtmltopdf. 官网地址:https://wkhtmltopdf.org/ wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit r Read more ...

2019-01-05 html , pdf , linux , command

Java 模板引擎 freemarker

FreeMarker is a free Java-based template engine, originally focusing on dynamic web page generation with MVC software architecture. However, it is a general purpose template engine, with no dependency on servlets or HTTP or HTML, and is thus often used for generating source code, Read more ...


RSS 订阅列表整理

用 RSS 这么多年,陆陆续续给自己的订阅列表增加,删除,更新了很多的订阅源,也有很多的订阅源陆陆续续的失效,也有很多的新博客陆陆续续的涌现,不过如今的 RSS 早已经不像当年,很多新站点甚至都不会再提供 RSS 输出。 之前偶然间看到过一篇关于 RSS 整理的文章,觉得定期检视一下自己的订阅,更新也好,删除也好,整理让这些订阅源继续存在的理由也好,或者分享给更多的人也好,都是一件不错的事情。 我的所有订阅源都从 Google Reader 迁移到了 InoReader,订阅列表好几百项就不单独一一例举,只是将我平时经常查阅的,我觉得非常值得关注的列 Read more ...

2019-01-03 rss , blog , blogger

2018 读书记录

又到一年的年末,和前几年 一样,总需要总结下今年,再畅想一下明年,前些年有些时候会用 Google Photos 来存书的封面,也会记录下书的名字,今年就直接用了豆瓣的豆列 来记录了。 虚构文学 相较于前两年对东野圭吾的狂热,今年刻意地减少了虚构文学的数量,一方面也是因为东野圭吾的小说已经看遍,再没有另外一个小说家能够如此吸引我。所以看今年的书单,除了《造彩虹的人》《白金数据》外,只有特德姜的《你一生的故事》等少数几本。 人文哲学 人文哲学或许是今年最大的改变,这都要从哈耶克的《通往奴役之路》开始,因为这本书听了一档人文通识解读的播客,自此之后看着一 Read more ...

2018-12-30 reading , book , douban , plan

用 Google Calendar 培养习惯

这一个条目在 Trello 的代办事项中已经躺了快两周,期间一直在寻找合适的任务提醒 app 能够来帮助初期养成一定的习惯,没想到寻寻觅觅最后竟然又回到了 Google Calendar 的怀抱。 培养习惯 个人原来就有一习惯,对于需要长期规划的有固定时间的事情一般都会记录在 Google Calendar 中,比如周期性长时间的课程,或者一次性的旅程时间安排等等,而对于非周期性任务用 Trello 来管理,所以一直想要寻找一个能够周期性提醒,关键是要手机通知栏提醒,但是使用起来又比较方便(可以一键 mark as done,定制任务快捷)的应用,下面 Read more ...

2018-12-29 google , google-calendar , habit , app

Java 查漏补缺之 Exception 和 RuntimeException

通常来讲 RuntimeException 是在编码过程中可以被避免的 Exception ,比如说 NullPointerException, ArrayIndexOutOfBoundException 等。如果每次都在调用前检查 null,就永远不会发生 NullPointerException,ArrayIndexOutOfBoundException 同理。RuntimeException 不会被编译器检查。 Java 中有两种类型异常,一种是 checked exceptions,一种是 un-checked exceptions。检查的异常 Read more ...

2018-12-24 java , exception

最近文章

  • AI 时代我们是否还需要个人知识库 这两天不管是在我的视频评论下方,还是在 X(Twitter)上,都有人提出了一个问题「AI 时代还是否需要个人知识库」,我觉得在回答这个问题之前,我们首先要回答两个问题,什么是「知识」?,而什么又是「个人知识库」?
  • OBS 配置多路推流 实现多平台同时直播 [[Open Broadcaster Software(OBS)]] 是一个非常强大的开源的,直播推流工具。但是默认情况下 OBS 只能配置推送一个直播流。但是现在支持直播的平台越来越多,如果直接将直播流推送给多个平台,那么可以通过本文介绍的方法,借助多平台推流插件来实现。
  • 将 Obsidian 配置成私人 AI 知识库 前两天介绍过腾讯推出的个人知识库工具 IMA.Copilot,但是熟悉我的人肯定知道我这几年了一直都是在使用 Obsidian 作为我个人的知识库的,在本地完全使用 Markdown 作为文档的存储格式,不依赖任何的外部工具,以及联网工具,只使用 Syncthing 作为同步。
  • 腾讯推出个人知识库产品 ima.copilot 前两天看到腾讯推出一个个人知识库产品 ima,融合了 DeepSeek,可以直接搜索知识库中的内容,还可以上传文档回答,所以今天就来体验一下这个新产品 ima。
  • asdf 升级 0.16.0 问题记录 很早之前我就已经开始使用 asdf 作为我本地的编程语言多版本管理工具,这个工具非常实用,但是最近 asdf 升级到了 0.16.0 版本,这是一个不兼容的版本,作者将整个项目中 asdf 从 Bash 脚本重写为 Go 语言,这带来了一系列的问题,这里记录一下我在升级过程中遇到的问题以及解决方案。