刚刚收到了信用卡捐款通知,看了下维基百科的感谢邮件,没想到已经两年了。
| 付款计划ID | I-BCT1CMP7BFK8 |
|---|---|
| 收款方 | Wikimedia Foundation, Inc. |
| 付款用途 | Wikimedia Foundation - monthly gift |
| 每期金额 | $1.00 USD |
| 结算周期 | Monthly |
| 付款起始日期 | 2023年12月7日 |
| 付款结束日期 | Until cancellation期 |
| 付款资金来源 | Visa x-6887 |
虽然只有区区1️⃣美元。
刚刚收到了信用卡捐款通知,看了下维基百科的感谢邮件,没想到已经两年了。
| 付款计划ID | I-BCT1CMP7BFK8 |
|---|---|
| 收款方 | Wikimedia Foundation, Inc. |
| 付款用途 | Wikimedia Foundation - monthly gift |
| 每期金额 | $1.00 USD |
| 结算周期 | Monthly |
| 付款起始日期 | 2023年12月7日 |
| 付款结束日期 | Until cancellation期 |
| 付款资金来源 | Visa x-6887 |
虽然只有区区1️⃣美元。
在地铁站刷 NFC 进站的时候,从旧手机转移交通卡到新手机时的一幕:

我以为是把文字和背景设置成相同的颜色以达到隐藏的目的,所以尝试长按选中了一下文本,发现没有任何结果。
好奇怪,不让看写在这里干嘛?

上一次洗牙是去年去埃及之前(8月初),还没一年半,牙齿又有点结石和黑黑的东西了。
不知道喷砂是什么,然后就没有约这个套餐,总价 ¥50(工作日的原因)。到了才知道原来喷砂就是把牙齿上黑黑的东西给喷掉。给了个好评,免掉了 ¥40 块的喷砂费用。
临走之前免费做了个图(大概是 X 射线,毕竟问了我是否在备孕),医生告诉我说:不要熬夜,其一定程度上会导致牙周萎缩。不由想到了一些老年人的画面。
然后还被教育了说刷牙牙齿方式不对,应该上下刷,不应该左右刷。敢情我几十年牙都刷错了?这应该不是常识吧……
又送了一盒牙线,但是去年的我还没用…… 学一学。

我还硬从硬盘里面“下载”了另外 2G 的内存,还是干废了……
眼看着,内存榨干,机器失联……
穷啊,穷。

付款方式实在麻烦。招商银行的垃圾 VISA 卡真是只能国内用用了。
查看发票:invoice。
上次去香港的时候,并没有特意开通境外流量,神奇的是,竟然正常使用。以防万一,今天我特地打了一下联通的客服电话确认了一下境外流量的收费情况:

那这样说起来的话,我感觉比开什么“无忧行”方便多了。
继上次提到的去香港可以用微信/支付宝支持后,通信问题也解决了。
今天是周一,香港广东路的苹果店门可罗雀,三分钟的时候就足够取货。以下是简单的开箱。
虽然我对这个“户橙风”色并不感冒,但是鉴于其它的配色我拥有过,所以还是硬着头皮上车了。

盒子背面(序列号):

盒子我没有留下来,害怕过海关的时候被抽检,然后需要报税。
拆开后的真实机(当然,没有充电头):


以及比较关注的两个和大陆国行版不同的配置(AI & eSIM):


特别记录一下这全新的电池🔋:

没想到刚出了苹果的大门就在星光大道看到了某 eSIM 的广告,大陆买流量这都过的什么苦日子啊?

好了,就餐时间到。想起今年元旦在东南亚吃了一次特别好吃的海南鸡饭,恰好又看到,所以立即选中它:


但是我感觉被坑了,它就是个普通广东白切鸡饭?
好了,这是今天的我(美团外卖版),最近皮肤不好就不露脸了:

上一款手机 iPhone XS Max 也是在这家店买的,时间是 2018-10-X 左右。用了七年。
希望新手机能用8️⃣年,加个日历提醒🔔️一下。
对象给我买了一个丝之歌中大黄蜂🐝️的手机壳🥵,很好看,大白兔奶糖一样。质地很舒服。

原来 230g 的手机,加上 30g 的壳,现在总共 260g。 拿在手上明显变重了,虽然仅仅才拿一天祼机。
记住它,以后过红绿灯买摊贩的水果的时候可以防止耍秤⚖️了。![机智 [机智]](/v3/dynamic/emojis/weixin/%E6%9C%BA%E6%99%BA.png)
更新:买了个膜(没想到是绿联的,绿联竟然开始做手机膜了,还挺便宜,而且看起来不差),现在已经是 275g 了。
把网站改成了手机色,让自己适应一段时间这个土土的色。

突然意识到我用了很多年的代码编辑器的配色也就是这样色……服了。



很少看 IMAX 巨幕,实在太大、太震撼了。

跟草莓🍓️熊🐻️来个抱抱🤗️。
网站现在用的这台机器感觉年限已经超过5️⃣年了,一直是 $48/年,感觉略贵。
刚好赶上黑五,收到了商家的促销活动邮件。下面的这台小鸡除了硬盘容量比我现在的少以外,其它参数除内存外基本持平;内存翻了一倍。但是价格却只要 $24/年,3️⃣年有效。没忍住,还是下手了。
当然,也有几个其它原因:

其实我没搞懂为什么图片的内存和带宽要折开了来写。

两人才吃 ¥80 块钱,在东北在地方,性价比很高。
另外,我很好奇这锅是怎么来的?不会真的是从一个完整的锅切开来的吧?

还差一个:随身 WiFi,这次没有带。
要是它们能集成到一起就好了;这样就能一个设备、一个网络走世界。
有没有人能教教我怎么安装 OpenWRT 软路由?
树莓派买的时候买错成带 Header 的了。但是其实问题也不大,因为它发热比较严重,即便 Cudy 路由器内有空间,也不太敢放进去,否则容易断流。


照片拍起来看不太出来效果。实在是太大一碗🥣了。
我家南方那边默认都是2️⃣两啊,甚至很多人只要1️⃣两。
我服了。
好消息:当时修好了。坏消息:回到家又坏了。
在老挝骑车的时候把手表屏幕摔了,但是一直没修。前不久洗澡的时候没有取下来,大概率是进水了,然后就像手机一样,开不了机。
上周五的时候去苹果店让天才吧的人看了看————真只是用眼睛看了看,然后开始报价,说是要寄回去才能修。一点都不带装的,直接告诉我说计税前:¥2100,税后:¥2300. 我的妈,可是我几年前买的时候总价才 ¥3000 啊?另外,前两个月国补后买的新手表也才 ¥2100 出头啊。什么玩意儿就敢这样要价?
华强北的人很“厉害”,仅仅是听我描述了一番就说能修,报价 ¥150. 好歹是比苹果官方要便宜得多,那就修吧。手表的屏幕竟然是用胶水沾上去的,多花了 ¥100 块顺便把屏幕也修好了。原来因为骑车摔地上后的屏幕实在看起来太难看了,即便是还在开不了机之前,我也很少戴它了。
回到家后,手表早已没电,想到几个小时后就要坐飞机,所以我赶紧充电。然后就发现,又开不了机了。好菜啊。
跟店里的维修师傅联系了,等回家后重新给我维修,说是有质保的。
返修后回到家发现,还是充不了电。
今天再次返修,带着我原装的充电线。
折腾一番,老板修不了,退了钱。全部,屏幕的钱没有收我的。
坏消息,推上的沈老板不修手表。
我慌了。
聊天记录💬️:1013.txt。

没有封闭驾驶室这个做法让我一下就回想到了重庆的轻轨。不知道深圳突然这样做是省成本还是……?
看起来真的是“全自动驾驶”的,因为我亲眼看到驾驶员坐在凳子上打瞌睡,都快撞到控制面板了。
纠结了很久,还是决定去香港买 iPhone 17,所以立马邀约了明天周五(避免周末拥挤)去香港🇭🇰。
去宝安办证大厅的时候才发现港澳通行证的有效期截止于 2026.02.16. 而今天是 2025.11.13,大于 3 个月。然后,自助签注机就不给办了,没给任何原因,让我去柜台。
准备马上补办,发现一定要在手机上预约。然后,柜台明明就零星几个人,却发现预约最早的时间已经是下周一了。
草🌿️。
申请了补办,换了个办事大厅,明天有号了:
已于 2025-11-30 日取到新的港澳通行证。

晚上拍的,效果不太好。藏不住好看!🍎

以前总是爬山,爬遍了深圳的每一座山,一次又一次。今天去徒步了。
差一点没有找到入口,其实没有入口,一开始就是一段正公路。然后就误入了一家看起来像养老院的山庄,里面有几位中老年轮椅大爷。向大爷打听了入口,临走时,大爷敲响了他的不锈钢大碗,给我展示了他的二维码。
几步后我回头。
大爷突然就明白了,说道:年轻人不容易,快去找工作吧。入口在那边儿……
我以前不这样的,以前我总是很乐于助人。
天空非常蓝,看起来别样的干净。

没忍住多拍了几张蓝天。


这是途中经过的一家咖啡☕️店,拍了一张店外的照片,唯独是没有记住其店名。
徒步结束的时候,有几个晚骑的人问我:你知道绿道从哪里开始吗?还有那家咖啡店,铺了很多太阳能电池板的咖啡店。很遗憾,我不记得了。但是我还记得另外一件事:它家一杯纯牛奶🥛卖 ¥30 元。我坐了半分钟就走了。
前几天农夫山泉老板登顶中国福布斯榜首的时候,我心里面还是有点疙瘩的。一瓶矿泉水卖两块、三块,听说其成本才 1毛5。在父母眼中,这已经可以买一斤、两斤大米了,所以父母们总是很节约,走哪里都带上自己的茶杯。日本的大米很贵,中国的却不是这样,这就是中国农民贫穷的一个原因吗?

最爱拍的就是花花🌸了。以前最爱拍三角梅,深圳的市花。感觉相机拍出来的景深效果很好,除了它总是不让我拍微距,好讨厌。




好像抓拍到了一张蝴蝶🦋采花🌸(希望焦对准了):

有山⛰️有水🌊还有风筝广场,只是可惜,这里不让放飞风筝,也不让放飞无人机。我总是不理解。





这里有一面墙,整面墙都是壁画。对面好像是一座学校。有人在吹小号🎺。


哈哈哈,你一定想不到,墙上的荔枝是“敲”上去的:
有很多芦苇、小竹子,有很多狗尾巴草🌿️,感觉一下子就回到童年了。这些是我们童年躲猫猫的地方。


自从考了驾照,我就变得更懂有时候司机们为什么暴躁了。你看,这位大爷硬是凭一己之力把整条道堵死了。关键是,他不靠边。

天快黑了,大叔阿姨们也都收队了。等等,为什么他/她们都长得一个色儿?

最爱吃楼下那家大湖南菜了。两个人、三个菜、一张券,人均 ¥40.


今天是一个豆腐、一个牛腩芋头、一个油渣儿。油渣儿是小时候最爱。很难在其它地方吃到。关键在这里它才 ¥16 块钱。



我的 Apple Watch 坏了,充不上电,甚至找不到去哪里了。我也不知道走了多远,只知道时间有 7️⃣ 个小时之久。
这一张是在环西丽湖碧道时拍摄的,自动档,不会调参数。下午5️⃣点多。

这一张是在家里天台拍摄的,晚上🔟️点。调了参数。

参数: f/20, 200.0 mm, 1/320s, ISO/250
感觉已经学会拍月亮🌙️了。
但是没有三脚架。没办法同时拍很多张用于堆栈。不然应该会更好看一点。
雨帆看到我这篇月亮🌕️后,写了一篇很温暖的文字《简单的幸福 - 且听书吟》。回想一下我自己,我似乎很少对外公开写类似的文字。也有时候会想自己是不是脱离社交太久了。我以后有了女儿,我也要这样一起幸福。
循环洗脑地听着他文章里面的儿歌写完了《西丽湖徒步》。要不我也来插入一首歌吧?
标题:听妈妈讲那过去的事情
专辑:宝宝巴士中文儿歌200首
作者:宝宝巴士


月初的时候去了一次,但是因为出门较晚的原因,刚到好汉坡就天黑了。无奈折返。今天10点多就出门了。
这次还是我们,但是没有继续从梧桐湾南登山,太难了。选择了多坐几站11号线到深外高中站。这里出发能直接到梧桐山顶,而不用走好汉坡,路也比较平坦,失策了。
刚出地铁就遇到另外3️⃣个年轻人,被问道是否是前往登山的,答曰:是的。于是,还没开始登山就组建了一个5️⃣人的登山队。但……是,今天不知道是怎么回事,才走几百米我俩就双双累得不行了,连连打招呼让他们先走了。相机和无人机加几瓶水真的好重。
遇到不会拍照的队友真是没辙,我旁边的人是怎么回事???要么没有、要么分开吧?贴在一起是几个意思。

莫名其妙一座大山上不让飞无人机,神经病一样,这是从好汉坡下往上飞拍的。(原图太大了,压缩到了可接受的程度,但是有点糊了。)

盐田港,还是那么好看。只不过天气很雾,拍得也不清楚(好像焦也没对好)。

好汉坡很好看,也很好走。一镜到底看看。没有配乐。
只能远远地看看“鹏城第一峰”。这是今天的第二次录好汉坡,因为前一次把飞机飞失联了,好吓人。遥控器突然显示“未连接上飞机”,然后屏幕就灰了、不动了。过了差不多十秒钟,才自动返航,然后又连上了。🥵 这么空旷的大山,距离又不远,这就没信号了。大疆就这?
好了,短期内不会再爬梧桐山了。
补充一下,这个是在福田站拍的。深圳地铁竟然也有负二楼了。坐同一次电梯的还有两个外国人,其中一个准备出去的时候被另外一个拉住了,我才知道还能再下。原来如此。

实在太多了,删掉了很多。也懒得排序了。拍了很多丑猫,丑得真好看!
人生第一次去“猫咖”,有猫、有咖啡☕️、还有很宽敞的桌子!所以以前的咖啡店连个坐的地方都没有是什么玩意儿?





































本川渝人觉得真的好普通啊,纯铜锅水煮素菜。
花了我 ¥170,心痛。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
学学隔壁 Swift 写 extension 吧。

还有哪个酒店见过吗?没有。

不间断电源倒是比较普遍。
名字好像叫“mist(胧雾)”吧,Skull Panda。有点吓人的样子。![doge [doge]](/v3/dynamic/emojis/weixin/doge.png)
想抽那个粉粉的,结果随机到了这个。
实物比照片可耐。
再也不买泡泡玛特了。
挺辉煌的,今天天气也非常好。




从小就在电视上铺天盖地的广告,没想到有一天能来到这里。
真好看。虽然是旧址,但是建筑风格依然非常特别。






等等,这玩意儿在深圳不是叫“柴火鸡”吗?简直一模一样啊。
但是有一说一,这比我在深圳吃过的任何一家柴火鸡都要好吃!
人生第一次来到这么靠北的地方
,建筑风格跟“内地”大不一样。
另外,必须得疯狂吐槽一下:吉林高速真的太™️离谱了,从长白山⛰️到哈尔滨这几百公里路,几乎全程区间测速。要么 80,要么 100,一路开过来受尽折磨。出了吉林后到哈尔滨也是几百公里,0️⃣区间测速,几乎全部是 120,直接踩进油门,起飞。到了龙门架下只需要点刹一下
。
从哈尔滨回长春了,再次确认:京哈高速,一离开黑龙江、进入吉林,立马全程分段区间测速。
我的一个结论:越辣鸡的地方限速越多、罚没收入越多。
反正我以前是没有见过这种现象,好奇怪。真的不是引蛇出洞吗?
去年有幸去到了长白山脚,但是出于天气不算特别好的原因就只是在山脚下躺了几天就打道回府了。
这次又来到了东北,心想着,还是去一下吧?兴许以后再也不会涉足东北了呢?好家伙,门票 ¥300 多,估计大巴🚍️车票花了 ¥250. 可想而知。
云顶天宫的盖章还是很有可玩性的,如果自带的纸张或者低消一下,就可以免费盖。


看吧,这就是心心念的长白山天池。这里是北坡,不能下去,只能在上面走廊步道远观。我以为可以了解一下天池的水是哪儿来的,好像不能。逆光,饱和度太低,没眼看。

然后就是第二个景点:瀑布。啊?爬了半天山,就这?

温泉煮鸡蛋🥚貌似比较出名。我买了一个鹅蛋。


随着 Firefox 146 在今天正式启用 CSS text-autospace 属性,主流三大浏览器都已经支持中英文自动增加空白。注意,该特性默认没有启用,是时候你的页面中开启了!1
:root { text-autospace: normal; }
发现了一个 Go 写的新的全文搜索引擎,代码、文档看起来都比较精良、作者也比较有背景。
wizenheimer/blaze: Full Text Search Engine written in Go
但是目前还不支持中文,提个 issue,抽空跟进一下。
中午吃完午饭就出发的,线路是直接坐地铁到“梧桐山南”站,感觉是新开的路线,以前不是从这里上山的。因出门较晚的原因,又是刚到达好汉坡就天黑了,相机没得拍、无人机也没得飞。又白来一趟。
在地铁站内居然发现了一家便利店,不知道是哪个关系户开的,以前没有在深圳的任何地方看到有人地铁站内(刷卡出站前)营业的。在便利店付完款后竟然在门外看到一张招聘:女性,限 18~35岁。



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

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


深圳的夜景。

同伴到山底的时候跟我说他好几次感觉快死在登山的路上了。
手机在我刚出门的时候就电不多,下山走夜路的时候全靠无人机遥控器点亮屏幕给我指路。
感觉是史上最累的一次爬山,晚上一点才到家。
jmsdnns/webbol: A minimal static web server written in COBOL1
https://github.com/jmsdnns/webbol/tree/mainAcknowledgments
Built with GnuCOBOL, demonstrating that COBOL can still be used for modern systems programming tasks.
居然写的是 Web 服务器,也不知道是什么神人写的。我以为这语言除了守旧的银行还在使用以外早死翘翘了。
看了一眼语法,我个人很难接受:
MOVE "text/html" TO LS-MIME-TYPEswitch-case 大量 if:url-decode.cbl#L91CALL "socket" USING BY VALUE 2 BY VALUE 1 BY VALUE 0 webserver.cbl#L51一堆 BY VALUE、BY REFERENCE 让我想起初学 VB6 的时候的恐惧。
难以想像那个时候的 C 语言的出现是多么的耳目一新、多么的惊艳。
太离谱了,电热水器的冷水档出热水,热水档出冷水……
不是因为接反了,而是因为深圳外面的天太热了。大家国庆都不在家、都不用水的吗?
深圳地铁的监控标识:“CCTV”,真的叫“闭路电视”。除了大家熟知的“中央电视台(China Central Television)”。

闭路电视(CCTV,Closed-Circuit Television)指的是一种 通过有线或专用无线通道传输的电视系统。
和我们平常说的“广播电视”不同,广播电视是 面向公众、开放接收 的;而闭路电视只在 特定的“闭合电路”范围内传输信号,只有连接到这套系统的设备才能看到。
监控摄像头系统
商场、银行、小区、工厂里的监控摄像头,把画面传输到监控中心的显示器上,这就是典型的闭路电视。
学校、单位内部电视系统
比如学校内部有一套播放系统,只在校园里能收看,也算闭路电视。
👉 所以,闭路电视 = 局部范围内的专用电视系统,现在最常见的就是我们口中常说的“监控摄像头系统”。
要不要我帮你梳理一下 闭路电视发展到现代网络监控(CCTV → IP Camera → 云监控) 的演进过程?

等等,这个“画”字为什么没封口啊?
一看我背着个相机📷,被旁边的人一顿夸说:一看就是专业的。来,你给我拍点照片、录点视频吧。(强制开机……🥵



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





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





以前还尝试过在 bochs 里面写 x86/8086 图形功能,现在已经没有太多精力折腾这个东西了:
我的网站延续顶部是黑色、底部是白色样式估计得有十年了。当滚动到顶部时,则会出现底部的白色,比较难看。
之前一直想解决,自己 CSS 太菜无可奈何。今天刚刚看 Vercel 的工程师也在研究这个1:

感觉比较巧妙:给根元素设置了一个上、下渐变色:上部分是一个色,下部分是另外一个色。
试了一下,发现很不错。有几点说明:
49.99% 好像没必要,50% 也行。html 上,光设在 body 上可能无效。人生第一次使用渐变色,没想到是这种场景。
应该有三个月不算出过门了。可惜今天天气不算好,有一大团乌云。
“无监督”模式下自己随便拿相机拍了几张,只有1️⃣张P过。











开始玩丝之歌了。

居然有 BOSS 叫“蕾丝”,你敢信?
能同时兼容桌面设备和移动设备的表格编辑器应该不多吧。

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

但是看附近的日志又没有任何异样:
1 2 3 4 |
|
1 2 3 4 5 6 7 8 9 |
|
服务器到底发生了什么获取一篇文章需要花超过 10 秒钟时间?
当初还以为不可能发生,于是就没有记录具体时长。我去,什么叫作担心的事情一定会发生啊?
想学一下 Zig 语言,结果感觉被第一个 Hello World1 就给劝退了:
1 2 3 4 5 |
|
“向标准输出写内容”这么日常的操作至于这么繁琐吗?
竟然不说我的国家有问题?奇奇怪怪啊。

| OverType |
|---|
分为两层:上面是标准的 <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。
明明就是在循环体内定义的变量,为什么不初始化后再次使用?
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 |
|
一段手动从 Go 翻译到 JS 的代码,奇奇怪怪。
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 |
|
不要点开!不要点开!不要点开!
重要的事情说三遍!重要的事情说三遍!重要的事情说三遍!


是真的,我刚刚吃了。

真的是真的,味道很像板栗🌰,粉粉糯糯,超爱吃。
哪个天才发现的啊😧?以前丢了好多、买了好多板栗吃。
YAML 里面用 JSON 的时候,引号什么时候可以省略?
在 YAML(包括 JSON 风格写法)里,字符串并不总是要加引号,但能省略的前提是:
1 2 3 4 5 |
|
空格不用引号啊,XXX 乱说。
我明白你的意思,你是觉得 YAML 普通键值对里值里有空格其实也不用加引号,对吧?确实,我刚才说得过于保守了。YAML 的规范允许这种:
1
|
|
它会直接解析成字符串 "hello world",不会报错。因为 YAML 在 block style 下,冒号后的空格到行尾,都会被当成同一个标量(除非有 # 注释符或缩进表示多行)。
所以正确规则是:
空格本身不要求加引号,无论是 block style 还是 flow style:
1 2 |
|
必须加引号的情况是:
链接:https://chatgpt.com/share/689bfce3-45f4-8008-b652-b67d9edef04f。
拿来干啥?我也不知道,就是折腾了一下。
1 2 3 4 5 6 7 8 9 10 |
|
表格预览(“<colors></colors>”):
| 名字 | 代码 | 前景 | 背景 | ||
|---|---|---|---|---|---|
| 浅色 | 深色 | 浅色 | 深色 | ||
| coral | |
Text |
Text |
Text |
Text |
| salmon | |
Text |
Text |
Text |
Text |
| red | |
Text |
Text |
Text |
Text |
| hotpink | |
Text |
Text |
Text |
Text |
| deeppink | |
Text |
Text |
Text |
Text |
| palevioletred | |
Text |
Text |
Text |
Text |
| tomato | |
Text |
Text |
Text |
Text |
| darkorange | |
Text |
Text |
Text |
Text |
| orange | |
Text |
Text |
Text |
Text |
| yellow | |
Text |
Text |
Text |
Text |
| darkkhaki | |
Text |
Text |
Text |
Text |
| magenta | |
Text |
Text |
Text |
Text |
| purple | |
Text |
Text |
Text |
Text |
| slateblue | |
Text |
Text |
Text |
Text |
| mediumseagreen | |
Text |
Text |
Text |
Text |
| green | |
Text |
Text |
Text |
Text |
| yellowgreen | |
Text |
Text |
Text |
Text |
| olive | |
Text |
Text |
Text |
Text |
| darkseagreen | |
Text |
Text |
Text |
Text |
| lightseagreen | |
Text |
Text |
Text |
Text |
| teal | |
Text |
Text |
Text |
Text |
| cyan | |
Text |
Text |
Text |
Text |
| aqua | |
Text |
Text |
Text |
Text |
| cadetblue | |
Text |
Text |
Text |
Text |
| steelblue | |
Text |
Text |
Text |
Text |
| deepskyblue | |
Text |
Text |
Text |
Text |
| blue | |
Text |
Text |
Text |
Text |
| burlywood | |
Text |
Text |
Text |
Text |
| tan | |
Text |
Text |
Text |
Text |
| rosybrown | |
Text |
Text |
Text |
Text |
| sandybrown | |
Text |
Text |
Text |
Text |
| goldenrod | |
Text |
Text |
Text |
Text |
| darkgoldenrod | |
Text |
Text |
Text |
Text |
| peru | |
Text |
Text |
Text |
Text |
| chocolate | |
Text |
Text |
Text |
Text |
| white | |
Text |
Text |
Text |
Text |
| silver | |
Text |
Text |
Text |
Text |
| darkgray | |
Text |
Text |
Text |
Text |
| gray | |
Text |
Text |
Text |
Text |
| slategray | |
Text |
Text |
Text |
Text |
| black | |
Text |
Text |
Text |
Text |
模型仍然是主流的 GPT-4o,这模型也不差吧?你们天天 Vibe Coding 就靠这吗?


同时换了家里的入网方式➕️路由器后,自制的硬盘柜风扇就不受控制了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。但是为什么别家的用不了?
以前还可以用 MacFuse + SSHFS 挂载 ext4 文件系统,好像自从 MacOS 某个版本强制开启 SIP(System Integration Protection,系统完整性保护)后,第三方开发者的内核驱动全部被干没了。一直很好奇果子自身用什么方式挂载 Linux 文件系统。
突然想到 OrbStack 在 Finder 侧栏能非常方便地显示其运行的虚拟机/容器的文件系统。所以能不能在 Linux 内 sshfs,然后随着 Linux 系统一同显示出来?
结论是:不能。
显示的是挂载前的目录(的内容)。新创建的文件也是到挂载前的目录内。取消挂载后可以在 Linux 内看到。
注意
这篇文章不是用块编辑器写的。
我觉得功能太简单了,无法写出复杂内容的页面。对于我自己来说,不如手写舒服。
集成此功能的主要目的是多样化支持(免费代码越写越死),后续还想支持 Typst: Compose papers faster。
总共花了两天时间:看文档,学 React 框架,最终差强人意地集成进来了,代码改动其实很少,主要时间在学习各种东西。
那还是说几个不好体验吧:
Image,得靠从文档结构反推用法。Image 组件如何重写上传UI”不给看,难以自定义。<p> 内出现 <ul> 的。文档结构(Document Structure)没有明确的规范文档,只能从实践反推规范。从“文档结构”到“HTML”的渲染过程是我自己手写的。只能做到尽量兼容。
对表格的编辑体验比较满意,勉强算比较接近 Confluence 的编辑体验了。
测试用 Blocknote 编写的文章:《测试 Blocknote 块编辑器》。
依稀记得很多年前就被禁止了,没想到在逛网站《关于建立blog的第一篇文章👻 - 李欲裕》的时候发现居然能通过 QQ 号直接获取头像:
我的头像:https://q.qlogo.cn/headimg_dl?dst_uin=191035066&spec=4
spec 参数看起来是用来配置图片大小,测试了一下 5 是高清图。
又可以加个 TODO 了,虽然不一定会做:
但是链接中不能包含QQ号以防止隐私泄露。上述网站是可以直接看到 QQ 号码的,有点不注重隐私。
我一直不想给博客文章编辑器加“更好用的”/可视化编辑器的一大主要原因就是:真的不好用/不如手写。
今天尝试了一下 Editor.js,说说我遇到哪几个不能忍的小问题:
“Clean JSON Output” 并不 Clean
段落内带加粗的文本“aaa bbb ccc”实际生成的是:
1
|
|
你跟我说这叫 clean?

我以为是我的用法有问题,结果看了官方的例子也是如此。
行内格式化工具应用后无法取消
比如:给末尾的文本应用加粗/代码等格式后,后续所有的文本都会自动应用此格式且无法取消也无法再插入普通文本。
说起来有点空洞,看视频吧:
可能的解决办法是:输入一段普通文本,再把它取消为代码。太离谱的操作了。
难受,怎一个难受了得!写点东西手来来回回地切换来切换去,是要急死我。
太离谱了,看了《The WHATWG Blog — The Road to HTML 5: contentEditable》这篇文章:
contentEditable 居然是 IE 发明的,而且版本是 5.5 (2000年的时候)。IE 居然这么前卫。
现代 HTML5 里面的等同物居然是通过逆向工程抄袭 IE 并成为规范的。
天杀的,微软作为 HTML 标准成员之一居然不舍得开放一下实现?不知道是该夸还是该骂。
想起刚刚往表格里面插入了一张图,然后准备试试网上找到的各种编辑器是否支持插图到表格。结果是:均不支持。
看起来我还是得继续手写。是不是呢、是不是呢!
表格也不支持拖动表头。
所以,看起来我要么是完全手写,要么就上一个“全功能的”编辑器。
为什么为什么?你知道你旁边就是垃圾桶🗑️吗?

就连 BugReport 程序也能转菊花🌼️,你去死好吗?
很早以前就想注册,但那时候不免费、不便宜,而且好像很容易被回收,所以一直搁置。
今天看到有人说 X 的 API 很好注册,于是我就又尝试了一下。居然……没有审核,秒过。

接下来是思考一下能做点儿啥?也许,能同步碎碎念和推特?
每个月能免费拥有:500次写入、100次读取。


觉得普通模式实在太难了,所以我一直打的简单模式。这样也可以通关所有墨池岛/世界,并进入终章。
但是,直到进入终章的时候才告诉我没有拿到所有的灵魂契约(简单模式拿不到,前面只有方框,没有打勾✅️),害得我又得重新跑回去把所有 BOSS 重新打一遍……🤬🤬🤬🤬🤬。坑爹茶杯头毁我青春。
终于拿到了所有的灵魂契约,但是已经死亡了 1200+ 次。
好的,总算是打完了魔鬼。出现了专家模式,但是已经没有耐心再打了。



耐性恢复了,购买了 DLC 内容,把盐大厨也打通关了。

最搞笑的是,居然唯一一个评分为 A 的章节竟然是最后一节!
从六月初到现在七月底,虽然隔一差二地微信➕电话轰炸,但是没有回过一条消息、没有接过一次电话。直到今天脱保第 4 天。
费用从 ¥3800+ 降到了 ¥3200+,看了一眼列出来的各种险种,好像没有奇怪的东西,然后就还是乖乖地交了钱。说起来还是有点担心车子的,一年两箱油就这样把车放在农村被大太阳晒着🥵。
交完之后去问了一下我姐她的车(比我晚买半年)费用是多少,好家伙,¥2900,还返现了 ¥200. 我是傻逼🐷️。

有时候就在想,车™️真是个纯消费品啊,无任何收益。每天贬值,还要每个月几百的保险费用、停车费用。
对象说最近购买的无印良品被子怎么这么便宜:

这不,我就刷到了一条视频:

还是中国商家牛逼啊。连我自己也差点忘记了,以前确实是知道这个事情的。😑

连个注册®️商标都没有,一定很地道!![doge [doge]](/v3/dynamic/emojis/weixin/doge.png)
以及,买了一个小火锅灶:


名字叫:呋虫胺。只管按照 1:100 的比例往地上喷一遍,待会儿等着捡尸就行了。无色、无味、无毒(对哺乳动物而言)。比传统常见的喷雾方式效果好很多!
除了“双马尾”外,蟑螂🪳居然还有另外一个名字:蜚蠊!
世界末日,只剩一个人、一辆车,不停地在沿途拾荒并作为燃料。引擎开关会自动断开,需要不断地开启。狗屁通:你看起来很忙吗?那就对了!终点是大海,车辆已经无法前行。但配有一处灯塔,也许是象征向远方呼救。
一开始玩不懂,觉得无聊。查了攻略,玩法没错,果然无聊。我不是特别喜欢这类游戏。节奏太慢了!而且剧情玩法略显简单。

不会吧?不会吧!
结局是个小女孩👧🏻️,感觉并不地狱……?
反而是剧情中有一些情节比较血腥,实在阴森。
看到了游戏信息:
姐姐命运不明,男孩进入了命运边境
如图所示1:

不过我没有很惊讶,毕竟 BitTorrent 是非常经典的 P2P 协议。
想起当年自己也写过小巧能用的 BitTorrent 客户端实现。
那还是在实现之前几年,我就粗略翻看过 BitTorrent 协议,仅一页,非常精练(见 bep_0003.rst_post)。当时觉得非常神奇,被无数人使用的 BT 软件协议竟然如此简单?我完全不敢相信。后来直到真的自己实现了一个2才发现,确实很简单。 也许是我的第一个完整的 UDP 应用。
本文的协议特指原始的 BitTorrent P2P 协议,不包含类似 DHT(分页式哈希表)增强协议。
2023 年 4 月份买第一张盘(希捷)的时候1才 ¥1580,大概 ¥100/TB。大概是随着最近大语言模型的需求,硬盘这涨得也太离谱了……


原来的价格只有大客户才能买到了。这是淘宝,而京东更贵。不买了。
所有数据目前只有独立一份备份,丢了就永久没了。
不好,被对象看到后愉愉给我买了一块😭️。


网站搭建在厂商那边,随时都有可能跑路的风险,所以数据安全是重中之重。目前的备份策略是每小时一备份,一天下来,能收到超过 20 条备份成功的消息。感觉有点“罗嗦”,甚至不胜其“烦”把成功通知默认静音了。但是仍然避免不了需要不定期清理这些不重要的、大量的“成功”通知消息。
所以干脆把通知给停掉了,然后用 Scriptable1 给写了一个手机桌面小组件。
结果像下面这样(界面是随便写的,并不漂亮,够用就行):

把它放在手机主屏幕上,偶尔看看就好。如果没看到,问题也不大,因为失败时总是会有即时通知消息的。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
本来是准备用快捷指令实现的,那玩意儿实在有点功能少、写起来麻烦,于是放弃。 ^
本来是准备买个 Nintendo Switch 1/2 或者 PS5 的,结果发现性价比都很低。或者游戏超级贵,比如 PS 上的游戏普遍好几百,肉痛。所以还是玩 Steam/蒸汽机 好了🙂↔️,经常打折,多好。现在正值夏季,一口气买了数十个游戏。
刚在电玩城玩完1《双人成行》,发现《双影奇境》是其续作,也准备玩一下。看了一眼 Steam 上居然有 ¥200 左右,实在不舍得,然后就在小红书偶然刷到 ¥8 块钱盗版🥵,没忍住、花巨资买了。
这玩意儿竟然有足足 80GB 大小,可能算是有史以来安装过的最大的一个 App 了2,实在另人恐怖😱️。
好奇研究了一下这个 App 的内容,神奇地发现它居然有好几层模拟环境:
离谱,这性能能好到哪里去?那叫一个卡。好在我把几乎所有特效都关闭/调到最低了,除了抗锯齿外(实在没法看)。整体还算流畅,偶尔卡顿。
内存占用实在是很高:
随便贴几张截图。
很好看的丛林:

很有赛博朋克风格的都市🏙️(视频压缩过,原视频清晰好看得多):
超级搞笑的骑摩托🏍️输验证码片段:爆炸💥️倒计时中,输不对验证码🥵🥵🥵,屁股冒火🔥️(原视频 280MB,压缩成了 7MB,画质很堪忧):
“国行”是什么意思。
“国行”是“中国大陆官方行货”的简称,意思是:
由官方正规渠道在中国大陆销售、认证、发行的产品。
怎么发音。
“国行”的发音是:
拼音:guó xíng
- 国(guó) → 第二声
- 行(xíng) → 第二声(在这里读作“行走”的“行”,不是“银行”的“háng”)
📢 朗读起来像:
“国行(guó xíng)” = guó xíng
🗣️ 类似于你在说:“国家运行” 的“国” + “行走”的“行”。
⚠️ 注意:
- “行”在不同词中读音不同,比如:
- 银行(háng)
- 行走(xíng)
- 行不行(xíng)
在“国行”中,它读作 xíng(第二声)。
它不是“行货”的简称吗,为什么不念hang
你问得非常好!“国行”确实是“国产行货”的简称,其中的“行”来源于“行货”,所以从这个角度讲,很多人认为它应该读作 háng —— 这是很合理的。
✅ 正确读音是:guó háng(国行)
字 读音 含义 国 guó 国家 行 háng 商行、商品流通的意思(例如“行货”、“银行”)
📌 为什么不是“xíng”?
- “行”这个字有多个读音:
- háng:用于“行业”“银行”“行货”等,表示商业或机构
- xíng:用于“行走”“进行”等,表示动作
✅ 所以在“国行”=“国(产)行(货)”中,“行”确实是“háng”。
🧠 为什么会有人读成“guó xíng”?
主要是因为:
- “行”这个字太多音了,日常说话时混淆很常见。
- 有些人误认为是“国家发行”或“国家运行”的意思,才会误读成“guó xíng”。
- 很多媒体和电商平台没有明确标注拼音,大家都是照着猜。
📚 正确例句:
- 这台 iPhone 是 国行(guó háng),有三年保修。
- 水货比 国行 便宜,但没有售后服务。
✅ 总结:
拼写 正确读音 意思 国行 guó háng 中国大陆官方销售的正规版本 ❌ guó xíng 错误读法 多数是误解或口误造成的
我你妈……🤬🤬🤬🤬🤬🤬🤬。
看了火狐最近的大版本更新记录,说是在序列化 HTML 特性(Attributes)的时候会转义 < 和 > 以防止 mXSS 攻击了:
Firefox will now escape less-than (<) and greater-than (>) symbols when serializing HTML attributes, making certain mXSS attacks on websites more difficult.
不知道 mXSS 是啥玩意儿,于是去了解了一下:《mXSS: The Vulnerability Hiding in Your Code | Sonar》。大意其实就是:出于浏览器对 HTML 标签的兼容性解析策略,可能会出现手写的 HTML 和实际得到的 DOM 树不预期。即浏览器会出现各种自动调整 DOM 树构建顺序的决策,进而导致跨站脚本攻击。这种“自动调整”就被称作“Mutation(mutation cross-site scripting)”。具体看上述文章的例子就很好(比如把双引号内的“</style>”也解析成标签的一部分)。
自我感觉这种情况对我来说风险不大,出现的可能性较小,所以暂时不处理。希望有兴趣的人士来攻击一下我,给我网站挂马。让我找到我自己的薄弱点。
我的网页几乎全部是 Go 的模板生成的,之前也不是没有出现过拼出的最终 HTML 页面出现过标签错误。也想过把W3C Markup Validation Service集成到端到端测试环境中,这样就基本能杜绝这种情况。后来一想到我有点谨小慎微了,就尚且没有这样做。

第一次坐到有充电口的飞机!而且是 Type-C,超棒,终于不显得那么格格不入了。不过,虽然起飞时不让使用,但是为什么不直接从总控切断电源,而是一个个地检查并让拔掉❓

也是第一次用卫星图层导航,发现看起来比平面地图好看很多!



当然,我不会、也没有接这种无聊的电话,即便对方打了几次。
不知道有无关联:差不多一个小时前,我打电话预约了“无为寺”的免费斋饭,对方要求我把姓名和电话号码通过短信的方式发了过去。




好快好快!
大概是第一次玩主机游戏。效果非常不错,剧情也很好。
总共花了3️⃣个白天、总共 20 个小时。




据说这个游戏才 ¥39?如果是真的的话,那可太值了!
竟然产生了想买一个主机的冲动,劝劝我!
但是 PS5 真的好丑(讨厌这种奇形怪状的设备)!
在其它地方确实没遇到过,体验了一下,解锁后手机靠近就弹出支付宝了,非常方便。比起微信的解锁、等待可操作、扫码便捷得多。



害我白高兴一场。


我也没想到我会一次收这么多快递🤡。
在 hugo 的 go.mod 文件里面看到了居然只有域名的 go mod 导入,很奇怪,以前从来没见过:
1 2 3 |
|
通过 curl https://gocloud.dev/?go-get=1 看到了具体的元数据:
1 2 3 4 5 |
|
仓库地址在:https://github.com/google/go-cloud,查看 go-cloud/go.mod,package 名字无误:module gocloud.dev。
但是这个仓库无法通过 GitHub 的地址下载:
1 2 3 4 5 |
|
而 GitHub 自身的元标签又是如下声明的:
1
|
|
go-import 元标签的格式:
1<meta name="go-import" content="<import-prefix> <vcs> <repo-root>">
<import-prefix>:模块路径前缀,比如example.com/mypkg<vcs>:版本控制系统名称,常用的是git<repo-root>:代码仓库的 URL,必须支持克隆,通常是 GitHub、GitLab、或公司内部 git 服务器的地址
所以为什么 GitHub 声明为“github.com/google/go-cloud”还能正确导入?不得而知。
以前搞 Windows 的时候特别爱看 Raymond Chen 的 《The Old New Thing》,经常能从根本上把 Windows 的一些本质问题/设计背景和历史展现出来。自从 2018 年开始我不再在 Windows 开发以来,对它的关注度就几乎慢慢变成0️⃣了。现在不仅不想看,而且甚至到了想取消订阅的程度(觉得它干扰了时间线)。哎~~~
刚看到又发表了好几篇新文章,终究还是把它取关了。若今后还有可能回到 Windows,再关注回来吧。
我之前说 “不会选中任何
<p>” 是错误的 🙇♂️,感谢你指出!
关键是我啥也没干啊,只不过是对它给的答案产生了疑问就多问了一下,它自己就矛盾了。经常看你们说前端太简单、大语言模型对前端非常友好。我是经常能被狗屁通气死😡。不过还好我有甄别能力,不搞什么 Vibe Coding。
first-child 和 first-of-type 有什么不同?
first-child和first-of-type是 CSS 中常用的伪类选择器,它们的作用相似但不相同,关键区别在于:是否要求是“第一个孩子”,还是“某类型的第一个孩子”。
🔍 一句话区别:
选择器 匹配的是…… :first-child某元素是父元素的第一个子元素,不管是什么标签类型 :first-of-type某元素是父元素中该类型(tag)的第一个,不一定是第一个子元素
📌 举个例子:
1 2 3 4 5<div> <p>第一个段落</p> <span>中间的内容</span> <p>第二个段落</p> </div>1.
p:first-child不会选中任何
<p>,因为<p>不是第一个子元素。
第一个例子的p为什么不是第一个元素?
好问题!我们回到那个例子再细看一下:
1 2 3 4 5<div> <p>第一个段落</p> <span>中间的内容</span> <p>第二个段落</p> </div>你问的是:
为什么
<p>不是第一个元素,p:first-child为什么不匹配?✅ 其实这个例子中:
1<p>第一个段落</p>就是
<div>的第一个子元素,所以:
p:first-child会匹配它!✅
🧠 也就是说:
我之前说 “不会选中任何
<p>” 是错误的 🙇♂️,感谢你指出!
我尼马。
看起来马斯克已经从政府卸任了,又开始在推特干活了。
虽然没有人跟我聊天💬,但是看到大家都在为隐私努力,就挺高兴。同时也为自己身处在一个毫不关心隐私的环境下而遗憾。

“最先进的”英语原文是“State of the Art”。这个词语是很多年前我在研读 WireGuard 的白皮书📖时认识的,感觉很奇妙。大概也是从 WireGuard 这里我学习到了椭圆曲线1的原理及用法,所有后来需要非对称加密的地方2345,我都优先考虑它,因为它实在是太美妙了。
包含 X25519、Ed25519 以及 Curve25519. ^
whisper/Whisper/Crypto/Crypto.swift at main · movsb/whisper ^
在 SSH 中也使用 Ed25519;既简短强度又比 RSA 高。 ^
以及一些私有项目也使用了椭圆曲线加密🔐。 ^
刷推的时候看到有个人分享了自己的鼠须管配置,想到这是一个曾经折腾不下 3 次均没有成功的输入法。于是自己再次尝试安装了一下,看看在借助 AI 的情况下能不能给我配置出一个“能用”的输入法。要求不高,能用就行。
通过分词后计算单词词频的方式搜索相似文本,常用于搜索引擎和相关推荐。
一个听说比C语言标准库更好用的内存分配函数 malloc 的替代。以前还很关注它的,怎么突然归档了?

不过说来奇怪,既然已经归档了,为什么 GitHub 上面还在更新代码提交?🤔
代码原作者发文说明了原因:《jemalloc Postmortem》,没有开源项目的赞助了。
这个工具能把 SQLite 作为 git 的远程用于推送。所有文件存放在 SQLite 数据库列中,对于小型仓库/小文件版本管理可能是很不错的方式。我博客程序目前的所有图片就是放在一个 SQLite 数据库文件中的,管理起来特别方便。所以看到这个的时候非常兴奋。
1 2 |
|
来自于《科技爱好者周刊(第 350 期):Java 三十周年》中的两句话:
(4)丹麦继日本之后,成为全世界第二个国家,将退休年龄提高到70岁。
(5)阿联酋成为全球首个国家,为全体公民和居民免费提供 ChatGPT Plus,该服务目前的月费为20美元。
我看到上面这几句话时人都傻了:
如果我的语文还算及格的话:除并列句等句式外,通常来说一个句子应该只有一套主谓结构。
像上面这种句子,一句话到底是几个意思?你想让我 get 到几个意思?说一句稍微长一点的复杂句已经这么难了吗?还是读者的水平已经下降到如此低下、以至于连说话的人都要降维兼容了?
当然,评论人也有很多人跟我一样有类似的满脸疑惑。
对象跟这说这两句话看起来很像是直接(用 AI)从英语翻译过来的,但是我持怀疑态度:应该不存在翻译水平这么垃圾的 AI。
然后去翻看了一下同是作者编写的《ruanyf/document-style-guide: 中文技术文档的写作规范》,规范中针对文本/句子提出了如下的建议:
(2)尽量使用简单句和并列句,避免使用复合句。
并列句:他昨天生病了,没有参加会议。
复合句:那个昨天生病的人没有参加会议。
这就有点儿意思了。
然而我觉得,用复杂句(不是复合句)来表达听起来舒服多了:
- 丹麦成 是 继日本之后 全世界第二个 将退休年龄提高到70岁 的 国家。
- 阿联酋 成为 全球首个 为全体公民和居民免费提供 ChatGPT Plus 的国家。
因为把文章资源上传到云存储的原因,一些用来测试的 .html 文件也被上传了。云厂商默认给 HTTP 响应头部加上了 Content-Disposition: attachment,然后,我文章中还是按照原先的方式使用:
1
|
|
好离谱。如果是 <a> 链接自动根据响应头部决定是打开还是下载我可以接受,但这是个 <iframe> 啊,我如果要下载,我写 <iframe> 里面干啥?我用 <a src="xxx" download> 不好吗?
我暂时收回《我把所有私有图片全部加密存储了,因为我不相信国内所有云厂商的职业操守》中的话:
并且,这一切的一切操作,对于前端/用户/文章编辑来说,都是完全透明的,没有任何操作上的不同。
希望花粉不要找到我这里来。
希望花粉不要找到我这里来。
希望花粉不要找到我这里来。
结论(没有照片):
然后再体验了一下华为的手机以及三折叠,新手机还是非常流畅的。
可比隔壁的苹果手机和平板流畅多了。安卓阵营确实高刷上得早,破苹果那刷新率肉眼可见的卡帧。
苹果刚出的天蓝色 MacBook Air 真好看啊,教育优惠➕各种Buff叠下来才 ¥5000+,于是买了一台。
男女思维果然有别啊:某人的苹果电脑和几件衣服同时到了,但是试穿了半个小时也没有心思来开箱一下第一台苹果电脑。
电脑:喂,我不要面子的吗?
某人:你还没我的平板贵。

看到文章《Examples of Great URL Design》提到了一些好的 URL 设计,不错。
想起前几天看到另外一个我觉得很丑的 URL 并告诉了它的老板,但是他并不觉得,所以贴一下留个备份:
https://note.mowen.cn/note/detail?noteUuid=BCBcNvPye-MpUJ-cVazio1
这跟 CSDN 的差不多:
https://blog.csdn.net/xxx/article/details/123456789
URL 中包含一堆没用的东西,浪费我硬盘。
其它的,当然,还有 Quora:
https://www.quora.com/What-did-Richard-Feynman-mean-when-he-said-What-I-cannot-create-I-do-not-understand
超级长,并且没有“编号”之类唯一标识。
也省不了 PHP 的 /index.php/some-shit。
我一直不认为 URL 应当 SEO 友好,不是还有 <title> 吗,不是还有 <h1> 吗?当摆设是吧。
之前找的两款开源软件1,整体都还算勉强凑合,都比较难崩。
最不能忍受的是:两款工具都会因为设备关机的时候丢失发送的消息。
刚刚在想,有没有可能把消息推送到微信上?可以,并且找到了开源实现,没想到一分钟我就崩不住了:

看到了吗?是今天!两个小时前!
无意发现 Espanso 这个非常优雅的文本替换工具,研究完文档、一切就绪时,发现:不支持中文!,弃。
但是也不会完全无用,暂时先留着继续研究一下。
听说“宝安机场”在上个世纪叫作“黄田机场”,之所以被改名是因为后者在广东话里面听起来不雅。但是,为什么同名的路却不改名?

所谓内容引用1,就是用类似 C 语言中的 #include<> 宏语法把其它地方的内容插入到当前位置。
这种需求在编写表格的时候特别需要:如果表格的单元格内容一旦稍微复杂(比如多于一行),可读/可写/可维护性就是直线下降⬇️。之前还因此实现了类似维斯百科的复杂表格写法,但是效果不尽如我意。2
某些 Markdown 变种支持类似 [!INCLUDE] 的语法插入。但这还属于极端变种/方言,几乎没有其它实现了同样的做法。
刚刚在 StackOverflow 上看到别人有几乎和我完全一样的需求:html - How do I insert a referenced block of text in markdown? - Stack Overflow,所以想写篇随笔记录一下。
很早之前就想过写一个自己的 Markdown 扩展,调研如下:
> 语法后面跟踪内容来描述内容,压根没地方插入这个“名字”。尽管可以模仿 Hugo 一样在最后插入形如 {key=value} 的参数/属性块3来到达类似目的,但是我觉得这并不是一个优雅的做法。至少在 CommonMark 标准接受这种做法以前我不太认同。所以我想提供一种块引用的变体,不用 > 来表示,因为它:
>,如果编辑器没有块编辑功能,重复操作起来简直是恶梦;最初我想用 """name(见下面划线标记的行;类似 Python 的文档注释)来开启一个具名的块引用,此时渲染器默认不渲染,只被用作被其它地方引用的用途:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
然后可以在其它地方用类似 """name""" 的方式引用它,引用后,即把上述复杂的内容插入到当前位置。
看起来挺优雅的,但是我没细想🤔。
这个名词是我自己创造的,我不知道别人怎么描述这个东西。 ^
这个东西的存在是为了支持 rowspan、colspan、样式等内容,并不是为了能编辑复杂内容。见:movsb/goldmark-wiki-table ^
跟鲍鱼真的没什么关系,因为非鲍鱼版本要¥70+,只有更贵。
份量少,而且并没有食卫厨一半价格的好吃。
从此拉黑。

用了很多年 Chanify1 往手机上推送即时通知消息,但是目前发现有一些不足。暂时换成了 Bark,作个简单对比:
| App | Chanify | Bark | 备注 |
|---|---|---|---|
| Token 期限 | 几个月到几年 | 无限 | 早期 Chanify 只有几个月,需要频繁修改,过于麻烦。但是现在可以几年了。 |
| 频道/分组功能 | 编码到 Token 中,不同频道 Token 不同。 如果要发送消息到不同频道,需要保存多个 Tokens,偏麻烦。 | Token 仅代表不同的设备。 分组功能由 group 参数区别,方便分组。 | 方便归类。 这是我这次替换的主要原因。 |
| 重要通知❗️ | 不支持。 | 支持。 | 专注模式下也能响铃。 与系统集成度更高,对于紧急情况很好用。 |
| 链接打开方式 | 始终内部。 | 始终外部。 | 我的有些文章是私密的,内部打开无法携带凭证。 且 Chanify 内无法执行 WebAuthn 登录脚本。 这也是我这次切换的主要原因。 |
| 应用角标(小红点🔴) | 正确统计未读消息的条数。 | 不支持自动统计,需要服务端发送(通过 badge=N 参数任意控制)。 但是服务端无法知道客户端哪些已读、哪些未读,所以这个功能是个残废。 | |
| Markdown | 不支持 | 不支持 | 好希望有这个功能。 |
| 手机关机是否会丢消息? | 是。已经向作者反馈过,作者未知原因。 | 是。已经向作者反馈过,作者明确表示只会保留最后一条。 | 完全无法忍受,但是两者都有此问题。 |
综合看起来我对这些Apps 都不太满意,但是赖于自己没有开发者苹果账号(且保持长期上架),只能妥协。
关于丢消息,苹果官方前两段有说明:https://developer.apple.com/documentation/usernotifications/sending-notification-requests-to-apns
但是据我观察,刚开机、仍未运行微信时,能收到多条来自微信的通知。
和官方和开发人员以及群里面一众人员对战了几十个回合,他们一致认为:
这也行?那我还说个杰宝。
桃子:确实是一无所知。我只是站在产品、站在用户的角度来理解一个产品怎么对用户更友好。而不是看你用的什么技术。
这玩意儿不关机、不断网也会高频丢消息。现象:点击通知中心出现的消息进入 App 后,列表里面没有此消息。
大多数时候我认同这种观点,但是偶尔有时候也会“叛逆”一下。
以前的博客在点击“发表新文章”的时候,不会有任何“新建”动作,会等到第一次提交保存的时候才会真实创建。这样很好,可以保证每个“文章编号”都是存在的、有意义的、连续的,对我这种有洁癖的人很适用。
但是有时候也会遇到麻烦:
文章没真实创建,第一次提交保存之前的上传的图片不知道保存在哪里。
为了引用图片方便,我的图片是跟文章编号绑定的。而不像多数大家一样用图床、不分文章。
类似的小问题挺多,总之就是要区分是“新发表”还是“更新已有的”。
我现在改进了这个做法:
这就相当于“更新”一篇已经存在的文章,代码里面少了很多类似“判断文章是否存在”的代码,逻辑清晰了很多。
当然,这也引入了另外一些问题:
等等,我怎么感觉没有在说 GET 应不应该改变状态的事?(逃……
找到了,代码里面有这样一行:
1
|
|
以及实现部分:
417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 |
|
我为了懒得写 <form> 发 POST 请求,所以“发表文章”实际上是个 GET 请求。感觉不是一个好习惯。
原来这玩意儿叫 lightbox(灯箱)?不是什么 zoom / swipe……
看了一圈,也不好用。比如不易改装成支持 Live Photo,还得我自己下手写。
没错,早年我还很想研究浏览器的时候多么希望 Firefox 把代码迁移到 Github,而不是用没几个人知晓的 hg(mercury)。虽然现在没研究浏览器了,火狐仍然是我多年来唯一一直使用的浏览器。看到它能做出如此“进步”我觉得仍然是一件“好事”1,嗯。
火狐(Firefox)或者谋智(Mozilla)不知道最近在搞什么,我没太研究。总之给我的感觉就是……好像不那么……老态龙钟了。这不,前几天才刚夸完它:《我可太喜欢火狐的这个版本的外观了》。
“1. Linus 创造了 Git 版本管理系统,它是一个去中心化的系统;2.GitHub 是一个基于 Git 的中心化的系统。” ^
An essay advocating a practice from early in UNIX history: putting line breaks between sentences or phrases instead of when the line simply reaches a certain length, if you’re writing marked-up plain text that will be reformatted before the user reads it. The habit makes it easier to navigate, edit, and rearrange text.
https://x.com/Blankwonder/status/1922329516254560525
我保留我的意见:GET 我当然会继续使用。完全使用 POST 绝对是极端,前端有无法避免、必须使用 GET 的时候。
.zip 后缀的域名https://connor.zip/posts/2025-05-03-rune
又见一篇关于 Unicode/字符/字符串长度限制 的文章,非常长:The best – but not good – way to limit string length | adam-p。
当然,先前还有一篇非常好的:(译)2023 年每个软件开发者都必须知道的关于 Unicode 的基本知识 | 新世界的大门。
以及一个生成“长草”文字的在线工具:Zalgo Text Generator - Create Glitchy Text Online。
Ports that are blocked by browsers – Keenformatics – A (not so) tedious blog about informatics.
老早之前写 SSH 代理的时候就遇到过:尝试在浏览器中打开 localhost:22 就会报错,无法访问。
链接:https://github.com/go-yaml/yaml。
新宠:https://github.com/goccy/go-yaml。
用得有多广泛?至少很多重量级项目都是用的它,包括但不限于 K8s、Docker……
看了一眼新宠,第一眼确实感觉舒服很多,特别是错误输出,以及对标准的支持。
当然,对 Yaml 标准的支持我是不抱太多希望的,真的是够用就好。毕竟,Yaml 标准真的是太奇葩了,对动态语言来说,我觉得是火葬场般的存在。原项目通过了 295/402 个测试,新项目通过了 355/402 个测试。
这就换新。
写了这么多年 Go 刚刚才知道以 _ 和 . 开头的文件/目录不会被 go test ./... 执行……
1 2 3 4 5 6 7 8 |
|
真是离了大谱。手动执行某个单测不通过的时候才发现,一度非常震惊🤯,每次 CI 是怎么跑成功的?原来如此!天杀的。
更离谱的是,我自己也不知道是哪里学来的规矩,明明自己也这样写1:
355 356 357 358 359 360 361 362 363 364 |
|
我是草台班子。
难怪经常在火狐浏览器里面见到“Chrome”,这难道只是我想混淆的吗?
Chrome1
在浏览器中,chrome 指除了网页本身以外任何可视的部分(如 UI、工具栏、菜单栏、标签)。不要将这个术语与 Google Chrome 浏览器混淆。
在 SQLite3 数据库里面存了比较大的二进制数据,后面又追加了一个小字段数据到最后。一个现象是:查询此大二进制数据前面和后面字段竟然有 10 倍的性能差距(前者性能更好)。
1 2 3 4 5 6 7 8 9 10 11 |
|
本地非冷启动测试,取了多次测试的结果,均如上。服务器上能夸张到几秒到几分钟的差异。
差不多 1500 条数据,升级服务器的数据库居然花了七分钟,这能忍?
1 2 3 4 5 6 |
|
当然,升级后服务器也降到了 0.1 秒内。
奇奇怪怪。
:dogsbody 是什么意思?跟 dog 有什么关系?
ChatGPT:
“dogsbody” 这个词听起来像是和狗有关,但其实它有点讽刺意味,和“dog”只是间接有关。
dogsbody(英式英语,口语)指的是那种在单位里被安排去做杂活、没人想干的苦差事的人,也叫“跑腿的”、“打杂的”。
类似中文说的:
“dogsbody”这个词起源于英国海军,原来指的是一种很难吃的海军食物 —— boiled peas pudding(豌豆泥糊糊),大家嫌弃这个东西,就叫它“dog's body”(狗的食物)。
后来,这个词被用在海军里的年轻新兵身上,指那些被派去做苦差事的“可怜人”,因为他们地位低下,就像“吃狗粮”的人一样可怜。
久而久之,“dogsbody”就变成了指“干苦活但不受重视的人”。
“As an intern, I was just a dogsbody making coffee and photocopies all day.”
“当实习生的时候,我整天就是打杂的,泡咖啡复印文件。”
如果你在英剧、英式口语或办公室环境里看到这个词,基本就是指那种“啥活都干的底层员工”。
哈哈,没有标题党。不仅是刘亦菲,还有刘诗诗,刘德华,刘备,刘涛……
可我还是得骂你,某个刘姓的名字我输了几百遍了,你都记不住……
李彦宏:中国人有时候喜欢拿隐私换取便利。

如果服务器声称的 Content-Length 比实际发送的数据大,客户端会直接不显示这不全的数据,而是报错误。有点儿意思,我排查了半天以为是我代码哪里写错了。(数据大小和实际数据分开存的,数据损坏了,所以出现了不一致。)
1 2 3 4 5 6 7 8 |
|
以及:
1 2 |
|
尝试把一个十年前的视频(47秒)用最慢的方式压缩了一下,耗时5️⃣0️⃣分钟!
从 46MB 压缩到 2.3MB,肉眼看起来质量不差。选用的格式仍然是我目前最爱的 AV1 编码,容器是 webm(第一次用)。
开了 64 个线程(随手写的,忘记系统是多少核了),内存占用仅 ~300MB,CPU 占用仅 ~250%.
1 2 3 4 5 6 |
|
过程真漫长啊!不得不想得十几年前为了把视频装进 MP4 的年代了,那时候看着“视频转换大师”那个进度条……实在不理解为什么会这么慢,当然,现在也不理解。我以为至少能跟上视频的速度的(1秒时间转换1秒视频进度
)。
看起来 Safari 对 .webm 的支持很差,放弃了,继续用 .mp4(但是编码方式仍然是 AV1)。
就像下面这张图一样,一眼过去就知道:宽<高。

但是为什么用 exiftool 看的时候显示却怪怪的?
1 2 3 4 5 |
|
插曲:本来是准备拿当前页面上显示的图片为例子说明为什么图片显示正确/错误了。然后马上醒悟到:我马上就会改掉这个 bug/feature。这会导致文章不匹配。于是决定不写这段了。
结论:相机📷在为了拍照时更快速地存储图片,不管是横拍还是竖拍,都会以同样的数据存储。只是再加了一个 Orientation 元数据字段表示图片应该如何旋转后才能作为最终的展示图片。
结论2:经过一些转换工具转换后,可能会有一个 Rotation 元数据,意义和 Orientation 非常相似,也是表示“旋转”。
上面这张图的结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
其中的 CW 我猜是 ClockWise(顺时针) 的缩写,意即最终需要顺时针旋转 90°.
那么问题来了,我这张照片肉眼来说不是“挺正”的吗?
| 值 | 名称 | 说明 | 显示方向 |
|---|---|---|---|
| 1 | Horizontal (normal) | 正常方向,无需旋转 | 🔼 顶部朝上 |
| 2 | Mirror horizontal | 水平翻转 | 🔁 左右颠倒 |
| 3 | Rotate 180 | 顺时针或逆时针旋转 180° | 🔽 顶部变底部 |
| 4 | Mirror vertical | 垂直翻转 | ↕️ 上下颠倒 |
| 5 | Mirror horizontal and rotate 270 CW | 水平翻转后顺时针旋转 270°(等于左旋90°+镜像) | ↙️ |
| 6 | Rotate 90 CW | 顺时针旋转 90° | ▶️ |
| 7 | Mirror horizontal and rotate 90 CW | 水平翻转后顺时针旋转 90° | ↗️ |
| 8 | Rotate 270 CW | 顺时针旋转 270°(等于逆时针 90°) | ◀️ |
看起来 Orientation 和 Rotation 有点费解🫤:
1 2 3 4 5 6 |
|
同一张图片一个是顺时针旋转90度,一个是顺时针旋转270度(逆时针旋转90度)。这两个不是上下颠倒了吗?
吓尿了简直:
尝试把设置 image-orientation: none1 后,图片向左旋转了 90°;所以大概可以暂时不管 Rotation 的值?🤔
鉴于浏览器能正常渲染并设置尺寸的图片。说明 img.natureWidth2 和 img.natureHeight 很可靠。那么,就让浏览器来帮这个忙了。 参考:/admin/statics/editor.js。但是要注意:这个单位是 CSS 像素。
超级喜欢,看起来非常扁平化、干净、紧凑。特别是全屏模式是,更加干净清爽。
这也是我第一次接受标签栏在侧边,竟然异常顺手。

苹果手机和电脑均自带且自动同步的笔记应用 Notes,缺乏一些高级/现代的编辑功能,特别是 Markdown 支持。这里有个插件扩展了 Notes 的功能,增加了格式条、Markdown、斜线命令双向链接🔗等功能。
Apple Notes 居然还能支持插件,这么封闭的系统竟然如此“开放”?太让我意外了😯。
这款插件基础功能是免费的,但是未开源。隐私🔏问题可能需要考虑一下。
465端口默认就强制 TLS,而587是选择性开启。我的观点:
SMTP 的 465 和 587 端口都是用于发送邮件的,但它们的加密方式不同,适用场景也稍有差异:
smtps:// 或 SMTP over SSL。✅ 适合: 当你明确要用 SSL,并且客户端/服务器都支持 465。
STARTTLS 升级为加密。✅ 适合: 大多数情况,包括发邮件、登录邮箱账号等,推荐使用 587。
| 特性 | 465 (SMTPS) | 587 (SMTP+STARTTLS) |
|---|---|---|
| 加密方式 | 隐式 TLS(连接时立即加密) | 显式 TLS(用 STARTTLS) |
| 标准性 | 非标准,曾被弃用 | 标准(RFC 6409) |
| 兼容性 | 有些服务不支持 | 现代服务广泛支持 |
| 推荐程度 | 不再首选 | ✅ 推荐用于客户端发信 |
如果你正在写代码或设置发信程序,推荐优先用 587 + STARTTLS。
如果某些客户端或服务器只支持 465,那就用 465 + SSL。
我觉得整数就已经足够节约内存了,把小整数存为对象肯定更占内存。建议 Python 的优化朝这方面发展。1

这个服务能把任何以 IP 地址为记录名的域名动态解析到对应的 IP 地址,不需要先添加记录。方便为任何 IP 地址设置域名。
8️⃣个字节的内存可以存放哪些类型的数据?下图是一些示例。对于刚接触计算机💻、正在了解内存的人来说非常有帮助。

别的不说,我最讨厌 C 语言的一点就是:结构体成员名全部有相同的现在说来没任何用处的无聊前缀。
比如图中的:e_, p_, sh_。
C 语言以前确实是我的最喜欢的语言,后来喜欢 C++,现在是坚定的 Go 派。

https://w.is/,网址很短,数据显示还不错。不过好像没有 API 服务。
文章中用动画示例清晰地调解了常用读写设备及其延迟特性。

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 |
|
“已读/未读”使用浏览器都有的 a:visited {} 来实现,且自动跨平台同步。
所以,我有时候纳闷,像 feedly 这种替代 Google Reader 的产品如何盈利,护城河在哪里?
一个错误的想法:由于博客现在支持用户系统了,于是想把订阅的每个网站的文章在我的系统内自动创建一篇对应的文章,对于实现来说,是一件非常简单又取巧的事。后来一想,这也太不尊重版权保护2了,遂放弃。
至少目前是我觉得我用得不太爽的地方:
用CSS很简单就能控制的设置,但是就是没有自定义。
因为看起来特别舒服的原因使用了霞鹜文楷一年多?但是最近决定放弃,几个原因:
第一次见到 HTTP 103 状态码:103 Early Hints1。
网站:https://exiftool.lucasgelfond.online/。
以及,为什么有人的 favicon 有 2.4M 这么大……![狗头 [狗头]](/v3/dynamic/emojis/weixin/doge.png)
新发布的一款看起来很漂亮的等宽字体,中英文严格 2:1. 其它特性:无限字重、智能连字等。
可惜我不怎么用斜体,它的斜体还是很好看的。
一款可以用 Lua 来编写的脚本引擎,用于控制 MacOS。
回到深圳了,看了下时光机,发现已经离开了近半年……

一直搞不清楚 “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 ? ![狗头 [狗头]](/v3/dynamic/emojis/weixin/doge.png)


为了防止启动小电瓶亏电,不定期启动一下1。
但是该车并不能看到电瓶的当前电量/电压🔋,只能看到动力电池⚡️电量。所以,只能盲目开个10分钟/20分钟空调,以期待其能给小电瓶充充电。
注意
前面有两次充电记录没记录。
注意
五月到七月之间爸爸回过家,手动充过电,暂时没记录。
| 📅日期 | 动力电池电量🔋 | 剩余续航里程🧭 |
|---|---|---|
| 2025-04-14 | 92% | 388km |
| 2025-04-22 | 91% | 369km |
| 2025-05-01 | 88% | 372km |
| 2025-05-15 | 87% | 356km |
| 2025-07-02 | 97% | 407km |
| 2025-07-07 | 97% | 398km |
| 2025-07-14 | 94% | 395km |
| 2025-08-04 | 86% | 365km |
| 2025-08-11 | 85% | 357km |
| 2025-08-25 | 79% | 333km |
| 2025-09-01 | 77% | 325km |
| 2025-09-12 | 76% | 319km |
| 2025-09-23 | 74% | 310km |
| 2025-10-13 | 69% | 278km |
| 2025-10-27 | 65% | 274km |
| 2025-11-03 | 64% | 264km |
| 2025-11-11 | 60% | 254km |
| 2025-11-17 | 57% | 240km |
| 2025-11-24 | 54% | 227km |
| 2025-12-01 | 51% | 213km |
Cloudflare 果然是活菩萨,出口带宽完全免费🆓!
真零出口费用!这要放在国内,厂家要死光吧?
前 10GB 存储免费!
马上就动手用起来!

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

爆改了一晚上代码,把博客的文章资源文件系统用 SQLite3 数据库实现了(即把原来在磁盘的文件丢进数据库里面了),几千个文件,数据库最终几百兆。没有缓存,感觉速度还行(并发读,极少写)。
虽然其它数据库几乎都不推荐把太大的内容丢字段里面,会比较严重地影响性能。但是 SQLite 从多方了解到是可以的且是官方比较推荐的做法(有很多相关的 API 可用,并且官方说一些基准测试下使用 SQLite 读写文件比直接操作文件系统还快 30%+,离谱)。
所以,我就动手重构了……
另外一个优点是,现在博客正常运行只需要3️⃣个文件了:
这样一来维护和备份就更加方便了。
上线体验了几分钟,感觉没有明显的速度变化。
继续观察👀。
显然,我的手机还是熬不到今年新品发布会。
为了去迎接 npy 的到来,太开心,换干净的裤子👖,结果手机从裤兜倒出来砸在地上,一股子玻璃破碎的声音,可惜了我才换4️⃣个月的屏幕💔:


屏幕下面一部分几乎无法正常使用了,上面倒是完全无问题。这我倒是很佩服苹果手机的质量,坏成这样了还能使用。
在地图上随便找了一家县城的手机维修店,店主向供货商咨询了两分钟后给我开了两个价:
为了保持手感,最终选择了官方拆解屏,虽然对于一个用了近7️⃣年的手机来说略贵,但还是忍痛换下了。不过,效果很好,旧屏很新,手感几乎无异。
心想,要是再坏,我就换 100 块的屏幕了,到时候坏了随便换。
狗屁通的回答:
如果今天是 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 日) 时,他通常有以下几种过生日的方式:
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,甚至直接“生日周”庆祝。

逗狗咬,讨人嫌!
在 #越南 买当地电话卡的时候,被告知其 SIM 卡不支持“个人热点(Hot Spot)”功能。似信非信买了一张,果然在 iPhone 上无法开启 #个人热点(表现为:根本没有这个功能/选项)。
我一度非常疑惑,从我了解的技术上来说,运营商提供的 SIM 卡没有任何能限制个人热点无法使用的可能,因为这个功能是纯手机网络栈(软件层面)提供的能力,与网络硬件、甚至是接入层(SIM)无任何关联。
我更愿意认为这是运营商的垄断行为迫使 iPhone 遵守合规而不允许使用,也即:纯政策行为。
查了一下 iPhone 官方的运营商网络支持情况,越南电信(Viettel)是支持个人热点的,只是“使用个人热点和解锁功能可能会产生额外费用或需要满足额外要求。请联系运营商以了解更多信息。”。
神奇的现象:我发现我自己没插越南手机卡的 iPhone 手机上也无法开启热点(无此选项)。
所以有没有大佬了解相关知识?
相关问题:
所以深圳的中国电信是彻底把 #GitHub 给屏蔽了吗?
我们每天都在什么破事儿上浪费生命?
在油管上看到超级玛丽的世界竞速比赛,其中的时间统计让我有路疑惑:跑秒部分,累计到 59 就到下一秒了,不是正常的 99.
经下面的评论回复提醒才知道:那不是跑秒,而是帧数。
然后我一细想就明白了:对于这种实时的主机游戏来说,帧率一定是固定的。在 NTSC 制式下,为 60. 所以用 60 表示 1 秒远远比掐秒表⏱️来得更精准。
真是长见识了。
感谢测试,让您失望了,好像一条都没有成功呢?
下次测试的时候不要再别人的评论下回复了……免得发过多干扰邮件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
等等……怎么那么多中文引号……😅😅😅
虽然早就对 #泰国 的人妖有所耳闻,但是,当走进室内,几百人共同观看全裸着的身体“做一些爱做的事情”的时候,还是非常震撼的。我身后有一个中国大妈,好像还挺兴奋的。


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

我真没想到会这么草台。

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


怎么还有阿坤:

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


虽然早就知道可以在 GitHub 链接后面追加 .keys 取得公钥:
1 2 |
|
但是,早在 2013 年 OpenSSH 就把 GitHub 作为公钥服务器之一我是完全没想到的:
1 2 3 4 5 |
|
OpenAI 最近遭遇的全球大面积故障1报告出来了:部署的新服务给控制面 API 带来了过大的压力导致基于 DNS 的服务发现失败。
然后,我马上就想到了我自己家里的 HomeLab:因为即便在内网中,我也使用的是正式的 Let’s Encrypt 的证书,而它们的证书有效期一直都很短(3️⃣个月)。其间也多次因证书过期导致我的内网出现 K8s 拉不下来镜像的“循环依赖”问题。
所以,为了减少事故发生的次数,我决定将正式的证书换成自签证书。增加证书的有效期限并没有从根本上解决这个问题,只是减少了事故发生率。 若想真正解决,还得定期更新证书。我是草台班子!
自签证书依然使用 mkcert 来管理:
mkcert -install 可以向系统安装并信任自签根证书;mkcert -CAROOT 可以得到根证书在各系统的路径;mkcert *.home.twofei.com 就可以生成域名证书了。生成的 根证书/CA 有效期固定为 十年;生成的 域名证书 有效期大概为 两年半2。
没想到如今这个年头还能听到“黄页”1一词,也没想到“CardDav”2以这种方式出现在我的视野中……
突然感觉自己以前手动加的一些服务电话是不是太硬核了…… 不过,上述订阅的列表可能太大,对我来说可能有些多余。
安卓用户应该没有这样的烦恼?是不是 iOS 特有的?🤔
看起来 Worktree 是一个很不错的切换“临时”工作目录的方式,不用再临时暂存文件了。
简单说就是把仓库重新检出一份拷贝另外的目录,然后在那个目录工作。
这不就是上面☝️保存完所有临时文件后的状态?🤔
一篇比较全面、比较好的关于 iptables 的文章:A Deep Dive into Iptables and Netfilter Architecture | DigitalOcean。
讲解了所有的表和链都是从5️⃣个钩子函数中衍生出来的;表的存在是为了人为地体现出不同的调用优先级。
以及,链的遍历顺序:
转弯的时候磨得咔咔地响,吓死我了。
请猜测本人的精神状态?

想要一个这个“掌机”,感觉可以用来作为调试设备。

如果能搞定 3D 打印以及有足够的时间,也许我可以:
终于用上了 Tailscale,用于打通家庭网络。虽然早就有耳闻(基于 Wireguard —— 开箱即用的 VPN;来自 Golang 大佬 Brad Fitzpatrick)。
和 Cloudflare ArgoTunnel 一样的开箱即用 —— 只需要运行一条命令即完成全部的工作。
和我之前的家庭网络方案区别之处在于:Tailscale 支持 IPv4,而我的网络必须依赖 IPv6. 在不支持 IPv6 的环境下不方便使用。
虽然 Tailscale 打洞技术很厉害,但是实际体验还是远不如我的 IPv6 方案流畅(可能是因为打洞失败的缘故,没追究)。好在:稳定性更好。
还有一个缺点:Tailscale 使用了自己的私有 IP 网段(100.*.*.*)。而我原来原来的内网域名全部是解析到 192.168 上面的,导致需要临时修改。暂时没想到好的解决办法。
在 VSCode 里面编辑跨平台的 Go 项目时的语言服务器配置(.vscode/settings.json):
1 2 3 4 5 6 7 8 9 |
|
应该配置在项目目录下的配置文件中,而不是全局配置文件。
用了多年的 ssh -D 作为 OpenWRT 的后端,今日才发现 OpenSSH 实现的 -D 参数的 SOCKS 协议只支持 TCP CONNECT 命令,不支持 UDP;所以我的软路由一直不支持代理 UDP。
另外,由于目前的构架偏复杂:
导致部署偏复杂,运维成本较高。所以拟重写部分组件:
一篇文章: https://cdn-learn.adafruit.com/downloads/pdf/introduction-to-bluetooth-low-energy.pdf
Profiles A Profile doesn't actually exist on the BLE peripheral itself, it's simply a pre-defined collection of Services that has been compiled by either the Bluetooth SIG or by the peripheral designers. The Heart Rate Profile, for example, combines the Heart Rate Service and the Device Information Service. The complete list of officially adopted GATT-based profiles can be seen here: Profiles Overview (https://adafru.it/E8u).
That’s absolutely correct! In BLE terminology, Profiles do not physically exist on the peripheral device. Instead, a Profile is a logical collection of Services defined by either the Bluetooth Special Interest Group (SIG) or custom-developed by the designers of the peripheral device.
才发现,蓝牙的 Profile、Service、Characteristics 概念与 Apple 的 HomeKit 几乎一致;只不过在 Apple 里面,Profile 被称作 Accessories(配件)。
You could implement a simple UART-type interface with a custom 'UART Service' and two characteristics, one for the TX channel and one for the RX channel, where one characteristic might be configured as read only and the other would have write privileges.
Connect to Bluetooth Low Energy devices using Golang




结合我现在的处境,猜猜看我要用它来干嘛?
产品手册:raspberry-pi-zero-2-w-product-brief.pdf。
警告
发现大流量时不太稳定!会自动断网,且不会重连,重启才能解决;
nmcli中之前连接到的 Wi-Fi 名字丢失。
tao@zero:~ $ sudo nmcli device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 2C:CF:67:7D:49:13
GENERAL.MTU: 1500
GENERAL.STATE: 20 (unavailable)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.GATEWAY: --
IP6.GATEWAY: --
tao@zero:~ $ sudo nmcli device wifi rescan
Error: Scanning not allowed while unavailable.
真的很垃圾,流量一大网卡硬件直接崩掉。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
自从买到了沙姜,在家里也可以自己做出很正宗的椰子🥥鸡🐓了——一家被我吃了上百次的深圳椰子鸡🥵。



以前听人说,男人成熟的其中一个标志是“学会坐着尿尿”。原因是会更卫生,对大家来说。
终于,自从因为北方的家里冷、我给家里的马桶🚽装上了马桶垫后,为了不让水水洒得到处都是,女朋友告诉我应该学会坐着……所以我被迫学会了坐着尿尿,然后……尿完后还会擦一擦……🥵🥵🥵。
虚心地向各位女同志们学习。

听说有人说我是女孩子👧?

访问了一下 VirtualBox 官网,发现其好像竟然又开始支持 Apple Silicon 系列了!
VirtualBox is a general-purpose full virtualization software for x86_64 hardware (
...with version 7.1 additionally for macOS/Arm...
), targeted at laptop, desktop, server and embedded use.

无法使用、丑拒,不建议尝试。
去了外省旅居,租住的公寓没有提供 WiFi,也不方便拉光纤(短租),整天靠分享热点给几个平板和几台笔记本使用属实不太方便;而且 iPhone 的热点还经常自动断开、需要重新启用才能被发现。
于是干脆买了个“随身WiFi”;尽管买之前就知道这玩意儿本质上还是使用的电话卡(流量卡),所以网速肯定不会稳定到哪里去,不过好在流量比较便宜,也确实“随身”、方便。
利益相关:利益无关。


设备单独购买,以下是短期基本套餐情况:
| 费用 | 流量 | 期限 |
|---|---|---|
| 9.9元 | 30G | 30天 |
| 19.9元 | 100G | 30天 |
| 29.9元 | 300G | 30天 |
| 39.9元 | 1500G | 30天 |
想起年前的时候自己也做过类似的产品(Access Point,AP),成本可以控制在 10 元内。当时是用的 ESP8266 芯片,如果再买一张物联网卡作为流量卡,那就是完全是个类似的产品。
等后续更新,如果好用的话,我也许会替换掉我在深圳家里的超贵的千兆光纤,人不在家实属浪费,月话费都可以买一个季节的流量了。
差不多用了一个月后,给京东实质性评价了一下;然后……没过多久,就收到了通知要求删除评论:


“仅退款、无需退回设备。”
我……同意了,🤡🤡🤡。认真写评论还有这种“好处”是吧?
再度失联小半个月,终于“花重金”求不远 1.5 公里外的朋友去了趟家里,按了一下重启键,恢复了家里的网络和博客。具体原因未细查,但是大概率是网卡寄了。
怎么办?向狗屁通询问了一下“如何无条件定时自动重启机器”(重启大法好!)🥵🥵🥵,何尝不是极其简单粗暴?
每第 5 天凌晨 5 点🕔 给我自动重启!(暂时没空管你!)
0 5 */5 * * /sbin/reboot
我看你还敢给我失联!
当然,多年来我依然一直讨厌使用 cron,也一直讨厌 crontab 默认操作为替换;如果不小心没有 -e,哦豁,全清!当然,软件作者大概也收到了各种报怨,所以也甩了个锅🍳?
nuc:→ crontab -h
crontab: invalid option -- 'h'
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
原来相比于短信和彩信,又有新的升级了。


有点神奇,车往前面开的,木块是怎么倒挺进去的?用了很大的劲也拔不出来,撇断了。
在埃及马特鲁看海的时候手机被海水泡坏了。前期是屏幕逐渐失灵,后期是无法开机,屏幕闪烁一下就重启。
虽然我人在深圳,但是还是莫名其妙更愿意相信 @EZFix 的技术、没有把手机拿给华强北维修🧑🔧,可能是在推特上好评太多导致。
花了高价(真的高价)初次维修换了全新屏后,手机除 FaceID 外一切正常,老板叫我自己刷机。我操作不来,于是趁着要去东北、差不多刚好路过的原因,自己驾车🚗再次前往亲自送修。老板一度非常震惊。





老板店面很小巧,但是里面设备很高级。另外不巧的是,送修完没过多久,老板的店就迁址了。
续:各位关心我的、没关心我的朋友们,又是好久不见,我还活着
刚才埃及回来什么也没干躺了两天就直奔东北去野了半个🈷️,仿佛是今天才结束假期……
是的,今天我又双叒叕回来深圳了……🥵


换胎的时候有点吓人。
租的车,结果换了个比较好的轮胎(佳通),花了 ¥350.

随便找了一家路边店,忍气吞声给了老板 ¥350.
车是租的,但是换了个还不错的好轮胎(佳通的)。
还车的时候跟神舟租车的工作人员说能不能报销,我明明记得神舟租车 ¥1500 内是免责的,工作人员说我记错了,是 ¥1500 外。
我肯定没有记错,上次在老家地坝掉头擦到前侧脸的时候就没有做任何处理,工作人员直接说“你们不用管”。
各位关心我的、没关心我的朋友们,好久不见,我还活着……![狗头 [狗头]](/v3/dynamic/emojis/weixin/doge.png)
在 #埃及 玩了一个月,不亦乐乎,博客也完全没有经营……
但是今天为什么想起发一条碎碎念?因为我手机坏了
……只得玩电脑(?)。
我在 #马特鲁 玩海的时候,又一次1把手机泡水了,在我明确知道手机被拆过、不能防水的情况下……现象是:面容ID坏掉了、屏幕完全失灵……😭。
好害怕,我的资料不会全部毁了吧?我的相册不会全没了吧?我不会在埃及孤立无援吧?不会吧不会吧?😭😭😭。求求了,一定要坚持到新手机发布!
手机已经好几天不能开机,我快崩溃了……
手机修好了,但是有点不开心。
去年刚拿驾照时租油车加了省加油费在加油站办了张广发的信用卡(第一次确实省了很多钱),结果最近一年的消费不足以抵扣收费,被扣两百块……

什么无妄之灾啊!一气之下决定注销……结果刚接通,对方竟然猜准了我的来意,直接问我是不是“因为年费原因才要注销”
,哈哈哈。如果继续注销的话,年费肯定省不了了。所以我选择了不注销,但是要在接下来一个月消费满 6 笔 / 或者金额数达标(几百块),然后就退回年费。
早知道就不办这玩意儿,为了省几十块钱,每年都要恶心我一下……我一直用的招行信用卡,我记得招行是不要年费的啊!
经常一天能接到很多陌生电话。没耐心的话,就不接;有耐心地话,等我手输手机号在微信里面“添加朋友”看看其到底是个什么“昵称”后再决定要不要接、还是拉黑。
所以,我有一个最终想法,如果“来电功能”能以某种程度和“微信”合作一下,显示“来电者”的名字该有多好。之所以这是一个最终想法,是考虑到隐私泄漏:不可能来一个电话就向微信查询一下。应该是像苹果早几年的“归属地显示”功能一样:是先由提供方预置一个归属地数据库给苹果使用,苹果自己在本地去查询,完全不与提供方再有后续的交互。
有些电话,若接吧,我又不是它的潜在客户,浪费你我大家的时间;不接吧,又怕错过可能有用的电话。难搞。
还挺神奇的,下面3️⃣个电话,几乎是每个小时打一次,不能说毫无关联吧?

电话打进来的时候,只显示“中国 大陆”;点进去的时候,显示的是“中国 广东 广州” ➕ 备用流量卡的信息。
有这个必要吗,产品体验非得做得如此割裂?作为一张只用来上网的卡,我完全可以自信地拒绝任何电话📞——如果你在电话打进来的时候就显示给我看。
看来没有乔布斯的苹果已经不知道怎么做手机了。

博客又被 209.141.34.4 这个死妈的垃圾攻击了,这次就准备长期放家里了,不折腾 VPS 了,随便你咋打我。
你一定很开心我这样咒你全家吧?
才发现 Cloudflare 把我的 ETag 头部去掉了,导致文章总是返回 200 🥵🥵🥵……
Cloudflare 的 Argo Tunnel 不支持 GRPC 转发(nginx 中的 grpc_pass),所以基于 GRPC 的服务全部挂了:
和朋友一起去看了电影《抓娃娃》。
作为一个土生土长的农村孩子,我对这部片没有太多评价,搞笑片算不上,对我来说有点童年阴影。中国的父母——特别是农村家庭的——爱孩子的方式很多都是:没苦硬吃,还说是“为你好”。当然,中国的社会整体价值观都偏向于歌颂苦难。有一句话是怎么说的来着?“祝歌颂苦难的人天天都有苦头吃。”
片尾,父母认为“大号练废了”(原话),需要给孩子惊喜:一个弟弟或妹妹。我不太了解导演到底是想表达什么,或者是这样更符合主旋律?咋的,敢情说孩子就是父母来拿练手的?练废了就重开?什么弱智行为。放过他人,也放过自己。

对于“小孩儿要穷养”这件事,我还是比较有发言权的,因为我自己勉强就算得上是一个被穷养长大的孩子。依稀记得上初中那会儿(2007年左右),我表弟借宿我家,和我上同一个初中,初三住校。他一周的生活费是 50 元,而我,只有 15 元。平均一天 3 元,要知道,中午的荤菜是 2.5 元,晚餐的米线是 1.5 元;所以我经常食不果腹。但是我知道,父母肯定拿得出更多的钱至少让我吃饱、不饿着。只是不知道他们从哪里听说了一些“歪门邪道”的东西:孩子要穷养、要多吃苦……才会体会到生活的不易、才会更努力。小时候我可能认为这样观念正确,但是很显然长大后的我不认同这种东西。但是我也不怪他们,毕竟他们本身也没有什么文化,没有自己的思想,容易被控制。
没苦硬吃容易让人从小自卑,是的,我从小就自卑。也不知道是不是因为从小经常饿肚子的原因,我个子很小(裸身高 163cm),严重拖了后腿。不像现在的 00 后,普遍 170+。年初相亲的 00 后,就是 170+,没有哪个妹子愿意接受比自己矮很多的吧?所以,这事儿,它没成,不能说完全无关。

把以前写的脚本语言服务端部分重新编写并编译成 #WASM 后迁移到了 GitHub Pages。六年多没有更新了(短期内没有再更新的打算),少点儿服务器运维;域名 https://tao.twofei.com 作废了。
People die, but long live GitHub.
尝试把域名也通过 Cloudflare 转发,发现不管是“DNS HTTPS 记录”还是“DNS URI 记录”都无效,然后试了试“Page Rules”:
1 2 |
|
也不生效,再仔细看了 Page Rules 的文档,说是必须先要添加一条对应的 DNS 记录 😅,神经兮兮的……没添加、不报错、不生效……这种体验是人做的吗?
特别注意,添加 A 记录的时候要添加特殊的值,见文档里面:
Page Rules require proxied DNS records
Page Rules require a proxied DNS record for your page rule to work. Page Rules will not apply to hostnames that do not exist in DNS or are not being directed to Cloudflare.
Depending on the record type, you can use different values for the target as a placeholder. Either one of these achieves the same outcome and you only need to create one:
1 2 3www.example.com A 192.0.2.1 www.example.com AAAA 2001:DB8::1 www.example.com CNAME domain.exampleCloudflare recommends only using reserved IP addresses or domain names to avoid sending traffic to foreign infrastructure.
添加(且代理)后解决了,现在 https://tao.twofei.com 永久重定向到了 https://movsb.github.io/taolang/。
时不时就要兴起一股写编译器的风:https://twitter.com/Manjusaka_Lee/status/1815378850328789133。
在 #长沙 玩了一周多,一天都没有写代码。刚回来又想写代码了……🥵🥵🥵
从去年买车到现在一年时间内,折腾了各种商业充电桩,浪费了大量时间与国内的交互师作斗争(注册、充值、扫码、下 App、实名认证、退款、提现……),终于在长沙发现了“e充电”的“即插即充”功能:插上去后一键开充,自动从微信扣款……国家电网牛逼🥵🥵🥵! 其它的垃圾交互全部去死吧!

看了《NGINX 配置避免 IP 访问时证书暴露域名》,了解到:
看来 ssl_reject_handshake 必须得开了。
川普遇刺,那我也来凑个热闹发张图吧🥵 国内的事情不让我关注,我关注一下美国应该不犯事儿吧?

跟前同事聊天的时候,他看我一直闲着,说让我试试 Web3:

直到我今天给他发了这张图😅😅😅:

@yiqifacai 只有穷人,才会痴迷技术;只有笨人,才会想着先把事做好。
观察一下身边真正的有钱人,就会发现他们有一个共同的特点:“明明知道这个人不行,但是他不提醒、不指点不好为人师,即便是他的认知经验都超过了对方,他也不会给对方的提建议。
因为无论你是指点、说教,都是需要消耗能量,情商最低的行为就是不停的讲道理,智者戒口,愚者指点江山。能说服一个人的从来不是道理,而是南墙。能点醒一个人的从来不是说教,而是磨难。
噢,难怪我越来越穷了!
不小心写错了代码没加限制🚫,一下子启动了上千个子进程(Perl),瞬间把 CPU & Memory 干爆,要不是连上了图形化的 VNC 终端,我差点没辙……(才意识到 BuyVM 不像 HostDare,后者有拯救模式(Rescue Mode),没出问题时万事大吉,出问题了才知道谁是大哥)。


问题已经解决了,那我还要不要写容器的资源配额呢?(逃……)
奇奇怪怪🤔,北京的同学竟然突然发了一张我大学的书📖的照片给我,关键是,我已经完全忘记什么时候给过他这本书了。


每次找数据库管理软件,就还是觉得 Adminer 顺手,除用 #Adminer 打开 #SQLite3 数据库外,因为它不允许无密码登录,每次都要折腾一下……😡😡😡
在 Accessing a database without a password 推荐页面使用 login-password-less 这个插件方式;
在 这里生成你自己的密码,并替换上述插件的源代码如下:
1 2 3 4 5 6 |
|
覆盖掉原始插件代码:docker run -it --rm -v ./your.db:/your.db -v ./login-password-less.php:/var/www/html/plugins/login-password-less.php -p 8080:8080 -e ADMINER_PLUGINS='login-password-less' adminer。
就行了,密码输入刚才上面第二步的密码,用户名留空,数据库输入映射的路径即可(绝对路径最好)。
感觉还是做个成品的镜像吧,感觉网上也挺多人搜索这个的,但是网上的方法明显偏复杂,不 Ad-Hoc 🙄:
写好了,极其优雅!一个命令就打开!
https://github.com/movsb/adminer-sqlite3-no-password
得有🔟年没写过 PHP 了?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
“阿米娜·阔伊姆@二代目”最近再度因为在 #推特 上发表了可能涉儿童色情相关的内容被封号,导致推上出现了一众高仿号(“阿米娜·阔伊姆@三代目”),搞得大家都无从分辨孰真孰假。好景不长,“阿米娜·阔伊姆@三代目”又被封号,现在又出现了一堆“阿米娜·阔伊姆@四代目”🤪……

我是想借这个话题讨论下如何简单证明自己曾经是某个帐户的持有者——一个不需要实名的方式。
方法非常类似于数字签名✍️:
验证方式:
由于签名中带有公钥,如果新、旧帐户的公钥相同,则一定是由相同的私钥签名的,从而证明新、旧帐户的持有者是同一人。
说明:
非常郁闷,同事说明天中午一起吃饭订机票,该启动国际旅游计划了…… 但是,我突然发现我的 #护照 不见了,找了一个小时都找不到。打视频电话给妈妈让帮忙在农村老家找一找,看是不是过年落家里了,结果也没有找到……
花了一晚上,做了个大扫除🧹,把出租屋翻了个底朝天,仍未得。
我真的会谢,这么多年,时常看见,从来没有带出过门,突然需要用到时就……消失得无影无踪 😭😭😭。
时常会接到深圳的莫名其妙的电话,也不知道是不是谁拾到了我的护照交公了,然后因为我不接陌生电话而错失……
哎😑,预约了明天的补办,失败了好几次。看造化吧。

去补办了,哎呀,要等到 7️⃣🈷️1️⃣1️⃣ 号才能拿到,黄花菜都凉了……我错了🧎。
关于在 Markdown 中描述 #音乐 🎵符号:
刚装的全新系统,一跑 docker-compose 就脚本报错,搞了好一阵才发现原来 #Docker 早就放弃 #Python 版本、而用 #Go 重写了。
所以,现在不再是:
1
|
|
而是:
1
|
|
了。以前是用 docker-compose,现在是用 docker compose。难怪官方一直叫我这样用但是又一直报错:docker: 'compose' is not a docker command.……🙄
非常丝滑。哎,生命苦短,别用 Python。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
|
我去,小火箭是怎么敢把 #NES 几十年的扩展名你都敢给我占了?😡😡😡

啊啊啊,原来 position: sticky; 已经早就进入标准的 #CSS 了,而我的《CSS 定位 (Positioning)》这篇文章正好写于标准化的那一年前后……
从这个页面的表格上面学来的:https://exiftool.org/。
偷走了,可以在博客程序页面中的更新历史表格中看到效果。
维斯百科表格中关于 <table> 的使用的描述:
Common attributes for columns, column groups and row groups
The MediaWiki syntax for tables currently offers no support for specifying common attributes for columns (with the HTML element
<col />), column groups (HTML element<colgroup></colgroup>) and row groups (HTML elements<thead></thead>,<tbody></tbody>and<tfoot></tfoot>). Those standard HTML elements are not accepted even in their HTML or XHTML syntax.All the rows and cells (header or data) of the table are rendered within a single implicit row group (HTML element
<tbody></tbody>) without any attributes or styles.### Common attributes for columns, column groups and row groupsThe MediaWiki syntax for tables currently offers no support for specifying common attributes for columns (with the HTML element
<col />), column groups (HTML element<colgroup></colgroup>) and row groups (HTML elements<thead></thead>,<tbody></tbody>and<tfoot></tfoot>). Those standard HTML elements are not accepted even in their HTML or XHTML syntax.All the rows and cells (header or data) of the table are rendered within a single implicit row group (HTML element
<tbody></tbody>) without any attributes or styles.
不要用 border-collapse: separate;,除非样式写得非常完美,否则带 rowspan 的 tr/td 的 border 会重复出现。不信试试?1
outline 实现的 th 的 border 成文(border-collapse 的情况下);#Grafana 设置单个面板的时间范围为昨天一整天:
很难理解,但是达到要求了。
把 Query Options 设置成:
now/d1d/d其中的 / 有特殊含义:
上面的ℹ️提示也非常秘:Relative time should be now-5m and 5m, or variables like $_relativeTime.
请问:你就一个框,你教我如何填两个值?

就连特意显示的时间范围的友好名也是错误的:

这里明明该是:Yesterday。
className 竟然可能不是普通 string……
className can also be an instance of SVGAnimatedString if the element is an SVGElement.
It is better to get/set the className of an element using Element.getAttribute and Element.setAttribute if you are dealing with SVG elements.
However, take into account that Element.getAttribute returns null instead of "" if the element has an empty class attribute.
意味着,没有 includes 方法1……
太反直觉了,虽然我一直用 classList.contains。
傻逼苹果,电源都给整出负数了,一天没用电脑,待机又把电耗空了,又睡死了……


几乎一个字也识别不出来,就是这样神奇。
从 #七娘山 回来的路上,顺路送了一个一起下山的大哥。大哥人挺好的,下雨的时候还主动提出给我雨衣,我朋友下山非常慢,他还边走边等我们一起。到山脚公路上的时候,他说他要打车从七娘山回龙岗,我非常吃惊,毕竟这得有 60 多公里,还挺偏,不得一两百的打车🚖费?于是我就捎上了他,当然,他说要给我钱,我没要,大哥不要嫌弃我开飞车就好了。 #你是个好人。
送毕,终于是想起了要去一个九年没见的老同学那里。大学的时候我们都是用 QQ,我连他的微信都没有,毕业后没了消息。我们都是来自同一个人工智能实验室,所以其实关系很好。他就在龙岗,巧的是,他的店就在大哥下车点 2 公里。
听另一个同学说他自己创业在 #深圳 开了一家 #火锅 🍲 店,想过去尝尝味道如何。作为小半个 #重庆 人,还得是重庆味道适合我。店在龙岗,因为他之前在比亚迪龙岗的工厂里面,后来遇疫情就辞职了,然后几乎是从零开始学做火锅,这让我非常震惊。我没有问他为何辞职,但我知道的是,比亚迪和在龙岗的华为一样,都是非常血汗的工厂,而和华为不一样的是,比亚迪的工资非常低。
今天可不是周末,但是几乎座无虚席…… 我刚走到门口,他就过来跟我握手,那一定是一眼就认出是我来了。当然,我也认出他来了,我们似乎都没有变。他看起来完全不像是一个老板模样,还是学校时的穿着,学生模样。我那个同学跟我说:等他结账的时候,你就知道他是老板了。
我问他你这边怎么这么多妹子,是不是附近有什么学校🏫?他:深圳妹子本来就多……
我还没有结婚,他,也没有。




(打码好麻烦,不想打了。)
终于等到了不是下雨的一天,也终于去了 #七娘山 —— 一座应该算得是 #深圳 少有的我没爬过的山了。
越近山脚,就发现天气越来越开始恶化,尽管我一早就打电话问过今天是可以登山的,但是我仍然一度怀疑马上又要封山,害怕又白来一趟!虽然我觉得开车非常有乐趣,但是,我过来可是要 90 公里,这可不是闹着玩儿的!

一点儿都不风和日丽,几张非常普通的照片。登顶的时候甚至飘起了小雨🌧️,感觉全身湿了个大半。而且上面完全是白茫茫的一片,被雾气🌁笼罩着,几乎没有能见度。本来也带上了无人机,但是发现毫无用处。(最后一张是山顶。)




这座山有个非常神奇的特点: 虽然登山的路上经常可以看到多条支路,但是,最终它们都会在前面几十米处殊途同归。我一开始会犹豫怎么走,但是经历过几次后发现:怎么一回头就发现隔壁还有一条路?然后就明白,并不是他们不愿意标路牌,因为真的不用🙂↔️。
山顶上竟然有“证书”可以拿?这应该是我第一张关于登山的证书。



山上的所谓的观景平台,其实是一个个凸起的小坑位,只有一条路进入,周边也非常隐秘。再加上我们是非周末去的,人非常少,感觉会是情侣幽会的绝佳之地😝。我应该用无人机来拍的,可惜这天气让我懒得拿。

“🧑🧒🧒设施老旧,请勿聚集。”


粤B·BB6688,好!
同事终于把宝马提到手了,穷逼我也第一次开上了宝马……
笑死,同事吃午饭的时候跟我说:我跟 XXX 来这个店试驾了三次,今天提车带你来。我说,你这不是渣男吗……🤣(澄清一下,他一直单身。)
我收回部分上次说的话,再谈谈我觉得的一些明显的优点与缺点:
优点:
缺点:
哎,搞得好像是我提了一辆 #宝马 这么高兴一样,你咋发这么多图呢?
真的很帅……

















南山确实比光明有钱,至少……至少餐厅有工作人员,在光明的时候感觉全部是自助。




“每天都值得庆祝🎉”,每天都要有 #仪式感。他们喝了点啤酒🍺,今天晚上这宝马,我是开定了。





感觉深圳最少不了的就是湖南菜,菜的花样多,名字也是…… 大湖南、大弗兰、大胡兰,一时间搞不清楚到底哪些是真、哪些是假……

以及……一些在今天这个日子有些奇奇怪怪/牛逼的车牌……


nginx 居然在我服务 panic 挂了的时候重新连接一次……神奇,一个请求收到两次连接。。。
Go 里面这样可以实现一个允许可重复读、多次副本读的 io.Reader,还挺好玩的,感觉又在 #套娃……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
结果:
1 2 3 4 5 6 7 8 9 10 11 |
|
主要原理是:
TeeReader 把从原始接口读出来的数据顺便写一份拷贝到内存 Buffer 里面(io.Writer);io.Reader),然后继续从原始的数据读;Buffer 的 Bytes() 重建一个 bytes.Reader 支持了 io.Seeker1。由于是在内存中缓存的,所以要小心数据不能太大。否则应该用文件实现缓冲(io.ReadWriteSeeker)。
奇怪为什么 bytes.Buffer 不支持 Seek? ^
《Using i.e. and e.g. correctly》1
The abbreviation “i.e.” stands for id est, which is Latin for “that is.”
The abbreviation “e.g.” stands for the Latin phrase exempli gratia, meaning “for example.”
哇,国外的正规引号的写法真的就是中文的引号!?
“
LEFT DOUBLE QUOTATION MARK
Unicode: U+201C,UTF-8: E2 80 9C
分号是这么用的:
All employees will receive the standard discount; i.e., 20 percent.
...we technically have created a compound sentence...
So we use a semicolon to join the two independent clauses.
用过 Unix-like 系统的人都知道以 “/” 开头的路径是绝对路径,但是不知道 Go 为什么要加一个奇怪的 URL.IsAbs() 函数,这个函数只通过判断有没有协议头(Scheme)来确定是不是绝对路径……
1 2 3 4 5 6 7 8 9 10 11 12 |
|
你要这么搞的话,我感觉 Go 语言对我来说有点儿不受控了……
1 2 |
|
就算对于前端来说,以 / 开头的也是绝对路径啊,以 https:// 开头这种难道不叫跨源吗?都可以叫作“不是同一个文件系统”了……

这是一条来自手机端 iOS App 的碎碎念!🍏🍎。 测试!
人生 #第二次 开发 iOS App!
当然,我并不是要开发一个完整的客户端,只是为了测试一下如何在 iOS 上使用 #GRPC 和 #ProtocolBuffer,上手难易程度完全在预期范围内,感觉当初用 GRPC + ProtocolBuffer 重构 API 接口是非常正确的选择。
只是……接近两年没写 #SwiftUI 了,反倒是 UI 慢慢摸索了好久……




(当然,图片不是来自手机端 🤪🤪🤪)。
我一定是现学现用!感觉从来没有开过这么多的标签页!
#第一次 使用 #AVIF 图片格式,比 JPG/PNG 都小,甚至比 WebP 还小很多,后面有空再试试 #JpegXL。
第一次总有些不愉快…… 是的,下面这张图好大,因为我代码的图片自动缩放功能不认识 AVIF 格式,晚点有空再修吧😇。

暴力出奇迹:java - How to get image dimensions from an avif file? - Stack Overflow。

找了半天的图片转文字(OCR),要么是收费昂贵、要么是安装复杂、要么是识别效果差、要么是中文不友好……
咋的,是家里手上花几万块钱买的 MacBook Pro M2 32G 它不香吗?🤔
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
就这加上空行、注释才 29 行 Swift 代码,要什么自行车🚴?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
不好意思,这里也是 29 行,就是这么巧!
图片来自上一篇碎碎念。
开个坑:
博客支持自动识别图片文字内容并保存、可供文本搜索图片🔍。
可选方案:服务在后台扫描有更新的文章,通过 grpc stream 的方式让提供方(本地客户端)提供技术支持。
从上一份外企的工作的经验得知,#日历 这个东西,也知道像是手机上的日历、#待办事项、#备忘录 一样,都是有通用的标准的。像是 Apple、Google 都在使用这些古早的标准。是的,非常古早,无它——任何除 HTML 外仍在使用 XML 作为交换数据格式的协议我都认为是古董了。
这也使我极度排斥和它们打交道,之前做 XmlRpc/Pingback 把我做到吐。所以虽然我一直想做一个自己的日历本,一直拖、一直拖…… 在拖到完成之前,这条碎碎念我就慢慢 #填坑 吧。
Tokidoki,是 go-webdav 作者的项目,前者基于后者,实现了基于文件系统的后端。目前看起来还比较粗糙,还不足以上生产环境。
X-APPLE-STRUCTURED-LOCATION。用 <script> 嵌入 JSON 的正规做法1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
实际上,放 Yaml 也不是不行,就像我友链文章中的那样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
在 StackOverflow 上面发个帖子问一下关于 Safari 字体大小问题 的根本原因时为了补充一个视频时发现:StackOverflow 支持 GIF,但是不支持 MP4.
可是……当我用 #FFMPEG 把录屏转换成 GIF 时:
1 2 3 4 |
|
转了一圈最后发现,GIF 不管是大小、清晰度、帧率、声音通道、色彩空间都完全被 MP4 吊打啊,完全不在一个量级。
这还是我读高中时认识的那个占用空间大的 MP4 格式吗?StackOverflow 这样抱残守缺干嘛?连 Twitter 都早就用 MP4 代替 GIF 了。
放个 MP4 吧(GIF 就不放了,感觉浪费我空间😅),200KB,8 秒的视频,如此清晰,什么如获至宝,时代的眼泪……
哈哈哈,在别人的网站上又看到了一个 GIF。是功夫里面的冯小刚打人片段,我从原视频里面截了一部分,然后转成了 MP4,大小为 179KB,原 GIF 是 362KB,仅是后者的 50%,且不说 MP4 的分辨率是 GIF 的 两倍……
GIF 看着好有年代感啊!一看就回到了那个年代。
自以为是早期的 Win32 开发者,对事件系统非常熟悉,以为可以照搬到浏览器里面。尽管如此,但还是在 js 这里踩了坑,对浏览器中 js 执行顺序误解很大。
比如下面这些代码片段,打印顺序是啥样?
1 2 3 |
|
其中,not-found.js 是一个不存在的脚本。
测试用例:first.html。
然后再看看下面这个:
1 2 3 |
|
其中,222.js 的内容是 alert(222);。
测试用例:second.html,记得多刷新几次看看有没有不同。
以及:
1 2 3 |
|
测试用例:third.html。
别问我,我不知道。
七娘山⛰️真是个特殊的山,特殊在哪呢,就是能不能去登山完全取决于当天的天气,对,是当天。因此,需要当天打电话问管理人员才能决定,官方(深圳大鹏半岛国家地质公园)并不会在任何地方公布这个信息(微信公众号已经停留在了几年前)。也别相信各个地图所谓的“正在营业”,因为我上次去就扑空了,然后转去了隔壁的杨梅坑/鹿嘴山庄。
火狐的问题:从 https://www.gstatic.com/generate-204 到 https://www.gstatic.com/generate_204 居然不清屏,甚至 URL 也返回了前者。
时间分隔线,中间用时间表示
预览时不移除标题
后端渲染数学公式
合法的新手司机了,周年快乐!


这里程中,90% 应该都是我贡献的,高速应该超过 50%.
如果不是因为保险限制一年不能超过 30000 公里,这数据再翻过倍毫无压力。
#仪式感 ,是的,晚上又去吃椰汁鸡了!不过,这次变得有些“聪明”了,竟然想起了问老板有没有停车🅿️券,有!感觉以前血亏!那可是深圳超繁忙路段之一啊!
上次买 #宝马 的那个朋友,跟妹子的关系似乎发展不如预期,找我吃了个夜宵。结论:现在的妹子真的难追……尽管他已经差不多年薪百万的深圳人了,还是感觉难,非常地难。不知道现在的妹子在想什么……噢,忘了说,他把上次在光明买的宝马订单退了,等等,不是不买了,是换成了一家南山的店,价钱一样,赠品也几乎完全一样,除了我当时坚持的座椅通风。他说:天热怕什么,空调给我使劲开!
一直用 @media screen,今天才知道有 @container 这么个神器,简单一图胜千言:
<template> 被 parse 进 head把推特的数据📊从官方轻松点几下、一键导出了,非常便捷。只不过,官方说为了安全,需要等待至少1️⃣天时间才能下载,期间会不停地要求邮件验证以确定帐号安全。
刚好满一天,下载了下来,打开一看,非常吃惊😱。打开首页,完全就是个离线版的推特,有自己的全量数据,一览到底,所有文字、图片、视频打包📦在一起。各种数据文件的格式在文档中描述得清清楚楚。
什么业界良心企业啊,我哭死……😭
我……是不是要导入过来呢?
早前推上有人说像 Markdown 这种简单的文档可以用正则表达式很轻易地解析,我完全不以为然,因为我自己用正规的递归下降解析写过,发现……挺 tricky 的。但是在《网站支持 Live Photo 图片展示》上发现我很久很久之前用过的 marked 这个 js 写的 Markdown 库竟然就是用的正则表达式实现的?
我低估了正则表达式的强大,也低估了作者们的能力。但是有句关于正则表达式的话我还记得很清楚:
Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems. (Source of the famous “Now you have two problems” quote)
很多人写的正则,是那种写的时候看得懂,事后就忘记。不然你看看下面这段装逼过度:
1
|
|
我只敢肯定这段代码是我给公司写的,语言是 C++,但是意义嘛……
但不管怎样,我最终还是放弃了marked,因为我不想在后端一直保留 nodejs,我是🐶党。
随机 #开往 了一个网站“Evan's Space”,发现作者把文章的附件挂在国内某云盘上,尽管附件仅有 8KB 大小……
说实话,作为一个经历过中国互联网大大小小在线存储、云盘服务商的我来说,不是很理解这种行为。
一些不成熟的见解:
所以,我从建站初期就很少使用过第三方存储(云盘、图床等)。尽管前些年用过腾讯云 COS 存储我的音视频(太大了以至于我不想放 Git 仓库),直到后来腾讯云换域名(以及改 HTTPS 访问)导致之前的链接挂掉了之后,我就弃用了。我认为他们对兼容性的考虑甚至比我更加草台班子。
这篇《Understanding SameSite cookies》讲 SameSite 的文章比 Mozilla 官方还详细得多。
为了给博客后台的碎碎念找个能用的 Markdown 编辑✍️器,结果一不小心给人家提了一堆 issues,感觉我有罪:

选此 Tiny-Markdown-Editor(TME) 的原因有几个:
<textarea>。最最最重要的: 它不自带渲染功能!
很奇怪的需求?不奇怪!我的博客程序支持非常多的自定义渲染(基本上没有不兼容标准 Markdown),市面上的各种编辑器无一例外无法和我的博客兼容。而使用 TME 我就完全可以自己渲染。这样就可以把编辑器做得非常小而美。
所以最终选了它,没想到 bugs(主要是 Firefox 上)这么多呢?🥹
编辑器这种复杂的东西我不敢碰,所以都是提 issues,没有 pull-requests。
谁人一天大周末的不出去约妹子还在家写代码给人家提 issue 啊?是我🙃。
Go 语言至今都不允许当全局变量的初始值是函数返回值时,全局变量的类型被定义成带 const 修饰。比如下面这样的语句不被允许:
1 2 |
|
真的很迷,可能 Go 语言认为 const 必须全宇宙级别的不变,不能是程序初始化来的。
这就导致类似 goldmark 里面像下面这种看起来像常量的全局变量,实际上,并不是:
1 2 3 4 |
|
我一不小心写了个 switch-case 语句,包含了重复的 case 值,竟然不报错:
1 2 3 4 5 6 |
|
看着是有那么点儿怪怪的吧?还好我有习惯是会在提交代码前会再 review 一次,不是简单地 git add .。(不点名批评前上司)
而恰好这两个 case 的单测也不冲突(case 里面有条件判断),导致还真就没发现问题。
然后我就跑去看了看语言规范:
Implementation restriction: A compiler may disallow multiple case expressions evaluating to the same constant. For instance, the current compilers disallow duplicate integer, floating point, or string constants in case expressions.
没毛病,make sense。只是……啥时候让已初始化的全局变量可以定义成 const?
和浏览器较量缓存的有效/刷新时机已经很久了,看起来目前取得了比较完美的表现。
目前对一篇文章返回了以下头部字段:
1 2 3 |
|
从上往下:
Last-Modified 只表示文章本身最后的修改时间。
早期的时候我只用有这个,但是明显不够用。比如博客的主题发生了变化时,页面也应该算更新。为了不改变这个字段本身的含义,我使用了 ETag 字段。
ETag 实体标签,另一种用来表示实体有没有修改过的方式,是对 Last-Modified 的补充。
它就是个普通的字符串,内容可以自己写。我上面的格式是:${GitCommit}-${主题修改时间/系统启动时间}-${文章内容修改时间}-${评论更新时间}。
很复杂吧?其中任何一个的更新都会导致页面缓存失效。
Cache-Control 缓存控制。控制缓存保留的时长、刷新策略。
max-age 表示缓存多久算新鲜,不新鲜就算过时了(过时不代表不可用)。
后面的 must-revalidate 表示对于过时的内容,必须重新检查是否还可用(也就是 304 状态码检测)。
不知道我对于我设置的这个值是否完全理解,我的需求是:缓存你随便保存多久,但是总是帮我 revalidate 一下就行。如果不设置为 0,浏览器可能并不会 revalidate。但是设置为 0 我又不知道浏览器会不会不要缓存总是立即删除。
但是目前看起来不会删除,如果 revalidate 后还有效,会继续用。
以上的缓存控制只是针对文章主 HTML 本身(即 Document)。资源文件(Js/Css)我加了一个较短的 max-age。如果换成给资源文件 URL 加上版本号的方式,理论上,可以把缓存有效期设置成永远。
本地开发的过程中,如果只是对主题本身进行了修改(而不是文章),比如样式和字体,此时需要刷新。如果没有 ETag,简单的做法是强制刷新,但是,强制刷新会使字体文件也没必要地全部重新加载、页面还会回到页首!这是非常不能忍的。不强制刷新的话,页面的滚动位置会保持一致。这对于观察样式的细微修改会很舒服的。
最近这火狐浏览器不知道是咋回事,打开一个新连接的速度无端慢到发指,我还找不到原因:

但是 Chrome 和 Safari 没有问题🙂↔️。
Safari 果然是新时代的 IE,果然该死,Mac、iPad、iPhone 三个系统上的浏览器显示效果均不一样,放弃了😇,浪费生命。
测试用例:font-size.html。
操作步骤:用手机 Safari 浏览器打开即可。如果发现左右的字体大小不一样,那么 bugs 复现了!
源代码(方便手机阅读,不出意外的话,字体显示大小也是错乱的):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
在[StackOverflow]上面问了也没人能回答:https://stackoverflow.com/q/78539386/3628322。
把一个属性来回切换居然样式无法还原:

这个问题应该已经修复了:fix ios code font size · movsb/taoblog@5ceae8a。
参考:
最近几个月洗脑次数最多的歌:周慧敏 - 《最愛》
原来,JS 里面是不能直接设置 important 的:
1 2 3 |
|
需要用 setProperty 来设置:
1
|
|
今天没宅家写代码,跟同事、以及同事的朋友,去试驾&提了一辆 #宝马(同事),简单谈谈体验与感受 & 生活流水账。好巧不巧,早上我带了两根香蕉🍌、他带了两个糖油粑粑。于是我们两人相互交换,这是早餐🍳。
开车过去到 4S 店的时候,快要接近正午🕛。先上车做了个简单直观的乘坐体验:3️⃣系空间紧凑,5️⃣系过于宽敞,7️⃣系更加商务风。然后也顺便体验了一下 SUV / X 系列,感觉不是一点点高,我这个小个子下车有点费劲。宝马全系车型的门感觉都有点怪怪的,声音比较硬,开门人要很靠边,不然容易撞到。7️⃣系的后门更离谱,还是个三角▶️区域,专业欺负短手,我差点儿要弯腰了。其实同事早就看好了车型,325长轴曜夜,今天过来只是为了谈价钱。毕竟在现在中国无论做个什么都想摇号的年代,错过一次指标再想要就很难了。如果说还有别的,那就是,让我试驾一下,真的。
谈判的过程得持续有3️⃣个小时那么久。对方是个销冠(1️⃣月份卖了 28 辆,1100 万的销售成绩🤔),然后还名同“林妹妹”。好说歹说,价格是差一点 30 万,只是送的东西还挺多,算得上有诚意了。至少,送了坐椅通风x1(在我要求后,x2)。我这同事不算很懂买车,并没有过问很多细节的东西。男人是不是到最后都只在乎自己爽了?他一开始竟然觉得副驾没有坐椅通风也还行?🙂↔️。我都说,你这正在找对象,深圳夏天这天气,没有坐椅通风对妹子可不友好。谈完很快就先交了订金,确认是订金(可以退),而不是定金(不可以退)。如今这些行业,用“订金”这我有点意外。再三确认,没错。
等了小半个小时才等来试驾🚘,销售直接用同事的身份证登记,都没有问我有没有驾照🪪,就直接很放心地让我去试驾了。对,是很放心地,竟然没有配试驾专员:
当然,上述这些只是我一个只碰过宝马3️⃣系2️⃣5️⃣分钟的人的一些鄙见。去年我自己在纠结😐我自己要买 325 还是 Model Y 的时候,当时也完全拿不定主意。拖了几个月也没下订,最终先给我爸买了一辆比亚迪代步,然后我爸其实当时还没驾照,所以这车是我在开。眼看这马上就快要到一年的驾驶体验来说,我肯定优先选 Model Y 了。电车在市区是真香,0.36元/度的电价让我有一种丢垃圾🗑️都想开车🚗去的想法。目前购车已有🔟个月,里程 2.8 万公里,我感觉还是 affordable/acceptable 的。其实当时也算过,如果我当时真买了宝马3️⃣系,平均来看,每个月的用车成本真的超过 2000. 有点肉痛。同事给我看了他这个月还不到半个月的信用卡帐单,~2500,然后我当着他的面打开了我的招商银行掌上生活,~5000. 他只是说了一句:shit bro,what the fuck……
最后,这家宝马 4S 店比较离谱,不仅迎宾竟然不发水,连午餐🍱也堪比街边 12 元快餐店。我今天穿着一身简单的“红衣”,也挺“出众”了吧?在店门口的几辆车之间兜兜转转了几圈,最终在试驾完拿着下订金✅的文件跑进大门时(因为下起了小雨🌧️),也没能被前台尴尬地问了一句:是来看车的吗?怎么,我拿着你们的“合同”,还不够混个脸熟吗?🤔 当然,这些都不是重点,我不介意。
光明新区看起来确实很新,建筑🏠、公路🛣️都很新,很干净。同事的朋友说光明新区是深圳的未来,我问未来多久到来?他不知道,我说,得有个至少 20 年吧?不管深圳有没有留住我,20 年后应该不是我的时代了。我只想,现在,快快乐乐。未来,未来。
末了,把同事带回了地铁站🚉,因为他预感今天会堵车,他还赶时间回福田陪他妈妈👩一起过母亲节。而我,拉着另外一位同事去南山吃了我最爱吃的一家椰汁🥥鸡,没别的,就算是个仪式感吧?这店家我之前经常跟我的另外一个同事去,每周去一次的程度,但是后来那个人——up and vanished like a fart in the wind——后,我也就不再是常客。所以当我拿出一张已经过期一周的优惠券时,一个陌生的阿姨说,过期了这个不能用不能用。我只是微笑着对阿姨说,好的好的,节日快乐。然后当老板过来的时候,我重复了同样的请求,老板肯定看我面熟,于是给我打了折。
我说我给家庭群发了个红包🧧,我问他你发了吗?他说没有,他 made a phone call 📞。我向来不爱跟家人用电话/语音沟通。因为我真的觉得没什么说的……就不聊聊日常。连人家 99 后的妹子都觉得跟我有代沟了……当然,这和父母之间的沟通不具可比性。我跟我父母相处得也很好,我只是想说,父母都是担心我吃🍽️好、睡💤好没有。我们日常都有在群里简单沟通,我真不习惯打电话 📞。我和很多人不一样。
同事的预感非常正确,从宝安到南山,区区 10 公里路程,我们堵了2️⃣个小时。就像和绝大部分高速公路拥挤一样,当你快速多次地穿梭于车辆之间后会发现,前面简直是畅通无阻、一片光明。什么,光明?我感觉今天的拥堵实属就是对同事买车最大的讽刺。
这是我未曾知道的关于 innerText 和 textContent 的区别:
发现上面第二篇文章页底竟然有详细的直方图访问量统计📊。
好像我的博客也有近几年的详细访问数据,只是没显示出来。
难道又要加 TODO……😭
Go 语言多少有点儿大病,以至于这种东西需要我自己实现,以至于我需要用我三脚猫功夫的模板/泛型才能实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
是谁当初说不需要三元/条件运算符的?我打断他的 🐶 腿。
我真是个天才。
如果评论中带列表(list),那么当前的列表会顺序递进样式:比如第一层用实心圆点儿,第二层用空心圆点儿,第三层用方块儿。这个行为是浏览器默认的。
但是我的评论列表也是用的 <ul>/<ol> 来描述,这种嵌套关系会导致评论内容中的列表表现不一样,所以需要重置列表项的样式(list-style-type)。做法也非常简单:
1 2 3 |
|
刚解决完这个问题后,我突发奇想:Markdown 是支持多种 Markers 符号官方的(就是用哪个符号表示要开始写列表了,比如:- + * . )),那么我为啥不保留原始的这个符号呢,这样更所见即所得?于是我就打开了 list-style-type 一看,竟然示例中第一个就是自定义样式🤣,这下不得不学了……
如我想像中的那样简单,常用的都预置了。但是 1) 2) 这种没有。我用 @at-rule 自己写了一个 marker 生成器:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
然后就是在文档渲染时解析 Markdown 的过程中判断一下 Marker 的类型并增加类名即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
然后就是一些例子🌰:
如愿
不知道是哪天,为了显得行文更正式一点儿,我特地给“妳”添加到了自定义短语里面,输入vq即可代替原本不是二级简码的vqiy。这样就和输入“你(wq)”一样只需要两笔。
然而,我几乎从来没有打过这个字。因为,没有一个她。

在我正在每天使用的电脑的一个很浅的备份目录内找到了7️⃣年前备份的“说说”(就是本碎念功能的前身)。看了下时间点,正好结束在隐藏说说功能前夕。
都是我的过去,为了不丢失,还是给它们“安个身”吧?毕竟也没有别的人这么多年陪着我,只有我的数据。
1 2 3 4 5 6 7 |
|
看起来有些年迈了。
哈哈哈,那时候的“说说”还记录了地点信息的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
那还是我数据库时间用 datetime 的年代,想想当年好像是写了一整个的 PHP 文件来处理日期/时间📅。
评论就显得比较简单,竟然连作者邮箱都不用留的,随意留言,多么简单而又美好的年代:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
这篇关于在二进制位中定位包含 1 的位置的论文1 PDF 《Using de Bruijn Sequences to Index a 1 in a Computer Word》好奇怪,选择的时候一团糊(别说,还挺好看🤩)。导致我 MacOS 的单词快速查看(QuickLookup)功能也彻底废了。

为了在前端发一张带图片的碎碎念,写了一天的代码支持在前端上传⏫文件🥵,兜兜转转又回来了。
看了很多上传文件相关的文章,但是都没有采用(fetch + XMLHttpRequest)。
取而代之,用的是我自己的文件上传方案:通过 WebSocket 把 GRPC Stream 代理(双向拷贝)到前端。
这样的话接口就全部统一了。也可以很方便地增加上传进度展示(目前没有加,因为文件小)。
这好像是一个网上很少被提起的方案。
Go 的内嵌接口不会自动包含被内嵌的对象实现的接口,所以像下面这样的代码不会如预期的方式工作,不知道为什么,踩坑几次了😫:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
现实代码是,我包裹了 http.ResponseWriter 通过重写 WriteHeader 的方式以实现捕捉到状态码:
1 2 3 4 |
|
然后就发现,我自己的 _ResponseWriter 没有实现 Hijacker 了,导致我的 WebSocket 升级失败。
现实是,很多代码都这样写,并且以为不会出问题。比如:
一直没明白为什么不支持。
发现了一个 Go1.20 新加入的功能:https://pkg.go.dev/net/http#NewResponseController 可以完成我要的功能。
1 2 3 4 5 6 7 8 9 10 11 |
|
使用 Rollup 给 js 打包的时候发现它有一个“奇怪”的格式化参数 -f iife。查了一下才知道,像下面这样的代码写法:
1 2 3 |
|
有一个专门的名字:Immediately invoked function expression / 立即调用函数表达式。
这个概念已经存在很久很久了,只是我今天才知道它有正式的名字,被这样缩写。
我好像很久没看书📖了。有点儿恐怖。
W3C 总是能给我整出恶心的东西,为什么把一个 Date 赋值给 <input type="datetime-local" /> 这么难?这tm是给人用的吗?🤔
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
而如果是 Go 的话,只需要下面这样一句就可以了:
1
|
|
五一本来是不打算出去玩儿的,节假日都不喜欢,太堵了,堵人堵车。但这次是个例外,是准备去董的家乡茂名旅游一圈。董的相亲对象竟然非常巧合地在高铁临近出发前错过了,于是一行四人,晚上十点,从深圳出发。
从未在节假日高峰开车出游过,没想到到虎门50公里开了4️⃣个小时。而全程不到500公里的路程居然次日早上11点才到。总共驾驶13个小时,除两次充电分别休息差不多半小时外,全程是我开车,是真的累,堵得累。有史以来连续开车最长的一次,不是炫耀。
早在 2015 年刚创建本博客程序的时候就有了一个简单的“说说”功能,相对于复杂的文章来说,就是用来发表日常吐槽。
可是本来是我技术起步阶段,就做得非常难用。后来就隐藏了这个功能,再后来就删除了这个功能。不知道以前的数据还在不在,如果在的话,抽空同步上来。
现在你看到的这个“碎碎念”,不再是另外一种单独的载体,而就是一篇普通的、没有标题的文章。之所以这样做,有很多好处:
当然,“碎碎念”默认不显示在首页、也不显示其首页评论、也不显示在 RSS 订阅中。
碎碎念不乏有一些比较隐私的内容,我该想一个较好的方案来隐私这部分细节?🤔
这篇 MDN 的 onsise 处理里面提到了一篇 throuttle 和 debounce 的文章,很好。
在这里讨论了博客评论分页如何永久有效的问题:https://github.com/movsb/taoblog/commit/366c66d2841377c2ddf155af7b31e703a6c39ee2。
关于 HTML 在特殊符号是否需要转码的问题。这篇文章写得比如清楚,但是,个人觉得只适合手写的情况。
准备把博客的评论改在后端生成,改了半天发现,我直接把所有评论用 js 返回给前端,前端用 js 渲染出来不就行了吗?妈的,写了半天,浪费时间……🙄
终于把拖了几年的通行密钥给上线到博客了,太难了!
发现 iPad 上的浏览器的 user agent 是桌面电脑的,因为设置里面“请求桌面网站”一直是打开的。但是,桌面版不魂 touch event,iPad 支持。那我要如何区分?
通过 alert('ontouchstart' in window) 可以判断出来。
一句错误的代码:
1
|
|
正确的写法:
1
|
|
火狐的提示比谷歌详细很多。
简写:
1 2 |
|
连发音都是一样的,不能说毫无关系🤔。

不知道啥时候把 blog@twofei.com 这个邮箱发件人的昵称命名成了 “damn” 🥵,找了好一会儿设置才将其改掉了。
给博客加上了自动重新部署的逻辑,通过 GitHub 的 Webhooks。
了解了一下新的 Go 1.22 版本的 ServeMux,已经支持 带 METHOD 的 Handler 了。可以废掉我在 TaoBlog 中写的带 Method 的 ServeMux 了。
每次点击 Obsidian 的 “open today's daily note“ 发现是个新页面时,就恐惧又是新的一天,好像昨天什么也没做一样。
苹果要完,这应该怎么破? #bugOS
在火狐的附加组件官方提交了 Vim 模拟扩展, #第一次 做 WebExtension。并且上架成功了:https://blog.twofei.com/900/。
发现 node.prop 和 node.getAttribute('prop') 还是不一样。比如当 <img src="照片.jpg" /> 时,前者拿到的是完整路径,后者拿到的是原始值。见:https://stackoverflow.com/a/78312419/3628322。
非常漂亮三角梅!













去了甘坑古镇和东西涌。甘坑非常漂亮,容易出图!适合带妹子去!我的妹子在哪里呢!
看到很多人推荐用 LanDrop 替代 AirDrop,…… 没想到第一次就这么难。☹️

在停车月租费到期的最后一天交了月费,前台说已经不能给非楼栋人员出租了。
阳元石,不错。
阴元石,是个啥?









有两个景点:1️⃣ 阳元山风景区 2️⃣ 长老峰风景区。
两个景点有独立的入口,门票总共 100,一次性购买。
阳元山风景区内,阳元山环绕有两条山道,应该从左边上,右边下。长老峰风景区包含:阴元石、一线天。从长老峰进去后首先达阴元石,然后返程路上可以选择往上去一线天。也可以不去,最终都是到达长老峰出口。
停车可以在东北门处,也可以从大门进去(非内部人员收费 15 元)。
景区船票:40 停车费用:15+2.5 电费油费:45+38+37+60 高速费用:196+178
可能是由于一天的奔波(头天晚上没睡好觉、早上六点出发、开了一上午车、爬了一下午山),晚上(次日凌晨)开车回家的时候竟然有点恍惚😶🌫️(那感觉像前面的车有点重叠、又没有在动的样子),降了速度,听了几首嗨歌(Waking in the Sum、半糖🍬主义、龙战骑士等)才终于回过神来。害怕,开车大半年来 #第一次 出现这种现象。
把大疆遥控器里面的内存卡拷贝了 YouTube 视频后插在比亚迪的车上听了一天歌,晚上回家的时候,竟然读不出来了,然后再插回遥控器,提示“需要格式化”,拔出来再插一次,又不提示了,但是在通知栏里面找不到“浏览”的选项。回家后插在电脑上,完全可以正常使用🙄…… 等有空再插到车机上试试,垃圾比亚迪。
突然发现 MacOS 上的 Firefox 进入全屏也会新开桌面了,以前是不会的。这就导致:
在 about:config 里面找到了配置:full-screen-api.macos-native-full-screen,改成 false 即可。
在博客上实现了一个简单的 Vim 按键模拟,比想像之中的要简单。
看了小米汽车的发布会,如果早一年,我就买了。现在在想能不能把比亚迪秦置换成小米汽车。
发现火狐的右键截图会自动带上背景色(即:虽为 PNG,但不透明),而如果在 Inspector 里面 复制 为 Data-URL,然后在浏览器里面打开可得到透明背景的 PNG。此时就可以按需根据自己网页的调整图片背景色。突然发现 PNG 的这个优点还挺好的!
给姐姐发了一个 理想 Mega 测试过程中撞飞假人的视频,结果被告知“谢谢,下次这种不用发我了😡”。哎,如果不去了解、认识到一个东西的缺点与危害,何谈避免、主动保全自己的人身安全?难道这也是男人与女人的区别吗?
做了一下 MBTI 的类型测试,结果表明我是 INTP 类型。适合做科学家,渴求知识。
然而我发现我好像并没有很渴求,对于一些听过很多遍的词都没有去了解过,比如“唯物主义”,虽然从第一次听说以后就大概知道是什么意思,但是从未真正了解过。
原文:https://x.com/skywind3000/status/1771263075183632726
问个 golang 的低级问题,所有资料都在说一个 slice 包含三个元素:指针/长度/容量,占 24 字节。那么对关联的底层 array 的引用它不保存么?不保存的话,不怕底层 array 被 gc 给回收掉么?既然第一个元素指针可能指向某个数组的中间位置,并不能得到 array 头部的位置,所以也并不能当作数组的引用:





















printf/log 库成文博客的文章是用标签来推荐相关文章的,而标签只不过是作者从文章内容中抽取的几个主旨/高频词,如果能用 AI 来自动分词并可能地提取出关键词/含义。那是不是文章就不用再手动分类了?🤔
来源:https://x.com/realhashbreaker/status/1770161965006008570
TEXTCOLLBYfGiJUETHQ4hAcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnakTEXTCOLLBYfGiJUETHQ4hEcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak结果均为:faad49866e9498fc1719f5289e7a0269。
因为在小红书上发了一篇帖子MacBook 电池健康严重不足! 后有较多的反馈同样的问题并建议检查一下,于是预约了白天的天才吧。
在《近藤浩治 - 维基百科,自由的百科全书》的页面上发现 cover 被翻译为“翻唱”,终于知道了这个词的翻译。然后顺便看了一下苹果字典,确实有“翻唱”之意。 #英语
好!

视频号有个行车视频想评价一下,但是发现无论如何都找不到视频的外部分享链接🔗,于是放弃。 (见微信今日收藏,标签:驾车)。有两点思考:
把 MacOS 上的 7-zip 从用了多年的 p7zip(社区、非官方) 换成了 sevenzip(官方)。前者看起来有几年没有更新了。命令名字从 7z/7za 换成了 7zz。结果还是无法解压下载的电影沙丘2🥹(zipx,Rar5),白忙活。
《如何和女性相处》
我一直以为是导航出错了,主要是前面排队几十米,也不知道大家在等什么……


把车开到了比亚迪汽车王朝网(深圳粤迪4S店) 来维修制动时的异响问题,吃完午饭回来看,竟然发现车前身左侧被刮擦了,很像是在墙面上刮的,不像是车刮的,所以放弃了找比亚迪负责。但是,我最近没有在哪里有刮擦啊!😭
周处除三害🤔
Mac 迅雷会在任务目录下建立一些隐藏文件,其中就包含这个 .magent 文件。是的,是 magent 不是 magnet。 #草台班子

再看了一遍 #电影 “我的少女时代”(为了找那句《周处除三害》台词),在看到徐太宇给林真心表白的那句西班牙语“Aqui te amo(我爱你)”(1:59:56)时,竟然莫名其妙地想到了小学五年级(应该没记错?)时, 龙婉妮跟我表白时说的那句“I love you”了,虽然当时我并不知道这句英语是什么意思、也学了好久才记住。哎~,女性成熟得真早啊。
总结:
行李已打包好,路程 1500 公里。

躺着真舒服。我好后悔自己买了个不能躺的车。




奇怪,今天竟然也是情人节。

有点不敢相信这是我的 iPhone XS Max(2018)年的手机拍出来的视频,这可是夜间啊,好清楚!
记得全屏看。
突然发现我的邮箱 chkesp@gmail.com 竟然扯上了 CH(32V003) 和 ESP(32) 哈哈哈哈😄。
深圳家里的 NUC 和 代理 都连不上了,感觉是失联。但是竟然手机上的华硕路由器竟然可以远程(不在同一网络)访问到路由器,感觉救了我一命!但是华硕不显示 IPv6 地址,最终通过找到 IPv6 前缀➕之前的 IPv6 后缀拼接成了 NUC 的 IPv6 地址,然后在路由器 Web UI 页面上(App 菜单里面有此选项)将其添加到了防火墙允许名单中,最终得以通过 IPv6 访问到 NUC。
本来这里就是个陡坡,开车上来的时候视野很差,一小小心就会剐到轮胎或前脸。









放在嘴里的时候,有一种噼里啪啦的响声,好刺激。

准备明天去北京,需要把 Twitter、Telegram、YouTube 等先卸载了吗? 🥵🥵🥵 怕怕。

如何记住南桥与北桥?速度快的在上面,上面就是北方。
noteworthy
我才知道 "同比" 的英语是 "year-on-year","环比" 的英语是 "month-on-month" ... 有时候,我确实不太懂汉语,不知道为什么就这么叫了,只能去强行记住一个词的 "概念",直到我看到英语,卧槽怎么这么简单明了?
使用了最质朴、是不容易坏的方案:继电器➕️红外遥控。





#VsCode 你不要这么离谱。。。



🤔🤔🤔 #ChatGPT

看到这个想起个问题:在 C/C++ 里面,有哪个函数能从字符串里面严格 parse 出整数出来?
严格是指:不能有多余的前缀/后缀空格、不相关字符、不能解析就报错而不是返回 0。
什么 atoi、stol、strtoll 之类的就不提了。from_chars?咋能不能简单点?
🥵🥵🥵 我是谁,我在哪里?

去年2月份换的电脑,92% 已经好几个月了🙃

一眼阳痿


我大量使用 #Raycast 的这个词典功能,但是它经常把查词(Define word)功能远远地放在了我找不到的地方,是不是我使用的姿势不对?🤔 它为什么没有学习到我的使用习惯?@raycastapp


昨天给 #esp32 设备写 provisioning 代码的时候,怎么感觉这前后端一起写这么闹心?一加个接口就要写界面、发请求处理。一堆的 Vanilla JS 写得我🥵。一气之下150行代码写了个简单的“(假)终端模拟器”,另外再 150 行写了个类 Shell 解释执行器🥵,看起来真是有模有样。




虽然大家还是没习惯写 const,但是仍然不影响我不知道传进去的这个 pointer 是不是会被长期持有。😣

自从上次顺丰app主动问我快递员有没有送货上门、我勾选了“否”以后,今天顺丰打了个ai电话问我是要送货上门、放代收点,…… 于是我选了“上门”,刚刚,真上门了。好难得,终于不用跑楼下了😇
第一次发现居然有人写 do while 不加花括号
1 2 3 |
|
时间:2023-12-17(周日) → 2023-12-24(周六) 历时:7 天人数:2 人地点: #深圳 #阳朔 #张家界 #长沙 #赣州 #揭阳 #武功山 类型: #自驾游 #穷游 #特种兵
| 日期📅 | 项目 | 费用 |
|---|---|---|
| 第1️⃣天 | 租车 | 2714 |
| 桂林米粉 | 33 | |
| 糯米饭 | 12 | |
| 加油 | 277 | |
| 竹筏 | 320 | |
| 电摩托 | 30 | |
| 停车费 | 15 | |
| 千古情门票 | 320 | |
| 停车费 | 15 | |
| 啤酒鱼 | 83+15 | |
| 酒店 | 60 | |
| 第2️⃣天 | 桂林米粉 | 24 |
| 租车➕手套 | 35 | |
| 牛记秧塘牛八宝 | 87 | |
| 停车费 | 5 | |
| 侗乡缘 | 85 | |
| 加油 | 295 | |
| 民宿 | 74 | |
| 第3️⃣天 | 张家界国家森林公园 | 598 |
| 蜜雪冰城 | 20 | |
| 零食 | 40 | |
| 导游 | 100 | |
| 晚餐 | 166 | |
| 酒店 | 72 | |
| 第4️⃣天 | 早饭 | 26 |
| 鲁珍牛肉面 | 26 | |
| 橘子🍊 | 11 | |
| 卤菜 | 40 | |
| 停车费 | 10 | |
| 加油 | 284 | |
| 停车费 | 10 | |
| 住宿 | 91 | |
| 第5️⃣天 | 水果 | 52 |
| 停车费 | 25 | |
| 马蹄 | 15 | |
| 臭豆腐 | 10 | |
| 泳裤🩳 | 20 | |
| 温泉 | 300 | |
| 晚餐 | 65 | |
| 住宿 | 76 | |
| 第6️⃣天 | 面包 | 14 |
| 肯德基 | 26 | |
| 加油 | 248 | |
| 橘子🍊 | 25 | |
| 人民大排档 | 100 | |
| 烤地瓜🍠 | 14 | |
| 停车费 | 12 | |
| 住宿 | 80 | |
| 第7️⃣天 | 三及第 | 18 |
| 花萼楼 | 20 | |
| 加油 | 296 | |
| 猪脚饭 | 70 | |
| 加油 | 221 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
| 日期📅 | 起点 | 终点 | 里程(公里) | 耗时(小时) |
|---|---|---|---|---|
| 第1️⃣天 | 深圳 | 阳朔 | 500 | 6 |
| 第2️⃣、3️⃣天 | 阳朔 | 张家界 | 700 | 8 |
| 第4️⃣天 | 张家界 | 长沙 | 300 | 4 |
| 第5️⃣天 | 长沙 | 武功山 |
| 地点 | 项目 | 票价 | 开放时间 |
|---|---|---|---|
| 工农桥 | 风景 | 免费 | |
| 十里画廊 | 风景 | 免费 | 全天 |
| 遇龙河 | 竹筏、山水 | ¥160 | 07:00-17:00 |
| 兴坪古镇 | 游玩 | 免费 | 全天 |
| 西街 | 小吃、酒吧街 | 免费 | 全天 |
| 阳朔之夜 | 风情 | ¥70 | 16:00-23:00 |
| 桂林千古情 |
| 名字 | 价格 | 推荐店铺 |
|---|---|---|
| 桂林米粉 | 2️⃣两6️⃣元 | 老东江米粉 |
| 🐮牛八宝 | 一锅涮,100 | |
| 螺蛳粉 |
| 地点 | 项目 | 票价 | 开放时间 |
|---|---|---|---|
| 天门山国家森林公园 | 275 | ||
| 张家界国家森林公园 | 225 | ||
| 凤凰古城 | 免费 |
进山线路分3️⃣种:
项目:
| 地点 | 项目 | 票价 | 开放时间 |
|---|---|---|---|
| 五一广场 | 免费 | ||
| 黄兴步行街 | 免费 | ||
| 岳麓山 | 免费 | ||
| 橘子洲 | 免费 | ||
| 湖南省博物馆 | 免费 |
| 名字 |
|---|
| 茶颜悦色 |
| 臭豆腐 |
| 地点 | 项目 | 票价 | 开放时间 |
|---|---|---|---|
| 江南宋城 | 免费 | ||
| 古浮桥 | 免费 | ||
| 郁孤台 | 免费 |
我也一直深受这个问题困扰,今天突发奇想……这也行?😝😝😝

RT @golang: Try Google's new Gemini model in your Go code using the Generative AI Go SDK:
📂 Docs:
code <目录>。在 -Os 优化的情况下,GCC 的整数除法竟然占用了 1.5KB,把在 2023 年还没有除法指令的 #CH32V003 的 FLASH 坑掉了 1/10 🥵 于是手撸了一个,48字节完成✅ 什么时候干掉 printf?


不太聪明的样子,给你个表情自己体会吧 < 0 ^ 0 >


竟然在 C++ 标准库里面发现了 doxygen 注释,看来我选择它没错了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
第1️⃣次在自己的代码中使用“用户自定义字面值”,太爽了: https://github.com/movsb/libstuff/commit/5e652e78f1ac18c2d78469f346d7acf22de0ce45。
__divdi3 占用了 1.5KB 的空间,可是一共才 16KB 啊😭这邮箱地址……真的难绷 😅😅😅,建议换成 kfpt@byd.com。

相同代码用 SDCC 和 GCC 编译出来的二进制大小差太多,于是我就看看差在哪里了,无意发现我图1的代码编译出来只剩那么点汇编了,才发现逻辑符号写错了😅 然后就问了 ChatGPT 如何解决,结果 GCC 8 和 GCC 12 都不行,Clang 却成功警告了 😶🌫️(卒



啊,我错了…… -Wall 并不包含 -Wlogical-op 🫣🫣🫣

Are you right?

xpack-riscv-none-embed-gcc-8.2.0 和 xpack-riscv-none-elf-gcc-12.2.0-3 是同一个东西,只是前者是为了保持跟 SiFive 的版本一样,后来两者都 Deprecated 了。WCH 真垃圾。🐶🅱️了一下,发现还 does work(当时竟然还没有 go mod) 🤪。但是缺少音乐的世界不完美,写到第2️⃣张图的时候,正是我入职上一份工作前半个🈷️🥵,缺少了最动听的部分。


const int 在 C 中并不是一个常量表达式,而是一个只读变量。因此,尽管 const int 意味着这个变量是只读的,但它并不是一个常量表达式,不能用作数组的长度。


<object data=name.svg
<iframe src=""></iframe>
<svg><use xlink:href=""></use></svg>
看得出来国外的 App 都不是太喜欢像国内一样用内置浏览器打开自家网页并保持登录状态的做法。然而苹果这样打开一个像极了原生 Music 的网页的意义何在?

如何告诉 VS @code 不要这么给我省内存,我发现一天不关闭重启一下 vscode,就特别卡,鼠标点击都能 1 秒钟才能反应过来那种。

anhbk@qq.com 作为 Firefox 的登录邮箱已经超过十年了,今天换成了 chkesp@gmail.com。真就是……主板“插在”显卡上🥹
挺好看的😋 🌈🌈🌈

/etc/paths 这个文件…… StackOverflow。以前觉得嘉立创打样挺快的,现在呢?至少至少2️⃣天的打板 ➕ 至少1️⃣天的顺丰,实在太慢了。还不如用洞洞板飞线,可无奈多数元件是贴片😮💨。
RT @jexia_: 🤯 Introducing http://esm.sh run, a 1KB script allows you to write JSX/TSX in HTML without build! 😋
Post: https://t.c…
🤔
卸载旧版本 Homebrew: #成文
curl -LO https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh./uninstall.sh --path /usr/localbrew 的 bash-completion #成文
安装过程:
安装 bash-completion 时会提示:
Add the following line to your ~/.bash_profile:
[[ -r "/opt/homebrew/etc/profile.d/bash_completion.sh" ]] && . "/opt/homebrew/etc/profile.d/bash_completion.sh"
这是一个软链接,指向:Cellar/bash-completion@2/2.11/etc/profile.d/bash_completion.sh;
上述文件会 source:/opt/homebrew/Cellar/bash-completion@2/2.11/share/bash-completion/bash_completion 文件;
被 source 的这个文件来自 bash-completion 官方,但是有修改,会执行这个目录下的所有文件:compat_dir=${BASH_COMPLETION_COMPAT_DIR:-/opt/homebrew/etc/bash_completion.d}。
这个目录里面就是 brew 当前安装的包的 completion 文件;
Brew 的 completion 文件看起来是自己写的:Formula/g/git.rb#L136-L137。不知道其它包管理器(像是 pkgx)怎么处理这个问题?并找到这些文件来自哪里。
经再次考虑,把老家的无线开关设备方案换成了 2.4G 方案。
看了这篇碱性电池测试 | 知名品牌的电池真的比较好吗?碱性电池的测试,电池🔋居然可以支持 500mA 的大电流。好强啊,比钮扣电池的 0.x mA 强太多了。看来我的无线按钮项目要换成电池了。
串口通信协议是一种在串行通信中用于发送和接收数据的规则和约定。串口通信协议定义了数据如何被组织、传输和解释。在串口通信中,常见的协议包括以下几种:
UART (Universal Asynchronous Receiver/Transmitter): UART是一种最基本的串口通信协议,它定义了数据位、停止位、奇偶校验等基本参数,但没有固定的数据帧结构。它通常是异步的、无差错检测的。
RS-232: RS-232是一种标准化的串行通信接口协议,定义了数据格式、传输速率、电平等规范。它通常用于连接计算机与外围设备,例如串口打印机、调制解调器等。
RS-485: RS-485是一种用于工业环境的串行通信协议,支持多点通信和差分信号传输。它可以支持长距离通信,并具有抗干扰能力。
SPI (Serial Peripheral Interface): SPI是一种用于片上系统(SoC)中外围设备通信的同步串行通信协议。它具有高速、全双工、点对点或多点传输等特点。
I2C (Inter-Integrated Circuit): I2C是一种用于短距离数字通信的串行通信协议。它允许多个设备通过同一条总线进行通信,并具有地址分配和数据传输的能力。
CAN (Controller Area Network): CAN是一种用于车辆和工业领域的串行通信协议。它支持多个设备连接,并具有高度的实时性和可靠性。
每种协议都有其特定的应用场景和优势,选择合适的协议取决于具体的通信需求,如距离、速率、设备支持等。
Be patient, be Positive.

尝试了一下安装 stm32 的 Stm32CubeIDE,这年头居然还在用 Eclipse,过于老气横秋了。
新名词:Sub-GHz: "Sub-GHz"是指低于1GHz的频率范围。在无线通信领域,Sub-GHz通常指的是低于1GHz的射频频段。这个频段包括从300MHz到1000MHz之间的范围,也可以是更窄的频率范围,如433MHz、868MHz或915MHz等特定的频率。
Sub-GHz频段在无线通信中具有一些优点,例如:
因此,在许多无线通信应用中,Sub-GHz频段常用于低功耗、长距离传输和穿透障碍物的需求,例如物联网(IoT)、传感器网络、远程监控等。
GONOPROXY="github.com" 搞定,妈的,真是气人。非要搞什么 cache。突然发现维斯百科的 Tables 描述方式好像还不错,能用很简洁的方式描述出比较复杂/漂亮的表格。于是今天一时兴起不足500行代码递归🔄下降⬇️了一个 parser,准备集成到现在使用的 Markdown 引擎中🤔。(例子来自官方:



woc,震惊🤯🤯 当年觉得 VB6 调用 Win32 SDK 太麻烦,玩了一年就放弃了。你们太强了。。。
第一眼竟然看成了是乔布斯的推特😅…… 不过,不管是“乔布斯”还是“工作”,这种场合都挺微妙的。
竟然离职了 🥲🥲🥲



mind,是一个将 yaml 转换成表格的程序,类似于思维导图。我在想能不能把它改成一个描述表格如何生成的语言?用于方便地在 Markdown 里面嵌入复杂的表格。我又在想创造一门形式语言了?😄😄😄都自我审查到这里来了 🥵,赶紧让苹果改啊🤪。


刚刚 #vscode 持续崩溃,才发现是 MacOS 空间满了,但是系统没有任何提示。等我发现并清理部分资源后再打开 vscode,发现其 profiles 全部丢了,最近项目列表清空了😭。都是些什么草台班子啊。



tar Cxzvf opt/cni/bin/ cni-plugins-linux-amd64-v1.3.0.tgz。curl curl / curl google 直接访问,但是又找不到是谁解析的。resolv.conf 只有 nameserver。还记得你何时加入 X 吗?我知道!#我的X周年纪念日

看着很精致🥺 最近正好做了一些智能家居设备需要盒子(我警告⚠️你们…),年初又学了画模型,看看这次双十一能不能买一个吧🥵🥵🥵
自制的基于 ESP32-C3 的板子在连接 WiFi 时始终会重启,没找到原因,除了板子上没有接电容外,跟官方推荐的应用电路没有区别。苦恼😖,我好菜🥬。
电源降压芯片 AMS1117,ESP32 官方用的是 SGM2212,看起来电流比较稳定?🤔 买了几个试试,也不知道是不是正品。另外,它也有电压可调版本,需要借助可调电阻(变阻器/数字电位器)。MCP40D18 看起来很不错(并且是 I2C接口),但是淘宝竟然没有卖的 😳,不应该啊(因为 17/19 都有卖)。
ESP32 官方利用 DTR/RTS 来自动复位以编程 的方式非常巧妙,见 ESP32-C3-DevKitM-1 原理图。必须盗走!

太真实了……🥵
PoE 供电:关于PoE供电,你想知道的这里都有

笑死,点开“最近更新”,看到“已停止更新”…… 这是要走商业化路线了?🤔


这两天这网是明显地变慢了🤔,发生什么事了。。。


Type-A 可以给 Type-C 供电,但是 Type-C 不可以给 Type-C 供电(VBUS 没电)。我一定是第一次画 Type-C 板子。😧😧😧
这个 TLD 不错,所有的动名词/现在分词都可以拿来用了。🤣
书还不错,语法是真的非常全面。

但是奇怪的是,多抓鱼竟然根本不回收此书。
SFRs in the 8051 architecture cannot be accessed through indirect addressing, so pointers are of no use.
| 名称 | 成本 | 功耗 | 指向性(需要对准设备) | 一个遥控器控制多个设备 | 远程控制 | 智能家居 |
|---|---|---|---|---|---|---|
| 红外遥控器 | ⭐️ | ⭐️ | 是 | 是 | 否(室内) | 否 |
| 2.4GHz | ⭐️⭐️ | ⭐️⭐️ | 否 | 否(但是可以实现) | 是(百米内) | 否(但是可以实现) |
| 手机 + WiFi | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️ | 否 | 是 | 是(不限距离) | 是 |
extern int _print_format (pfn_outputchar pfn, void* pvoid, const char *format, va_list ap);。这样的话,内部就不用定义不知道需要多大的 buffer。交给用户来输出 。特别适用于在单片机上使用串口输出数据的典型使用。什么叫人类之光啊!太好使了。瞬间有点儿喜欢这个工具了。看上来某国产便宜 2.4GHz SoC,但是光买个烧录器需要 300 多块钱。劝退 😅

我一直有个疑问:微博的话题是包含在微博正文内容中的,“不显示话题内容而显示搜索词结果”难道不该是完全相同的结果吗?🤔
Chile(智利) 的发音是 BrE ˈtʃɪli, AmE ˈtʃɪli,我一直以为后面的 le 发音为 l。懵了…… 看来遇到陌生的知识真的还能妄图自己能猜对,还是需要当成新知识了解它、认识它。 #TIL 。
小得有点可爱。喜欢一切小而美的东西。
最主要的是,功能还很齐全,各种工作模式都有。
必须拆开来看一看:

我爸其实是个电工,年轻是弱电,现在是强电。
所以家里面从小就积累了很多各种破烂电视,但是他完全舍不得扔。留着也看不出有任何用处,还总是被我妈妈骂。
家里也一直没有通网,所以他总是翻出他的各种“锅盖”(卫星电视接收器),在老式的彩电上反复折腾,每年都没有轻轻松松看个电视。
这个电视是我在没告诉他的情况下买的。而且买的过程非常曲折:本来是在武胜看上了一款小米的电视的,我跟老板说我现在就要货,老板坚决不给,说不能自己拖运,即便是我自己个人承担一切后果的前提下。后来我就明白了,老板并不是不给货,是他根本没有货。他自己要明天去重庆拉回来。
后来去了长虹,是两位看起来很有经验的中年人介绍的,交流起来非常轻松。而小米那家店,是一个乳袖未干的小姑娘,本来我就是突击过去买电视的,我自己也不太了解,然后就一直问她电视有什么功能……她基本上答不上来。最终,我摔门就走出了小米。


网易云音乐车载音乐还要单独开 VIP 🥵🥵
怀念 CarPlay😳



刚回家,超级胆小,被欺负:


国庆节,从我姐那里得知朴树要去遂宁演出,连夜抢票。

有鉴于节假日航班✈️一票难求,建议各机场增购10倍的飞机。平常没用的时候可以把闲置租出去或者机长🧑✈️自己去接活。🤔
终于想起把被盗多年的百度地图头像给换掉了。

忘记了 mysql 的版本,导致用 docker-compose 启动的时候报各种错误:
db_1 | 2023-09-20T21:06:25.674785Z 0 [Warning] The plugin 'unix_socket' used to authenticate user 'root'@'localhost' is not loaded. Nobody can currently login using this account.
db_1 | 2023-09-20T21:06:25.675092Z 0 [Warning] System table 'time_zone_leap_second' is expected to be transactional.
db_1 | 2023-09-20T21:06:25.675531Z 0 [ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
db_1 | 2023-09-20T21:06:25.675552Z 0 [ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
db_1 | 2023-09-20T21:06:25.675572Z 0 [ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
db_1 | 2023-09-20T21:06:25.677161Z 0 [ERROR] Incorrect definition of table mysql.db: expected column 'User' at position 2 to have type char(32), found type char(80).
db_1 | 2023-09-20T21:06:25.677173Z 0 [ERROR] mysql.user has no `Event_priv` column at position 28
db_1 | 2023-09-20T21:06:25.677256Z 0 [ERROR] Incorrect definition of table mysql.event: expected column 'definer' at position 3 to have type char(77), found type char(141).
db_1 | 2023-09-20T21:06:25.677282Z 0 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT', ...
虽然 MySQL 还是启动成功了,但是 mysqldump 不行:
root@d587871a3053:/# mysqldump -h 127.0.0.1 shirley
-- MySQL dump 10.13 Distrib 5.7.9, for Linux (x86_64)
--
-- Host: 127.0.0.1 Database: shirley
-- ------------------------------------------------------
-- Server version 5.7.9
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Native table 'performance_schema'.'session_variables' has the wrong structure (1682)
然后尝试用 mysql(cli)直接导出,不行,没有办法,只能查看 select 的结果。
然后就是用 adminer 登录后台:发现原来的数据库没有设置密码…… Adminer 4.6.3 及以后不允许……
换了 Adminer 4.6.2 后成功进入,并导出成功
可以删除数据文件了。
长记性啊!以后可只能保存 sql 文件了,不要再保存不知道版本的 mysql 数据文件夹。
ESP32-CAM 拿 multipart 数据放 来显示视频 是什么我没见过的高级玩法?🤔️







驱车几十公里专程跑过来吃,比较偏远的小镇上。







晚上找了很久找不到吃的,然后就开车来到一家小镇上,竟然物色到一家特别对口的铜锅牛肉。物美价廉,五个人好像才 ¥100 多块。


这玩意儿有一点让我特别震惊,就是那个手持射钉枪,直接把很粗一根钢打进水泥墙里。杀伤力也太强了……








老板这开的可是“以太房”啊!

别碰,真的。

各种老式黑白电视也有。但是恐怕只有拍电影需要这种复古的东西了吧?

最后高低来个八抬大骄。

重庆这个单轨轻轨(地铁)看着很特别,很“危险”的感觉。其它城市没有这样的设计。
热闹的打卡点:穿楼!
打死不会再回去当农民,起早贪黑,毫无出路可言。


别慌,我马上就滚。







这才是重庆火锅!


原来现在已经这样荒废了。



租电车是真的贵,好像花了 ¥600 块,但是由于是第一次开电车,胆子小的原因,并没有尝试智能驾驶,连单跳板也没有。算是浪费了一把。




然后第二天就去新光天地看了特斯拉:
屏蔽➕静音后再次进入依然能看到,什么狗屁膏药马斯克啊

你果就是解决不了电池电量🪫偷跑的问题。







最近在云南跟妈妈一起看《三分野》,里面的插曲《心里的流星》非常好听,在 Apple Music上一搜,居然是周惠唱的,这声音居然这么多年未变 。依然这么好听 。
一直挺喜欢听周惠的歌的,但是我这种害怕去发现新歌、又害怕错过好听的歌曲的应该如何是好?
逛维斯百科资料发现周惠的英文名竟然叫 Where Chou,怎么会有人用 Where 作名字啊?🥵她的小名 惠儿?
GitHub 在 block s.b. 的时候可以填 optional note,这就很 git 的。(不然我会忘了我为什么会这样做)




可是他谈了好久,我都没有机会碰一下琴。

有意思,这是被 syn flood / DDoS 攻击了?

#rarbg 近 300 万部,近 6000 T。🤔 空间不够用了。️

#iOS17 🤔️


ChatGPT 被强制登出了,看来换地区也不行了。到底是怎么检测到我不在美国的(地区设置和登录谷歌账号都是美国)?学多邻国用时区?时区改了我可没法适应啊。😡😡😡
“此人已被永久禁言。”

醒醒!起来换证书📄了!

舒服了。。

GoDaddy 居然有真人在线客服💁的。。。

Docker(包括 Compose)默认的端口居然默认是暴露在 0.0.0.0 上面的,真是离谱。(我真的没见过多少人会写 IP 地址的,基本上只会写 端口:端口)。这不一下子把服务器的端口直接暴露在公网上了。😡 这么多年 Docker 白用了。


xxx.home.twofei.com 可以全部去掉,保留 *.home.twofei.com 即可。

换完电池,顺便去莲花山公园溜达了一圈,灯光秀还不错。




把手机换了一块电池🪫。


实际上,说是原装,但是质量也很差。一年多一点点就掉到了 86%.
【⌘ Cmd】 + 【⇥ Tab】 对于“最小化(cmd+m)”的窗口无效,但是按一下 【⌥ Option】 就行了🤔️#bugOS
https://apple.stackexchange.com/a/112358/330618

接近 10 年前的问题,看来“不是问题”。。。😂
RT @PR0GRAMMERHUM0R: Companies: We can't find any good candidates!!! Also companies: https://www.reddit.com/r/programmerhumor/comments/13re491

来华强北给手机换了块电池,160,换的电芯。不知道好用不。

在市民中心看到了带灯带的风筝🪁

搬到这边来几年了,终于吃了一次“王麻麻小龙虾”。

为了删除已经推送到 GitHub 的大文件,必须把仓库删除再重建…………🥵 不可思议。

创建了两台虚拟机:alpine-host(192.168.1.217),alpine-client(192.168.1.88)。
设置 client 的 gateway 为 host:
1 2 3 4 5 6 7 |
|
通过 ssredir_tproxy.sh 成功从 client 请求 Google。
iptables 规则里面有两条没看懂,TPROXY 没定义,不知道跳哪里去了。
hand over the marked package to TPROXY for processing
1 2 |
|
查到了,竟然是 Linux 官方标准模块…… Transparent proxy support。
备份电影到 nuc 时,先备份创建时间(rsync 的 -N 参数),结果发现 nuc 上面的 rsync 版本太低(2018 年的)不支持。真是奇怪🤔️,ext4 这类文件系统是有什么奇怪的理由默认不开启保存文件的创建时间?
那我手贱升级一下系统版本吧,希望不要“滚挂”!😡。论什么是动力啊!
花了一个多个小时,更新成功。重新安装 Docker 后把我的防火墙默认 POLICY 又改成 DROP 了。花了好一阵才解决。
一不小心没注意到用完了 VPS 的流量,直接导致彻底失联了。。。村里终于通网了。。。
世事无常,R.I.P.

2021 年 7 月 30 号,全球互联网架构大佬(GAIC),主办方:msup。
最近家里代理服务器很不稳定,不知道是不是有啥大事?奇怪的是我发现直接打开服务器上的网站却秒开,是不是我 443 端口的 nginx/tls 特征伪装被识破了?🤔️
于是我用Go WebSocket写了个代理编译成WASM直接跑在无头浏览器Chrome里面,目前看来很稳定。️🤔
最成功的“伪装”是:我真真正正是个浏览器?




谁时候 USB Type-C 才能统一世界啊?
写了个油猴脚本,自动下载点过赞的油管音乐视频🤔️不怕本地没音乐了,实在无聊用 ffplay 无打扰播放一下也行。😂



为什么要把该开发者解决的事情丢用用户去解决。有本事不写 Cookie?




结果因为不好搭电的原因,一不小心把蓝牙接收器烧了。可惜了我 N 年前花了 ¥70 块买的破绿联,为什么这玩意儿能这么贵。
等等,这音箱居然用的 TDA2050!
在把 2015 年花 299 买的漫步者音箱拆开加装个蓝牙模块改成无线时发现,这货居然用的是 TDA2030/2050 😅 这可是在学校那时用的玩意儿啊。。。


这都什么年代了,C++ 从字符串里面解析出一个数值居然还是非常复杂:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|


我给加了个 HomeKit 协议支持,现在可以在手机上随时控制开关与查看状态了😅 太能折腾。。。

板子打好了,花了点儿时间焊上去,正常工作!🥰



能正常烧录程度,一切正常。
分立元件用起来太难受了,下次就换贴片元件。


我好菜。
跟着别人的视频初学 3D 建模,人家 1⃣ 个小时的视频,我边看边做花了 5⃣️ 个小时 🥵🥵🥵 可太难了。
然而还不太像……

看截面像一点儿~

差不多七年没来过了吧,感觉一点都没有变化。

不同的是,现在不太敢放开双手骑行了。
我也想要一个谷歌面试机会🥹🥹🥹
(这款 ESP32 没有硬件 PWM,效果不是很好。)
谷歌 Chrome 浏览器断网时的恐龙(dino)游戏。
在家里划水两个月,捡起了8⃣️年前的爱好……
闲来没事儿,还是画了块 PCB。应该有8⃣️年没画了吧?非电子专业,接受各种批评……🤡🤡🤡


configTICK_RATE_HZ/CONFIG_FREERTOS_HZ 是用来配置内核任务调度的频率的,配置的范围是 ,那么每次 tick 的最短时间就是 (也可以说成是灵敏度?),所以无法做到像不使用实时操作系统的那种单片机方式来精确 sleep ,这其实挺难受的。加了一句 #Stylish, CSS。看数据手册瞬间清爽了🥹



Jellyfin 给我的电影(私有短片)自动匹配的封面(注意看数字),简直笑死我了…… 😅

自动温度调控加好了。。。
用 esp8266 写了个 http 请求,每分钟向服务器查询是否需要开启风扇,而服务器通过 hddtemp 获取实时硬盘温度。然后写 IO 口 驱动三极管(s9013)驱动 12V 100mA 的风扇。😅
成品图太丑了,先不放了。(没有画 PCB,直接全部拉飞线从 esp8266 模块上搞的)。🥵

写了个红外遥控器,感觉还是不错的。





你说苹果是有多自信啊?不能设置访达的通知,也不能智能分组……只能手动一个一个点掉😡

关键它还不会自动隐藏,要么手动关掉、要么只能看着它……
说实话,我并没有感受到“整型提升”有啥实际好处?打这么多“弱类型体操”有啥用?
~0xFF 是先扩展成 0x000000FF,再取反得:0xFFFFFF00,那能等于 0x00?🤡🤡🤡
敢情我写代码的时候不考虑的定义的是 byte 类型,而该去考虑 CPU 需要什么类型?



我原本的代码是这样写的,没生效:

这样描述更简洁直观:🤡🤡🤡🤡🤡

我挺好奇 ~0xFF (字节类型)在 32 位机器上和在 8 位机器上是不是有不同的结果。。。
刚刚莫名其妙发现 go build 出来的二进制居然没法执行(图一),排查了一阵子才发现是因为挂载的磁盘有 noexec 选项,可是我没在 fstab 里添加这个参数啊(图二),最近的唯一改动就是加了个 user 选项以使不需要 root 用户就可以 (u)mount。结果一查文档才知道 implies 了这么多选项(图三)🥲🥲🥲




蓝牙(俗称传统蓝牙)和低功耗蓝牙,不是一回事儿~
快十年没玩硬件,读个温度传感器搞了整整一下午🥲🥲🥲



dd 把 磁盘A 拷贝成 文件A 并 mount 成目录后,如果再尝试以 mount UUID=xxx 的方式 mount 原来的真实磁盘 磁盘A,会发现结果是 bind mount 刚刚前面那个文件 文件A ,而真实的磁盘 磁盘A 不会 mount 成功!差点儿删错文件。改用 mount /dev/sdX 的方式后成功。所以 dd 后是要改一下 UUID 吗?这应该是我目前见过的最大的镜像了吧?🤔 #Matter








说说后续吧:我已经用上了 IPv6,家里内网的服务/设备可直接从公网访问,并且手机在使用数据流量时也翻回家。已经使用一个月左右,体验很好。 以下是我目前的家庭网络结构(单间儿):



多么宏伟的工程啊,硬生生地架了一道墙把水给围起来了。

湖对面是一个岛,要过去需要花费 2 元。


这条路是儿时逢场必经之路,步行几百步下到镇上。右边第一户即是一位铁匠。早已不见踪影。



回个微信消息不到15秒钟再切回来,连续使用20分钟的推就已经被杀后台了,你果是真的有病。💊
了解了一下原理。 #OrbStack
下载了 Apple 官方的例子(几行代码),试着跑了一下 Fedora Linux,确实可以成功跑起来。
示例代码:
https://developer.apple.com/documentation/virtualization/running_linux_in_a_virtual_machine
示例 kernel(记得解压) 和 initrd:
https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/37/Everything/aarch64/os/images/pxeboot/
等一会儿就能进入 shell。





我的机型是 Mini 3 Pro,其它机型不一定和我的体验类似。
属实牛逼。


40.5+44+60.5+36+119+24+160+80+31 = 59593+44+32+118+126+95+9+123+10+48+245+112+74+240+280+70+285+30+208+103+158 = 2,503(2503-595)/2 = 954飞的时候被一对情侣警告说,说周边有监狱,信号干扰比较严重。
我当时飞得好好的,没太在意,然后就在飞到 100 米高、150 米远的地方后,失联了。
报告的坐标不准,我找遍了都没有。


大疆无人机在与遥控器断开连接5️⃣分钟后就会因为发热而关机,没有任何办法能通讯上,只能瞎找。
趁着 3.8 妇女节买的,优惠了一些。








就放着啥也不干也能发烧关机?什么玩意儿:


去深圳湾一号简单露了个脸:






刚才打电话给中国电信申请公网 IPv4 地址,发现已经申请不到了。她说若确实需要,可以花 100 块/月 单独开一个公网 IP 资费包🥲🥲🥲
然而她说从 2022 年 12 月开始已经默认有 IPv6 了,我这就去验证一下。。。
地点深圳,1000M光纤用户。
心痛💔 #大疆

也不算是我弄废的,本来系统是引导失败、进入不了系统了。只是参考网上的教程尝试导出串口看看有没有可用的调试日志。








屏幕是个好屏幕,而且有国外的网友画了 PCB 板子可以直接使用。
很便宜,几块钱,想买回来看看用的啥 FC/NES 芯片,结果…… 型号被擦除了…… 我去。

算了,退货。![狗头 [狗头]](/v3/dynamic/emojis/weixin/doge.png)
。难得干一件违背良心的事。
刚刚 Nuc 风扇一直狂转,发现是 (micro)K8s 的某个 CronJob 一直没起来,疯狂(微秒级)向 syslog 刷日志,导致直接把我的 Nuc 根目录刷满了……这都啥玩意儿啊。。。



点阵的英语原来叫“Dot Matrix”,第一次知道,直译啊。


想点亮 LED,把 UF2 文件拖进去,磁盘就退出了,MacOS 报告说磁盘未正确弹出,LED 灯也一直不亮,以为是这里的问题。查了很久才知道 Pico W 的 LED 灯是连在 WiFi 芯片上的。气死我了!



我应该相信谁… 🤔️



GitHub 竟然有这种机器人自动修复安全问题,优秀。

旧耳机被我妈要去了,旧电脑💻 ¥2000 卖给我姐了。

第一次刻字,看起来非常不错。(序列号可以泄漏吗?)




前一台电脑是 2017 年买的,用了6️⃣年,正常更新换代。特地买了一个键盘布局为 US 版本的,不喜欢整个键盘突然冒出几个汉字。








算是情人节给自己的单身礼物🎁吗?
不小心把芯片的电源接错了,直接烧了。可惜我花了 90 块买破蓝牙接收器。我以前是怎么舍得花 90 块钱买这玩意儿的?


绿联的产品,芯片是 CSR8635.
就是想看看用的什么低功耗无线芯片,没别的。型号:BK3231。


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
从百度百科的射频条目(比维基百科的中文射频条目详细)初次了解到射频的工作原理,知道得太晚了。
射频(RF)是Radio Frequency的缩写,表示可以辐射到空间的电磁频率,频率范围从300kHz~300GHz之间。射频就是射频电流,简称RF,它是一种高频交流变化电磁波的简称。每秒变化小于1000次的交流电称为低频电流,大于10000次的称为高频电流,而射频就是这样一种高频电流。射频(300K-300G)是高频(大于10K)的较高频段,微波频段(300M-300G)又是射频的较高频段。
在电子学理论中,电流流过导体,导体周围会形成磁场;交变电流通过导体,导体周围会形成交变的电磁场,称为电磁波。在电磁波频率低于100kHz时,电磁波会被地表吸收,不能形成有效的传输,但电磁波频率高于100kHz时,电磁波可以在空气中传播,并经大气层外缘的电离层反射,形成远距离传输能力。我们把具有远距离传输能力的高频电磁波称为射频。射频技术在无线通信领域中被广泛使用,有线电视系统就是采用射频传输方式。[1]
刚发现 iPad Pro 在旋转的时候,播放音乐的4️⃣个喇叭🔊的高音与中音会自动切换(高音在上,中音在下),蛮舒服的。
F 键作为全屏按键,上述扩展影响了这个功能的使用。分裂的:
合并的:
其它:
视频:
| 名称 | 类型 | 周期 | 费用 |
|---|---|---|---|
| twofei.com | 域名 | 年 | 159 |


爸爸觉得电脑长期放置在那儿吃灰有点可惜,于是让我恢复一下系统看看能不能使用。
大学入学的时候买的,花了 ¥3999?型号好像是:联想 G465c,不太能在市面上找到的型号。
记得我当时有一个特别奇葩的要求:我不喜欢把 USB 口放在两侧,于是要求必须在前面。当时只有这一款符合要求。
花了好大工夫才找到一个 U 盘烧了系统。


结果是:学习使用成本太高,不如手机。
















音质还是不错的,年代真的非常久远了。


但总是被我爸妈骂。说太糙了。

SXMYTXWTZ,新:xn--b2wa,来自于“涛涛”的IDN国际域名形式,也即 PunyCode,ACE prefix。 #微信dd 命令到底干了啥,原来真的可以被 cat直接替代:The Cult of DDThe Mathematical Problem with Music, and How to Solve It https://youtu.be/nK2jYk37Rlg 来自 @YouTube





几乎是小组内唯一一个坚守在岗的,大家都回家开躺了,一周的带薪假期!
看手机提示心率莫名已经偏高了,然后就去了社康。


抽血🩸,静静地等待。


好家伙,发烧了,仪器显示阳性了。


这不圣诞吗?闹麻了。
虽然大家说是预制菜,但是我真的觉得挺好吃的。![doge [doge]](/v3/dynamic/emojis/weixin/doge.png)


这个自己动手泡茶🍵️的方式很特别,主要是完全可以定量。有我喜欢的!

英语字母顺序也不影响阅读:gRPC or RPC。




虽然一直放那儿,从没有用过。
目的是去练车,顺带去一下油画村,不然太远了根本不想去:














还记得你何时加入 Twitter 吗?我知道!#我的Twitter周年纪念日

无论如何转动:





iOS 用 React Native 重写了(bushi 🥹








开箱:











这个配对画面是真的绝:



纯从零开始教的,但是不知道为什么到饭点的时候我一个人赢了他们三人!大满贯!



RT @nixcraft: If OpenSSL were a GUI. Credit https://smallstep.com/blog/if-openssl-were-a-gui/

“I ❤️ SZ”去哪里了今天。

这就是暹罗猫吗?还怪可爱的。














以为在执行命令前先 echo 一下就安全🔐了?🤔我傻了。
总有一坑等着你系列。


How Go Mitigates Supply Chain Attacks
供应链攻击是一种传播间谍软件的方式,一般通过产品软件官网或软件包存储库进行传播。通常来说,黑客会瞄准部署知名软件官网的服务器,篡改服务器上供普通用户下载的软件源代码,将间谍软件传播给前往官网下载软件的用户。[1] 此外,黑客还会向一些软件开发者常用的软件包存储库如npm、PyPI和RubyGems等注入带有恶意代码的软件包。这些软件包在用户下载后安装时会触发恶意行为[2][3]。比较知名的供应链攻击事有XcodeGhost风波。
A little copying is better than a little dependency.
RT @VitalikButerin: @ioveamg1 说一个国家的人必须支持自己国家的政府并不是爱国,而是一种奴隶制。真正的爱国有时候需要对抗自己国家发出的邪恶,因为这样才能帮自己国家变得更美

Kubernetes Service iptables 网络通信验证 | 三点水
ndots:如果域名中的 . 大于等于了多少个,则不走 search 域,目的是减少常规域名的解析次数;

#CSDN 好家伙,为什么 11 年没有登录你不自知吗?

好像无事记录。




¥90 块线就出掉了,想起来有点不舍,毕竟完全是好的。只是因为房间小没有地方放。
BYOD,Bring Your Own Device,员工自带设备。公司在禁用私人设备接入 VPN 的时候也提到过这个词语,当时没留意到是一个术语。
重要的书都应该连着读两遍,因为第二遍读的时候,你已经知道结局了,这样才能真正理解开头。另一个原因是第二遍阅读时,你有不一样的心情,可能会从另一种角度看待问题。
我小时候看过一本书叫《熵 一种新的世界观》,让我感到很震撼。熵是热力学第二定律,简单的来说就是宇宙是从热变冷,从秩序变成混乱,从有序变成无序。任何组织随着时间的推移,一定会变得涣散、官僚、低效并最终走向死亡。这中间最大的原因就是因为组织的熵增。
做企业都希望把企业从起步一路做大做强,招更多的人,做更多的项目,在自己所处的领域占据领先地位。企业刚开始的时候往往是团结一心,创意无穷,高效执行,可是一旦到了几千人,就会开始变得涣散,守旧。然后看见一个一个新公司崛起,你感觉束手无策,在互联网企业尤其如此。
贝索斯是这么看待这个问题的,首先他使用了定义了两个词Day one和Day two。
贝索斯的“两个披萨🍕”小团队理论
如果一个团队的人两个披萨吃不饱,那这个团队就太大了。
没有摘要。

从剪贴板粘贴出来的效果,发现排版好舒服:
我从来没有为钱担心过。我成长在一个中产阶级家庭,所以我从没担心过会挨饿;我在雅达利公司的时候,意识到白己是个还不错的工程师,所以我知道自己肯定可以维持生计;我读大学和在印度的时候,自己选择了过苦日子,后来尽管我开始工作了,但我还是过着十分简单的生活。我经历过极度贫穷,那种感觉很美好,因为我不用为钱担忧,后来我变得特别有钱了,还是不用为钱担我看到苹果公司的一些人,大赚一笔后就觉得自己要过不同的生活。他们买下劳斯莱斯汽车和许多房子,每所房子都有管家,然后再雇一个人管理所有的管家。他们的妻子去做整形手术,把自己变得稀奇古怪。这不是我想要的生活方式。这太疯狂了。我答应过自己,不会让钱毁了我的生活。
那么喜欢圆角,为什么不把桌面的四角也给裁了?🙄 #macOS







我是真的喜欢吃肥肉。
以往从没见过,好奇怪。祈祷来年平平安安?
BASH 的重定向居然有四种写法,还能写在中间!推特
1 2 3 4 5 |
|
今天无事记录。
今天去买衣服。但是,没买到合适的衣服。针对男性的衣服可真是太少了。
林纳斯定律 / Linus' Law
Given enough eyeballs, all bugs are shallow. —— 《大教堂和市集》
足够多的眼睛,就可让所有问题浮现。
只要有足够的单元测试员及共同开发者,所有问题都会在很短时间内被发现,而且能够很容易被解决。
草台班子理论
“我工作以后才发现,大家都是草台班子。政府草台,企业草台,我也草台,大家都草台,凑合赚钱过日子。一个企业,看着像一台奔驰在高速公路上的豪华轿车,里面其实是几个人蹬着自行车顶个壳。路上的车都是这样,大家谁都不戳破。”
对于大多数开发团体来说,都是草台班子构成的。你几乎不要指望他们不犯错误。这就是为什么我认为软件基础设施必须开源的原因: 我们需要为那些最优秀的人提供机会,让他们能分出一些精力来对草台班子搭出来的草台修修补补。
那些疯狂到以为自己能够改变世界的人,才能真正改变世界。(The people who are crazy enough to think, they can change the world, are the ones who do.) —— 苹果“非同凡想”广告,1997
我发现人们对于乔布斯有着十分强烈的肯定或否定的情感,罗生门效应十分明显。
我感觉我的容器化在年底之前要做不完了,半个月假期也没有时间休了。



“危险⚠️”操作:在整个源代码目录内查找替换。
all: gofmt -w -r 'interface{} -> any' src
https://github.com/golang/go/commit/2580d0e08d5e9f979b943758d3c49877fb2324cb
这也向公司支付给工作者的薪酬一样,供需对应,就没什么好抱怨的和内疚的。如果大家觉得不对等不匹配,你可以提出更高薪酬或者公司招性价比更优的人替换你。所以不要一味的抱怨自己薪酬低,要明确了解市场行情,自身能力,公司发展潜力和岗位晋升通道,当这其中有一方天平失衡,请迅速做出反应与调整。公司也好,人物也罢,都是过客。
后我会变得很有钱,对这一点我不再怀疑,并且这个过程很可能比别人所能想到的要快得多。我还知道,有了这些钱之后,我仍然会很幸福。
你永远赚不到超出你认知范围的钱,除非你靠运气。但是靠运气赚到的钱,最后往往又会靠实力亏掉。这是一种必然。
你所赚的每一分钱,都是你对这个世界认知的变现。你所亏的每一分钱,都是因为你对这个世界认知有缺陷。
这个世界最大的公平在于:当一个人的财富大于自己认知的时候,这个社会有 100 种方法收割你,直到你的认知和财富相匹配为止。
不要和同事做朋友——不要和朋友在同一个团队,同一个部门;不要和同一个团队同一个部门的同事,成为朋友。但跨部门社交,把公司不同部门的人都变成友善的熟人,拿情报拿信息,挖掘公司的社交宝库,这个更重要。—— 章工@推特
好像一直以来我就是对自己部门的同事特别好,忘了和其他部门的其他同事处理好关系。坐在我对面的监控部门的同事,快半年了,我甚至不知道他的名字。我似乎意识到这是一个非常严重的错误。
我们的咒语:
${jndi:ldap})。本来睡得早,凌晨两点起来支持漏洞检修,直到早晨 5 点才休息。从今天开始写日记!
这两天正好开始看《小狗🐶钱钱》,书中讲述每天需要写成功日记。
我并不打算只写成功日记,而是想把每天比较重要的、有意义的事都记录于此。
以此来对抗我越来越不好的记忆。
Fri Dec 10 01:47:16 CST 2021
桃子
我第一次希望陶穆太太能继续说下去,但是她可能以为我对这个话题不感兴趣。
“有时候自己希望的并没有表面出来,反而导致了别人会错误理解自己的想法,所以想要的别掩饰,别躲避,也别光等待别人猜测,说出来,告诉对方吧。”
“如果你愿意的话,我明天过来帮你去银行开户。”马塞尔说。
“如果你知道去哪里,全世界都会给你让路。”——贵人鸟
“等候是世界上最愚蠢的事情,”堂兄宣布说,“我们应该想一想如何利用这段时间。”
墨菲定律(Murphy's Law):如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。维斯百科 - 墨菲定律
4321 定律:家庭资产合理配置比例:家庭收入的 40% 用于供房及其他方面投资,30% 用于家庭生活开支,20% 用于银行存款以备应急之需,10% 用于保险。
72 定律:不拿回利息利滚利存款,本金增值一倍所需要的时间等于 72 除以年收益率。比如,如果在银行存 10 万元,年利率是 2% ,每年利滚利,多少年能变 20 万元?答案是 36 年。
80 定律:股票占总资产的合理比重等于 80 减去年龄的得数添上一个百分号(%)。比如,30 岁时股票可占总资产 50%,50岁时则占 30% 为宜。
家庭保险双十定律:家庭保险设定的恰当额度应为家庭年收入的 10 倍,保费支出的恰当比重应为家庭年收入的 10%。
72公式:
“假如我总是花光我的钱,那我就永远也得不到我的‘鹅’,所以我就总得为了赚钱而工作。而一旦我有了一只‘鹅’,我的钱就会自动为我工作了。”

RT @Piglei: 讲编程的文章很多很多,但能让我每隔一段时间重读一遍的没几篇。John Resig 的 “Write Code Every Day” 是其中之一。大约每隔一两年,我就会把它翻出来,读一遍。每次都感觉深受启发,有时甚至能起到心理治疗的作用……
如果你没读过…
还记得你何时加入 Twitter 吗?我知道!#我的Twitter周年纪念日





火狐再也不像以前的火狐,内存占用又少又快。现在是怎么了?像隔壁 Chrome 一样。@firefox



在公司问了 CC 说比较好用,本来觉得 ¥800 块太贵,最终还是买了。


至今依然是我觉得最好吃的桃片。好像桃片就是发源于合川?

这个应该不是合川桃片,因为吃起来有点硬、有点脆。但是也很好吃。


万利达、腾讯大厦、I❤️SZ,华灯初上。







还爆辣警告⚠️?对咱川渝人来说都不是事儿
。






真希望百香果的甜和普通的添加剂不一样。

































来人啊!我要报警。












我不喜欢干活头发,所以我一直抗拒去优剪。
应该没有下次了。



这玩意儿能用?

发明 JavaScript 的人真是个天才!😇️

不记得图源了。


















沿途的风景有点儿好看。高速公路上车辆非常少,所以我们其实是边开边停边看风景的:
晚上到达贺州,年轻人非常多,感觉城市非常年轻。这家烤肉店也非常好吃,女老板人很好。





























































































晚上看的千古情,几乎全部是视频,有空再上传吧。























还能这样?







感觉太基础,收获不太多。


超级好吃!但是很贵,¥99 一包!

























其实我们只是最终的使用方,并不是由我们采购。
第一次跟华为有合作。
这一桌好几千,震惊我妈。












她女朋友出国深造了,但是他几乎不会英语。然后就让我教他学发音。
以下是他的原文(希望不要生气我在几年后公开出来):





教了很多,但是他是靠记声节来记发音的:


他好认真,也不知道他现在追回他女朋友没有。
我们一起看了公司的股票,当时仅十几块钱,他让我买,我没买。后面过了几年,就涨📈到几百了。我不配。










已装好篮子,直接带上飞机。





我刚摘的!















这个窗帘可不普通,是早些年姨妈们手功纺织的,材料应该是废弃的烟盒。工作量可想而知。
但是大家好像并不怎么买账,姨妈自己编的,不要了,送给了我们。在角落里堆了好多年。



微信这未免也太草台了。
几次每次来香港都能看到。
以女性为主(好像全部是女性)。

后来好像才知道,她们好像叫“菲佣”。她们在周末的时候不能住雇主家,所以就到处(特别是各种天桥下)席地而坐。而我恰好也是周末来的香港,所以赶巧了。


摸起来挺舒服的。








表演还是挺好看的,都是实况图!
和自贡国际灯会差不多的:

最后再来个杂耍:
好神奇!!!



体检报告:




看清楚,数清楚。儿豁。




在香港买的,听说会被海关查税,所以还没出香港就拆开了。

看起来就很水的样子。

标准建筑必须先来一张。

害怕从海关检查,所以提前拆开并把盒子丢了。目前买过的最贵的手机,我记得是港币 $9500. 贵贵。



当然,奶粉、口红必须走一波。




好像是人生第一次经历台风?




Hi, I'm interested in @github 's default identicons. I would like to know how you generate your identicons and what the hash algorithm is, if it's no trouble.😬
大概时间应该是 2012 年。


没错,游戏也能这么打。

从 2012 年大量开始研究硬件细节、写游戏…… 没想到今天才能写出一个模拟器(不带声音)。








其它不记得了,只记得拍照总是不敢抬头。
想起早年的父母、父母的父母,一年到头为了养一头猪,花费大量时间和精力,结果年末下来,一头猪才卖两、三千块钱。在我看来,完全没有任何性价比而言。所以我很早就劝父母不要务农了。
今年这个状况有所改变,我家成了买家。就在附近的院子到处买肉🥩吃了。大批地买、农村自己养的真土猪。







这鱼真的太大了。



西餐厅


第一次校歌词,来自嘟嘟女王的「夏」。
写个iocp测试程序,直接把指针作为完成键或void*传递,导致一堆错误。。。原来我指针用得这么不熟。。。
妈蛋,原来 SQLite 完全忽略创建表时字段后面括号内的内容。比如:VARCHAR(256) 并没有什么用,它并不会限制插入数据的长度。
Mac下的QQ竟然可以按option+左右正确地按中文词组来移动光标,厉害了。
世界之窗,我和邓总。
恸哭,学习了。
看完了『深入浅出Node.js』。
明白了钢琴中间踏板的作用。多亏了橙子。
战狼2
kcptun走起,速度要上天。





巴西烤肉走起!
第一次给知乎的文章赞赏,给雪舞讲的睡前故事:晚安小故事<14>:你不要融化,我会陪你看一百万次日出。
雪舞这周开始了瑜珈,早上估计不能练琴了。提醒练琴的时间由早上九点半改成早上提醒起床时间七点半,八点半到九点半练琴。
雪舞竟然用五笔!
烧烤走起
我的琴送教授拿走了
第一次听说把投影仪当电视,芽美就是这样干。
电钢琴到啦
使用了事务之后,在C#中插入数据到SQLite的速度提升了100倍。
362真的改成电动的了,昨天邓总给我说我还不太相信。坐起来还是稳定安逸安静得多。
发现古诗文网做得很不错,样式、内容:古诗文网(http://www.gushiwen.org/)。
哈哈,第一次给百度知道点了赞:点我。
雪舞在群里发的一张图,她竟然也用粉色QQ主题了……
回顾了国产凌凌漆。
今天睡着了,迟到了,没有按时叫雪舞练琴。
绿茶餐厅
Mac 竟然没有剪切……得按 Opt + Cmd + V。
hr让梅子周五过来面试。
哈哈,方言里面的“薅(hāo)”字:ofo员工爆料内部大范围贪腐,他们都是如何薅平台羊毛的?
听说有人在 eBay 上买到了星际争霸的源代码光盘,我也上去瞧瞧。第一次访问 eBay……
下单买了第一本 Objective-C 开发的书:『Objective-C 基础教程(第2版)』
终于可以调试页面在 Safari 下的表现了。安装了三个浏览器:Safari、Chrome、Firefox。
嗯,今天 5 月 1 号,我正式学琴刚好一年了。
雪舞发了一个 3.65 的红包给我,啊哈哈……


梅子送公司同事杯子,顺便送了一个给我,她自己在公司有一个粉色的,我选了一个蓝色的。

mbp已拆开,里面就一个主机,一个电源,一本说明书。
唐吉诃德,那个字念“hē” 。
收到我的 MacBookPro 了,回到家再拆开。
雪舞不叫我小桃子了:“桃子又可以放纵了”。
又下单了,买了 MacBookPro,寄到了公司。
擦,招商银行信用卡改手机号不能到柜台,需要拨打电话修改……
海上田园
厨嫂当家。
应该说“I couldn't agree more.”,而不是“I can't agree more.”。
第一次在网易云中赞赏个人音乐创作者,给了小周的《Love home》,一首钢琴曲。加上我的赞赏,总共 220 次,我的生日。
刚才下单买了 MacBookPro,本来想明天就收货的,结果超过了 3 点,导致得 25 号才能收货,果断取消。
督促雪舞练琴已经一周了:
很高兴她说的是“这样的你” ,而不是“你这样的” 。
邓总的妹子刚来深圳,陪着他们上午逛街,下午唱歌,晚上看电影“速度与激情8”,电影还不错的,不过感觉没前几部好看呢。
雪舞今天待公司不能练琴,随便聊了聊。得知,她有自己的公司,才21岁。真的厉害。她师傅也是某大公司的项目经理……我什么时候勾搭上了这么多老板,他们都好厉害…… 她出去放纵了,泡温泉,按摩,陪她聊天到4点20……
去教授家玩,梅子又给我准备了一袋护肤用品,真的太好了!
最终我还是拒绝了即构科技的职位,老实说,很纠结,很不甘心。
更新了iOS到10.3.2beta2,终于又能继续用shadowrocket了……
嗯,从今天晚上起,我就要天天督促雪舞弹琴了。 “哇,你这签名酷毙了” “哪句?” “你应该静心地学习了,小桃子。” 实际上,“小桃子”是只有她这样叫我的,于是这句话像是她说的。
QQ天气预报说未来一周有大雨持续,雪舞说她有男朋友了,嗯……天有不测风云。
啊,为什么我一发言雪舞就出来了,是不是她也特别关注我了[坏笑]? 我说出来放纵,结果她竟然冒出一句“我男朋友不在”……
我的智商是真不够用,时常被嘲讽:“真假性这种东西你都分不清,以你的智商,还需要多磨练磨练。”。
六点半,到即构科技面试了。 有三个技术面 + 一个HR + Boss。 老板出去谈事事,故多等了一会儿,吃了点饼干。 一直到十点十分钟才面试结束,崩溃。 面试当时就得知结果被录用了,老板说马上就发ofr,不过hr已经下班了。 非常郁闷的是,我接受了新工作,但是没有加工资加工资啊啊啊,哪有一分不涨就被挖走的?哭。
今晚发生一些奇怪的事:大海竟然知道我的真名;雪舞说我们是老乡,然后泗草竟然加我为好友。没搞懂是为什么。
injoe 把我推荐给了前腾讯同事的一家创业公司,打算周五过去聊聊。
删除了一堆的娱乐软件,像是斗鱼,虎牙,内涵段子。。。感觉管不住自己,要崩溃了,再看直播,浪费了太多时间。
雪舞啊雪舞,你不该跟我说“我爱你”的,搞得我心生涟漪,都没心情做事情了。
“好吧,你们单身,我要谈恋爱。”,雪舞。
本来是来看花的,结果因为门票比较贵(35),在门外看也没几朵花,而且网上评论非常不好,所以照了个像就准备撤了。
第一次在海边露营,面朝大海……吃了最贵的晚餐,上了最贵的洗手间。
到达目的地。
“师傅,大海兄,爱哥哥,小桃子,我爱你们” 愚人节的晚上,雪舞说了这句话。 一个是她的师傅,一个是她的师兄,一个是她的爱哥哥,只有我小桃子对她来说是最……的,而我自私地认为这句话是对我说的。她说她不过愚人节,她说她是真爱。她师傅和爱哥哥都回复了同样的话,除去大海,就我没有回应,我是不是认真了。 愚人节当天凌晨我俩随便聊聊人生聊了两个小时,我觉得挺好的,她好像也懂得一个人说晚,另一个人说安是什么意思似的。我挺喜欢她这样的女孩子,不知道有没有缘份。嗯,顺其自然吧,对了,现在正在去玩的车上。
没带伞,借公司一女生的伞,发现这伞,这伞,好小好小,圆圆的。,,
买了一套四件套,准备舒舒服服地睡个好觉。嗯。。。特别的是还有一人说晚,对方说安。
烤肉走起。
Uganda,发音为 ju,但中文去翻译为乌。 见皇家特工秘密服务9分48秒。
和几个好朋友聊天喝酒的感觉真好。
办完了入职手续,正式加入QH公司。 需要学习 C#/WPF。 公司管理好严,竟然限制使用部分外网,不能看视频,有限地使用QQ/微信。非常好奇的是竟然无法翻墙,我的 SS 不能用,怎么做到的?后来通过 ssh -D 突破了。 新公司制度严了好多,除了上班没什么其它事做,所以几乎在直坐在座位上,无聊。
去新公司报道了,好久好久没有这么早起床上班,表示好多人。
混了几年 StackOverflow,终于有 16 声望值了(至少 15 才能发起评论,赞同别人的回答)。[尴尬]
正式离职了,迅雷再见了。
在公司的最后一顿午餐,由老员工杨竟请的,巴陵会馆。
傻逼一样的 Windows 控制面板,不能同时卸载多个程序。结果因为其中一个程序不知道为何没有退出,导致本次会话都无法再卸载了。
看周董的MV,浏览到了他的facebook,想关注下,于是注册了个帐号:https://www.facebook.com/urtaome,我记得之前FB是不让大陆用户注册的(手机也验证不过),不过这次竟然顺利注册成功了。
10分钟做完了入职体检报告,内科只用了5秒钟。
提交了正式离职申请。
突然有了学习 iOS 开发的想法。
新公司要求我在下周四就要入职,不然可能就没了。我靠,但我至少要一周才能完成交接的啊,不要这么搞我嘛,找个工作不容易唉。
早上刚起来,就接到了 HR 姐姐的电话,说我被录用了,很开心,终于可以跟迅雷说拜拜了。
生化危机:终章(3D)
塘朗山一日游。
能完整地弹梦中的婚礼了,八度那里练了很久,终于克服这个问题了。
创建了我的第一条 gist:https://gist.github.com/movsb/d76ca744a7328dac61b4ccaf947a5a5b
公司的员工开始用页面写桌面了,不过你们竟然还在讨论 DreamWeaver!!!我的天!
最近在七的引导下,又开始了研究FC,给 fceux 增加了外部端口映射,大大增强了原有 FC硬件的功能。
第一次使用 zlib, libzip,折腾了一下午,没编译成功。后来一气之下,重建项目,添加所有源代码文件,解决无数错误,最后直接编译成了一个 exe 文件,经测试,工作正常。
会弹梦中的婚礼跨八度前面的部分了,第一次能左右手结合得这么流畅,值得记念。另外,段老板竟然偷偷地在上周天买了一个电子琴!