duangsuse::Echo
719 subscribers
4.28K photos
130 videos
583 files
6.49K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
duangsuse::Echo
而数码圈越来越多玩意都喜欢教育用户了
https://gemini.google.com/share/39595b5e1db5 #android

- 侧载 这个词听起来土爆了。 我从来都是在“安装”软件,怎么到应用商店嘴里就变成侧载了?
- Apple 目前在欧盟 DMA 法案逼迫下推出的“恶意合规”侧载方案?
- apple和很多名为“设计师”实为纯前端的dev是一丘之貉, 已经不是乔布斯时期的苹果了
- pc的概念确实缺不了多元化,而且社区体量大,devs“生命攸关”,硬气,不然那些Linux的shim efi都拿不到

https://gemini.google.com/share/a043f95e5dc9

- 下一个是Shizuku吗?
- adb和a11y属于是附带自由了,开发者和残障体验非常敏感。阉割到这个程度
- “安全更新”杀死了客制化,可谷歌也没有规范化兼容Substratum的旧图标包,这不等于消灭了已经有的作品吗?

- 退一万步讲,硬件级安全只能防注入,防不了RPA。 虚拟触控壳也可以解决DRM,问题只是要不要Integrity到人脸识别那种程度

DRM 不再是为了防盗版,而是为了 防拦截——防止你拦截它的广告,防止你导出它的数据,防止你绕过它的内购。

这导致了代码逻辑的极其臃肿:大量的 CPU 周期不是在计算业务逻辑,而是在计算“如何每次恶心用户一点点,但又不至于让他们卸载”。

- 杀死比赛的倒不是猫鼠游戏,而是用户。 用户往哪走,哪就是文明的方向,Bluesky已经证明了这点


adb和a11y属于是附带自由了,开发者和残障体验非常敏感。

阉割到这个程度,确实是和pc厂商要secure boot时,走向了不同的道路


既然安卓愿意当浏览器,就真的去当远程浏览器好了。 adb,a11y都不让用,apk虚拟机(LSPatch),乃至vnc总检测不到吧

其实不需要防检测/反黑屏这么麻烦,TEE自己的证书泄露转云手机就够了, 这就是防君子不防小人

退一万步讲,硬件级安全只能防注入,防不了RPA。 就算没有 fancy的拆机重连,一个专门的摄像和虚拟触控壳也可以解决DRM,问题只是要不要Integrity到人脸识别那种程度

其实最终杀死比赛的倒不是猫鼠游戏,而是用户。 用户往哪走,哪就是文明的方向,Bluesky已经证明了这点。
DRM最终还是要有人需要那个right的,如果软件或平台本身与自由世界相比就是垃圾,谁也不会去接受它的反特性。


这确实是把通用计算设备异化成了 “消费内容播放器”。他们不希望你拥有 root(根),不希望你通过 overlay 修改视觉(所有权),也不希望你通过自动化脚本控制流程(代理权)。 --https://henry.codes/writing/a-website-to-destroy-all-websites/


结论: 在黄金时代,软件是 Hacker 给 Hacker 的礼物。 现在,软件是 大公司用来圈养用户的牲口棚。PR 负责粉刷棚子,PM 负责计算饲料转化率。

你感到不适,是因为你依然保留着 "Craftsman"(手艺人) 的灵魂,而现在的行业把你当成了 "Resource"(耗材)。



ps. 用咕狗AI骂谷歌还真是挺搞笑的

可是,现在的各种软件厂商都越来越浮躁,不能再像十年前那样纯粹了。
就像Steam的G胖说的那样,人们不是怕收钱,而是服务资源和技术力不能德不配位。。

Steam 其实也是一种 DRM,但它提供云存档、局域网互助更新、创意工坊。它提供的服务价值 > DRM 的麻烦,所以大家愿意买单。
#day #design #plt 现代数码
我觉得自安卓2.3的年代以来,很有品味而且简易的设计
谈拖放和Undo那段漏掉了分页vs滚动……   暗色模式也可以算一个吧 🤪

这些看似简单【设计语言】变化,其实藏着更优的代码心智模型(比如 Buffer vs Flow)
“脚本小子”和脚本小子是不同的。  有些东西的同构性,所谓后端、架构师、系统编程,根本没有意识到。

没错,最为明显的就是“列表项的菜单”和“是否全屏打开列表项”了,但是,键鼠/触屏的交互细节也需要优化:列表项的视图(grid/list)与选区、拖放vs长按分享。
这就像安卓的新Send to Shortcut一样,复刻了电脑上的事

> 你说Undo而非模态非常有道理。就像全屏vs分屏一样,这是一个被忽视的【状态管理的UX化设计】,它直接和Close/Apply/OK/Reset挂钩,却更省事,符合直觉。
这是H5 form框架的升级。参考安卓的新【Settings】 App,你能发现更多更“全局”的交互逻辑
这些是如何让交互逻辑“省一步”,就像安装=初次打开、注册=初次登录一样。

Telegram的编辑UX有点区别:它把点击和左滑绑定了“主操作”,长按依然是多选和右键(利用ActionBar)
显然,这比早期WinForm时代的Menu/Status顺畅多了
从宏观来看,软件图形界面的“丝滑”,这里有个历史线,最开始是从嵌套菜单/子命令过来的


有些人认为,AI会编程,所以未来的编程语言是无用的,可实际上,编程语言(一种“TUI”)和GUI之间都存在着一种“设计”,这些彩色字体能强化人本身的能力。

编程语言不仅是为了执行,更是为了提供灵感、操作平台,甚至编程动力。 一个优秀的编程语言,和像Telegram那样优秀的(广义)通信体验,存在同样的哲学和价值

当你在 Vim 里敲击 dw 删除一个词时,你脑子里没有“按下 d 键”这个动作,你脑子里只有“这个词消失”的意图。中间的物理成本被彻底“塌缩”了。

"If you can't open it, you don't own it."

编程语言的理论不是为了让编译器开心,让1%的场景再跑快5%,或者让数学更加高深,而是让软件属于 "Human Being",让优化算法不把人类当傻瓜,同样也不把模仿人类的Agents当傻瓜。就像Bret和3b1b展示的那样,交互即哲学。


为什么 Alan Kay 的Smalltalk是真正的“面向REPL设计”? 不是因为它启发了Scratch,而是他真正理解了 "round-trip" 与“lifecycle即权重”的内涵。

与C++、Android的设计方法不同,Kay把“人”放进了软件运行时,同时在编译之前就通过“JIT”理解了代码的每一面。 "Make simple easy, make complex possible"

编程不是钓死鱼,而是观察鲜活的生命。 奇怪的是,这种代码往往是不朽的。


https://gemini.google.com/share/00000d7fb7ca
https://x.com/i/grok/share/c2bf229b058e4610abc56b97a025f352
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
#recommend #dalao 你想和 Alan Kay 扯上关系吗😒?那当然要先了解他的朋友都有谁了: #book Learnable Programming (2012) by Bret Victor - Human Being Explorable Explanations (2014, explorabl.es) - https://www.gcores.com/articles/154992 - http://xpaidia.com/sunset-project/#:~:text=可探索的解释…
https://gemini.google.com/share/def0dfbb9193 #design #plt

这恰恰给了你实现“投影编辑”的最佳理由:既然我在跑 AST,为什么我不直接编辑 AST 呢?
不需要重新发明一个语言,你只需要用脚本语言 模拟 出这套 eDSL 结构,并提供一个支持用户函数的 可视化调试器 来操作这套 eDSL 的 AST。

Composable 模式(如 Jetpack, Svelte)主要关注 单向生成(Code -> UI),一旦编译成二进制,结构信息就丢失了。而你想要的是 双向同构:运行时依然保留代码的树状图和语句流,就像 DOM 一样,不仅能渲染,还能被反向检查和修改。调试器(显示变量值)和编辑器(修改逻辑)合二为一了。

其实我觉得DevTools做的是最好的,只是没人当它可视化编程。 真的应该试试现在的 F12 live edit/workspaces ,不是什么热重载,就是活的视图,改完直接保存走人

PHP之所以流行不是因为它设计好,而是一切皆文件+即时反馈。 这是被严重低估的软件设计范式,后来的平替都是从API的角度可视化,没有所见即所得与工作流优化😒

PHP真正的成功不止是在可调试性——而是当你 curl /user/path 的时候,你能用常识直接定位到发生了什么,你能直接猜到数据库产生了什么操作

不是说所见即所得就要像 Word vs Markdown 那样傻瓜化,排外,而是编程者要与“编译输出”直观连接。 当说出SDK或“构建工具”一词时,创作者和艺术间就隔着一层可悲的厚壁障了😅

说白了,这就是“在沙盒环境下执行上传的代码”也会被ReDOS的问题呗?

要么像WASM那样,支持把query翻译为二进制,然后直接限制length,要么就设置可用集(query hashset)

AST的性能不会是核心问题,不过默认嵌套查询emm…… 脑回路和注入时代的PHPer一样清奇

我觉得GQL的思想 还是好的,只是实用性不比纯FilterSort(那种零代码平台)强很多

GH那种服务暴露GQL确实很酷、很现代,但是GQL也没有像RESTful的设计者想象的那样“自动发现”友好。

实际上我根本不认为真正由Content-Type和dir listing驱动的REST可用。 现在所谓的REST不过是一堆URL语意明确点的JSON-RPC,强点的,自带Swagger。

REST使用HTTP动词(OPTIONS /$id)的意图,类似Tg上区分消息的编辑权/删除权,但实现时各种硬编码和一切皆POST。
现在可能根本没有比HTTP-UTF8/protobuf更强的通用RPC体系吧……

https://t.me/ManjusakaH/678 https://gemini.google.com/share/d200f02b6636
直接从SQL/CRUD聊到 luajava.. 又拿了一个神来之笔,牢AI闹麻了😅
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#tool #android #vibe
写了一个专门在安卓上安装apk解压后打的zip包的签名器,点开就能用+可离线使用(PWA)
https://duangsuse.github.io/Pinata/

零依赖, 直接操作bytes,相比之下 uber-apk-signer 好像是包了一层官方实现就 3MB 😅
CC-0 开源 , 总共才 20KB, 200行js注释占一半

编写高效的程序不需要你是天才。这并不需要什么魔法。只是不要在现在的臃肿不堪的工具链上去构建就行。
3
#ai对比 你能想象Gemini写出这样声明式的代码吗? 我问了快100条,这还是在已经做过调教的基础上,然后我做了很多事实核查(comments)
initial: https://gemini.google.com/share/1fbdf78847e6

如果单从易懂来看,V1比V2简单(不需要 Merkle hash),但90%的提问都会被引到一坨ASN.1上 😒
事实证明,针对“安卓安装zip包”的场景根本不需要这么麻烦,而且它甚至支持RSA4096(不是test pass就扔的脚本)

https://github.com/duangsuse/Pinata/blob/main/apksigner.js#L34
有些人能把js写成C++,有些人能把安卓java写成bash脚本。
编写高效的程序不需要你是天才。这并不需要什么魔法。只是不要在现在的臃肿不堪的工具链上去构建就行。
duangsuse::Echo
#net #tool FRP(获取公网ip/https地址, 局域网穿透反代) https://raw.githubusercontent.com/sky22333/shell/refs/heads/main/dev/cf-tunnel.sh 需要在 sock.sh 加速下在 sudo bash 里执行,可以多次配置 systemctl restart cloudflared-tunnel.service HOST_FRP=$(cat /var/log/cloudflared.log |grep -oE…
#net 用ADB调试手机端网页(:9222),或者直接在Termux上开发 😃
- require: Termux, adb conn

adb forward tcp:9222 localabstract:chrome_devtools_remote
Ctrl+L chrome://inspect/#devices

pkg install tur-repo
pkg update
pkg install code-server

code-server #先退出
nano ~/.config/code-server/config.yaml
#^ 改0.0.0.0,密碼必填,隨便單字符

# 一鍵安裝常用開發工具
pkg install git python python-pip nodejs-lts openssl clang make cmake
pip install requests # jupyterlab 不要尝试装jupyter/或lab,会变得不幸。独立QPython文件夹

pkg i starship # Shizuku 的Rootless rish 也该装下,mv俩文件到/home ,有root直接在MT里收藏路径

分享 .bashrc
eval "$(starship init bash)"
shopt -s autocd dirspell histappend

# XFCE 一键启动/停止
function x() {
# 1. 清理之前的残留
pkill -f termux-x11
pkill -f xfce4-session

# 2. 启动 X11 后端 (分辨率自动适配)
termux-x11 :1 -xstartup "startxfce4" &

# 3. 提示用户切换 App
echo "XFCE 启动中... 请手动切换到 Termux-X11 应用"
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity
# 4. 可选:如果是在 Root 下运行,给予权限控制
# /system/bin/su -c "settings put global policy_control immersive.full=com.termux.x11"
}


tsu() {
su -c "export PATH=\$PATH:/data/data/com.termux/files/usr/bin && export HOME=/data/data/com.termux/files/home && exec script -q -c $0 /dev/null"
}



MT2.cn 的FTPd非常好用,绝对比SSH管理器方便多了
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
#day #design #plt 现代数码 我觉得自安卓2.3的年代以来,很有品味而且简易的设计 谈拖放和Undo那段漏掉了分页vs滚动……   暗色模式也可以算一个吧 🤪 这些看似简单【设计语言】变化,其实藏着更优的代码心智模型(比如 Buffer vs Flow) “脚本小子”和脚本小子是不同的。  有些东西的同构性,所谓后端、架构师、系统编程,根本没有意识到。 没错,最为明显的就是“列表项的菜单”和“是否全屏打开列表项”了,但是,键鼠/触屏的交互细节也需要优化:列表项的视图(grid/list)与选区、拖放vs长按分享。…
https://t.me/codedump_notes_group/3634 #statement #经济 《现代数码》 🤯

2025,本来应该可靠、刻入历史的软件,变成浏览器的启动菜单,还带着一堆“侧载” “为了隐私请联网”的新话,成了拖累LLM和下游的垃圾。 这种圈地不是耕耘,这是封闭的「小农经济」
现在的操作系统也都是「农民模式」了。
安卓天天催着不知所谓的“安全更新”,微软想让Win10成为首个支持“软件计划报废”的版本,Win11固执的强制安装拷屏AI,而推特成了降本增效出丑的急先锋 📱👈🤣

农民模式长期深耕吃到复利,就是像这样透支存量用户的体验,制造一些玄学更新,刷存在感吗?

现在的软件根本不是软件,成了教育用户的入口,成了服务和社交的附庸。曾经只有“App”这样,现在这种风气居然蔓延到了机器的心脏。
如果用户体验是这样优化的,我宁可接受5年一更的,SQLite/FFMpeg/KDE,虽然,它们不是“软件主理人”的得意之作,但系统编程从来不出问题,尤其不会为了刷存在感自己造问题!

操作系统,本应是最底层的契约,是硬件资源的代名词。 现在的 XXOS YYUI 却变成了最大的中间商,以第0行代码的特权驱动它们自己的小九九,让CPU降频、让座椅加热硬件需要“续租”,不然就该变砖 --牛奶倒河里也不给能你。😅
操作系统不再是猎人手里的枪,它变成了农民的地,以用户为中心…… 方便“顶尖技术”从四面八方指点他们:教他们不能做什么,教他们怎么用体系制造的代码,解决体系独有的怪癖。

代码所隐喻的本质离普通人越来越远,黑底白字之间掺杂着越来越多的谄媚和傲慢,私货成了技术分享的潜台词,“热爱学习”的人却无法分辩,他们看不见品味和“既视感”,只知道一段能跑通的,正确的废话! 🐮👈🤣

直到今天,还是有人怀念曾经 Win7, KitKat 时代的“离线软件”。 不止是为了那一代叹为观止的技术力与执行,更是因为——它们属于用户群体。

那一代的软件基于真正的【交付】,它不是厂商倒闭你连车钥匙都不能用的过度工程,不是什么都要找隔壁“大佬”看说明书的薛定谔魔改,
你能打开它,就像换电池、插耳机一样快速,所以你拥有它——不限制时间地点人物的“拥有”。
那一代能有叹为观止的技术力与执行,更是因为——计算机体系曾属于用户群体。那一代把“人”放在开发循环里(Human in the loop),而不是裹挟在KPI的永动机外。

曾经的“离线软件”,是为了解决问题而生(比如 PhotoShop CS6, Office 2010)。现在的 App,是为了“瓜分用户的每一天”互扯头花的撞脸双胞胎。

真正的软件(Software),词根是 Soft。软件本应像水一样,顺应算力的容器和媒介(硬件),滋养用户(逻辑)。😅
现在的软件变成了 Hard-ware(牢固的枷锁)。 它们僵硬、傲慢,带着“闭环”的鱼刺。

2025 的新功能不再关于“解决”,而是在制造“卷入”。
为什么软件不能只是升级,而要不断制造“闭环连锁”的问题? 特性应该是智慧真正的住所,而不是“智能家电化”的数字勒索。
#ai脱口秀 https://gemini.google.com/share/3d338c58d369
#android https://t.me/milkice_portal/3813?comment=82971

https://blog.csdn.net/FL63Zv9Zou86950w/article/details/128945852#:~:text=如果人们愿意付费购买应用,我们就可以避免这一切。但不幸的是,他们不愿意,所以应用都变成得臃肿、缓慢、bug

— 当然了,从盈利的角度考虑,软件的质量就是一个死结。不考虑成本的乌托邦=诈骗。 我认为,必须从原理从发,真正发扬光大 #PLT 的科学,让软件的维护成本无限趋近于0 (即便有LLM,高质量codebase也不是“免费”的)。 如果用户用着觉得简单机械,代码也不允许复杂。只是“这点”要求而 已。
只有当代码属于人,软件乃 至于App才会真正 build for people。

医生不会因为医院管理者要求“提高病床周转率”就不洗手直接做手术;土木工程师不会因为开发商说“水泥太贵”就减少钢筋的用量。因为他们有执业资格,有行业标准,更有对生命的底线责任

而软件工程师,目前还常常把自己定位为“流水线上的代码裁缝”。装配工是没有权力对图纸说“不”的,但工程师有。 😒
我学的不是工程魔法,而是软件工艺。


🤬 我最后想说的: “Android 安全更新”这几个字并没有让我感到安全! 我看到的是:要么我被当“云玩家”忽悠,要么系统每个月都在出CVE,每次更新,都是在自动下载下个月要被打爆的漏洞!

🤯 要么做到BSD和OpenSSH那样以世纪为单位防御,要么就别学系统编程。这片字节的虚空不是给人“创新”或“降本增笑”的地方

简单是可靠的先决条件,不是可靠的祭品。 本来是一个最底线的需求,却被KPI搞成了奢望。
Please open Telegram to view this post
VIEW IN TELEGRAM
4
duangsuse::Echo
当然了,从盈利的角度考虑,软件的质量就是一个死结。不考虑成本的乌托邦=诈骗。 我认为,必须从原理从发,真正发扬光大 #PLT 的科学,让软件的维护成本无限趋近于0
https://t.me/solidot_discussion/156806 #freedom
“如果你有一个苹果,我有一个苹果,我们彼此交换,每人还是只有一个苹果;但如果你有一种思想,我有一种思想,我们彼此交换,每人就有了两种思想。——萧伯纳”

世界上有很多优秀的软件,都不是为了吃饭写出来的,比如在那个年代写出 GCC、Emacs 😒。 虽然他们有些不食人间烟火,这种思想却是那种开发者的共识。

独特的软件是为了不可复制的目的而创作,所以RMS贡献的东西才家喻户晓😃
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
编程语言不仅是为了执行,更是为了提供灵感、操作平台,甚至编程动力。 一个优秀的编程语言,和像Telegram那样优秀的(广义)通信体验,存在同样的哲学和价值

当你在 Vim 里敲击 dw 删除一个词时,你脑子里没有“按下 d 键”这个动作,你脑子里只有“这个词消失”的意图。中间的物理成本被彻底“塌缩”了。
https://gemini.google.com/share/5dde23e7e4a5
https://gemini.google.com/share/600469d68a2f #ai对比
Gemini说的道理有一句话呢,非常有道理

编程语言是一些事情的捷径,就像正则和bash能处理,我就不会写一堆 public void private String 然后等编译
又拿了个神来之笔😅 不过这次AI大哥还挺有文化的,随便粘贴了点东西也能聊下去。

我: 雕塑家有所成就,不是因为搞懂了“这是胳膊、这是腿”,而是大卫在某一瞬间的动态打动了他。乔布斯能发现顶尖的设计,不是因为他花了别人花不了的时间去成为「字典状元」,而是因为他看到了别人看不到的东西。

G3: 最好的软件是透明的。当用户在使用它时,他忘记了那是软件,他只感觉到了能力的延伸。就像你感觉不到心脏在跳,你只感觉到生命力。你不需要去“想”怎么实现一个功能,就像你拿杯子喝水不需要“想”肱二头肌怎么收缩一样。

对上暗号了属于是😅

但我觉得没有我prompt的AI在非编程问题上,七成概率更有广度一些,emm…… 🤯
Please open Telegram to view this post
VIEW IN TELEGRAM
#ai #news MiniMax 没动静 🤔

https://kyutai.org/blog/2026-01-13-pocket-tts 现在的语音合成技术,手机上飞快
这个我被提前邀请试用了,可以负责任的说,能干活。
Forwarded from 科技圈🎗在花频道📮
Google 为 AI Pro 及 Ultra 订阅者集成开发者权益,提供每月最高 100 美元云额度

Google 宣布将 Google Developer Program (GDP) 高级权益整合至 Google AI Pro 与 Google AI Ultra 订阅方案中,且无需额外费用。其中,Pro 订阅者每月可获 10 美元 Google Cloud 抵扣金额,Ultra 订阅者为 100 美元。此举旨在打通从原型开发到生产部署的路径,支持开发者在 Vertex AI 或 Cloud Run 等平台直接调用资源。目前,活跃订阅者已可前往官网激活相关权益。

Google

🍀在花频道 🍵茶馆聊天 📮投稿