Go 语言学习笔记 4:Go 语言的控制语句

常见的语句: condition,条件 for-loop,循环 goto,跳转(特殊) statement vs expression 下文中使用 statement 和 expression 来表达一些语句的区别: statement, 通常用来指代一个操作,可以是赋值操作,等等 expression 通常用来指代一个值,这个值可以是一个语句的返回,也可以是一个函数的返回 条件语句 通用: if InitSimpleStatement; Condition { // do something } else Read more ...


充分利用 Oracle 机器避免被回收

最近收到 Oracle(甲骨文) 一封名为「Oracle Cloud Infrastructure Compute - Resource Maintenance Reminder」 的邮件,大致意思就是如果 Oracle Always Free 的机器使用率比较低的话,Oracle 就会判定 Compute Instances 处于 Idle (闲置)状态,Oracle 将保留回收实例的权力。 如何判定机器是处于闲置状态呢,在 Oracle 给出的官方文档 是这样描述的: • CPU utilization for the 95th percenti Read more ...

2022-03-08 oracle , vps , self-hosted , docker , linux

利用 Koel 搭建在线音乐流

Koel 是著名的个人音乐在线播放与电台程序。 Prerequisite 硬件要求:一台最低内存为 1G 的服务器 系统:Ubuntu20.04 LTS,或其他任何 Linux 发行版 数据库:MySQL,MariaDB,PostgreSQL,SQLite 一个域名 基础架构 Koel 后端使用 Laravel PHP 框架,前端使用 Vue,还使用了 SASS 的 CSS 框架。数据库使用 MariaDB(MySQL)。 Docker 安装 使用 Docker compose: version: '3' servic Read more ...


macOS 下启动器 Raycast 简单使用

在逛 Twitter 的时候看到有人分享了一款 Launcher,叫做 [[Raycast]],因为平时一直使用 [[Alfred]] 倒是没有引起我的太多注意,但今天又看到了一次,所以就想好好来了解一下这个新出来的启动器。 在 macOS 上其实有非常多的启动器,包括了系统默认的 [[Spotlight]],以及很多第三方应用,包括了 [[Alfred]], [[LaunchBar]] 在内的无数优质应用。这些应用有着各自的特点。但最重要的一点就是提高我们打开应用的速度,以及在各个小细节方面提高易用程度,比如我最喜欢的 Alfred 的一个贴心功能就 Read more ...


电子邮件是如何工作的

还记得之前听的一个播客,里面提到基于协议的应用一般不会轻易地被历史淘汰,想想基于 HTTP 协议的 Web 浏览器,基于 SMTP 的电子邮件,基于 [[BitTorrent]] 协议的文件交换协议,在过去的几十年里,基于 HTTP 上层的网站,以及技术更新换代了好几波,但底层的协议依然还是 HTTP(HTTPS),而倒闭的电子邮箱服务提供商也不在少数。但如今互联网依然还依赖 HTTP 协议,电子邮箱虽然没有那么流行但也是基础服务之一。 过去很多年里面,我陆陆续续一直在寻找一个完美代替 Gmail 的存在,我的代办事项中一直存在一条叫做如何自建邮箱服务 Read more ...

2022-03-01 email , mail , self-hosted , mail-server , gmail , smtp , linux , pop , imap , dns , spf

腾讯轻量云服务器挂载云硬盘

之前看到轻量云服务器做活动,500 GB 的存储空间一年只需要 9.9 元,配合之前的轻量服务器正好买了 3 年。 挂载到之前的轻量云服务器作为数据盘。 限国内轻量云服务器 仅有100GB、500GB、1TB,分别售价一年为 5 元,9.9 元,和 19.9 元,可以一年或者三年购买。 选择区域时需要与轻量云服务器位置一致 如果感兴趣可以 Follow 我的 Twitter,之后有更多的优惠会及时发出来。 腾讯轻量云 1T 磁盘一年 19.9 看着还不错啊.https://t.co/jh5IKgWSy1 pic.twitter Read more ...

2022-02-26 tencent , cloud , vps , cloud-drive , mount , linux

使用 Beancount 记账篇三:周期账单

在 Beancount 使用的过程中难免会出现周期性重复的账单,比如房租,水电,网费,以及可能的分期付款账单,每个月的订阅费用等等。在之前我都是在 Vim 下复制粘贴然后改改,倒是没有那么麻烦,比如房租,基本上几秒钟就能搞定,但是长期下来我发现这样一来比较繁琐,因为我基本上每个月只对账一次,也不会一直开着 fava,所以有可能有遗漏,排查起来麻烦,二来为了管理方便我需要单独设立一个文件来管理,比如房租会单独有一个 rent.bean 文件,所以最后并没有向日常的账单那样是按照月份来管理的,如果要从时间上来统一管理就比较麻烦。 不过随手一查文档,发现 B Read more ...


Playbook 使用体验

Playbook 是一个为创意人员而设计的文件管理器,同时强调了非常方便的在线协作能力。Playbook 称自己为 Dropbox for designers。 https://www.playbook.com/ 看其官网的描述就可以知道,Playbook 是为了 Designers,Artist,Photographers,marketer 而设计的。设计师可以用它来管理设计素材,交互设计;艺术家可以用它来管理灵感;摄影师可以用它来分享摄影作品。1 在 Playbook 中每一个资源都是使用 Board 来管理,每一个 Board 都 Read more ...


利用 ruTorrent 与 rTorrent 限制单独种子的速度

之前的几篇文章就提到过 rTorrent 和 ruTorrent 是我最喜欢的 BT 客户端。之前几篇文章: 根据用户标签移动完成的下载文件 自动通过 RSS Feed 订阅下载 今天就再来分享一个非常简单的小技巧,那就是针对个别种子单独进行限速。通常情况下整体的限速,上传和下载,其他的客户端基本上都做得非常完善,基本上是任何一个客户端的基本功能,但是非常少的客户端可以针对个别的种子可以进行限速,而借助 rTorrent 和 ruTorrent 客户端,可以完美的实现。 众所周知有一些私有的 tracker 是会对上传速度做要求的,如果 Read more ...


rTorrent 配置之根据用户标签移动完成的下载文件

好几年前从接触了 QNAP 上的 ruTorrent 开始就一直在用 [[rTorrent]] 和 ruTorrent 的组合。在 QNAP 上运行稳定,后来又迁移到 docker 上,中间还经历了从 LinuxServer 维护的 rTorrent 迁移到 crazymax/rtorrent-rutorrent 维护的镜像上。一直都没有出现过问题。 今天在 Twitter 上向人推荐的时候被问到能不能在完成之后将文件移动到特定的目录。我知道很多人会分门别类的管理自己的文件,并且希望在移动文件之后还能一直 seeding, 这个对于 rTorrent Read more ...


最近文章

  • 我购买了 Sony WH-1000XM6 我的第一代 [[Sony WH-1000XM]] 终于在陪伴了我将近七年之后光荣退役了——准确地说,是左耳彻底不出声了。耳罩虽然还算完整,充电也正常,就是左边悄无声息地沉默了。单边失声的降噪耳机拿来当装饰品实在是太可惜,就这样,我的 XM1 结束了它漫长的使命。
  • 花了一个多小时认真听李录在哥大的演讲,对价值投资新的理解 昨天花了一个多小时,认真把李录在 2006 年哥伦比亚大学商学院的演讲从头听到尾。说实话,最开始点开这个视频的时候,我以为只是一节普通的投资课,听完之后发现远不止于此——李录几乎是把自己二十多年的思考框架,通过两个亲身经历的真实案例,完整地摊开在你面前。那种感觉不像是在听一堂课,更像是在听一个老朋友坦诚地聊他是怎么看待这个世界、怎么做决策的。
  • 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 助手的能力,让它们更加智能、更加专业。