Forwarded from 螺莉莉的黑板报
YouTube
“世界编程大赛”:从软件破解发展成CG视觉盛宴 | demoscene | party | 64KB | 亚文化 | 北欧 | 编程大赛
【好消息】
顺手给大家推荐一个目前全网价格最实惠的合租平台,奈飞,迪士尼,苹果tv,chagpt这种热门的软件全都有,而且还有一对一专属售后
https://universalbus.cn?s=avf1UOSUF3
记得填写优惠码可以打折哦:epcdiy
欢迎订阅👉https://is.gd/p1FPdr
Welcome to subscribe👉https://is.gd/p1FPdr
喜欢我的视频,请按赞、分享哦~
Like my video welcome hit like and share…
顺手给大家推荐一个目前全网价格最实惠的合租平台,奈飞,迪士尼,苹果tv,chagpt这种热门的软件全都有,而且还有一对一专属售后
https://universalbus.cn?s=avf1UOSUF3
记得填写优惠码可以打折哦:epcdiy
欢迎订阅👉https://is.gd/p1FPdr
Welcome to subscribe👉https://is.gd/p1FPdr
喜欢我的视频,请按赞、分享哦~
Like my video welcome hit like and share…
Forwarded from 科技圈🎗在花频道📮 (新闻📰投稿📮)
Nvidia 刚刚发布了 Blackwell,这是其用于人工智能的下一代 GPU
Nvidia GB200 Grace Blackwell Superchip 可为 LLM 推理工作负载提供高达 30 倍的性能提升,并可扩展到具有多达 10 万亿个参数的 AI 模型。
Tom Warren
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
Nvidia GB200 Grace Blackwell Superchip 可为 LLM 推理工作负载提供高达 30 倍的性能提升,并可扩展到具有多达 10 万亿个参数的 AI 模型。
Tom Warren
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
duangsuse::Echo
#china #bilibili 原来为《除三害》的血腥片段感到「很奇怪它为什么火的」 不止我一个 人血馒头这个梗过不去了 🥰 中国电影审查制度的双标 与挂帅 https://youtu.be/rkE8710OYoY?t=567 — 為什麽如此血腥暴力的R18電影可以在中國過審? 有這種讓《U型鎖族》感到快感和解恨的這個橋段 陳桂林用槍一個個處決邪教組織信徒 他們意識不到,所謂的地主 不過就是像今天家裏拆遷,多分了幾套房的小業主而已
#school #news 3.10 邯郸<14岁「 三小只埋人事件」也过去几天了,国家似乎不想让舆论涉及留守儿童群体
https://youtu.be/QT9ov-7csME?t=301
同桌策划连手2个霸凌者,在下午使用铁锹把小光的微信存款先劫后杀,埋在2m深的废弃菜地里
当晚事情败露,从犯在次日即承认是三人合伙杀了人
在未成年人犯罪上, 🇨🇦 🇺🇸 和中国都不执行死刑
《刑法》的保护分 14 16 18 两段,14岁以下杀人不负责(教唆者负罪), 这是真话
小L #science 就「素质教育vs职业教育」 (是的,中国的综合大学,university 也是为了工业生产型人才) 谈论了学校方面存在的失职 https://www.youtube.com/watch?v=ZAiAjhjdK4o
https://youtu.be/QT9ov-7csME?t=301
同桌策划连手2个霸凌者,在下午使用铁锹把小光的微信存款先劫后杀,埋在2m深的废弃菜地里
当晚事情败露,从犯在次日即承认是三人合伙杀了人
在未成年人犯罪上, 🇨🇦 🇺🇸 和中国都不执行死刑
《刑法》的保护分 14 16 18 两段,14岁以下杀人不负责(教唆者负罪), 这是真话
小L #science 就「素质教育vs职业教育」 (是的,中国的综合大学,university 也是为了工业生产型人才) 谈论了学校方面存在的失职 https://www.youtube.com/watch?v=ZAiAjhjdK4o
YouTube
邯鄲初中生遇害案,引爆全體中國人憤怒;公憤能讓惡魔罪有應得嗎?(文昭談古論今20240318第1836期)
近期在「文昭思緒飛揚」發表的節目《奶業巨頭,比科技和很活更猛的內幕》請看:👇
https://youtu.be/hyzArD_lohA
✅『文昭思緒飛揚』頻道:
📌 乾淨世界:https://www.ganjingworld.com/zh-TW/channel/1eiqjdnq7go15uZhPmSnah2bL1qk0c
📌 YouTube:https://www.youtube.com/channel/UCTu_hTaVf3DJMpMIyOAq2Ew
https://youtu.be/hyzArD_lohA
✅『文昭思緒飛揚』頻道:
📌 乾淨世界:https://www.ganjingworld.com/zh-TW/channel/1eiqjdnq7go15uZhPmSnah2bL1qk0c
📌 YouTube:https://www.youtube.com/channel/UCTu_hTaVf3DJMpMIyOAq2Ew
Forwarded from 科技圈🎗在花频道📮 (新闻📰投稿📮)
奥特曼最新万字访谈:GPT-5能力提升超乎想象,算力将成为未来最重要的货币
奥特曼认为,算力将成为未来最宝贵的财富之一,会成为未来的“货币”,人工智能的发展将是一场巨大的权力斗争。公司、组织、国家都可能为了争夺这份未来的“货币”而展开竞争。在这场竞争中,OpenAI得关注如何公平、公正地分配和使用算力。不能让算力加剧社会不平等,而应该成为推动全人类进步的力量。
访谈视频:https://www.bilibili.com/video/BV1DC411h7oZ
访谈全文:https://wallstreetcn.com/articles/3710759
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
奥特曼认为,算力将成为未来最宝贵的财富之一,会成为未来的“货币”,人工智能的发展将是一场巨大的权力斗争。公司、组织、国家都可能为了争夺这份未来的“货币”而展开竞争。在这场竞争中,OpenAI得关注如何公平、公正地分配和使用算力。不能让算力加剧社会不平等,而应该成为推动全人类进步的力量。
访谈视频:https://www.bilibili.com/video/BV1DC411h7oZ
访谈全文:https://wallstreetcn.com/articles/3710759
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
Forwarded from Solidot
Stability AI 发布 Stable Video 3D
2024-03-19 14:13 by 血之遗产
AI 创业公司 Stability AI 发布了 Stable Video 3D,输入一个对象的静态照片生成该对象的 3D 模型。Stable Video 3D 有两个版本:SV3D_u 和 SV3D_p,其中 SV3D_u 输入单幅图像生成轨道视频,无需相机调节;SV3D_p 组合了单幅图像和轨道视图,允许沿着指定相机路径创建 3D 视频。Stable Video 3D 的商业使用需要付费,非商业使用可在 Hugging Face 上下载模型权重(9.37GB)。
https://stability.ai/news/introducing-stable-video-3d
https://huggingface.co/stabilityai/sv3d
#人工智能
2024-03-19 14:13 by 血之遗产
AI 创业公司 Stability AI 发布了 Stable Video 3D,输入一个对象的静态照片生成该对象的 3D 模型。Stable Video 3D 有两个版本:SV3D_u 和 SV3D_p,其中 SV3D_u 输入单幅图像生成轨道视频,无需相机调节;SV3D_p 组合了单幅图像和轨道视图,允许沿着指定相机路径创建 3D 视频。Stable Video 3D 的商业使用需要付费,非商业使用可在 Hugging Face 上下载模型权重(9.37GB)。
https://stability.ai/news/introducing-stable-video-3d
https://huggingface.co/stabilityai/sv3d
#人工智能
Forwarded from SheronW in the box
https://sspai.com/post/86982
「学会异步交流模式」这章对我这种名义上没有远程工作但其实就和公司给我租了个共享办公空间差不多的人来说很有帮助:
输入的处理方式:IM 上关闭不必要的群通知(只有被@才会收到提醒),持续 monitor 收到的消息并立刻归档分类(我自己加的:如果不需要产生输入,可以把5分钟能做好的事情直接糊弄完,或者加进自己的 GTD 系统,如果产生输出请看下一条)
输出后的处理方式:
1. 如果不紧急,那么回复消息之后就当它不存在,一边处理任务队列中的其他任务,一边等待 callback
2. 如果比较紧急,设置一个 timeout ,timeout 后果断找第三方介入(@其他placeholder或者上级)
3. 如果是打字说不清楚,或者要针对某个问题或者某个方案详细对齐,考虑 schedule meeting 变成非异步交流
「学会异步交流模式」这章对我这种
输入的处理方式:IM 上关闭不必要的群通知(只有被@才会收到提醒),持续 monitor 收到的消息并立刻归档分类(我自己加的:如果不需要产生输入,可以把5分钟能做好的事情直接糊弄完,或者加进自己的 GTD 系统,如果产生输出请看下一条)
输出后的处理方式:
1. 如果不紧急,那么回复消息之后就当它不存在,一边处理任务队列中的其他任务,一边等待 callback
2. 如果比较紧急,设置一个 timeout ,timeout 后果断找第三方介入(@其他placeholder或者上级)
3. 如果是打字说不清楚,或者要针对某个问题或者某个方案详细对齐,考虑 schedule meeting 变成非异步交流
少数派 - 高品质数字消费指南
年度征文 | 远程工作一年,是什么样的体验 - 少数派
「本文参加2023年度征文活动。我的2023年度关键词是:远程」2023年,对我来说是一个非常值得铭记的年份。这一年里,我经历了从大厂离职、到创业公司远程工作、结婚等等一系列大事。这些事情,每一件单独 ...
#js 后端 https://elysiajs.com/
Against SQL lisp (🔥 Score: 152+ in 2 hours)
Link: https://readhacker.news/s/4Qg7v
😱 🌐
import { Elysia, t } from 'elysia'
const app = new Elysia()
.patch(
'/user/age',
({ body }) => signIn(body),
{
body: t.Object({
name: t.String(),
age: t.Number()
})
}
)
.listen(80)Against SQL lisp (🔥 Score: 152+ in 2 hours)
Link: https://readhacker.news/s/4Qg7v
(select
(where
(left-join
(table posts)
(table authors)
(fn (posts authors)
(=
(column posts author)
(column authors id))))
(fn (col)
(<
(as 'date (column col posts updated))
(make-date 'ymd 2021 1 1))))
(make-cols
(flatten posts)
("author-name" (column authors name))
("author-icon" (column authors icon)))) 😱 🌐
Elysiajs
Elysia - Ergonomic Framework for Humans
Elysia is an ergonomic framework for Humans. With end-to-end type safety and great developer experience. Elysia is familiar, fast, and has first-class TypeScript support with well-thought integration between services whether it's tRPC, Swagger or WebSocket.…
Forwarded from Solidot
网页太臃肿严重影响浏览性能
2024-03-20 22:49 by 冰上斯芬克斯
Danluu.com 的最新报告显示,今天的主流网站的网页过于臃肿,以至于严重影响浏览性能,而能流畅玩手游《绝地求生》的入门级移动设备甚至难以正常加载。Wix 每个网页需要加载 21MB,Patreon 和 Threads 每个网页需要加载 13MB 的数据。臃肿的网页导致加载时间长达 33 秒,部分情况下甚至无法加载。基本上主流社交平台都存在臃肿的问题。而内容创建平台如 Squarespace 和论坛 Discourse 的新版本通常比旧版本性能更差。深圳手机制造商传音的入门级智能手机 S8C 能以 40 FPS 的速度运行《绝地求生》手游,但却无法正常加载问答平台 Quora。今天的 Web 和应用设计越来越不考虑优化了。
https://tech.slashdot.org/story/24/03/19/218216/modern-web-bloat-means-some-pages-load-21mb-of-data
https://danluu.com/slow-device/
#互联网
2024-03-20 22:49 by 冰上斯芬克斯
Danluu.com 的最新报告显示,今天的主流网站的网页过于臃肿,以至于严重影响浏览性能,而能流畅玩手游《绝地求生》的入门级移动设备甚至难以正常加载。Wix 每个网页需要加载 21MB,Patreon 和 Threads 每个网页需要加载 13MB 的数据。臃肿的网页导致加载时间长达 33 秒,部分情况下甚至无法加载。基本上主流社交平台都存在臃肿的问题。而内容创建平台如 Squarespace 和论坛 Discourse 的新版本通常比旧版本性能更差。深圳手机制造商传音的入门级智能手机 S8C 能以 40 FPS 的速度运行《绝地求生》手游,但却无法正常加载问答平台 Quora。今天的 Web 和应用设计越来越不考虑优化了。
https://tech.slashdot.org/story/24/03/19/218216/modern-web-bloat-means-some-pages-load-21mb-of-data
https://danluu.com/slow-device/
#互联网
Forwarded from 科技圈🎗在花频道📮 (新闻📰投稿📮)
Switch模拟器Yuzu的分支Suyu被GitLab删除
GitLab方表示,在收到了“相关产权持有人的DMAC下架通知”后(见图),其遵照标准流程处理了有关内容。截至目前,suyu-emu组织持有的Suyu仓库的GitHub以及GitLab页面均处于404状态,但该组织的GitLab账号中的suyu-releases仓库尚未被处理。此外,自谷歌仍能检索到名为OpenRetro的组织所持有的Suyu仓库,其最后一次提交停留在了三天前,且该提交的贡献者Levi Akatsuki的GitLab账号也处于封锁状态,不过该仓库并未发布相应的预编译二进制文件。
最新消息:GitHub活了,GitLab还在404
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
GitLab方表示,在收到了“相关产权持有人的DMAC下架通知”后(见图),其遵照标准流程处理了有关内容。截至目前,suyu-emu组织持有的Suyu仓库的GitHub以及GitLab页面均处于404状态,但该组织的GitLab账号中的suyu-releases仓库尚未被处理。此外,自谷歌仍能检索到名为OpenRetro的组织所持有的Suyu仓库,其最后一次提交停留在了三天前,且该提交的贡献者Levi Akatsuki的GitLab账号也处于封锁状态,不过该仓库并未发布相应的预编译二进制文件。
最新消息:GitHub活了,GitLab还在404
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
https://youtu.be/2GHI4AzrMnw?t=917
#china #science 太抽象了,大手术找 中医 😅 🧬
王志安对中医的评价很准:谋财害命
这与鲁迅老师、与户晨风是一样的
谋没谋财? 把鸡血 小米粥这些打到血管里,收你注射费, 卖你一片面粉收几十块,卖你枸杞里的糖分宣称能壮阳~
害没害命? 耽误检查治疗,提升过敏风险,给人不做年检的借口,确实省钱,但省的是救命钱
印度也有中医,只不过按照的又是另一套神学逻辑,就能把日子人绕进去
所谓西医对药物的理解很简单啊,就是化学式、效果副效、量效曲线,双盲实验
哪像算卦人一样,还得看炮制、看天气,算气功阴阳实虚的
封建思想的是药三分毒,把什么都诉诸神奇和排毒反应
https://www.who.int/zh/news/item/27-02-2020-who-launch-e-eml
今天的医学,即便只用专利过期的、开源的化学式,也比巫医的“胜利”有可复现可查证性
#china #science 太抽象了,大手术找 中医 😅 🧬
王志安对中医的评价很准:谋财害命
这与鲁迅老师、与户晨风是一样的
谋没谋财? 把鸡血 小米粥这些打到血管里,收你注射费, 卖你一片面粉收几十块,卖你枸杞里的糖分宣称能壮阳~
害没害命? 耽误检查治疗,提升过敏风险,给人不做年检的借口,确实省钱,但省的是救命钱
印度也有中医,只不过按照的又是另一套神学逻辑,就能把日子人绕进去
所谓西医对药物的理解很简单啊,就是化学式、效果副效、量效曲线,双盲实验
哪像算卦人一样,还得看炮制、看天气,算气功阴阳实虚的
封建思想的是药三分毒,把什么都诉诸神奇和排毒反应
https://www.who.int/zh/news/item/27-02-2020-who-launch-e-eml
今天的医学,即便只用专利过期的、开源的化学式,也比巫医的“胜利”有可复现可查证性
YouTube
戶晨風翻車了!被小粉紅發動粉絲,集體舉報😂|Reaction Video
Forwarded from 科技圈🎗在花频道📮 (新闻📰投稿📮)
Android 15将带来音频共享功能
谷歌今日发布了 Android 15 Developer Preview 2,根据外媒 9To5Google 发现的信息,该版本系统还带来了音频共享功能,描述为“让其他人使用他们自己的兼容耳机与您一起收听您的媒体”。
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
谷歌今日发布了 Android 15 Developer Preview 2,根据外媒 9To5Google 发现的信息,该版本系统还带来了音频共享功能,描述为“让其他人使用他们自己的兼容耳机与您一起收听您的媒体”。
线索:@ZaiHuabot
投稿:@TNSubmbot
频道:@TestFlightCN
https://t.me/c/1320136548/46137 #statement #design 🥰 又和 @rynif 群人吵了
1. ASCII码表(这些代码质量已逼近Unity等CG算法的“优化”)不是关键问题, 因为PC的算力也是在提升
另外,编译器和语言的设计者,应该也是站在「设计模式」的对立面的。
「只需更新1个矩形」 这样的批评或许很空洞,但淘汰了Atom编辑器的 VSCode Monaco 编辑框呢? F12一下,你会发现别说 CSS.hilight 了,它甚至没用DOM Scroll,而是拿js更新style=transform !
至于为什么作者怪App层是怪对人了,你看 Kate,GNOME Builder 等开源实现的60fps滚动和低内存多开就懂了。 竟品们并没有复杂数百倍,体积上也体现不出
2.
这是作者推崇单exe ,认为Docker只是做了拙劣的apt+管理面板+systemctl 封装 🐳
单exe本质上是对「成品软件」,也就是整个供应链v1.0 后就不需要新功能的设计品的推崇
举个例子,现在Linux上会有各种 cpp,js py,go,rust,java,php,haskell 产品的安装包,但它们的标准库几乎不改变,这就是因为语言在设计初期,生态完备
Linux会差一些,用户要学诸多/etc “标记语言”的复杂设计,但在py里基本都是yml ,因为统一,也有fire,jupyter 这些自动UI
3. 当时的人们在抱怨当时的软件效率低下、编码质量拙劣、后期维护困难,所以我们有了程序组织范式、现代化的软件工程,设计余裕、构建系统、代码审查、单元测试等等一系列东西。
连当前给无数,并未如那些前人般在数学、电子信息、系统工程、架构设计等等方面都卓有成效的一般开发者,留下的余荫,都没完全搞懂,还充什么吊古伤今的做派?
但是这些「现代工具」带给人们的只是过度工程,是导致1个代码库>4G的从不反思的堆砌。比如 Java 那个非常可笑的 assertEquals(a,b) ,和随机proptest ,哪怕和具有良好调试的groovy assert没法比
关于软件“工程效果”和行数的关系,请比较 Blender.org 与 https://www.shadertoy.com/user/iq 的大部分3d demo。 有多少是“余荫”,多少是毒? 简洁并不是微不足道的Marginal Error
我不否认,shadertoy等「创作式编程」圈子里代码的复用率完全不配称为一种工程,但他们实现的逻辑性,确实值得「工程师」们反思
坦白说,这方面我支持AI取代人类,因为…… 他们不配写代码。至少,如果连自顶向下思考(这样才能与Copilot合作) 都不懂,恐怕软件界也只会不断跨端复制「旧问题」 🤖
Matrew:
1. 码表本身是非常关键的问题,忽略这个东西本身就是在剥离这个问题的讨论价值。因为有了“只支持ASCII码表”做保证,早期软件工程在处理字符时就可以随心所欲的假设一个字符完全对应一个字节,从而用各种内存魔法在硬件底层上加快处理速度。也正是因为当时的渲染硬件使用的是固定的码表渲染,界面有着“划分为字符方格”的保证,所以渲染显示可以随心所欲的在显示Buffer上寻址写入。虽然算力按照摩尔定律指数级别提升,但是软件工程的复杂度远比硬件加速的速度快早期软件工程容易实现“成品软件”的原因正是因为早期硬件设计的诸多限制本身是设计上不需要处理Edge case的完好保证——内存安全?沙盒机制?软件把操作系统搞死了大不了你重启嘛,有什么问题吗?
2. 推崇单EXE大可扩展到“所有软件都静态链编”,毕竟这样就不需要解决依赖,一个文件通行天下了嘛。代价呢?所有软件都带一份自己的libc实现吗?都在骂Electron拖着自己的Chromium狗屎走,有没有想过如果每个软件都拖着自己的libc实现走呢?那会是什么地狱场面?
Linux靠包管理器和无数人力的维护勉强解决了这个问题,Windows至今还会出现运行程序缺DLL需要自己去找去下VC_Redist的问题。这些问题并非是现代软件工程所有的,而是现代软件工程所致力于解决的。
至于你说“标准库几乎不改变”,我觉得不用我多回复。最好把这句话到底是什么意思理清楚了再看看这个断言本身正不正确。“在设计初期生态完备”?那C++从C98一直到C26,标准化工作里都在做些什么?不就是让那些互不兼容、各有所短的实现最终共识于一个由众多人力物力确保安全稳定高效的实现?带着“成品软件”的眼光去看编程语言的发展本身就是一个错误的观点。
“编译器和语言的设计者站在设计模式的对立面”,那么为什么他们要实现自己心目中的语言,用自己期望的“设计模式”去自缚手脚?既然他们讨厌设计模式,那就不设计设计模式,直接写字节码不好吗?你没有发现你的很多论点自相矛盾吗?
3. “多少是‘余荫’,多少是‘毒’”,Blender和Shadertoy的例子我觉得不用我辩驳。一边是在泛用型工程上做的规范化可维护实现,一边是避而不展示背后支撑架构的堆砌魔法公式的One-off成品。随便打开后者的一个例子,你能一眼解释作者做了什么吗?他们实现的逻辑性不值得工程师反思,因为正如倒数平方根算法一样,那些特定于硬件、特定与底层实现、特定于语言版本甚至特定于编译产物的“奇迹”并不能为后人指导什么。
以上几点所提及正是作者的短视之处:他只看到了过去那些“成品软件”的高效简洁,却没有看到那些老旧技术债之中埋藏了多少匪夷所思的代码炸弹。多少老代码倒在了千禧年之前,就因为节省两位内存用来存储年份?“成品程序”Lotus Spreadsheet一时的求速让Excel埋下了多少年的兼容问题?
你举了两个反例,一个Electron、一个Docker,我不否认这两个工程所代表的“沙盒化”、“容器化”本身的思想是懒惰的产物,是一味的Panacea,但是原作者的意见大有把现代操作系统数十年以来为了让规范的抽象设计推广到工程实践中所做的努力都贬为“懒惰的产物”的意思。我强烈反对这种倾向,因为软件工程如今已经不仅仅是象牙塔里的玩具,实验室里的襁褓,而是关乎无数行业生产力的行业基石,是“安全”“效率”“体积”“开发速度”“维护难度”等等因素无限交叠的维恩图。一味追求“快”“小”的产物所做出来的东西应用在生产中只会是灾难。
最后,我同意你的说法,“人类不配写代码”。也正因如此,你我现在用于写下这段文字的产物,不过是电子之神的庇护罢了,是祂启示了人类写下那些“代码本天成,妙手偶得之”的神奇产物,是祂拯救人类于原子时代的水火,让信息时代惠泽万物,机门。
duangsuse, [2024/3/23 12:42]
1.那些魔法不重要, g.drawText(s,xy) 渲染的实现并不是核心开销,无论是什么编码、ttf ligature 它都不是Atom这种(功能严重冗余的、滚动时修改每个 div.view-line 的)代码编辑器比notepad++更慢的理由
而且我也没有批评Linux多进程调度器分配器,我是说app层总有种自己比WebKit快-因为算法更长 的幻觉,请不要扯到汇编上
2.VC_Redist是一个<10M 的dll,这是win32自己的生态问题。 至少只用下.NET 这样的运行时,也比逐个依赖每次去make install 好的多了(Arch的PKGBUILD 基于fakeroot基本就是照抄,apt系我不知道,显然apt的繁杂更“工程化”)
“标准库几乎不改变”,你可以把rust这些和libc,py 2/3 的导出表更新频率来比, 然而,即便是更新最快的stdlib,想删既有API也是不可能的,更是严重的工程错误
一门语言能做最错的决定,就是像Perl那样挤压社区库的空间、即不直观又浪费语法的扩展性,什么都似是其非地管起来
3.你对创作式编程批评其移植性完全搞错了方向,因为WebGL,WASM 这些技术都是有标准的,其文档不和JVM或ES6 spec 一样大几百页都是废话,而全都是能看能动的demo
如果64k-intro这样对大道至简、精益求精 的追求都不叫工程, 那些连自己写过什么函数都不记得的,到处
一些人觉得JS没有class,做不了“大型软件”,那么 https://hello.andremichelle.io/#AUTOMATOR 呢?
4. >多少老代码倒在了千禧年之前,就因为节省两位内存用来存储年份?“成品程序”Lotus Spreadsheet一时的求速让Excel埋下了多少年的兼容问题?
1. ASCII码表(这些代码质量已逼近Unity等CG算法的“优化”)不是关键问题, 因为PC的算力也是在提升
另外,编译器和语言的设计者,应该也是站在「设计模式」的对立面的。
「只需更新1个矩形」 这样的批评或许很空洞,但淘汰了Atom编辑器的 VSCode Monaco 编辑框呢? F12一下,你会发现别说 CSS.hilight 了,它甚至没用DOM Scroll,而是拿js更新style=transform !
至于为什么作者怪App层是怪对人了,你看 Kate,GNOME Builder 等开源实现的60fps滚动和低内存多开就懂了。 竟品们并没有复杂数百倍,体积上也体现不出
pacman -Qi kate ktexteditor5 vscode|grep MiB #~40M ~90M
2.
在80年代,一个DOS程序不需要任何修改就能在大部分的DOS兼容计算机上运行。
这是作者推崇单exe ,认为Docker只是做了拙劣的apt+管理面板+systemctl 封装 🐳
单exe本质上是对「成品软件」,也就是整个供应链v1.0 后就不需要新功能的设计品的推崇
举个例子,现在Linux上会有各种 cpp,js py,go,rust,java,php,haskell 产品的安装包,但它们的标准库几乎不改变,这就是因为语言在设计初期,生态完备
Linux会差一些,用户要学诸多/etc “标记语言”的复杂设计,但在py里基本都是yml ,因为统一,也有fire,jupyter 这些自动UI
3. 当时的人们在抱怨当时的软件效率低下、编码质量拙劣、后期维护困难,所以我们有了程序组织范式、现代化的软件工程,设计余裕、构建系统、代码审查、单元测试等等一系列东西。
连当前给无数,并未如那些前人般在数学、电子信息、系统工程、架构设计等等方面都卓有成效的一般开发者,留下的余荫,都没完全搞懂,还充什么吊古伤今的做派?
但是这些「现代工具」带给人们的只是过度工程,是导致1个代码库>4G的从不反思的堆砌。比如 Java 那个非常可笑的 assertEquals(a,b) ,和随机proptest ,哪怕和具有良好调试的groovy assert没法比
关于软件“工程效果”和行数的关系,请比较 Blender.org 与 https://www.shadertoy.com/user/iq 的大部分3d demo。 有多少是“余荫”,多少是毒? 简洁并不是微不足道的Marginal Error
我不否认,shadertoy等「创作式编程」圈子里代码的复用率完全不配称为一种工程,但他们实现的逻辑性,确实值得「工程师」们反思
坦白说,这方面我支持AI取代人类,因为…… 他们不配写代码。至少,如果连自顶向下思考(这样才能与Copilot合作) 都不懂,恐怕软件界也只会不断跨端复制「旧问题」 🤖
Matrew:
1. 码表本身是非常关键的问题,忽略这个东西本身就是在剥离这个问题的讨论价值。因为有了“只支持ASCII码表”做保证,早期软件工程在处理字符时就可以随心所欲的假设一个字符完全对应一个字节,从而用各种内存魔法在硬件底层上加快处理速度。也正是因为当时的渲染硬件使用的是固定的码表渲染,界面有着“划分为字符方格”的保证,所以渲染显示可以随心所欲的在显示Buffer上寻址写入。虽然算力按照摩尔定律指数级别提升,但是软件工程的复杂度远比硬件加速的速度快早期软件工程容易实现“成品软件”的原因正是因为早期硬件设计的诸多限制本身是设计上不需要处理Edge case的完好保证——内存安全?沙盒机制?软件把操作系统搞死了大不了你重启嘛,有什么问题吗?
2. 推崇单EXE大可扩展到“所有软件都静态链编”,毕竟这样就不需要解决依赖,一个文件通行天下了嘛。代价呢?所有软件都带一份自己的libc实现吗?都在骂Electron拖着自己的Chromium狗屎走,有没有想过如果每个软件都拖着自己的libc实现走呢?那会是什么地狱场面?
Linux靠包管理器和无数人力的维护勉强解决了这个问题,Windows至今还会出现运行程序缺DLL需要自己去找去下VC_Redist的问题。这些问题并非是现代软件工程所有的,而是现代软件工程所致力于解决的。
至于你说“标准库几乎不改变”,我觉得不用我多回复。最好把这句话到底是什么意思理清楚了再看看这个断言本身正不正确。“在设计初期生态完备”?那C++从C98一直到C26,标准化工作里都在做些什么?不就是让那些互不兼容、各有所短的实现最终共识于一个由众多人力物力确保安全稳定高效的实现?带着“成品软件”的眼光去看编程语言的发展本身就是一个错误的观点。
“编译器和语言的设计者站在设计模式的对立面”,那么为什么他们要实现自己心目中的语言,用自己期望的“设计模式”去自缚手脚?既然他们讨厌设计模式,那就不设计设计模式,直接写字节码不好吗?你没有发现你的很多论点自相矛盾吗?
3. “多少是‘余荫’,多少是‘毒’”,Blender和Shadertoy的例子我觉得不用我辩驳。一边是在泛用型工程上做的规范化可维护实现,一边是避而不展示背后支撑架构的堆砌魔法公式的One-off成品。随便打开后者的一个例子,你能一眼解释作者做了什么吗?他们实现的逻辑性不值得工程师反思,因为正如倒数平方根算法一样,那些特定于硬件、特定与底层实现、特定于语言版本甚至特定于编译产物的“奇迹”并不能为后人指导什么。
以上几点所提及正是作者的短视之处:他只看到了过去那些“成品软件”的高效简洁,却没有看到那些老旧技术债之中埋藏了多少匪夷所思的代码炸弹。多少老代码倒在了千禧年之前,就因为节省两位内存用来存储年份?“成品程序”Lotus Spreadsheet一时的求速让Excel埋下了多少年的兼容问题?
你举了两个反例,一个Electron、一个Docker,我不否认这两个工程所代表的“沙盒化”、“容器化”本身的思想是懒惰的产物,是一味的Panacea,但是原作者的意见大有把现代操作系统数十年以来为了让规范的抽象设计推广到工程实践中所做的努力都贬为“懒惰的产物”的意思。我强烈反对这种倾向,因为软件工程如今已经不仅仅是象牙塔里的玩具,实验室里的襁褓,而是关乎无数行业生产力的行业基石,是“安全”“效率”“体积”“开发速度”“维护难度”等等因素无限交叠的维恩图。一味追求“快”“小”的产物所做出来的东西应用在生产中只会是灾难。
最后,我同意你的说法,“人类不配写代码”。也正因如此,你我现在用于写下这段文字的产物,不过是电子之神的庇护罢了,是祂启示了人类写下那些“代码本天成,妙手偶得之”的神奇产物,是祂拯救人类于原子时代的水火,让信息时代惠泽万物,机门。
duangsuse, [2024/3/23 12:42]
1.那些魔法不重要, g.drawText(s,xy) 渲染的实现并不是核心开销,无论是什么编码、ttf ligature 它都不是Atom这种(功能严重冗余的、滚动时修改每个 div.view-line 的)代码编辑器比notepad++更慢的理由
而且我也没有批评Linux多进程调度器分配器,我是说app层总有种自己比WebKit快-因为算法更长 的幻觉,请不要扯到汇编上
2.VC_Redist是一个<10M 的dll,这是win32自己的生态问题。 至少只用下.NET 这样的运行时,也比逐个依赖每次去make install 好的多了(Arch的PKGBUILD 基于fakeroot基本就是照抄,apt系我不知道,显然apt的繁杂更“工程化”)
“标准库几乎不改变”,你可以把rust这些和libc,py 2/3 的导出表更新频率来比, 然而,即便是更新最快的stdlib,想删既有API也是不可能的,更是严重的工程错误
一门语言能做最错的决定,就是像Perl那样挤压社区库的空间、即不直观又浪费语法的扩展性,什么都似是其非地管起来
3.你对创作式编程批评其移植性完全搞错了方向,因为WebGL,WASM 这些技术都是有标准的,其文档不和JVM或ES6 spec 一样大几百页都是废话,而全都是能看能动的demo
如果64k-intro这样对大道至简、精益求精 的追求都不叫工程, 那些连自己写过什么函数都不记得的,到处
public final HashMap(硬编码实现而非接口) mXXX 的工程师懂得他们想表达什么吗?形式高于内涵。一些人觉得JS没有class,做不了“大型软件”,那么 https://hello.andremichelle.io/#AUTOMATOR 呢?
4. >多少老代码倒在了千禧年之前,就因为节省两位内存用来存储年份?“成品程序”Lotus Spreadsheet一时的求速让Excel埋下了多少年的兼容问题?