Ubuntu 从 16.04 升级 18.04

经常看到的 Ubuntu 16.04 或者 18.04 都是 Ubuntu 长期支持版本 A Long Term Support release or LTS release, means that Ubuntu will support the version for five years. 如果要从 16.04 升级到 18.04 包括两个部分,一是将当前安装的程序及 lib 升级到 18.04 兼容的版本,另外一个就是将系统升级到 18.04. sudo apt update && sudo apt upgrade s Read more ...

2019-08-19 ubuntu , linux

记一次 fail2ban 启动失败

前两天重启服务器之后发现 fail2ban 启动失败,出现如下错误: /etc/init.d/fail2ban restart [....] Restarting fail2ban (via systemctl): fail2ban.service Job for fail2ban.service failed because the control process exited with error code. See "systemctl status fail2ban.service" and "journalctl -xe" for detai Read more ...

2019-08-18 fail2ban , linux

Python 为什么需要 with 语法

Python 中的 with 语法经常被用来在管理资源的访问和清理中,常见的场景有文件的使用和关闭,锁的获取和释放等等。 with open("file.txt") as file: data = file.read() with 语法特别容易联想起 Java 中的 try-with-resources AutoCloseable,同样实现资源的自动释放。 基本格式 从基本使用开始了解 with,with 的结构如下: with context_expression [as target(s)]: content With 工作原 Read more ...

2019-08-11 python , java , programming

Substratum Android 上的主题引擎

Substratum 是一款 Android 上的主题工具,能够不用 root 来达到系统级主题修改。并且在该工具下有一群爱好者和社区开发了无数的美观且实用的主题。Substratum 开始于以前非常流行的 CyanogenMod, Cyanogen 内置了该主题引擎,并使得修改主题异常简单。但是不幸的是,Cyanogen 没有继续下去, 但是 Substratum 死灰复燃。最初的时候 Substratum 还需要 Root 来使用,但是 Android Oreo 之后就可以不依赖于 Root 了。 Installation 如果想要正式版从 Pla Read more ...


唯一 ID 生成方案

最近在整理以前的草稿箱,翻到了这篇建于 2019 年的关于“唯一 ID 生成器”的笔记。当时似乎正在为一个分布式系统设计主键生成策略。既然翻出来了,就趁着这个机会,结合这几年在分布式领域的经验,把这个话题完善一下。 在单体架构中,我们习惯使用数据库的自增 ID(Auto Increment)作为主键,简单且性能不错。但在分布式系统或微服务架构下,分库分表之后,自增 ID 就捉襟见肘了。我们需要一个能够在分布式环境下生成全局唯一、趋势有序、且高性能的 ID 生成方案。 常见方案对比 在确定最终方案之前,通常会考察以下几种常见的替代方案: 1. UU Read more ...


Flask Babel 使用

Flask babel 是 Flask 的语言扩展,允许非常简单的方式让 Flask 支持多语言。 Installation pip install flask-babel 安装时会安装依赖 Babel, Python 国际化 pytz 时区 speaklater 辅助工具集 Configuration 在 python 文件中要使用多语言的文字时引入 from flask_babel import gettext 比如 gettext('author') 在 html 模板文件中 <pre>{\% Read more ...


Android 内核中的 CPU 调频

CPU 调频模块主要分为三块: CPUFreq 核心模块,核心模块主要是公共的 API 和逻辑 CPUFreq 驱动,处理和平台相关的逻辑,设置 CPU 频率和电压 CPUFreq governor,频率控制器,CPU 调频的策略,CPU 在什么负载,什么场景下使用多少频率 最后第三部分 governor 也是本文重点。传统的 CPU governor 选择,以 Performance 和 Powersave 举例,就是一个让 CPU 跑在最高频率,一个让 CPU 跑在最低频率,所有动作都在初始化时设置。 调频器策略 OnDeman Read more ...

2019-08-02 android , kernel , cpu-governor

Vim 插件之注释

Vim 下的注释插件有很多个 tpope/vim-commentary scrooloose/nerdcommenter tomtom/tcomment_vim 这三个插件各有特色。 Read more ...

2019-07-30 vim-plugin , vim , vi , commentary

QQ 音乐 qmcflac 文件解密

首先说重点,代码来自: https://github.com/Presburger/qmc-decoder Build 按照项目主页的方式 Build,生成 decoder 二进制可执行文件即可。 这个二进制可以实现 qmc0、qmc3、qmcflac 格式转换,生成普通未加密的 mp3, 或者 flac 文件。 Result 运行 结果 外延 C++ 实现的另外一个版本 如果熟悉 Java 也可以参考这个项目 如果熟悉 C# 那么可以看看这个项目 Read more ...

2019-07-27 qq-music , flac , decoder

Linnx Mint 上使用触摸板手势

都知道 Mac 上的触摸板非常好用,简单的手势就能实现十几种操作,从单指,双指,三指,到四指,甚至五指,从轻点,按压,到滑动,到捏合,组合起来能实现非常多的操作。 Mac 下手势 通过不同的组合可以得到非常多的功能。一些比较重要的操作列在了下面。 单指 一个手指轻轻点击,可以选中目标; 双指 两个手指同时点击,鼠标右键功能; 两个手指轻点,Smart zoom,可以快速缩放; 两个手指分开或捏合,可以放大缩小图片、网页等内容; 两个手指上下拖移滑动,即可实现翻页; 两个手指旋转,可以旋转图片等对象; 两个手指从触控板右侧 Read more ...

2019-07-25 linux , mint , gesture , touchpal , trackpad

最近文章

  • 我购买了一个 DJI Mic Mini 最近为了提升移动拍摄时的收音质量,我入手了 DJI Mic Mini。虽然大疆提供了带充电盒的套装,但我只购买了单机版本(发射器+接收器,2 TX 1 RX 版本),因为对于我日常的拍摄需求来说,本体的续航已经完全足够了。
  • Auto Claude:Vibe Kanban 的终极形态?让 AI 并行开发的“指挥中心”来了 在上一篇文章 《Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了》 中,我分享了一种利用 [[Vibe Kanban]] 和 AI Agent 实现并行开发的工作流理念。我们可以利用 Vibe Kanban 来统一管理多个并行任务。
  • Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了 在我之前的视频当中,我介绍过在 Claude Code 中使用子代理(Subagents)机制和 Git Worktree 来实现并行工作流。我们可以创建子代理来并行执行任务,但是 Subagents 的配置和使用都还需要我们在 Claude Code 中等待。那如果我们有完全独立的两个任务要执行呢,我们可以开两个 Claude Code 分别在两个 Claude Code 中提交任务,然后让 Claude Code 完成。此时我们依然会遇到一些问题,比如说两个 Claude Code 的代码可能产生冲突。并且如果我们有超过两个独立任务时,我们在管理 Claude Code 的成本就会指数级上升。
  • 终于还是入手了:Insta360 Go Ultra 初体验 每次想要拍摄,我得从口袋掏出手机,解锁,打开相机应用,切换到视频模式,然后举着它——这个过程在很多稍纵即逝的生活瞬间面前,显得太繁琐了。而且,当你举着手机拍摄时,你其实是在”观察”生活,而不是在”经历”生活。手机太”重”了,不是物理重量,而是心理负担。所以我想使用一个工具,可以帮我记录生活,但又不需要我刻意去”操作”它。于是,在观望了许久之后,我终于入手了这台 Insta360 Go Ultra。在 11.11 在天猫 2350 下单了 Insta360 Go Ultra,后来价格保护还退还了 260 块。
  • 奥卡姆剃刀:为何简单的往往就是最好的 最近我在整理我的 Obsidian 笔记库时,发现了一个有趣的现象。