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 ...


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

Vim 插件之全局搜索:ack.vim

这篇文章看开始陆陆续续记录一下用过的 Vim Plugin,虽然有些一直也在用但从没有好好整理过,正好这篇开一个计划吧。 Ack.vim 在 vim 中使用 ack 或者 ag 来搜索,通过 Quickfix 来提供所搜结果 首先放上链接 https://github.com/mileszs/ack.vim 我使用 Vundle 管理,安装更新就不展开,这里重点介绍一下该插件。这里需要注意 ack.vim 需要依赖 ack >= 2.0 及以上版本。 Installation brew install the_silver_se Read more ...

2019-07-21 vim , vim-plugin , ack , ack-grep , ag , search , grep

最近文章

  • Novita AI 面向 AI 开发者的 GPU 云平台 在如今 AI 时代,个人开发者和企业都想要高效,经济,且容易部署的 AI 模型,尤其是 DeepSeek 横空出世之后使得个人在部署使用私有 AI 模型方面变得异常简单,但问题随之出现,普通人的电脑无法带动 DeepSeek 发布的更消耗内存更消耗计算能力的模型,普通用户也很难去给自己的每台电脑都配上英伟达 4090,更不用说去管理 GPU 集群,而普通开发者如果想要将自己的模型部署到云服务上也非常棘手,而这就是今天我要介绍的 Novita.AI 要解决的问题。
  • Zig 语言编写的开源终端 Ghostty 在 Linux 上我使用 [[Guake]],到后来换成 macOS 之后使用 Kitty,直到前段时间更换成 Warp,但是没想到这几天又发现一款不错的终端 Ghostty。没查不知道,但是一查之后才发现 Ghostty 背后的作者的故事是多么精彩,并且 Ghostty 使用的 Zig 语言也是我第一次听说。
  • 关于在 Docker 容器中如何优雅关闭 Java 应用的记录 这两天遇到一个和 Docker 运行相关的问题,我们使用 Azure App Service 来运行服务,但是每次重启服务的时候,发现不会出发 Javalin 的 stop,感觉 Java 进程没有接受到 Docker 容器停机的信号,然后就被系统杀死了,所以就这个问题,仔细地研究了一下 Docker 运行以及如何优雅地关闭 Docker 容器中的 Java 进程。
  • IBKR 使用教程系列之共同基金 ETF Replicator 这两天在 IBKR 上买了一点按月分红的 ETF,然后在邮箱中就收到了 IBKR 发过来的建议邮件,说 IB 还提供了一个共同基金的工具可以来寻找类似表现,但是费用更低的其他 ETF,这就是一款 ETF 发掘工具。
  • Google Stitch:AI 驱动的 UI 设计工具让创意快速成为现实 在昨天 2025 年的 Google I/O 大会上 Google 一口气发布了超多的 AI 工具集,其中包括了一款叫做 Stitch 的 AI 工具,它可以快速帮助设计师和开发者将 UI 设计理念变成可实际使用的设计稿,生成设计稿之后可以直接导入到 Figma,或者直接导出成前端代码。所以本文就具体来介绍一下 Stitch。