登录式 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

最近文章

  • screen.garden:让 Obsidian 拥有 Google Docs 般的实时协作体验 之前我介绍过 Fast Note Sync,这是一款开源的 Obsidian 笔记同步方案,可以实现多设备之间的笔记同步和实时协作。Fast Note Sync 的优势在于完全开源、数据自主可控,但它有一个门槛——你需要自己搭建和维护服务器。对于有技术背景并且享受折腾的朋友来说这不是问题,但如果你不想操心服务器的事情,或者团队里有非技术背景的成员,那么一个开箱即用的托管服务可能是更好的选择。这就是我今天要介绍的 screen.garden,一个为 Obsidian 设计的付费实时协作服务。
  • Clawdbot 深度调研:打造完全属于自己的全平台 AI 助手 最近在折腾各种 AI 工具的时候,发现了一个有意思的现象:市面上大部分 AI 助手要么被牢牢绑定在某个特定平台上(比如只能在 Discord 里用的机器人),要么就是完全依赖某家公司的 SaaS 服务,你的对话数据都在别人的服务器上。作为一个对隐私比较在意的人,我一直在想,能不能有一个完全由自己掌控、可以在所有常用聊天软件里使用的 AI 助手呢?直到我在 GitHub 上发现了 [[Clawdbot]] 这个项目,才发现原来真的有人在认真解决这个问题。
  • 推荐我使用的 Agent Skills 随着 AI 编程助手的快速发展,[[Claude Code]]、[[Codex]]、[[Gemini CLI]] 等工具已经成为开发者日常工作中不可或缺的伙伴。然而,这些工具的默认功能往往只是冰山一角。通过安装和配置 Agent Skills,我们可以大幅扩展这些 AI 助手的能力,让它们更加智能、更加专业。
  • Antigravity Agent Skills 功能介绍与实战指南 2026 年 1 月 14 日,[[Google]] 为其 AI 驱动的开发工具 [[Antigravity]] 推出了 Agent Skills 功能。这个开放标准的技能系统让开发者可以将专业知识打包成可复用的技能包,极大地扩展了 AI 智能体的能力边界。
  • Gemini CLI Agent Skills 功能介绍与上手指南 [[Gemini CLI]] 最近推出了一个非常强大的新功能,名为 [[Agent Skills]]。这个功能极大地扩展了命令行 AI 助手的边界,允许用户根据自己的需求定制专业的技能包。