https://youtu.be/V3BafEiqSFg?si=M0sZ9F4tLA5cSzad
最近看了部关于欧美核聚变研究的纪录片,其中一位科学家声称,预计 2035 年可以商业化,2040 年可以全球化。掐指一算,正好我小孩 20 岁步入社会的时候,世界上已经有无限的能源供给了,亦或说,无限的算力。
顺带一提核裂变,越来越多的人认为核裂变发电站是人类走的一条歧路,人总是会犯错的,而裂变站的每一次事故所造成的代价都是无法承受的,法国核能安全研究院估算每一次核事故会造成 3000~15000 亿欧元的损失。而且核裂变发电站的核废料处理也是一个难题。日本福岛核事故对欧美的冲击也是巨大的,毕竟日本人在欧美人心目中一直是“匠人精神”的代表,如果连日本人都搞不定核裂变,那么人们也就很难再相信它了。
但是在聚变等次世代技术真正成熟以前,核裂变是唯一清洁的稳定发电源(地热能、水能也是清洁的稳定能源,但是需要地理条件)。这可能就是人类能源史上的一次阵痛吧。
最近看了部关于欧美核聚变研究的纪录片,其中一位科学家声称,预计 2035 年可以商业化,2040 年可以全球化。掐指一算,正好我小孩 20 岁步入社会的时候,世界上已经有无限的能源供给了,亦或说,无限的算力。
顺带一提核裂变,越来越多的人认为核裂变发电站是人类走的一条歧路,人总是会犯错的,而裂变站的每一次事故所造成的代价都是无法承受的,法国核能安全研究院估算每一次核事故会造成 3000~15000 亿欧元的损失。而且核裂变发电站的核废料处理也是一个难题。日本福岛核事故对欧美的冲击也是巨大的,毕竟日本人在欧美人心目中一直是“匠人精神”的代表,如果连日本人都搞不定核裂变,那么人们也就很难再相信它了。
但是在聚变等次世代技术真正成熟以前,核裂变是唯一清洁的稳定发电源(地热能、水能也是清洁的稳定能源,但是需要地理条件)。这可能就是人类能源史上的一次阵痛吧。
https://x.com/qq3qiyu/status/1737728033384206710?s=20
看到有人讨论 python requests 的 timeout 问题,简而言之就是发现 requests 的总耗时会超过你设置的 timeout。
其实原理很简单,requests 支持两种 timeout:
* connect timeout: 建立连接的超时时间
* read timeout: 服务端每次响应的超时时间
默认情况下,timeout 设置的是 connect timeout + read timeout,你也可以通过 tuple 的形式分别设置。
需要注意的是,requests 并不支持 total timeout,就是实际上你没法控制这个 requests 请求总共会花多长时间。举一个极端的例子,如果这个服务端总能在每隔 read timeout 内回复点数据,那么这个请求实际上可以耗费无穷长的时间。
requests 官方的解释是,市面上已经有其他控制 total timeout 的包了,requests 没必要再做一个。这个第三方包就是 https://github.com/pnpnpn/timeout-decorator ,它通过设置
如果你使用 asyncio,那么
注意:
看到有人讨论 python requests 的 timeout 问题,简而言之就是发现 requests 的总耗时会超过你设置的 timeout。
其实原理很简单,requests 支持两种 timeout:
* connect timeout: 建立连接的超时时间
* read timeout: 服务端每次响应的超时时间
默认情况下,timeout 设置的是 connect timeout + read timeout,你也可以通过 tuple 的形式分别设置。
需要注意的是,requests 并不支持 total timeout,就是实际上你没法控制这个 requests 请求总共会花多长时间。举一个极端的例子,如果这个服务端总能在每隔 read timeout 内回复点数据,那么这个请求实际上可以耗费无穷长的时间。
requests 官方的解释是,市面上已经有其他控制 total timeout 的包了,requests 没必要再做一个。这个第三方包就是 https://github.com/pnpnpn/timeout-decorator ,它通过设置
ITIMER_REAL
信号来实现对函数总耗时的控制。但是这个包仅支持主线程。如果你使用 asyncio,那么
asyncio.wait_for
可以很轻松地为 coroutine 设置总耗时。aiohttp 的 timeout 看上去也是 total timeout。注意:
asyncio.wait_for
只是停止等待,杀 coroutine 需要另外手动处理(task.cancel()
)。被杀的 coroutine 也需要经常通过 await asyncio.sleep(0)
检查自己有没有被杀。https://laisky.notion.site/The-quantum-state-of-a-TCP-port-29b94af7bedf49beb958045c3c1dbc02
很有趣的关于 linux 上 TCP 本地端口自动分配的文章。
虽然理论上,TCP 连接只要求
这其中的逻辑错综复杂,以至于作者在文章标题中将其戏称为“量子态”。
结论:推荐使用
很有趣的关于 linux 上 TCP 本地端口自动分配的文章。
虽然理论上,TCP 连接只要求
(src_ip, src_port, dst_ip, dst_port)
的四元组不同,但实际情况复杂得多,即使使用了 SO_REUSEPORT
也不能保证本地端口一定能被复用,而且虽然 bind(2)
/connect(2)
都支持自动分配本地端口,但对应的却是不同的处理逻辑。这其中的逻辑错综复杂,以至于作者在文章标题中将其戏称为“量子态”。
结论:推荐使用
IP_BIND_ADDRESS_NO_PORT
& bind(2)
的方式绑定端口,可以最大化本地端口重用的概率。1. cost management 确实不准,在 billing period 结束后的 5 天内都可能大幅调整
2. invoice 页面可以下载详单,里面会记录所有的计费细节
我是不太理解啊,如果 budget 可能比账单晚 5 天,那这个 budget 的意义是什么?
最后是一个我忍不住一定要吐槽的,Azure 理解的 Model Version 跟我的直觉完全不一样。同一个 Model 的不同 Version 其实可能是完全不同的 Model,费用也完全不一样。
next: https://t.me/laiskynotes/121
https://laisky.notion.site/How-it-works-The-novel-HTTP-2-Rapid-Reset-DDoS-attack-Google-Cloud-Blog-6e0b3c1840824c51a55f5ec0c65dcfe5?pvs=4
CVE-2023-39325 利用 HTTP/2 单 tcp conn 上可以承载任意数量 stream 的特性,结合 stream rapid reset 的特性,实现超高强度的 DDoS 攻击。攻击者可以忽略 RTT,直接把己方的带宽跑满。
相当于在 HTTP/2 上打出了 UDP flood attack 的效果。前几个月各个被打趴的站盛传的“来自应用层”的攻击,基本都是这个。HTTP/3 也得考虑做相应的预防措施。
Go 的修复方式是将每个连接的 MaxConcurrentStreams 数设置为 250,起到一些缓解的作用。 https://github.com/golang/go/issues/63417
CVE-2023-39325 利用 HTTP/2 单 tcp conn 上可以承载任意数量 stream 的特性,结合 stream rapid reset 的特性,实现超高强度的 DDoS 攻击。攻击者可以忽略 RTT,直接把己方的带宽跑满。
相当于在 HTTP/2 上打出了 UDP flood attack 的效果。前几个月各个被打趴的站盛传的“来自应用层”的攻击,基本都是这个。HTTP/3 也得考虑做相应的预防措施。
Go 的修复方式是将每个连接的 MaxConcurrentStreams 数设置为 250,起到一些缓解的作用。 https://github.com/golang/go/issues/63417
各位使用 azure openai 的建议去查查自己的账单。我的上一期账单,azure 的实际扣费单价比公示价格高了 30 倍。我去开了 ticket 后同意给我退款。
而且这个多出来的费用不会显示在 cost management 里,而是仅仅存在于 invoice 里(很鸡贼!)。
后续:钱已经退我了,但是我对 azure 的处理是不满意的,有两个我认为很严重的问题没有给出任何解释:
1. 只承认计价错误,没解释这个模型根本不存在,何来的单价?
2. 没解释这个费用为什么完全绕过了 cost management 和 budget?
next: https://t.me/laiskynotes/98
而且这个多出来的费用不会显示在 cost management 里,而是仅仅存在于 invoice 里(很鸡贼!)。
后续:钱已经退我了,但是我对 azure 的处理是不满意的,有两个我认为很严重的问题没有给出任何解释:
1. 只承认计价错误,没解释这个模型根本不存在,何来的单价?
2. 没解释这个费用为什么完全绕过了 cost management 和 budget?
next: https://t.me/laiskynotes/98
Ps. 很多人以为气候变暖就是热一点而已,但其实最大的威胁来自于湿度而不是温度。
人的散热依赖于汗液蒸腾作用,如果环境湿度过高,人体就只能靠辐射散热。当环境湿度为 100% 时,35 摄氏度的气温就能让在阴凉室内静卧的人热死。
* Atomic energy, climate, and Russia https://youtu.be/2Ws6qbf_hcA?si=MpkfnPPV2JyewdSS
* Nuclear Aftershocks https://youtu.be/lRmaugZUIGU?si=AOtfQgl_7NpQFogF
* Can hydrongen help the world reach net zero https://youtu.be/v7UwbJ8n9L0?si=IT3gWjD1JnoFNi_t
最近看了好几部关于核能和新能源的纪录片,记一个笔记:
* 因为气候危机迫在眉睫,人类必须立刻大幅削减碳排放。
* 但是可再生能源存在一个重大缺陷,就是供能不稳定,一整个风能园区或太阳能园区可能会在短时间内失去发电能力。
* 所以可再生能源必须搭配一个稳定的功能单元一起运行,而核电站就是一个非常理想的稳定发电单元。
* 福岛核危机敲响了警钟,让欧洲尤其是德国走向了弃核之路。德国人的观点也很正确,我们不能寄希望于这种危险且无法控制的东西。
* 核能还有个问题是,俄国垄断了全球商业核能的核原料供应,即使在俄乌战争期间,欧美也没敢制裁俄国核工业企业,因为他们都依赖于俄罗斯的核燃料。
* 新能源也有类似的问题,中国垄断了新能源材料的生产,比如稀土和太阳能板。
* 美国发起了千亿美元的 IRA 法案,希望将制造业带回美国,并且全面转型新能源。但是该法案遭到了欧洲的批评和抵制
* 欧洲正在大力发展氢能源,希望让由可再生能源制造的氢能扮演起稳定供能的角色。
next: https://t.me/laiskynotes/90
* Nuclear Aftershocks https://youtu.be/lRmaugZUIGU?si=AOtfQgl_7NpQFogF
* Can hydrongen help the world reach net zero https://youtu.be/v7UwbJ8n9L0?si=IT3gWjD1JnoFNi_t
最近看了好几部关于核能和新能源的纪录片,记一个笔记:
* 因为气候危机迫在眉睫,人类必须立刻大幅削减碳排放。
* 但是可再生能源存在一个重大缺陷,就是供能不稳定,一整个风能园区或太阳能园区可能会在短时间内失去发电能力。
* 所以可再生能源必须搭配一个稳定的功能单元一起运行,而核电站就是一个非常理想的稳定发电单元。
* 福岛核危机敲响了警钟,让欧洲尤其是德国走向了弃核之路。德国人的观点也很正确,我们不能寄希望于这种危险且无法控制的东西。
* 核能还有个问题是,俄国垄断了全球商业核能的核原料供应,即使在俄乌战争期间,欧美也没敢制裁俄国核工业企业,因为他们都依赖于俄罗斯的核燃料。
* 新能源也有类似的问题,中国垄断了新能源材料的生产,比如稀土和太阳能板。
* 美国发起了千亿美元的 IRA 法案,希望将制造业带回美国,并且全面转型新能源。但是该法案遭到了欧洲的批评和抵制
* 欧洲正在大力发展氢能源,希望让由可再生能源制造的氢能扮演起稳定供能的角色。
next: https://t.me/laiskynotes/90
最近调研了一下国密,我被这东西震撼到了。国密 TLS 和国际 TLS 不兼容,国密和国密互相间也不兼容🤮。大量的属性字段各个库各自拍脑袋决定,A 库加密的东西只有 A 库能解密。
似乎也正是因为兼容性问题,各家的实现最终都收敛到 gmssl 这个 C 库上来了。
补充:同为 C 库,还有一个项目是阿里的铜锁。然而,铜锁和 gmssl 互相不兼容…
2023/12/22 补充:最终我选用了铜锁,因为它是基于 openssl 的,支持非常细粒度的操作。顺带一提,不兼容性主要围绕 X.509 的各项属性定义,国密没有加入到国际体系,所以各个实现各自定义了一套,这也就导致了互不兼容。但如果你只用到了对称加密、哈希,是不会有不兼容的。
似乎也正是因为兼容性问题,各家的实现最终都收敛到 gmssl 这个 C 库上来了。
补充:同为 C 库,还有一个项目是阿里的铜锁。然而,铜锁和 gmssl 互相不兼容…
2023/12/22 补充:最终我选用了铜锁,因为它是基于 openssl 的,支持非常细粒度的操作。顺带一提,不兼容性主要围绕 X.509 的各项属性定义,国密没有加入到国际体系,所以各个实现各自定义了一套,这也就导致了互不兼容。但如果你只用到了对称加密、哈希,是不会有不兼容的。
https://laisky.notion.site/SDXL-in-4-steps-with-Latent-Consistency-LoRAs-3baba49183874166ad5fece67b4d066e?pvs=4
此文从使用上简要介绍了 stable diffusion LCM LoRA 蒸馏模型(distillation),还提供了可运行的 python 代码。
简而言之,蒸馏模型就是在原有大模型的基础上训练出一个更小更快的模型,而且其输出效果和大模型接近。过去蒸馏模型都是定制化的,而 LCM 是一个通用型的蒸馏模型,你可以指定任何一个预训练的模型,然后套上 LCM 来使用。
LCM 可以在更少的步数(steps)上实现和原模型相近的效果,大幅缩短推理耗时。
此文从使用上简要介绍了 stable diffusion LCM LoRA 蒸馏模型(distillation),还提供了可运行的 python 代码。
简而言之,蒸馏模型就是在原有大模型的基础上训练出一个更小更快的模型,而且其输出效果和大模型接近。过去蒸馏模型都是定制化的,而 LCM 是一个通用型的蒸馏模型,你可以指定任何一个预训练的模型,然后套上 LCM 来使用。
LCM 可以在更少的步数(steps)上实现和原模型相近的效果,大幅缩短推理耗时。
读到一个很有启发性的观点:
你帮别人省了 1000 元,别人可能会勉为其难地给你 20 元报酬。
但如果你说能帮别人赚 1000 元,对方很可能会大方地承诺分你 200 元甚至更多。
你帮别人省了 1000 元,别人可能会勉为其难地给你 20 元报酬。
但如果你说能帮别人赚 1000 元,对方很可能会大方地承诺分你 200 元甚至更多。
https://youtu.be/cfaubxeS5HU?si=ViN-j4iDEY5hHgWV
FT 介绍拜登的“实业振兴国家大基金”计划,总投资计划高达 8910 亿美元。
虽然名字叫做"抑制通胀法案(Inflation Reduction ACT, IRA)",但其内容既和通胀无关,也和抑制无关,其核心目标是让制造业重新回流美国,切断对中国的产业链依赖,并且推动美国向清洁能源大幅转型。
这个法案也存在一些核心争议:
1. 川普再次上台后会不会废除这项法案?
2. 欧洲对该法案表达不满,认为完全破坏了 WTO 的全球化框架。
3. 中国垄断了再生能源制造业,没有中国,有可能完成激进的清洁能源转型吗?
FT 介绍拜登的“实业振兴国家大基金”计划,总投资计划高达 8910 亿美元。
虽然名字叫做"抑制通胀法案(Inflation Reduction ACT, IRA)",但其内容既和通胀无关,也和抑制无关,其核心目标是让制造业重新回流美国,切断对中国的产业链依赖,并且推动美国向清洁能源大幅转型。
这个法案也存在一些核心争议:
1. 川普再次上台后会不会废除这项法案?
2. 欧洲对该法案表达不满,认为完全破坏了 WTO 的全球化框架。
3. 中国垄断了再生能源制造业,没有中国,有可能完成激进的清洁能源转型吗?
https://laisky.notion.site/HTTP-3-Performance-Improvements-Part-2-Smashing-Magazine-bc610b26c95e4d2cb258bfca78f8240d?pvs=4
1. 拥塞阻塞?QUIC 也有
2. 0-RTT?QUIC 最多只能比 TCP 少一个 RTT,而且还极不安全。
3. connection migration?需要大改负载均衡器,而且没太大收益。
4. HoLB?取决于 multiplexer 算法,大部分情况下都比不上串行。
5. 和 TCP + TLS 比?QUIC 的性能远逊于 TLS。
prev: https://t.me/laiskynotes/62