@yiqifacai 只有穷人,才会痴迷技术;只有笨人,才会想着先把事做好。
观察一下身边真正的有钱人,就会发现他们有一个共同的特点:“明明知道这个人不行,但是他不提醒、不指点不好为人师,即便是他的认知经验都超过了对方,他也不会给对方的提建议。
因为无论你是指点、说教,都是需要消耗能量,情商最低的行为就是不停的讲道理,智者戒口,愚者指点江山。能说服一个人的从来不是道理,而是南墙。能点醒一个人的从来不是说教,而是磨难。
噢,难怪我越来越穷了!
@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 |
|
“阿米娜·阔伊姆@二代目”最近再度因为在 #推特 上发表了可能涉儿童色情相关的内容被封号,导致推上出现了一众高仿号(“阿米娜·阔伊姆@三代目”),搞得大家都无从分辨孰真孰假。好景不长,“阿米娜·阔伊姆@三代目”又被封号,现在又出现了一堆“阿米娜·阔伊姆@四代目”🤪……

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

去补办了,哎呀,要等到 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? ^