碎碎念

陪她去流浪 新建

随着 Firefox 146 在今天正式启用 CSS text-autospace 属性,主流三大浏览器都已经支持中英文自动增加空白。注意,该特性默认没有启用,是时候你的页面中开启了!1

:root { text-autospace: normal; }

  • 就等 Firefox 发正式版本了,等好久了。

更新:全局加上了,没发现什么问题。现在已经不再在英文和汉字之间手动加空格了。

没有评论 页首

发现了一个 Go 写的新的全文搜索引擎,代码、文档看起来都比较精良、作者也比较有背景。

wizenheimer/blaze: Full Text Search Engine written in Go

但是目前还不支持中文,提个 issue,抽空跟进一下。

  • 顺便再把 bluge 这个库换掉,几年没更新,看起来已经死了
  • 然后再研究一下 bleve 这个库,之前看过,不知道为什么没用,而且首席代码提交者是同一人
2条评论 页首

今天的梧桐山

中午吃完午饭就出发的,线路是直接坐地铁到“梧桐山南”站,感觉是新开的路线,以前不是从这里上山的。因出门较晚的原因,又是刚到达好汉坡就天黑了,相机没得拍、无人机也没得飞。又白来一趟。

在地铁站内居然发现了一家便利店,不知道是哪个关系户开的,以前没有在深圳的任何地方看到有人地铁站内(刷卡出站前)营业的。在便利店付完款后竟然在门外看到一张招聘:女性,限 18~35岁。

竟然能看到一条这么大的野猪:

晚上竟然有极光,好好看的样子。

深圳的夜景。

同伴到山底的时候跟我说他好几次感觉快死在登山的路上了。

手机在我刚出门的时候就电不多,下山走夜路的时候全靠无人机遥控器点亮屏幕给我指路。

感觉是史上最累的一次爬山,晚上一点才到家。

没有评论 页首

人生第一次见到 COBOL 代码

jmsdnns/webbol: A minimal static web server written in COBOL1
https://github.com/jmsdnns/webbol/tree/main

Acknowledgments
Built with GnuCOBOL, demonstrating that COBOL can still be used for modern systems programming tasks.

居然写的是 Web 服务器,也不知道是什么神人写的。我以为这语言除了守旧的银行还在使用以外早死翘翘了。

看了一眼语法,我个人很难接受:

  • 全大写?
  • 大量重复的变量名
  • 赋值语法繁琐:MOVE "text/html" TO LS-MIME-TYPE
  • 没有 switch-case 大量 ifurl-decode.cbl#L91
  • 函数调用过于麻烦:CALL "socket" USING BY VALUE 2 BY VALUE 1 BY VALUE 0 webserver.cbl#L51

一堆 BY VALUEBY REFERENCE 让我想起初学 VB6 的时候的恐惧。

难以想像那个时候的 C 语言的出现是多么的耳目一新、多么的惊艳。

2条评论 页首

太离谱了,电热水器的冷水档出热水,热水档出冷水……

不是因为接反了,而是因为深圳外面的天太热了。大家国庆都不在家、都不用水的吗?

没有评论 页首

CCTV & 闭路电视

深圳地铁的监控标识:“CCTV”,真的叫“闭路电视”。除了大家熟知的“中央电视台(China Central Television)”。


闭路电视(CCTV,Closed-Circuit Television)指的是一种 通过有线或专用无线通道传输的电视系统

和我们平常说的“广播电视”不同,广播电视是 面向公众、开放接收 的;而闭路电视只在 特定的“闭合电路”范围内传输信号,只有连接到这套系统的设备才能看到。


📺 举例

  1. 监控摄像头系统
    商场、银行、小区、工厂里的监控摄像头,把画面传输到监控中心的显示器上,这就是典型的闭路电视。

  2. 学校、单位内部电视系统
    比如学校内部有一套播放系统,只在校园里能收看,也算闭路电视。


⚙️ 组成

  • 摄像设备(摄像头、视频采集器)
  • 传输线路(同轴电缆、光纤、局域网,或点对点无线)
  • 显示设备(监视器、录像机、存储服务器)

📌 特点

  • 封闭性:信号只在一定范围内传输,外部不能直接接收。
  • 实时性:常用于实时监控、安防。
  • 可录制:常结合录像机(DVR/NVR)做存档。

👉 所以,闭路电视 = 局部范围内的专用电视系统,现在最常见的就是我们口中常说的“监控摄像头系统”。

要不要我帮你梳理一下 闭路电视发展到现代网络监控(CCTV → IP Camera → 云监控) 的演进过程?

2025-10-18 17:52:41

Citron🍢 on X: "你说的对,但是 上海地铁 车厢内部所有摄像头均为针孔大小或隐藏在 LED 灯旁(新车),并未在车厢内设有任何 CCTV 标识。各位推友可以尝试寻找 p3 的摄像头在哪里。 不知道为什么上海又要安装摄像头,但又害怕给人正在被监视的感觉呢? https://t.co/0Xv5PIeUej" / X

没有评论 页首

大芬油画村一日游

等等,这个“画”字为什么没封口啊?

一看我背着个相机📷,被旁边的人一顿夸说:一看就是专业的。来,你给我拍点照片、录点视频吧。(强制开机……🥵

什么时候多了一条“周杰伦路”,以前好像没有。

画了3️⃣个小时,实在画不动了。撤。🥵

没有评论 页首

铁仔山公园拍日落🌇️

没有评论 页首

让网站颜色延伸到过度滚动后的顶部与底部

我的网站延续顶部是黑色、底部是白色样式估计得有十年了。当滚动到顶部时,则会出现底部的白色,比较难看。

之前一直想解决,自己 CSS 太菜无可奈何。今天刚刚看 Vercel 的工程师也在研究这个1

感觉比较巧妙:给根元素设置了一个上、下渐变色:上部分是一个色,下部分是另外一个色。

试了一下,发现很不错。有几点说明:

  1. 49.99% 好像没必要,50% 也行。
  2. 网站原本的背景色也要同时设在 html 上,光设在 body 上可能无效。

人生第一次使用渐变色,没想到是这种场景。

没有评论 页首

在西湾红树林公园拍几张日落🌇️

应该有三个月不算出过门了。可惜今天天气不算好,有一大团乌云。

“无监督”模式下自己随便拿相机拍了几张,只有1️⃣张P过。

没有评论 页首

iPad 的这个旋转效果是真的好看啊🥰

没有评论 页首

空洞骑士真好看

10-5-2025, 10:24:20 PM

2025-10-08 12:20:40

开始玩丝之歌了。

居然有 BOSS 叫“蕾丝”,你敢信?

2条评论 页首

把自己写的表格编辑器集成到网站内了

能同时兼容桌面设备和移动设备的表格编辑器应该不多吧。

看看我花了多少工夫,为了能方便地编辑表格:

2条评论 页首

有时候就搞不清网站为什么突然就卡住了

但是看附近的日志又没有任何异样:

1
2
3
4
2025/09/02 17:23:36 util.go:60: 保存文章访问次数
2025/09/02 17:27:15 file.go:131: 更新文件缓存并清空已过期缓存: 0
2025/09/02 17:27:28 main.go:739: 服务接口响应非常慢了。
2025/09/02 17:27:29 logger.go:67: 创建日志: 15743 notify message {"title":"服务不可用","body":"保活检测卡住了"}
1
2
3
4
5
6
7
8
9
now := time.Now()
svc.GetPost(auth.SystemForLocal(context.TODO()), &proto.GetPostRequest{Id: 1})
if elapsed := time.Since(now); elapsed > time.Second*10 {
	svc.MaintenanceMode().Enter(`我也不知道为什么,反正就是服务接口卡住了🥵。`, -1)
	log.Println(`服务接口响应非常慢了。`)
	s.sendNotify(`服务不可用`, `保活检测卡住了`)
	return false
}
svc.MaintenanceMode().Leave()

服务器到底发生了什么获取一篇文章需要花超过 10 秒钟时间?

当初还以为不可能发生,于是就没有记录具体时长。我去,什么叫作担心的事情一定会发生啊?

没有评论 页首

想学一下 Zig 语言,结果感觉被第一个 Hello World1 就给劝退了:

1
2
3
4
5
const std = @import("std");

pub fn main() !void {
    try std.fs.File.stdout().writeAll("Hello, World!\n");
}

“向标准输出写内容”这么日常的操作至于这么繁琐吗?

没有评论 页首

新买的国产苹果手表竟然不能给旧款充电

竟然不说我的国家有问题?奇奇怪怪啊。

没有评论 页首

这款极简、透明的 Markdown 编辑器不错

分为两层:上面是标准的 <textarea>,下面是渲染后的 Markdown。

前者完全透明,主要提供内容。靠后者提供色彩。

不错,但是用了几分钟就发现了 Bug:something went wrong for not-well formated markdown · Issue #23 · panphora/overtype

修复了。


很好,给作者提了个建议后,适用于任何语言的新编辑器诞生了:Discussion: Is it possible to extend the capability to render not only Markdown? · Issue #29 · panphora/overtype

2条评论 页首

纯手工两天时间打造了一个表格编辑器,快来体验!

没有评论 页首

明明就是在循环体内定义的变量,为什么不初始化后再次使用?

1
2
3
4
5
6
7
retry:
	for(let i=0; i<5; i++) {
		console.log(i);
		if(i==2) {
			continue retry;
		}
	}
1
2
3
4
5
6
$ node retry.js 
0
1
2
3
4

一段手动从 Go 翻译到 JS 的代码,奇奇怪怪。

2条评论 页首

看 insertAdjacentElement 的第一眼:这啥玩意儿?看了图后:设计得真好

insertAdjacentElement(position, element)1

  • 'beforebegin': Before the targetElement itself.
  • 'afterbegin': Just inside the targetElement, before its first child.
  • 'beforeend': Just inside the targetElement, after its last child.
  • 'afterend': After the targetElement itself.

一堆的 before/begin/after/end 真的有够晕的。

但是直到看了图示的第一眼:简直了,世界上没有比这更清晰明了的解释了:

1
2
3
4
5
6
7
<!-- beforebegin -->
<p>
  <!-- afterbegin -->
  foo
  <!-- beforeend -->
</p>
<!-- afterend -->
2条评论 页首

不要点进来!不要点进来!不要点进来! #NSFW

不要点开!不要点开!不要点开!

重要的事情说三遍!重要的事情说三遍!重要的事情说三遍!

2025-8-15 07:05:30

3条评论 页首

听说脚臭(菠萝蜜)的果实煮了后吃起来像板栗🌰️

是真的,我刚刚吃了。

真的是真的,味道很像板栗🌰,粉粉糯糯,超爱吃。

哪个天才发现的啊😧?以前丢了好多、买了好多板栗吃。

没有评论 页首

YAML 太难了,GPT-5 日常 XXX 乱说

  • YAML 里面用 JSON 的时候,引号什么时候可以省略?

  • 在 YAML(包括 JSON 风格写法)里,字符串并不总是要加引号,但能省略的前提是:

    1. 值不包含特殊字符(空格、冒号、# 等)
    2. 不会被 YAML 解析成其他类型(数字、布尔、null、时间等)
    3. 不会因为前导/尾随空格丢失信息
    1
    2
    3
    4
    5
    
    # ❌ 这样会报错
    title: hello world
    
    # ✅ 必须加引号
    title: "hello world"
    
  • 空格不用引号啊,XXX 乱说。

  • 我明白你的意思,你是觉得 YAML 普通键值对里值里有空格其实也不用加引号,对吧?确实,我刚才说得过于保守了。YAML 的规范允许这种:

    1
    
    title: hello world
    

    它会直接解析成字符串 "hello world",不会报错。因为 YAML 在 block style 下,冒号后的空格到行尾,都会被当成同一个标量(除非有 # 注释符或缩进表示多行)。

    所以正确规则是:

    1. 空格本身不要求加引号,无论是 block style 还是 flow style:

      1
      2
      
      title: hello world
      tags: [hello world, foo bar]
      
    2. 必须加引号的情况是:

      • 开头或结尾有空格(否则会被 YAML 去掉)
      • 含有 #(否则会被当成注释)
      • 想保留冒号 : 并且后面紧跟空格
      • 想避免被 YAML 自动识别成布尔、null、数字、日期

链接:https://chatgpt.com/share/689bfce3-45f4-8008-b652-b67d9edef04f

没有评论 页首

简单调了一组在浅色和深色背景下看起来都还不错的配色

拿来干啥?我也不知道,就是折腾了一下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<color></color>

<!-- by class -->
<color red></color>
<color :blue></color>
<color red:blue></color>

<!-- by css color name and function -->
<color fg="red" bg="blue"></color>
<color fg="rgb(1,1,1)" bg="hsl(330,100%,50%)"></color>

表格预览(“<colors></colors>”):

名字 代码 前景 背景
浅色 深色 浅色 深色
coral
#F08080
Text
Text
Text
Text
salmon
#E9967A
Text
Text
Text
Text
red
#FF325B
Text
Text
Text
Text
hotpink
#FF69B4
Text
Text
Text
Text
deeppink
#FF1493
Text
Text
Text
Text
palevioletred
#DB7093
Text
Text
Text
Text
tomato
#FF6347
Text
Text
Text
Text
darkorange
#FF8C00
Text
Text
Text
Text
orange
#FFA500
Text
Text
Text
Text
yellow
#FFD800
Text
Text
Text
Text
darkkhaki
#BDB76B
Text
Text
Text
Text
magenta
#DA70D6
Text
Text
Text
Text
purple
#9932CC
Text
Text
Text
Text
slateblue
#6A5ACD
Text
Text
Text
Text
mediumseagreen
#3CB371
Text
Text
Text
Text
green
#17a817
Text
Text
Text
Text
yellowgreen
#9ACD32
Text
Text
Text
Text
olive
#6B8E23
Text
Text
Text
Text
darkseagreen
#8FBC8B
Text
Text
Text
Text
lightseagreen
#20B2AA
Text
Text
Text
Text
teal
#008080
Text
Text
Text
Text
cyan
#00CED1
Text
Text
Text
Text
aqua
#00CED1
Text
Text
Text
Text
cadetblue
#5F9EA0
Text
Text
Text
Text
steelblue
#4682B4
Text
Text
Text
Text
deepskyblue
#00BFFF
Text
Text
Text
Text
blue
#1E90FF
Text
Text
Text
Text
burlywood
#DEB887
Text
Text
Text
Text
tan
#D2B48C
Text
Text
Text
Text
rosybrown
#BC8F8F
Text
Text
Text
Text
sandybrown
#F4A460
Text
Text
Text
Text
goldenrod
#DAA520
Text
Text
Text
Text
darkgoldenrod
#B8860B
Text
Text
Text
Text
peru
#CD853F
Text
Text
Text
Text
chocolate
#D2691E
Text
Text
Text
Text
white
#FFFFFF
Text
Text
Text
Text
silver
#C0C0C0
Text
Text
Text
Text
darkgray
#A9A9A9
Text
Text
Text
Text
gray
#808080
Text
Text
Text
Text
slategray
#708090
Text
Text
Text
Text
black
#000000
Text
Text
Text
Text
没有评论 页首

我知道哪些是 leaf blocks,只是让你帮我找回记忆,不是让你乱答

模型仍然是主流的 GPT-4o,这模型也不差吧?你们天天 Vibe Coding 就靠这吗?

参考

  1. <li>: The List Item element - HTML | MDN
  2. CommonMark Spec
4条评论 页首

同时换了家里的入网方式➕️路由器后,自制的硬盘柜风扇就不受控制了1。直观现象是:HomeKit 设备显示为离线。

由于当初没来得及给 ESP8266 写 OTA 升级程序,最终还是被迫把机箱拆开来用串口看了日志。日志卡在了连上 WiFi 并成功获取到 IPv4 的地方。好家伙,不知道怎么办了。尝试开启 Verbose 日志,发现是进一步卡在了获取 IPv6 的地方。由于新路由器我关了 IPv6,所以复用的 example 代码的网络连接函数直接宕机了…… 离谱。

都怪我代码写得太粗糙…… 想加个 OTA,官方的太复杂,而我自己包装的只适用于 ESP32 系列,遂罢。 ESP32 官方基于 C语言 写的 API 还是太简陋、太过于面向过程了。是不喜欢操作对象吗?一点都不 fancy。所以他们好像又拿 C++ 写了一遍,但是好像又只能给 Arduino 平台用。那我还不如玩手机。

一个小插曲: 一不小心一年没玩硬件了,竟然看着代码完全是懵的。用 minicom 和 picocom 竟然都无法正确显示串口内容。狗屁通说 ESP8266 的波特率是 74880。What?这什么鬼波特率,从来没过如此奇葩。虽然但是,前面两个还是不行。make 了一下原来才发现应该用 make monitor 来观察串口输出。虽然但是,它用的波特率真的是 74880。但是为什么别家的用不了?

没有评论 页首

OrbStack 无法将用 sshfs 挂载的文件系统显示在 Finder 上

以前还可以用 MacFuse + SSHFS 挂载 ext4 文件系统,好像自从 MacOS 某个版本强制开启 SIP(System Integration Protection,系统完整性保护)后,第三方开发者的内核驱动全部被干没了。一直很好奇果子自身用什么方式挂载 Linux 文件系统。

突然想到 OrbStack 在 Finder 侧栏能非常方便地显示其运行的虚拟机/容器的文件系统。所以能不能在 Linux 内 sshfs,然后随着 Linux 系统一同显示出来?

结论是:不能。

显示的是挂载前的目录(的内容)。新创建的文件也是到挂载前的目录内。取消挂载后可以在 Linux 内看到。

没有评论 页首