Welcome to my blog
AI Agent折腾记(OpenClaw / Hermes Agent)
AI 智能体(AI Agent)是一种能够感知环境、进行推理并自主行动以实现特定目标的智能系统。 OpenClaw和Hermes Agent属于目前开源社区最受关注的两个项目。 ...
我的2025年
2025年,会是我人生的一个重要节点。 工作 这一年,处于一种持续性、高强度的加班状态,晚上9点算是早下班了。 24年底,接手了一个历史模块,对于一直在做运营开发的我来说,算是一个不小的挑战。 ...
大连之行
6月底,趁着娃刚考完试,学校也没课了,请假带娃去大连玩了一趟。 这次是跟娃好朋友一起出行,人两口子以前做旅行社的,直接搞了一个行程表,我们就跟报了个旅行团一样。 ...
回家收麦
家里有两块地,一块离的远租出去了,另一块近的老爸老妈还在自己种。 自从上高中后,就很少下地了,现在让我下地,我都找不到自家地。 老爸生日回家,刚好赶上收麦,记录一下。 ...
六一儿童节爬长城
六一儿童节,娃和好朋友约好一起爬长城。 去年我们去过慕田峪长城,人不多、好爬不累,两家商量后决定还是去慕田峪。 早上打车到清河站,还是粉色的小火车。 这次人多没占到位置,俩小朋友只能席地而坐了。 ...
Golang database/sql 数据库断线自动重连机制解析
最近有个交接服务的数据库要升级版本,升级最后切换瞬间会有一个闪断。 这里业务侧需要确保有自动重连机制,否则会影响服务。 因为是交接的服务,得通过代码再确认一下。 ...
Golang默认Http Client导致的cannot assign requested address错误
问题表现 重现代码: package main import ( "fmt" "io" "net/http" "time" ) func main() { client := &http.Client{ Timeout: time.Duration(3) * time.Second, } for i := 0; i < 100; i++ { go func() { for { req, _ := http.NewRequest(http.MethodGet, "https://baidu.com", nil) rsp, err := client.Do(req) if err != nil { fmt.Println("request failed", err) continue } rsp.Body.Close() body, err := io.ReadAll(rsp.Body) if err != nil { fmt.Println("read body failed", err) continue } fmt.Println(string(body)) } }() } select {} } 启动后,随着请求越来越多,很快就出现了"cannot assign requested address"错误,服务器出现大量TIME_WAIT连接。 ...
清明踏春,爬山看海
自从买了登山杖,娃一直说想去爬山。 前段时间天气一直不好,山上也还是光秃秃的,就一直没去。 趁着清明假期,带娃爬山去。 去年假期去过一次香山,路上超堵,这次还是选择了离家不远的百望山:好爬不累。 ...
购入小牛G400T电动车
去年10月底,考虑到老的绿源电动车已经骑了5年,电池越来越不行,马上要冬天了,考虑换个新电动车。 到各个品牌店里转了一圈,发现都没有车子,说是新规的缘故,要到11月份才能有新车。 ...
北京的三月飞雪
盼了一冬天的雪没下,开春了,来了场大雪。 你的浏览器不支持 video 标签。
wrenAI本地LLM模型部署
Open-source GenBI AI Agent that empowers data-driven teams to chat with their data to generate Text-to-SQL, charts, spreadsheets, reports, and BI. WrenAI 是一个开源的Text-SQL 的工具,通过导入数据库结构,通过提问的方式生成SQL。 ...
天津一日游
娃看完中华寻宝记,一直想去天津转转。 大年初九,返京第二天,带娃错峰去一趟天津。 7点出门,直奔北京南站,一路不敢耽搁,在发车前10分钟赶上了车。 ...
2024年终总结
2024年已经过去3个月了,这篇年终总结从元旦拖到了现在。 2024年是我的本命年,这一年发生了很多事,这一年过的并不太如意。 早就想要总结这一年,但不知道从哪下笔。 ...
停止使用staticfile.org服务
昨天像往常一样打开博客,发现评论没有加载出来。 一开始以为是手机网络问题,用电脑复现了一下,发现twikoo的js访问报错了。 ...
使用 ImageMagick 自动添加水印,保护图片版权
背景 细心的朋友可能会发现,我的博客图片都带上了水印。 经过博客被恶意镜像这个事情后,我一直在思考如何防止内容被恶意盗用,尤其是博客里的一些图片。 在当Hugo遇上AVIF,优化图片加载这篇文章里,使用了ImageMagick工具做了图片压缩。 当时文章最后说留了个坑,其实就是今天的这篇内容,利用ImageMagick自动给图片添加水印。 ...
如何注册一个.sol域名
Livid大佬新搞了个支持Solana的IPFS/IPNS网关,了解到还有一个.sol的web3域名。 Solana域名服务(SNS)的目标是提供一种去中心化且可负担的方式,将域名(.sol)和链上数据连接起来。这些链上数据可以是SOL地址、 IPFS CID、图片、文本、或者任何其它的东西。 ...
奥森公园半日游
假期第三天,腰间盘犯了,在家躺了三天。 假期最后一天,感觉轻了许多,今天北京天气非常好,带娃出来走走。 ...
昌平42公里骑行绿道打卡
五一的时候带娃骑过南边这段,网上查了说北边这段不好骑,难得2号下午有空,决定先自己走一遍看看。 从家附近的奥北森林公园开始,骑行到沙河水库,整个行程近30公里,耗时3个小时左右。 ...
十月一日爬慕田峪长城
早上5点半起床洗漱,6点出门打车直奔清河站,6点50的火车S515清河-雁栖湖。 虽然坐地铁经常路过清河站,但还是第一次来清河站坐车。 我们提前20分钟到的车站,已经开始排队了。 ...
当Hugo遇上AVIF,优化图片加载
这篇文章会介绍基于Github Workflow使用ImageMagick生成AVIF图片,来优化Hugo站点的加载速度。 ...