Use shadowsocks libev

This post is under the environment of Ubuntu 18.04, this instruction will guide how to install shadowsocks libev both server side and client settings manually. And show the step to configure the simple-obfs. The source code is in following two repositories: https://github.co Read more ...


排查导致 CPU load 过高的 Java 线程

When you encouter the high cpu load caused by java application, you may follow these steps to troubleshooting. identify the PID identify the PID, use top or htop then press P, sorted by CPU identify the thread identify the thread using top -n 1 -H -p PID, this command will giv Read more ...

2019-09-26 java , linux , top , cpu , load

Vim 插件之:vim-abolish

vim-abolish 又一款 Tim Pope 大神所制作的插件,这款插件扩展了一条名为 :Subvert 的自定义命令,作用类似于 Vim 内置命令 :substitute 的扩展。 https://github.com/tpope/vim-abolish 比如说想要将整个文档中的 man 和 dog 两个单词交换,如果用 Vim 原生的替换比较麻烦,而使用该插件则只需要 :%S/{man,dog}/{dog,man}/g 在 GitHub 页面上也有大量的使用方式介绍,这里再提一个官方页面上的用例,比如想要把所有的 facility Read more ...

2019-09-22 vim , vim-plugin , tim-pope

Vim global 命令

global 命令结合了 Ex 命令和 Vim 模式匹配的能力,借助该命令,可以在指定模式的所有匹配行上运行 Ex 命令。global 命令是除了点操作和宏命令之外,最强大的 Vim 工具之一。 Basic global 命令基本形式,可以读作在 range 上,如果行匹配 pattern,那么执行全局命令 cmd :[range] global[!]/{pattern}/[cmd] 说明: 缺省情况下,global 命令作用范围是整个文件 (%). 除了 global 还有 :vglobal 表示反转,在没有匹配 pattern 的 Read more ...

2019-09-22 vim , vim-global , ex-command , vim-mode , editor , linux

Oracle 提供免费的云服务

前两天在 Twitter 上看到有人分享新闻说,Oracle 发布了新的云服务政策,提供 Always Free 的主机和对象存储还是数据库,所以就看了一下,搜了一下新闻,还真的有 Oracle Offers Always Free Autonomous Database and Cloud Infrastructure,所以就注册一下。但是当天晚上创建 VM 的时候提示我 “out of host capacity”,Google 了一下才发现,原来这条消息早就在羊毛党炸锅了,不亚于 Google Cloud Platform 当年的新闻。不过我个人作 Read more ...

2019-09-22 linux , oracle , gcp , cloud , vps , server

ModuleNotFoundError: No module named 'marshmallow.compat'

今天重新部署一个服务时发现了一个奇怪的错误,之前用很久都没有错,重新部署一个新环境就发生了这样的问题,问题应该就出现在新依赖的包中。 File "/usr/local/lib/python3.6/dist-packages/flask_marshmallow/fields.py", line 15, in <module> from marshmallow.compat import iteritems ModuleNotFoundError: No module named 'marshmallow.compat' 所以搜了一圈 Read more ...


又一 Google 服务停止:Google Translator Toolkit 关闭

前两天收到一份邮件,标题写着 Google Translator Toolkit to be shut down on December 4, 20191,感叹又一款良心服务要终结其生命了。虽然不常用 Google 翻译工具包,甚至很长时间这个翻译工具都偷偷的被隐藏在翻译页面的角落里面,但是不得不说这个工具曾经帮助我翻译过不少文档内容,也非常适合学习。Google 翻译工具包提供上传文档自动翻译,术语翻译等等功能,结合 Google Translate 的帮助能非常快速的辅助完成一篇文档的翻译。在自动翻译完成的基础上可以人工的进行修改润色。更甚至可以添加 Read more ...


gpg: keyserver receive failed: Server indicated a failure 解决

在 sudo add-apt-repository 添加 PPA 时突然遇到 gpg 添加 key 失败,大概知道可能是因为网络问题,但是这个问题在我家里的网络一直存在,非常恼人。 gpg: keyserver receive failed: Server indicated a failure 所以我想从根本上解决这个问题,这个问题的根源可能是因为网络问题导致 gpg key 没有被导入到本地。所以如果能够手动下载 gpg public key 然后手动导入不就可以了? 所以随意打开一个 PPA,比如 https://launchpad Read more ...

2019-09-20 gpg , ppa , ubuntu , apt-repository

Linux 下使用 emoji

Ubuntu 或者其他一些 Linux 发行版 (Debian/Ubuntu/Linux Mint) 会内置 Google Noto Color emoji font,如果没有也可以直接通过一个命令直接安装 Noto Color emoji. 安装字体 首先要安装支持 Emoji 的字体,个人比较喜欢 Google Noto Color Emoji,这是 Google 开源的用于 Android 的字体。并且支持力度一直都非常大。 Noto color Emoji 直接安装 sudo apt install fonts-noto-color-emo Read more ...

2019-09-12 linux , ubuntu , linux-mint , mint , emoji

java reflection

Java 中的提供了一组 API 用来在运行时动态修改方法,类,接口的行为,这个被称为 Reflection。 For every type of object, the Java virtual machine instantiates an immutable instance of java.lang.Class which provides methods to examine the runtime properties of the object including its members and type information. Read more ...

2019-09-11 java , jvm , java-reflection

最近文章

  • Meta Muse 使用教程:上手设置、提示词技巧与实用案例 上一篇 Meta Muse 介绍与注册指南:一个会替你跑腿的个人 AI Agent 把 [[Muse]] 是什么、怎么注册、额度怎么算都整理了一遍,但是留了一个结尾:注册完之后到底该让它干什么。Muse 上线这几周,我查阅了一些测评体验,整理了 X 和 Threads 上用户晒出来的用法,发现大家的使用路径其实很像:从提醒和文件这类零风险的任务开始,确认它靠谱之后再慢慢接入邮箱、日历,最后才让它碰钱。这篇就按这个顺序来整理,从界面和设置讲起,再到具体的案例和踩过的坑。
  • Meta Muse 介绍与注册指南:一个会替你跑腿的个人 AI Agent 2026 年 9 月 8 日,[[Meta]] 发布了个人 AI Agent [[Muse]],宣传语只有一句:「它去做,而不是告诉你怎么做」。用 [[ChatGPT]] 或 [[Claude]] 时,我们得到的往往是一份说明书,真正动手的部分,打开网页、填表单、下单付款,还得自己来。Muse 想把这一段也接过去:你交给它的不是一个问题,而是一件事,它会自己打开浏览器一步步做完,需要你拍板时再回来问你。这是 Meta 迄今为止在消费级 AI 上下的最大一笔注,两周后的 Connect 2026 大会几乎整场都围绕它展开。
  • Jev:不聊天只做判断的 System One 决策模型 过去一两年,大模型的发展方向几乎都是更长的思考链、更大的上下文、更强的 Agent 能力。但在日常写代码和搭建自动化流程的过程中,我发现很多地方用到大模型,其实只是为了让它做一个简单的判断,却要付出几秒钟的等待和解析 JSON 的麻烦。TypeSafe AI 发布的 Jev 走了一条相反的路:不聊天、不写代码,只做快速的判断。
  • Executor:多 Agents 和外部世界之间的统一代理层 同时使用 Claude Code,Codex,Pi,OpenClaw 等等 Agent 工具时有一个非常尴尬的状况,就是不同的 Agent 工具维护了不同的配置格式,如果要配置 MCP server 就需要分别到不同的配置文件中定义,相同的配置散落在系统的各个角落中。同一份 API Key 也需要重复粘贴到不同的配置中,更麻烦的是如果一旦有更新或者 API Key 变动就需要重复修改多个地方,我之前还调查过如何[[跨平台管理 MCP]],主要的思路还是通过脚本和同步来对齐配置,但本质上还是在管理多个副本,直到我看到了 Executor 这个项目。
  • Stremio 免费开源的流媒体聚合中心,插件生态与使用体验 前段时间写过一篇 Plex 将终身会员涨价到 749.99 美元 的文章,当时就在思考一个问题:当自建媒体库的门槛(无论是硬件、资源还是订阅费)越来越高的时候,还有没有更轻量的方式来管理自己的观影需求。后来在折腾 [[Trakt]] 的时候,反复在各种播放器的集成列表里看到 Stremio 这个名字,于是花了一些时间把它装到了桌面和电视上认真体验了一番。这篇文章就来聊聊 [[Stremio]] 这款免费开源的流媒体聚合应用,它的设计思路和 [[Plex]]、[[Jellyfin]] 这类传统媒体服务器完全不同,某种程度上说它更像是「浏览器」而不是「硬盘」。