Forwarded from Hacker News
Beyond A*: Better Planning with Transformers (Score: 150+ in 4 hours)
Link: https://readhacker.news/s/62P8G
Comments: https://readhacker.news/c/62P8G
Link: https://readhacker.news/s/62P8G
Comments: https://readhacker.news/c/62P8G
arXiv.org
Beyond A*: Better Planning with Transformers via Search Dynamics...
While Transformers have enabled tremendous progress in various application settings, such architectures still trail behind traditional symbolic planners for solving complex decision making tasks....
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
tonsky.me
软件幻灭(译)
一切都在走向地狱,而似乎没有人在意
duangsuse::Echo
https://t.me/seedless_channel/1655 #statement #PLT #dev #reaction “我有一个每天都要运行的Python程序,每次运行需要1.5秒。我花了六个小时用rust重写了这个程序,现在这个程序运行一次只需要0.06秒了。41年零24天以后,效率提升节约下来的时间补偿了我重写程序的六个小时。:) 这条没错啊,这个作者,根本没搞清楚「大型软件」和demo里,开销都花在哪里 所有软件都巨巨巨巨大无比,这也是和性能无关的 “整个网页/SQL 数据库的架构…
对「日用软件工程」的讽刺文章 内容更新了
真知灼见,字字珠玑啊 #design 😨❤️
> 你会买百公里耗油100升,甚至1000升的汽车吗?在软件行业,我们一直这么做。
> “你需要拼命地奔跑,才能保持呆在原地”。从iOS 11开始,系统将不再支持32位的应用,Chrome的一次更新,就能够让某个JS插件失灵
> 小白用户换上新设备,只是为了运行变得越来越慢的Apps吗?
现代汽车工作效率可以达到当前引擎设计的98%的水准
现代建筑使用刚好的材料来搭建并且在确定条件下保持安全
现代软件行业,大厂普遍接受程序存储和运行在1%甚至0.1%的算法效率上。
当大多数开源还不可靠的时候,机器学习和“人工智能(AI)”又将软件推向了靠猜测的阶段。
> Jonathan Blow 自己开发给自己游戏开发用的编程语言,在笔记本上每秒可以编译50万行代码。而且是全新编译,没有中间缓存,没有增量编译。
> 编写高效的程序不需要你是天才。这并不需要什么魔法。只是不要在现在的臃肿不堪的工具链上去构建就行。
最新的顶级Macbook Pro上,谷歌邮箱,在谷歌自己开发的Chrome浏览器上,需要花费13秒的时间打开邮件
Windows 10大小是4GB,是Windows 95的133倍大。但是Windows 10比Windows 95高级133倍吗?难道整个安卓比这4GB还复杂1.5倍?
Windows 10需要花费30分钟来更新系统,什么流程需要这么长的时间呢?30分钟都够我彻底格式化我的SSD硬盘
你有没有想过为什么你的智能手机需要30到60秒的时间来启动。为什么它不能在1秒内启动?这里并没有硬件限制^
10年前一张光盘就能存储操作系统,系统应用和你所有的数据内容。
3年前,16GB手机能良好运行使用,但是到了今天,16GB和膨胀两倍的安卓8.1的手机,已经没有选择游戏和"微"信的余地
然而安卓8.1,并没有带来性能的变化和功能提升,它就这么膨胀了?
一个没有安装任何其他APP的Android8占用6GB的存储空间。请比10年前的软件想一下,程序员们该有多么巨大的进步。
这里面有高清电影吗?我猜大部分应该是代码:系统内核,驱动,翻译字符串,这些资源都不应该很大!
谷歌App,基本上就是谷歌网页搜索,需要350MB空间!谷歌Play服务,我基本不用,需要300MB空间
——
现代editor的输入延迟远输于42年前开发的Emacs。还有比编辑器更简单的功能吗?每敲击一次键盘,你所需要做的仅仅是更新一个小小的方形区域
一个3D游戏可以在这个时间内刷新整个屏幕,渲染成千上万的多边形。同时还处理用户输入,重新计算环境世界
Web应用都会报出大量的“随机”JS错误。
如果网页出现什么问题,只会提示你F5。谁有时间去研究到底什么地方改变了?
整个网页/SQL数据库的架构都建立在当用户浏览渲染出来的网页时,不会去操作任何数据的假设 🔥
原始讽刺:https://motherfuckingwebsite.com/
进阶讽刺:https://thebestmotherfucking.website/
反向讽刺:
https://thebestmotherfuckingwebsite.co/
你桌面的todo应用可能是基于Electron写的,所以它包含了一个Xbox 360控制器的用户态驱动在里面(QQ虚幻引擎警告 😅),这个驱动能渲染3D图像,播放音频,用你的网络摄像头拍照。
你应该将Slack划分为极其耗电型应用。聊天室和简单的文本编辑工具,这些应该都不是资源消耗型的应用才对。欢迎来到2018。
开发Node.js/Javscript项目,rm -rf node_modules 一直是码农工作过程不可或缺的部分。
在虚拟机上构建Docker容器,ONNX,就因为没人可以理清楚程序,编程语言和运行环境的混乱状况。
^注 #bash
1.986s lightdm.service
2.1GHz 8G 的x86_64 Linux上启动只需2s 🥰 安卓慢不是Linux的锅
另外,pacman 的安装速度比apt;rpm几乎是快一倍的
不同的CPU指令集有体积差异,arm64几乎是32的二倍,这就显得Android的字节性价比奇低了-堪比JavaEE。 不知是不是系统apk的冗余res/文件太多
每次你 ./configure ,gcc都会重新计算一个完全能被缓存的CPU info,即使不换语言用cmake也能避免这点。 C指针语法的繁琐和预处理也会极大拖慢parse的时间
长度:107423744 (102M) [application/octet-stream]
长度:220485632 (210M) [application/octet-stream]
长度:167772160 (160M) [application/octet-stream]
长度:217055232 (207M) [application/octet-stream]
💭
一些人可能觉得W95时没有 .NET 这样的框架,各种UI也很简陋,但这也是扯淡
要知道 7zip.org 可以用1M实现文件管理器的功能
qemu.org,ffmpeg.org,msys2.org 加起来也只250M, 难道内核驱动会包含更多算法吗?
而自带驱动的
功能类似的PS和 gimp.org 居然差0.7G https://helpx.adobe.com/creative-cloud/kb/file-size-creative-cloud-installers.html#:~:text=Photoshop%20CS6
功能和代码量似乎根本没有对应性
难道框架接口不是为服务于apps存在的吗? 随着技术进步,过分冗余的功能组件太多了
我觉得编程界的市场也是挺有趣的,明明速度在下降, 工资却依然涨
这又可以说成资本对劳动和技术的异化 又可以说成资本故意淘汰老设备
但其实编程界好像就是这样…… 无法多快好省地换代,有得有失
我觉得可以搞个绝对化,一切有局部类型标注,或者为val/var数据类型做区分的语法都是噪音(
一个编译期黑盒assert 当成金科律玉,说明根本没有做自顶向下复用 就开始敲键盘,根本是过度工程
文档写成测试,测试写成汇编,类型写成代码……
弱类型还简单些,module导入,interface多态和扩展,data和临时对象 创建个闭包,查个dict就行了
type能和函数字典很好地对应,序列化和集合类型都字面, 完全不需要keywords
这点许多新创建的静态语言都做不到,kt现在的listOf() 也没法好好实现
more: https://news.ycombinator.com/item?id=34936729
https://pointersgonewild.com/2018/02/18/minimalism-in-programming/ #dalao
真知灼见,字字珠玑啊 #design 😨❤️
> 你会买百公里耗油100升,甚至1000升的汽车吗?在软件行业,我们一直这么做。
> “你需要拼命地奔跑,才能保持呆在原地”。从iOS 11开始,系统将不再支持32位的应用,Chrome的一次更新,就能够让某个JS插件失灵
> 小白用户换上新设备,只是为了运行变得越来越慢的Apps吗?
现代汽车工作效率可以达到当前引擎设计的98%的水准
现代建筑使用刚好的材料来搭建并且在确定条件下保持安全
现代软件行业,大厂普遍接受程序存储和运行在1%甚至0.1%的算法效率上。
当大多数开源还不可靠的时候,机器学习和“人工智能(AI)”又将软件推向了靠猜测的阶段。
> Jonathan Blow 自己开发给自己游戏开发用的编程语言,在笔记本上每秒可以编译50万行代码。而且是全新编译,没有中间缓存,没有增量编译。
> 编写高效的程序不需要你是天才。这并不需要什么魔法。只是不要在现在的臃肿不堪的工具链上去构建就行。
最新的顶级Macbook Pro上,谷歌邮箱,在谷歌自己开发的Chrome浏览器上,需要花费13秒的时间打开邮件
Windows 10大小是4GB,是Windows 95的133倍大。但是Windows 10比Windows 95高级133倍吗?难道整个安卓比这4GB还复杂1.5倍?
Windows 10需要花费30分钟来更新系统,什么流程需要这么长的时间呢?30分钟都够我彻底格式化我的SSD硬盘
你有没有想过为什么你的智能手机需要30到60秒的时间来启动。为什么它不能在1秒内启动?这里并没有硬件限制^
10年前一张光盘就能存储操作系统,系统应用和你所有的数据内容。
3年前,16GB手机能良好运行使用,但是到了今天,16GB和膨胀两倍的安卓8.1的手机,已经没有选择游戏和"微"信的余地
然而安卓8.1,并没有带来性能的变化和功能提升,它就这么膨胀了?
一个没有安装任何其他APP的Android8占用6GB的存储空间。请比10年前的软件想一下,程序员们该有多么巨大的进步。
这里面有高清电影吗?我猜大部分应该是代码:系统内核,驱动,翻译字符串,这些资源都不应该很大!
谷歌App,基本上就是谷歌网页搜索,需要350MB空间!谷歌Play服务,我基本不用,需要300MB空间
——
现代editor的输入延迟远输于42年前开发的Emacs。还有比编辑器更简单的功能吗?每敲击一次键盘,你所需要做的仅仅是更新一个小小的方形区域
一个3D游戏可以在这个时间内刷新整个屏幕,渲染成千上万的多边形。同时还处理用户输入,重新计算环境世界
Web应用都会报出大量的“随机”JS错误。
如果网页出现什么问题,只会提示你F5。谁有时间去研究到底什么地方改变了?
整个网页/SQL数据库的架构都建立在当用户浏览渲染出来的网页时,不会去操作任何数据的假设 🔥
原始讽刺:https://motherfuckingwebsite.com/
进阶讽刺:https://thebestmotherfucking.website/
反向讽刺:
https://thebestmotherfuckingwebsite.co/
你桌面的todo应用可能是基于Electron写的,所以它包含了一个Xbox 360控制器的用户态驱动在里面(QQ虚幻引擎警告 😅),这个驱动能渲染3D图像,播放音频,用你的网络摄像头拍照。
你应该将Slack划分为极其耗电型应用。聊天室和简单的文本编辑工具,这些应该都不是资源消耗型的应用才对。欢迎来到2018。
开发Node.js/Javscript项目,rm -rf node_modules 一直是码农工作过程不可或缺的部分。
在虚拟机上构建Docker容器,ONNX,就因为没人可以理清楚程序,编程语言和运行环境的混乱状况。
^注 #bash
systemd-analyze blame|tac|sed '/lightdm/q'
1.986s lightdm.service
2.1GHz 8G 的x86_64 Linux上启动只需2s 🥰 安卓慢不是Linux的锅
另外,pacman 的安装速度比apt;rpm几乎是快一倍的
不同的CPU指令集有体积差异,arm64几乎是32的二倍,这就显得Android的字节性价比奇低了-堪比JavaEE。 不知是不是系统apk的冗余res/文件太多
每次你 ./configure ,gcc都会重新计算一个完全能被缓存的CPU info,即使不换语言用cmake也能避免这点。 C指针语法的繁琐和预处理也会极大拖慢parse的时间
(for A in armv7 aarch64 x86 x86_64; do wget --spider 2>&1 https://mirrors.ustc.edu.cn/alpine/v3.19/releases/$A/alpine-standard-3.19.0-$A.iso; done)|grep 长度
长度:107423744 (102M) [application/octet-stream]
长度:220485632 (210M) [application/octet-stream]
长度:167772160 (160M) [application/octet-stream]
长度:217055232 (207M) [application/octet-stream]
💭
一些人可能觉得W95时没有 .NET 这样的框架,各种UI也很简陋,但这也是扯淡
要知道 7zip.org 可以用1M实现文件管理器的功能
qemu.org,ffmpeg.org,msys2.org 加起来也只250M, 难道内核驱动会包含更多算法吗?
而自带驱动的
pacman -Qi linux 6.7 x64是130M,原文作者 #rust 吹并非空穴来风功能类似的PS和 gimp.org 居然差0.7G https://helpx.adobe.com/creative-cloud/kb/file-size-creative-cloud-installers.html#:~:text=Photoshop%20CS6
功能和代码量似乎根本没有对应性
难道框架接口不是为服务于apps存在的吗? 随着技术进步,过分冗余的功能组件太多了
我觉得编程界的市场也是挺有趣的,明明速度在下降, 工资却依然涨
这又可以说成资本对劳动和技术的异化 又可以说成资本故意淘汰老设备
但其实编程界好像就是这样…… 无法多快好省地换代,有得有失
我觉得可以搞个绝对化,一切有局部类型标注,或者为val/var数据类型做区分的语法都是噪音(
一个编译期黑盒assert 当成金科律玉,说明根本没有做自顶向下复用 就开始敲键盘,根本是过度工程
文档写成测试,测试写成汇编,类型写成代码……
弱类型还简单些,module导入,interface多态和扩展,data和临时对象 创建个闭包,查个dict就行了
type能和函数字典很好地对应,序列化和集合类型都字面, 完全不需要keywords
这点许多新创建的静态语言都做不到,kt现在的listOf() 也没法好好实现
more: https://news.ycombinator.com/item?id=34936729
https://pointersgonewild.com/2018/02/18/minimalism-in-programming/ #dalao
Forwarded from tsuFeed
Mistral 终于放出了吊了很久的 Mistral Large。
Gemini Pro 再次被薄纱。
以及这次 Large 不是开源模型了,只能调用 API 给他们付费了。
chat.mistral.ai
#LLM
Gemini Pro 再次被薄纱。
以及这次 Large 不是开源模型了,只能调用 API 给他们付费了。
chat.mistral.ai
#LLM
Forwarded from 蓝点网订阅频道
#软件资讯 CloudFlare 宣布开源内部使用的 Pingora 框架,基于 Rust 开发,替代 Nginx。
查看全文:https://ourl.co/102628
CloudFlare 从 2022 年起就在内部放弃了 Nginx 转而采用 Pingora,现在这个新框架开源了。
Pingora 支持免重启升级、支持 HTTP1/2 (注:HTTP/3 后续支持)、支持 gRPC 和 Websocket、支持各种分析和观测工具的集成等。
查看全文:https://ourl.co/102628
CloudFlare 从 2022 年起就在内部放弃了 Nginx 转而采用 Pingora,现在这个新框架开源了。
Pingora 支持免重启升级、支持 HTTP1/2 (注:HTTP/3 后续支持)、支持 gRPC 和 Websocket、支持各种分析和观测工具的集成等。
Forwarded from LetITFly News (LetITFly 让技术飞)
https://www.ithome.com/0/753/087.htm
https://www.thepaper.cn/newsDetail_forward_26519528
央行急了.webp
https://www.thepaper.cn/newsDetail_forward_26519528
央行急了.webp
备注📝
目前支付宝的外卡限额是单笔 ¥3000 人民币,连央行从前指导的 $1000 美元也没有达到。(频道主是身份证用户,不清楚外籍护照的限额是否更大)
Ithome
央行:外籍来华人员移动支付单笔交易额升至 5000 美元,要求支付宝 / 微信提高绑卡效率 - IT之家
中国人民银行副行长张青松表示,央行将指导支付机构推出一系列便利措施,让移动支付产品这个中国老百姓最接受的支付方式好用、能用,让外国朋友满意、乐意使用。
Forwarded from duangsuse Throws
#china #life #history https://www.youtube.com/watch?v=sv9Rbrh_rX8
财政转移支付+特供关系户
3:00 大城市成功人士,被婆罗门穷亲戚和奢侈品店震惊
11:00 破防,那就是小镇做题家发现「超越阶级」是短暂的、表面的呗
18:00 县城基建,转移支付回北京房价
20:00 县vs城 过年和投资观念差距,加大了心理落差
最後一句真是犀利的諷刺,到底是誰在境外呢?在國內一層又一層的阻隔牆、信息封鎖,對自己國家的認識反而不如外國人。如果連自己國家都不認識,又要談何愛國呢?
韭菜人礦以為從共產體制分到了一百塊,
殊不知整塊蛋糕是十個億元,
但權力階層最小的一份卻是十萬元。
而资本民主正是要盡量打破這種體制,
共產卻是多數人想維持體制,並夢想自己成為享有特權的一員
财政转移支付+特供关系户
3:00 大城市成功人士,被婆罗门穷亲戚和奢侈品店震惊
11:00 破防,那就是小镇做题家发现「超越阶级」是短暂的、表面的呗
18:00 县城基建,转移支付回北京房价
20:00 县vs城 过年和投资观念差距,加大了心理落差
最後一句真是犀利的諷刺,到底是誰在境外呢?在國內一層又一層的阻隔牆、信息封鎖,對自己國家的認識反而不如外國人。如果連自己國家都不認識,又要談何愛國呢?
韭菜人礦以為從共產體制分到了一百塊,
殊不知整塊蛋糕是十個億元,
但權力階層最小的一份卻是十萬元。
而资本民主正是要盡量打破這種體制,
共產卻是多數人想維持體制,並夢想自己成為享有特權的一員
YouTube
讓億萬中國人破防的奇葩群體:縣城婆羅門!他們為何這麼牛?會一直躺贏你嗎?(文昭談古論今20240301第1378期)
✅『文昭談古論今』頻道:
📌 乾淨世界:https://www.ganjingworld.com/zh-TW/channel/1eiqjdnq7godN454HBx4z6JCr14b0c
✅『文昭思緒飛揚』頻道:
📌 乾淨世界:https://www.ganjingworld.com/zh-TW/channel/1eiqjdnq7go15uZhPmSnah2bL1qk0c
📌 乾淨世界:https://www.ganjingworld.com/zh-TW/channel/1eiqjdnq7godN454HBx4z6JCr14b0c
✅『文昭思緒飛揚』頻道:
📌 乾淨世界:https://www.ganjingworld.com/zh-TW/channel/1eiqjdnq7go15uZhPmSnah2bL1qk0c
#learn #js #kt #java 🧵 📥
借机聊下线程、协程间的对应性,以及UI/UX应用与单次脚本间因何不同。(全栈)
调用返回要靠 -Xss 指定大小的线程栈,数组
调用异步要靠 ret() 参数指定的回调栈,链表, 也可以封装为
你可以把异步栈保存到[]{}里按需执行,称为调度。协程(async stack)和linux调度器的区别,仅仅是后者能跑死循环(分时复用CPU)
总之 线程栈=调用栈,异步栈=回调栈。
信号,不是死循环轮询poll,它看注册推送push。不过Looper,HTTP-epoll请求响应 这种ddloop(detect-dispatch) 模式会混合两者
本来,为了不卡死主线每次IO或延时也要
生成器,
主线程sleep()往往要卡死UX,但
造成以上区别,是因为push比poll有普适性,它跨CPU地执行同一个函数,且有event/flow based 范式帮助模块复用。libuv和DOM就是对os.read,sleep.. 跨平台的线程池优化
既然如此,好像有UI+IO两个线程就够了,你干嘛~要多开线程
上文切换,只因,为能更好地压榨多核线程池
DOM代替大家做了划分,为多线提供了内存安全的Worker,但kt,go,py里暴露的技术细节有点多!
线程和 asyncio/suspend 相比有何劣势? linux上进程内是创建慢的进程组(fork)。在不调用OS资源时,永远使用协程"套娃"能减少到内核态的上文切换和内存消耗。像线程池存在的意义,就是免线程创建http连接等单任务
需要mutex锁的独占性资源,用协程读写更节省轮换
单协程轻量到1个回调就能保存,并发控制如
线程即共享内存的进程,无需手动封送(marshall RPC)就能互调用,而json本意是保存会话(对象树)。 如果内存会话和机器都要隔离,就需要
通过句柄而非密码访问API,是因为句柄能定期吊销,也便于审计。代理有时叫注入,Mapper,绑定
那么jdk19 虚拟线程 又如何? 有100w级的并发1s内完成的低开销,类似py的GIL
但绕过JDK的IO走 JNI Unsafe 读写文件或网络是无法实现异步调度,未实现
最后,再了解经典的「并发模型」 就能读懂90%的企业级服务了
- ForkJoin,MapReduce 如把文件预分块(shader) 读http区间多线程下载
- Actor 直接按函数参数,自顶向下来分块(RPC)
- CSP 是上面说的多进程,靠 Channel<in T>, chan<- T 递交任务,流式的
- 线程&锁 互斥资源不能被linux多核调度改乱套了,所以得加锁(synchronized)
借机聊下线程、协程间的对应性,以及UI/UX应用与单次脚本间因何不同。(全栈)
调用返回要靠 -Xss 指定大小的线程栈,数组
调用异步要靠 ret() 参数指定的回调栈,链表, 也可以封装为
new Promise((ok,err)=>ok(0)) 。内部执行前都要传入then步骤,但不需要看调用栈你可以把异步栈保存到[]{}里按需执行,称为调度。协程(async stack)和linux调度器的区别,仅仅是后者能跑死循环(分时复用CPU)
总之 线程栈=调用栈,异步栈=回调栈。
ps|head -n1 这样的管道write() 其实就是yield。这时read()不会等待/dev/disk/的CPU.IO信号,而视ps下一块缓冲的bytes (C对象的Channel)信号,不是死循环轮询poll,它看注册推送push。不过Looper,HTTP-epoll请求响应 这种ddloop(detect-dispatch) 模式会混合两者
本来,为了不卡死主线每次IO或延时也要
launchThread{b=f.read(); rest(b)} 。封装为 f.read(回调) 就异步了:线程无关生成器,
yield(x, Ret) 会保留首次调用偷偷建的状态机Ret,第二次next(v),调Ret(v如异步结果)后即可返回x。 asyncFn=(args, op=0, Ret=(v)=>switch(op++){} )=>相当于协程对象主线程sleep()往往要卡死UX,但
yield ret=>setTiemout(ret,1s) 却会立刻返回,同时允许ret()上文切换到其他线程池(ddloop,scheduler)继续执行造成以上区别,是因为push比poll有普适性,它跨CPU地执行同一个函数,且有event/flow based 范式帮助模块复用。libuv和DOM就是对os.read,sleep.. 跨平台的线程池优化
既然如此,好像有UI+IO两个线程就够了,你干嘛~要多开线程
上文切换,只因,为能更好地压榨多核线程池
DOM代替大家做了划分,为多线提供了内存安全的Worker,但kt,go,py里暴露的技术细节有点多!
线程和 asyncio/suspend 相比有何劣势? linux上进程内是创建慢的进程组(fork)。在不调用OS资源时,永远使用协程"套娃"能减少到内核态的上文切换和内存消耗。像线程池存在的意义,就是免线程创建http连接等单任务
需要mutex锁的独占性资源,用协程读写更节省轮换
单协程轻量到1个回调就能保存,并发控制如
join(coroutineScope),go select,channel 可以用Promise.all,race,postMsg来"阻塞",因为它提供了进程模型所缺少的返回值。线程即共享内存的进程,无需手动封送(marshall RPC)就能互调用,而json本意是保存会话(对象树)。 如果内存会话和机器都要隔离,就需要
Proxy(by=cookie酷卡/fd句柄) 验证对象API权限了通过句柄而非密码访问API,是因为句柄能定期吊销,也便于审计。代理有时叫注入,Mapper,绑定
那么jdk19 虚拟线程 又如何? 有100w级的并发1s内完成的低开销,类似py的GIL
但绕过JDK的IO走 JNI Unsafe 读写文件或网络是无法实现异步调度,未实现
suspendCoroutine{it.resumeWith(Ok(0))} 这样的yield的扩展性var vs = Executors.newVirtualThreadPerTaskExecutor(); //Executors.newFixedThreadPool(200)
for(var Y= new int[]{0}; Y[0]<3;Y[0]++)
vs.submit(() -> { int y=Y[0]; try{Thread.sleep(java.time.Duration.ofSeconds(y*1));} catch(InterruptedException e){}
System.out.print(y + " "); }).get();
最后,再了解经典的「并发模型」 就能读懂90%的企业级服务了
- ForkJoin,MapReduce 如把文件预分块(shader) 读http区间多线程下载
- Actor 直接按函数参数,自顶向下来分块(RPC)
- CSP 是上面说的多进程,靠 Channel<in T>, chan<- T 递交任务,流式的
make -j8 - 线程&锁 互斥资源不能被linux多核调度改乱套了,所以得加锁(synchronized)
Liaoxuefeng
多线程基础 - Java教程 - 廖雪峰的官方网站
廖雪峰的官方网站 (liaoxuefeng.com) 研究互联网产品和技术,提供原创中文精品教程
#py #tool 浏览器缓存 图片 爬虫
#code
你可以逐文件夹拼图: #bash 各种相对路径真的吐了
python a.py 'x\.com' 200 ~/.cache/chromium/Default/Cache/Cache_Data/*python imgdump.py 'www' 100 `ls --sort time --reverse ~/.cache/chromium/Default/Cache/Cache_Data/*`
#code
import re,struct, os
def ls_cache(urlRegex, kbSizeMin, *cache_files):
key_marker = struct.pack('Q', 0xf4fa6f45970d41d8)
def deco(b):
# header is 8+4+4:keylen+4+ bytes[keylen]
key_len = struct.unpack('I', b[12:16])[0]+4
key = b[20:20+key_len].decode()
body = b[20+key_len:b.find(key_marker)]
if len(body)>kbSizeMin*1024 and re.search(urlRegex,key):
return mstrip(100,re.sub('[\x00/]','', key)),body
mapFiles(cache_files,deco)
mstrip=lambda n,s: s if len(s)<n else f"{s[:n//2-2 -2]}..{s[n//2:]}"
def mapFiles(a, fOut):
os.system('rm -rf png;mkdir png')
for i,file in enumerate(a):
with open(file, 'rb') as f:
if f1:=fOut(f.read()):
k,v=f1
with open(f'png/{i}-{k}', 'wb+') as out_f:out_f.write(v)
if __name__ == '__main__':
import fire
fire.Fire(ls_cache)
你可以逐文件夹拼图: #bash 各种相对路径真的吐了
vcat() { cd $1;a=`find *|sort -n|xargs printf "-i %s\n"`
ffmpeg $a -filter_complex vstack=inputs=`wc -l <<<$a` ../$1.png ;cd -;}
for f in `ls`;do vcat $f;done
for f in find * -type d; do thunar -B $f/*; done #按文件夹 批量重命名
cp-id() { i=1; for x in "$@"; do X=$(basename "$x"); cp "$x" "${i}-${X%.*}.${X##*.}"; i=$((i+1)); done; }
最开始考虑了 https://t.me/dsuses/5305 和binwalk但太慢mkdir a tar
cp `grep 'x.com' -FRl ~/.cache/chromium/Default/Cache/|find -size +200k` tar
binwalk -C a -D image:png tar/*
find a/ -name '*.png'|nl
Telegram
duangsues.is_a? SaltedFish
To retrieve the N most recent images from the Chrome cache in Linux that are greater than 100KB in size using Python, you can use the following script. This script uses the sqlite3 library to access Chrome's cache database. Please note that accessing the…
#bin 仅仅是load一个
struct 和 cffi 都太垃圾了。我让AI用mmap解指针,
SO上有一个非常幽默的
可以流 https://construct.readthedocs.io/en/latest/
感觉比protoc编译好
Web ArrayBuffer 也是支持的,包括 array('B') 和一些有趣的社区库
pickle,marshal就不说了,和JDK OOStream 一样不规范到需要内定的程度(还不如巨硬的COM呢..)
而且还破坏了 load/dump 的弱类型接口
bytes[lenPrefix] 有啥好库推荐?struct 和 cffi 都太垃圾了。我让AI用mmap解指针,
ffi.cast("header_t *", mm[:ffi.sizeof("header_t")])
ffi.unpack(ffi.cast("char *", mm + key_offset), keylen)
毫无数组结构给我干懵了SO上有一个非常幽默的
(i,), data = struct.unpack("I", data[:4]), data[4:]
s, data = data[:i], data[i:]
还提了个helper,但只能兼容尾部数组,连流解析都没有from construct import *
format = Struct(
"signature" / Const(b"BMP"),
"width" / Int8ub,
"height" / Int8ub,
"pixels" / Array(this.width * this.height, Byte),
)
format.build(dict(width=3,height=2,pixels=[7,8,9,11,12,13]))
format.parse(b'BMP\x03\x02\x07\x08\t\x0b\x0c\r')
可以流 https://construct.readthedocs.io/en/latest/
感觉比protoc编译好
Web ArrayBuffer 也是支持的,包括 array('B') 和一些有趣的社区库
mm = np.memmap(filename, np.int16, 'r', shape=(1000, 64))
import binaryfile
import deconstruct as c
class InputEvent(c.Struct):
time: c.uint64[2]
value: c.int32
# Define the file structure&read()
def file_spec(f):
size = f.count('size', 'text', 2) # A two-byte unsigned integer
f.bytes('text', size)
pickle,marshal就不说了,和JDK OOStream 一样不规范到需要内定的程度(还不如巨硬的COM呢..)
👍1
Forwarded from Hacker News
Opus 1.5 released: Opus gets a machine learning upgrade (🔥 Score: 151+ in 2 hours)
Link: https://readhacker.news/s/63tqs
Comments: https://readhacker.news/c/63tqs
Link: https://readhacker.news/s/63tqs
Comments: https://readhacker.news/c/63tqs
#china #history 方脸 小翠 朽木:吸气要扣税..
🤔:让老板帮你缴税,是遥遥领先的人性服务,还是偷钱闷声发大财呢?
明税=个人所得+社保起步价
暗税=老板的5险1金+小微企业什一税 (+户口土地财政+县城皇粮阶级转移支付)
+没有合法工会和《劳动法》造成的压榨
+生产者地摊逃税、做黑心油烂尾楼、监管躺平 对社会均价质量造成的冲击 (参考东北/电商/外卖低物价)
+同时有《宪法》和《国安法》激化的外资出逃
+马云余明鸿和滴滴被红孩儿共同富裕,以及对游戏GPU和AI的市场打击
+无代表就纳税,煽动民粹碍国,以及计生核酸等人权红利对正常中国公民造成的精神损失费
+初次被村公仆服务后,做公仆梦的小粉红所遭受的世界观冲击
—上海vs台湾健保
加拿大BC的普通人税率是15.7%
上海税率,与🇨🇦年收入5亿持平
考虑到中国是法治的高隐形税负福利社会,这钱花的不太值啊..
🤔:让老板帮你缴税,是遥遥领先的人性服务,还是偷钱闷声发大财呢?
明税=个人所得+社保起步价
暗税=老板的5险1金+小微企业什一税 (+户口土地财政+县城皇粮阶级转移支付)
+没有合法工会和《劳动法》造成的压榨
+生产者地摊逃税、做黑心油烂尾楼、监管躺平 对社会均价质量造成的冲击 (参考东北/电商/外卖低物价)
+同时有《宪法》和《国安法》激化的外资出逃
+马云余明鸿和滴滴被红孩儿共同富裕,以及对游戏GPU和AI的市场打击
+无代表就纳税,煽动民粹碍国,以及计生核酸等人权红利对正常中国公民造成的精神损失费
+初次被村公仆服务后,做公仆梦的小粉红所遭受的世界观冲击
—上海vs台湾健保
加拿大BC的普通人税率是15.7%
上海税率,与🇨🇦年收入5亿持平
考虑到中国是法治的高隐形税负福利社会,这钱花的不太值啊..