惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
MyScale Blog
MyScale Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
N
News | PayPal Newsroom
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LINUX DO - 热门话题
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Project Zero
Project Zero
B
Blog RSS Feed
J
Java Code Geeks
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
博客园 - 【当耐特】
Latest news
Latest news
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园_首页
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
D
Docker
Forbes - Security
Forbes - Security
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threatpost
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
Webroot Blog
Webroot Blog

中文博客 on 范叶亮 | Leo Van

多智能体系统 (Multi-Agent System) 确定性和掌控欲 - 你的 AI 不是你的 AI LLM Token 消耗节省计划 (How to Save Token for LLM) 智能体的角色定位和身份演化 (Agent Role Orientation and Identity Evolution) 本地部署 OpenClaw,QwenPaw 和 Hermes Agent (Local Deployment of OpenClaw, QwenPaw and Hermes Agent) 本地部署智能体 - OpenClaw,QwenPaw,Hermes Agent ... 部署 Matrix 服务器 Synapse (Deployment of Matrix Server Synapse) 部署 frp 内网穿透服务 (Deployment of frp NAT Traversal Service) 本地部署大模型服务 (Local Deployment of LLM Services) AI 时代的生产力和生产关系 (Forces and Relations of Production in AI Era) 业余无线电入门 - CQ, CQ, CQ, this is BD1CZP. Calling CQ and standing by. 重构 - 之于代码、之于工作、之于生活 大语言模型微调 (Fine-tuning Large Language Models) 提升图片分辨率和质量 - Invoke AI 101 教程 使用画布创建和组合生成新的图片 - Invoke AI 101 教程 探索 AI 模型和概念适配器 - Invoke AI 101 教程 理解图像到图像和降噪过程 - Invoke AI 101 教程 使用控制层和指示控制图片的生成 - Invoke AI 101 教程 使用 Invoke 创作你的第一张图片 - Invoke AI 101 教程 在 OpenWrt 和群晖中自动申请和部署证书 凡人歌 - 凡人,但不要烦心 Shell 调用方式 fork,exec 和 source (Run Shell with fork, exec and source) 重定向和管道 (Redirect and Pipe) 模型压缩和推理加速 (Model Compression and Inference Acceleration) 我们需要多少种编程语言 (How Many Programming Languages do We Need) 数据可视化小贴士 - 面向动态文档生成,秉承规范、统一和实用的理念 当我谈摄影时,我谈些什么 - 色彩篇 Part 1 CSS 布局和定位 (CSS Layout and Position) 当我谈修图时,我谈些什么 - 色彩篇 Part 1 在 Windows 下利用 WSL2 和 Ubuntu 配置 GPU 机器学习环境 文学编程和可重复性研究 (Literate Programming and Reproducible Research) 在 OpenWrt 中安装 Jellyfin 搭建家庭影音中心 自私和贪婪 (Selfish and Greedy) 评分和排名算法 (Rating & Ranking Algorithms) 小记这一波裁员浪潮 基于内容的图像检索 (Content-based Image Retrieval, CBIR) 你所应该知道的 A/B 测试 (A/B Test You Should Know) 一个人的摩旅 (Travel with My Motorcycle Alone) 设计语言初探 (A Glimpse of Design Language) Spark 集群搭建 (Spark Cluster Setup) Hive 安装和配置 (Hive Setup) Hadoop 集群搭建 (Hadoop Cluster Setup) 虚拟环境准备 (Virtual Environment Preparation) 大数据 SQL 性能调优 (Big Data SQL Performance Tuning) SQL 样式指南 (SQL Style Guide) 进程,线程和协程 (Process, Thread and Coroutine) - 实现篇 进程,线程和协程 (Process, Thread and Coroutine) - 理论篇 胶囊网络 (Capsule Network) 投票公平合理吗? 图存储与计算 (Network Storage and Computing) - 复杂网络系列 网络算法 (Network Algorithms) - 复杂网络系列 真实世界网络结构 (Structure of Real-World Network) - 复杂网络系列 网络表示,测度和度量 (Network Representation, Measures and Metrics) - 复杂网络系列 文本相似度 (Text Similarity) 而立之前 (Life before 30) 最近邻搜索 (Nearest Neighbor Search) 无模型策略预测和控制 - 时序差分学习 (Model-Free Policy Prediction and Control - Temporal Difference Learning) - 强化学习系列 无模型策略预测和控制 - 蒙特卡洛方法 (Model-Free Policy Prediction and Control - Monte-Carlo Learning) - 强化学习系列 利用动态规划求解马尔可夫决策过程 (Planning by Dynamic Programming) - 强化学习系列 贝叶斯优化 (Bayesian Optimization) 马尔可夫决策过程 (Markov Decision Process) - 强化学习系列 多臂赌博机 (Multi-armed Bandit) - 强化学习系列 强化学习简介 (Introduction of Reinforcement Learning) - 强化学习系列 在群晖 NAS 上编译安装 tmux 隐马尔可夫,条件随机场和序列标注 (Hidden Markov Model, Conditional Random Fields and Sequence Labeling) 图嵌入和图神经网络 (Graph Embedding and Graph Neural Network) 预训练自然语言模型 (Pre-trained Models for NLP) toB 产品用户权限 (User Privileges of toB Products) 京东数科 HIPO 学习之旅 (JDD HIPO Learning Journey) 杭州和东京之旅 (Tour of Hangzhou and Tokyo) 国际智慧温室种植挑战赛 (International Autonomous Greenhouse Challenge) 记忆中的儿时 (My Childhood in Memory) 启发式算法 (Heuristic Algorithms) 关不掉的浏览器标签页 (Browser Tabs You do not Close) 贝塞尔曲线 (Bézier Curve) 如何阅读一本书 (How to Read a Book) 相似性和距离度量 (Similarity and Distance Measurement) 集成学习算法 (Ensemble Learning) 计算复杂性与动态规划 (Computational Complexity and Dynamic Programming) 利用 Flask 和 Google App Engine 部署模型服务 序列到序列和注意力机制 (Seq2Seq and Attention Machanism) 词向量 (Word Embeddings) 循环神经网络 (Recurrent Neural Network, RNN) 泰国之行 (Tour of Thailand) 媒介之战 (War of Medias) 卷积神经网络 (Convolutional Neural Network, CNN) 买书,囤书,看书 (Buy Books, Hoard Books and Read Books) Play Safe, Smart Choice & Yuppie 基于 PyQt5/PySide2 和 QML 的跨平台 GUI 程序开发 流形学习 (Manifold Learning) 深度学习优化算法 (Optimization Methods for Deep Learning) 深度学习优化算法 (Optimization Methods for Deeplearning) 生成对抗网络简介 (GAN Introduction) Ising 模型,Hopfield 网络和受限的玻尔兹曼机 (Ising, Hopfield and RBM) 马尔科夫链蒙特卡洛方法和吉布斯采样 (MCMC and Gibbs Sampling) 特征值分解,奇异值分解和主成分分析 (EVD, SVD and PCA) 墨尔本之行 (Trip to Melbourne)
从 rm -rf * 说起 - 喜新、怀旧、再出发
范叶亮 · 2023-12-17 · via 中文博客 on 范叶亮 | Leo Van

从 rm -rf * 说起

喜新、怀旧、再出发

分类: 生活, 思考 / 字数: 2006 / 标签: 喜新, 厌旧, 怀旧, 念想, 再出发


故事要从昨晚的事故说起,在软路由中删除了一个 Docker 容器,想着相关配置和数据目录也都用不到了就删掉吧。进入目录后「聪明」的我就执行了 rm -rf *,等回头去看命令执行情况已然为时已晚。为什么说我「聪明」呢,因为自从知道一个空格引起的 /usr 被删除的血案后,在做删除动作时我都会谨慎再谨慎,然而这次的悲剧在于目录下通过 NFS 挂载了 NAS 上的远程目录,删除前忘记取消挂载了,结果就是 NAS 上 4 块盘里面的影视资料被我一键清空了。

想着十多个 TB 的影视资料就这么没了,到也没有太伤感,毕竟技术男认为总还是可以恢复的,无非就是费些时间的问题。所以做的第一件事就是把 NAS 关机了,因为一旦再写入新的数据,被删除的数据可能就真的无法恢复了。关机后就开始找 SATA 线(NAS 里面是 3.5 寸的机械硬盘,使用 SATA 口通信),发现没有就赶紧买了一根第二天可以到的,至此第一笔 60 大洋(3.5 寸的硬盘还得单独供电,好不容易找到一个便宜的带电源的套装)损失就出去了。然后就开始各种找资料,NAS 里面的硬盘格式是 Btrfs 的,可用的恢复工具一下子就少了,翻着翻着发现就已经凌晨一点。怀着一丝丝担忧还是决定先睡了,明天早起再说吧,反正 SATA 线最快也得下午才能到。

喜新

这一切的一切要往前捯就只怪我「喜新厌旧」。搬到新家利用软路由和 NAS 搭建了一套家庭影音中心,老老实实看就得了呗,非要瞎鼓捣。在 Jellyfin 中显示的影视信息读取的元信息文件有些问题,提的 PR 也是做了各种测试才成功合并到主干,尽管只是改了一行代码的位置,但维护人员的严谨还是很让我受教的。虽然合并到了主干,但由于大版本更新发布还未确定时间,当时自己就临时针对当前版本调整了代码编译部署到了自己的软路由上先用起来了。

后续稳定版本也发布了几个修复问题的小版本更新,但合并的代码并不在更新范围内,自己懒了也就没再更新 Docker 镜像。直到昨天晚上也许就是闲来无事,想着要不就更新到非稳定版本用吧,同时一不做二不休还把刮削用的 tinyMediaManager 也更新下吧,然后就没有然后了,事故就发生了。

我是一个比较喜欢尝鲜的人,每天到公司不执行一下 brew update & brew upgrade 就不舒服。而且还不能搞成定时任务,就得手动执行,然后看着相关工具更新到最新版本就会很舒服。我承认在一些「大型」项目中,兼容和稳定才是第一追求,但我认为我还真么参与到过那种「大」到处处都要为兼容和稳定考虑的项目中过,所以我还是很喜欢尝试新的特性。当然工作中尝鲜用到的也得至少是正式发布的版本。最近的一次大迁移就是把我所有的 Python 项目都从 3.7 升级到了 3.10,为啥不是 3.11 呢,因为有些依赖包没我走得快,对 3.11 还不支持。我大部分是在做数据和算法工作,少部分时间也会用 Python 写一些工程性质的代码,在这个领域我认为「喜新」是一件好事,这会让你在面对一个问题时更有可能说出「我行」。

怀旧

我其实还挺两面派的,刚刚还在「喜新厌旧」,现在又说「怀旧」。老人经常说人要有个「念想」,但此时此刻我发现我的「念想」有点儿多了,多到可能束缚到了我的前行。NAS 是我大概 6 年前买的了,去年淘汰了里面两块老旧的小硬盘,又补上了两块 8TB 的。里面存的都是从 PT 站下载的高清影视资料,今年也终于成功的将 PT 站的账号升到了永久保号的等级,看了看上传量也近 20TB 了。文件被删掉的那一刻都是在想怎么恢复,但当发现恢复有一定的难度后,我突然有在想要不要恢复。

其实这么多年下载了这么多高清的影视资料,真正回过头再去看的次数不算多,一是没那么多时间,二是有新的内容可以选择。所以这么多「怀旧」的东西可能并不是「念想」,而只是满足「占有欲」的电子榨菜。这就和买书与读书是一回事儿,不是买了书有了书,知识就是你的了。多年前的我认识到了这个问题,但好像改进的并不理想,尤其是疫情这几年,身体没空去旅行,然而思想也没有在路上。不过感觉近期有所改善,至少近几个月快读完三本书了。

中午眯了会儿醒来还是决定把四块硬盘重新格式化了,也正好把之前一个磁盘和存储空间顺序不一致的问题做了纠正,如实让我这个强迫症选手舒服了一些。后面把原来移动硬盘中的照片重新又备份了一份到 NAS 中,「念想」这东西有点儿就够了。弄完了,心情一下子轻松了不少,毕竟不用再为恢复数据发愁了,尤其是在这种你还不知道能不能恢复的情况下。唯一还有些心疼的就是花 60 大洋买的 SATA 线,看了看快递小哥已经送上货了,就留着吧,万一将来有啥用呢。

再出发

后疫情时代的第一年马上就要过去了,这一年的种种个人感觉都不尽如人意,也正是不如人意才会让我去思考更多,改变更多。变革不一定会创造机会,哪怕创造了机会能不能抓住也难说,但对变革的思考和自身的改变是可以主动发起的。抛下一些陈旧的包袱,再去想想你真正想要的,透彻一些,会发现变革不一定是坏事。

大家都在往前走,这是我们认为的,也是我们想要的,至少是我想要的。可我真的在往前走吗?或许慢慢地陷入了舒适圈,或许被过往的「念想」不知不觉牵绊住了,所以不经意的一个变数,或好或坏,都给了我们重新审视自我和世界的机会。停下来,思考片刻,再出发,来得及,也值得。