/android-chrome-192x192.png

Bing's Blog

自由 分享 合作

  

2025年终总结

今年的几个关键词是:工作、装修、米家。

去年买了房,今年装修。终于实际拥有梦想中的小家了,房子面积不大,但是已经足够我们两人一猫的生活,我们有了自己的书房,我可以正真规划全屋米家,毛毛在也终于结束了和我们一起的漂泊生涯。

在当前这家公司已经工作快三年,公司也已经上市(但是和我也无关),我不再过于畏手畏脚,有机会、敢于放手去做,但是似乎又陷入了历史的循环。


行车记录仪视频拼接

在遇到漂亮的风景、不安全的驾驶行为等情况时,我习惯于将行车记录仪的视频拷贝下来,保存在nas上;但是大部分行车记录仪的视频都是分段存储的,通常是每1或5分钟一个文件。为了方便查看,我需要将这些视频拼接成一个完整的视频。


生成文章摘要

市面上有不少AI工具可以生成文章摘要,但是我的站点集成的是自定义生成工具,当触发push时,github action协助调用生成脚本。全量文章(统计约200K字)生成,目前大概消耗1元人民币。一般情况下都是增量生成方案,用量极少。


DMA拼接

涉及到DMA应用的场景中,往往一方(比如FPGA)以固定Packet大小向DMA写入数据,另一方(比如CPU)也以固定Packet大小读出(或直接在DMA上操作)数据。一般情况下,为了提高DMA利用率,CPU处理的数据结构不一定正好是Packet大小的因子(packed模式),在这种场景下会涉及到数据的拼接问题。


Base64压缩

首先, 明确base64并不是一个压缩算法. 但是在某些场景我们可以使用其编码特性达到压缩的效果.


二维数据可视化工具-painter

日常开发过程中,时常会遇到一个类似的需求:将某些二维数据可视化。比如,时间与系统内存、时间与CPU、通道与距离等等。

往常我的做法是在代码中嵌入相关的打印,输出到文件中,然后通过其他语言,比如Python解析并可视化,或者直接使用Python解析并可视化。

长期以往,发现这种做法总是写了很多重复的代码。能不能有一个工具,直接输入数据,然后可视化呢?所以,我写了painter


C++闭包二

“多年以前"写过一篇关于C++闭包的文章,现在看来基本是关于lambda的介绍。随着经验的增加,对闭包的理解更加深刻。在上一篇文章中,介绍了我编写的一个tiny_cmdline库,随后我对一些tiny库更感兴趣,便想着做了一个集合,取名为tinylib,其中有一个tiny库是关于match的。调用方式如下:


轻量级参数解析库-tiny_cmdline

当编写一些命令行版本软件的时候,往往需要涉及到命令行参数的处理。网上能搜索到一些参数处理库,但是对很多需求来说,它们太过庞大,一般也只适合作为黑盒使用。

因此,我编写了一个轻量级的参数解析库,tiny_cmdline,目的就是轻量,让用户容易阅读和定制。