Verne in GitHub

返乡

南都讯 春节期间,一个上海大学博士生的返乡笔记《一位博士生的返乡笔记:近年情更怯,春节回家看什么》在微信朋友圈及微博等社交媒体疯传,截至昨晚9点,该文在微信公众号“市政厅”上阅读量已超过4.6万多次。近似“疯狂”的转发量让作者王磊光感到不安和不理解,在他看来这只是一个媒体事件,自己不过是“不小心卷入了其中”。 王磊光 作者否认美化绿皮火车 这篇文章的作者是80后博士生王磊光,如今在上海大学文化研究系上学。他平时喜好文学,对乡土问题比较关心,本科毕业后曾在某中学担任语文老师,随后继续考研深造。在这篇笔记中,他描述了自己返乡的见闻:交通没有以前那么拥 Read more ...

2015-03-01 思考 , 感悟 , 转载

Java 查漏补缺之: GC 垃圾回收

说到 Java 很多人脑海会直接蹦出内存自动回收,会经常听到 GC 这些词,GC 指的是 Garbage Collection 也就是垃圾回收。说到垃圾回收就不可避免的去看下 Java 的内存管理机制。 内存管理 提到内存管理可能很多人都会联想起 C/C++ 的手动内存管理,以及 Java/Python 的自动管理,但实际上这都是指的堆内存管理。常规的内存管理可以分成两个部分,栈内存管理和堆内存管理。 栈的发明解决了部分内存的自动回收,但是栈的局限在于只能自动管理固定长度的内存,而对于堆内存,不同语言有不同的管理方式: 纯手动管理 C/C++ Read more ...

2015-02-27 java , gc , garbage-collection

每天学习一个命令:xclip 与剪贴板交互

xclip 命令可以从 stdin,或者文件读入数据到剪贴板,或者将剪贴板内容粘贴到目的应用中。xclip 命令建立了终端和剪切板之间通道,可以用命令的方式将终端输出或文件的内容保存到剪切板中,也可以将剪切板的内容输出到终端或文件 安装 sudo apt-get xclip 命令格式 xclip [OPTION] [FILE] ... 常用参数: -i 从 stdin 读入 -o 打印到标准输出 使用实例 不加选项时只在保存在 X PRIMARY(终端剪切板),加上选项 -selection c 后保存在 X C Read more ...

2015-02-26 linux , command , xclip

Java 的 IO 操作 java.io 包

InputStream 和 Reader 的区别 InputStream 是 byte 导向 Reader Writer 是字符导向 Read more ...

2015-02-20 java , java-io , io

每天学习一个命令:ffprobe 查看多媒体信息

在 ffmpeg package 中有一个 ffprobe 工具,主要用来查看多媒体文件或者流媒体信息,在线的视频信息也能够快速获取。大部分情况下个人比较喜欢使用 ffmpeg -i input.mp4 来快速查看,这种时候在终端上比较快速,而如果有些时候想要分析一下媒体文件,需要编程获取得到的媒体文件结果,显然 ffmpeg 的输出结果简直无法忍受,而 ffprobe 提供非常清晰的输出格式,非常方便的可以提供给编程软件解析使用。 官网说明:http://ffmpeg.org/ffprobe.html 命令格式 ffprobe [OPTION] Read more ...

2015-02-09 linux , ffmpeg , ffplay , ffprobe , command

每天学习一个命令:sed 流式字符编辑器

sed 全名叫 stream editor,是面向字符流的编辑器,能够完美地配合正则表达式使用。sed 提供的功能是交互式文本编辑器的延伸,提供的查找替换程序可以被全局应用于单个文件或多个文件。 面向字符流,是因为输入流通过程序并将输出直接输出到标准输出。 sed 处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非使用重定向存储输出。sed 主要用来自动编辑一个或多个文 Read more ...

2015-01-15 linux , command , sed , editor

Vim 插件之: vim-surrounding

vim-surrounding 插件可以轻松的一次性修改成对出现的,比如 (), [], {}, 双引号,XML 标签等等。提供了 增加 删除 修改 包围内容的方法。 首先放上链接: https://github.com/tpope/vim-repeat Installation Plugin 'tpope/vim-surrounding' Usage 用下面的例子做 demo print("hello world") 光标定位在 hello world 包括引号,那么使用如下的命令可以实现双引号替换成单引 Read more ...

2015-01-04 vim , vim-plugin , vim-surrounding , tpope

jhat 使用

jhat 是 Java 的堆分析工具(Java heap Analyzes Tool),在 JDK 6u7 之后成为 JDK 标配。 用法 jhat [options] heap-dump-file 说明: options 参数 heap-dump-file 二进制 Java 堆文件,可以使用 jmap 导出 可选参数 -stack false|true 关闭对象分配调用栈跟踪 (tracking object allocation call stack)。 如果分配位置信息在堆转储中不可用,则必须将此标志设置为 false Read more ...

2015-01-03 java , jvm , jhat , heap , tool

jmap 命令使用及内存分析

jdk 自带的命令用来 dump heap info,或者查看 ClassLoader info,等等。 命令格式 jmap [OPTION] PID 使用实例 不加任何参数 直接使用命令 jmap pid 查看 pid 内存信息。 查看堆信息 jmap -heap pid 查看堆对象信息 统计对象 count ,live 表示在使用 jamp -histo pid jmap -histo:live pid 查看 classLoader jmap -clstats pid 生成堆快照 jmap -dump:form Read more ...

2015-01-02 jmap , jstack , jdk , jvm , java

网件 WNDR3800 刷机

进入 U-boot 路由先断电,然后按住复位键或者 WPS 键开机,保持 10S 钟左右,然后用网线连接 LAN 口和电脑,打开浏览器进 192.168.1.1,就可以进入 U-boot 控制台,进去刷写固件 操作路径 :固件更新 -> 固件 -> 选择固件文件 -> 上传 -> 更新,刷完后机器会自动重启。 固件 自行编译 https://github.com/coolsnowwolf/lede 或者下载他人编译好的固件。 Read more ...

2014-11-25 openwrt , wndr3800 , router , linux , tutorial

最近文章

  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 呆呆面板 MCP 配置教程:让 Claude、Cursor 用自然语言管理定时任务 前两天写了一篇 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程,在那篇文章里我提到呆呆面板和 [[qinglong 青龙面板]] 最明显的代差是内置了 [[MCP]] 服务,但只是简单带过。面板搭起来、脚本陆续迁移进来之后,我每天早上要做的第一件事就变成了打开面板,挨个看昨晚哪些任务失败了、报的什么错、是 Cookie 过期还是网站改版。这种重复又琐碎的巡检,恰好是 AI 最擅长替人做的事情。所以这一篇就专门聊聊呆呆面板的 MCP 怎么配置、怎么接入不同的客户端,以及在权限上应该怎么取舍。
  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。
  • Git 本地忽略文件:.git/info/exclude 的作用与使用技巧 由于本地 IDE、插件、Agent 的差异,所以经常打开项目之后会出现一些只属于我自己的文件,AI Agent 和一些 MCP,Skill 也喜欢在项目根目录里面添加文件。每次 git status 都能看到这一串红色的 untracked 文件,看着很烦,又不太好意思为了自己的习惯去改项目的 .gitignore。这时候我想起了 .git 目录里一个存在感极低的文件 info/exclude,它刚好就是为这种场景设计的。