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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#linux #design #statement
最近在设计OSon(一个基于JSON的类lisp计算图语言) 的一种强类型根rootfs 标准,打算用cbor(json zip),flatbuf 作为sysfs和etc的标准编码,它们的标准很简洁, cbor甚至只用0b111(7)种情况编码了可变结构
https://cstriker1407.info/blog/cbor-simple-note/
https://flatbuffers.dev/flatbuffers_internals.html#:~:text=scalar%20data%20is%20stored%20with%20a%20variable

这对JS是有用的,因为要搞 await uu.com.google 即 //com/google //$http//google ,也要想办法修改各种语言作为shell,像 coreutil.cat(/txt/a) 什么的
//$http/info/cstriker1407/blog/cbor-simple-note/ 上面的链接看起来就会更跨平台
幸运的是,http和本地文件类型(MIME Content&file magics) 普遍被程序员尊重 👍,让网络和本地路径、音视频等格式的API统一化不太难,我只添加environ.T_PATH='array' /sys/T/*.flat,ALL.py 两个和一些util就能完成

不过我要吐槽一下UNIX的多用户和权限: 这根本就是废物,就像 ls -l 里跟在mug(drwx--- root root) 后的硬链接数一样。
就连UNIX自己的 /lib 也不用硬链模式,也包括 /sbin 不是su, /usr 不是user..
实际上,硬链接只是 protected Rc<inode> nlink; 而已,对任何UNIX外的文件系统都无用,是实现细节!然而tar;cpio 都包含了类似的变量,真不知道照着文件管理器画瓢为啥那么难

绝大部分情况下,UNIX是“双用户模式”:PID1(root)+UID 1k(wheel) ,最多加个普通用户做后台服务 😄
UNIX的“先知们” 则是幻想着youtube集群该调用 useradd 去创建数据库用户,或是让http跟着unix的属主属组鉴权…… 然而,它只留下了 chmod +x

http ftp 没人这么玩,甚至http都被 {code:,msg:} 篡了。Windows的公共/本地视频文件夹 被xdg抄过来了,但只有前面一半,所以Linux的安全只是区分root么?

$ id 会显示用户和组——基本上gid==uid,就像进程组和多线程,用 strace echo 你会发现调用的是 exit_group(0) ——所以设计exit是干什么?
syscall 这些东西倒无所谓(libc,msvc 都被Python.NET淘汰了),groups 我是要用docker容器名换掉了。 实际上,即便如此,组的权限也没有用处
HOME/视频 现在分为 ./my.v/ ./.prot.v/; 除了 .{local/bin,etc} 等隐藏文件外都是public

这样UNIX的用户/组和权限就都有意义了: 用户=app, 组=依赖的服务。 对于uid<1000 的容器可以自动支持setcap httpd 什么的
/a pwd路径
/blk/a pwd字节(均覆盖无扩展名情况)
///google 网络路径,基于HTTP类型和编码
//$http/com/google 完整URI

./{my,prot}.[agevzmM]/
用户,小组的 a音频 g图像 e文档 v视频 z下载和压缩 m项目 M设计和3D 。自动带有.前缀
//{sys用以支持引导和PATH里的CLI/API/UI, dev编程虚拟设备(系统级ffmpeg支持),v服务(根目录叠加层sndo),etc配置,UID/家目录}/ 运行时五项堆叠

整个内核只隔离两个地址空间: app+Chrome等解释器 在受管, Apache等可信ELF+WASMbpf等解释器+驱动+调度/分配器 在Ring0
整个系统只使用四个权限: //USER/*/.{*,prot.*} 是711和771 其他不含//sys/bin,lib64是777,反正也会被容器随便覆盖掉。
"可执行权"其实已经被setcap位细分好了,SUID这些trick被用于决定是否可信
- 任何对sys,dev,etc的读写总是允许的,只是有不可见项且限制于shell,要用 sndo -U 应用到用户
- v,HOME照常鉴权,只是照上表弱化UNIX的文件本位

大家都知道,对于OS这样历史悠久的app,ancestors' evil 真的不可修复,也有些人吐槽mp4编码容器设计得很烂,webp压缩率很好,但小白只知道mp4和png

不过,假定有JetBrains或荷兰人那样的技术,实现 kt=javaAPI, java->kt; py3=2, py2to3 的前后兼容虽然麻烦,但也是可能的 😅

//$http/ 被设计为实现URI的另一种字面,不与URL冲突(href=//example.org/ 总是带点),可以借助浏览器和编译器插件实现
不过 /txt/a ./HOME //sys 这是与旧格式混淆的,但它们仍然比(ls -a 只添加俩 . ..)优雅。URL似乎不需要./

很少人知道 overlayfs(Dockers) 的功能甚至是Linux自带的:
https://github.com/openthos/printer-analysis/blob/master/移植/PRoot一种用户态chroot实现简介.md
#china #news 最近的杭州骑手罢工取得了成果,资本家把吃下去的吐出来了☺️
实际上,2019中国外卖员在北上广有个全国串联的工会,被党妈收回公有了
希望以后外卖员的待遇通过示威能越来越好, 这不仅是对裁员风险的保障,更是捡起劳动法爆资本家金币的开始

https://m.youtube.com/watch?v=Z_GrvcAXqPQ&t=2m
3
https://www.ruanyifeng.com/blog/2016/11/byte-order.html #meme #bin

Berkeley套接字定义了一组转换函数,用于16和32位整数在网络序和本机字节序之间的转换。htonl,htons用于本机序转换到网络序;ntohl,ntohs用于网络序转换到本机序。
https://gist.github.com/fffaraz/9d9170b57791c28ccda9255b48315168#file-dns-c-L123-L132

小端模式 :强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。
大端模式 :符号位的判定固定为第一个字节,容易判断正负。

小端模式更适合系统内部,大端模式更适合网络数据传递,加上一些历史引领的原因,
导致现在两种字节序方式并存。

>算加减乘除要从LSB到MSB进位。如果先把小位算完了再算大位,直接把carry out加到大位里就可以了,这个在8位CPU上尤其重要
>“程序中不应该出现大小字节序的问题,只有‘网络字节序’和‘本机字节序’。应该使用ntohl,ntohs,htonl,htons进行转换"。我很受用,感觉一下子就掌握到了问题的本质,即在什么地方需要注意什么问题。
duangsuse::Echo
#linux #design #statement 最近在设计OSon(一个基于JSON的类lisp计算图语言) 的一种强类型根rootfs 标准,打算用cbor(json zip),flatbuf 作为sysfs和etc的标准编码,它们的标准很简洁, cbor甚至只用0b111(7)种情况编码了可变结构 https://cstriker1407.info/blog/cbor-simple-note/ https://flatbuffers.dev/flatbuffers_internals.html#…
https://blog.csdn.net/dog250/article/details/100998838 #net #os #design

POSIX 中实际上有3种类型的文件: hex=block=buffer读写, ktty=char=内核终端文件, ptty=基于pid的终端文件, syn=socket=分pid/fd生成的文件
分别用于管理磁盘和内存(/dev/mem)、kmodule(ioctls)、虚拟终端(就是有width的,能控速的hex, $ stty)、socket(tcp/udp)

“一切皆文件”和其它的原则比如“组合小程序”等是相辅相成的。如果“一切皆文件”被破坏,那么便很难简单串接小程序实现复杂逻辑

socket没有标准文件的open和close操作,不能cat一个socket,也没法向一个socket里echo数据。因此就出现了socat,netcat这种大家都说好,但实际上没有必要的微型网络程序。

系统内核,其实就是会用MMU 4K页表保护自己的libc。
这就像,js要用 eval() import PATH 里的模块对象,同时需要沙箱技巧(setInterval..) 保证自身的设备和CPU不被独占
但因为C的代码都是unsafe{}, 需要用一种丑陋的方法隔离"syscall, ioctl" 这些类似于HTTP的调用,不能像WASM那样,内核和PATH里的代码存在一个地方。

你们可能听说过 gopkg/mvn 和 goroutine/jvm线程 ,那就是safe的PATH/函数对象和线程(池)调度器,这些虚拟机都有等同于操作系统的功能
而且更快速,例如, Looper() 调度不同的 ()=>函数 不需要保存和恢复>4K调用栈, 仅仅=闭包.call(返回地址在回调里)
这也是为什么有libuv这些东西
#film #jp #bilibili 龙猫画风 《你想活出怎么样的人生/苍鹭与少年/2024》
https://zh.wikipedia.org/zh-cn/蒼鷺與少年

下午在B站发现有人上传了汉化组资源,写码之余就看了下,
评价:和《千与千寻》《寻梦环游记》一样治愈系,剧中充满了 和善 风趣 的小动物,无人员伤亡

一千个读者眼中有一千个哈姆雷特,所以「看不懂」其实也是一种正常的解读。
或许片尾有一些日本风俗文化,中国人因西化已经缺少了相关背景。只需共赏这个关于家庭、责任、冒险、梦想与海洋的「跨时空神隐物语」,享受2.5D的奇特观影体验

千万不要做成国影一样,讲什么故事都要「有意义」「能教育小孩」,甚至「人民群众都看不懂,你算老几」,那样做事情就完蛋喽(

剧情存在着时地人的主线: 邵和日本/后妈产子中失踪、别墅旁哲人王的白塔、真人(不是Trueman,意味真诚的人)+蓝鹭
剧透警告!
下面是故事的概况,但画风真的值得大家一看(尤其是在下架前……)

战中的日本,一座医院起火,母亲永远留在了z小时候

父亲娶了双胞胎的姐姐夏子,让z搬进有七八个佣人婆婆的别墅里,住进去的那天,婆婆们说,后院的高塔里总有离奇的事发生

住进去的z很困,没听见“初次靠近宅子的”蓝鹭敲窗户,之后,怀孕的夏子进来为他端水。
z醒了,看见蓝鹭口吐人言,认为它是妖怪,奋力关上窗户;之后出门散心
z看见蓝鹭以滑稽的姿势住进高塔,便朝那个方向寻到一个狭窄的“狗洞”,发现了几根羽毛,但没能钻进去就被仆人叫了回去
她们说,那是离奇之地,z也会失踪的。

z去了小学,因为父亲是少数开的起车的,被其他学生孤立。 z打了回去,但寡不敌众,生气地拿石头砸了自己的左脑勺,流了很多血

之后他病了,在某天清晨借着如厕的机会,他拿着棍子去了后院
蓝鹭俯冲下来,咬碎木棍。
它召唤着鱼、青蛙……森林深处一切不怀好意的生物,趁着这时以母亲还活着引诱了z。夏子带着婆婆们赶来,用弓箭吓跑了它们。蓝鹭说它会等着z

z倒进了湖水里……最后水退去,他发现自己仍在床上。 梦中的一切仿佛在重演,但是拿起那时的木棍,却在手中节节破碎!
之后几天,乘着向孕吐的夏子问好的功夫,z用收集到的资源偷偷制作一个竹弓羽箭,想要消灭这不安定的妖怪。
但似乎,它却先一步将夏子引入了那片离奇森林里。

婆婆们说,这别墅里总有离奇的事发生,而秘密与失踪的夏子,似乎就藏在蓝鹭居住的,很久以前叔姑父痴迷并失踪于的高塔里……

---剩下70%奇幻世界和帅婆婆、“哇啦哇啦”灵魂们、白鹭们、塔主、滑稽的食人鹦鹉的篇幅,观感都不错

最后是我对主角选择的想法。
「你想活出怎么样的人生?」,为什么不继承这两天一块石头维持起的这片美术世界?为什么要回到即将有战争和灾难的人间?这是大叔父问真人的话

「下面的世界」虽然看起来很美好,就像那片大海一样,还有着那些外太空飞来的陨石、有一个鸟类的王国
但却住着明明五谷丰登还要吃人的鹦鹉、住着代代饥饿,却要与大海奋斗,又被火美烧的Pelican们。 这里依旧到处是争端
鹦鹉们守卫着“产房”,却要吃了不是婴儿的人,这些都是上面的世界和家庭里没有的。 海的世界虽然美而高贵,它的景色却大多是海市蜃楼


经过这次历险,z坚定选择了他选择的人生,一行人平安地回到他们原先的世界,与正好在外头寻找他们的父亲重逢。
一段时间后,战争也跟着结束。剧情最后是在真人听见父亲胜一的呼唤,离开自己的房间,与家人一起返回东京的场景下落幕。
1
duangsuse::Echo
#film #jp #bilibili 龙猫画风 《你想活出怎么样的人生/苍鹭与少年/2024》 https://zh.wikipedia.org/zh-cn/蒼鷺與少年 下午在B站发现有人上传了汉化组资源,写码之余就看了下, 评价:和《千与千寻》《寻梦环游记》一样治愈系,剧中充满了 和善 风趣 的小动物,无人员伤亡 一千个读者眼中有一千个哈姆雷特,所以「看不懂」其实也是一种正常的解读。 或许片尾有一些日本风俗文化,中国人因西化已经缺少了相关背景。只需共赏这个关于家庭、责任、冒险、梦想与海洋的「跨时…
https://movie.douban.com/review/15618283/ 🤔 然后影评说是反战,这么说也有道理 #china #tw
https://movie.douban.com/review/15618283/

鹈鹕是男主角进入塔内世界后第一个出现的生物。当时真人发现一个写着“学我者死”的铁门,门内的区域有一个巨大的墓碑。这句话是从齐白石的名言 “学我者生,似我者亡”而来,我看到这句话能想到的就是宫崎骏在告诫后继者,也就是新一代的导演们,不要试图一味的模仿。但从日本历史的角度出发,也可以理解为“学我者死”在暗示日本近代化中模仿西方文明的殖民扩张发展道路,导致覆灭的必然性。铁门锁着的墓碑,就象征着危险的军国主义,一旦打开就像是潘多拉的魔盒,注定会带来灾难。


但即便「内核」是沉重的,片中鹦鹉的样子也很憨态可掬,
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa) via @TwPicBot
This media is not supported in your browser
VIEW IN TELEGRAM
Josef Dean:
Sure matplotlib is cool, but what if I want to load my loss curves into the 2006 hit Flash game LineRider?

https://twitter.com/JosefDeanGC/status/1825818784495554693
#js #code https://blog.axlight.com/posts/how-valtio-was-born/ jotai作者的博客

React 虽然很流行,很“FP”,但我不得不指出,它对“不可变”或者说「静态」的理解是有问题的…… 这点上居然输给了被它打败的MVP,MVVM等八股文

div(input(n=0)) 包含可变状态吗? 许多人觉得n是一个变数,那么, class ModelThis(var n=0) 凭什么能被称为「静态类型」呢? 视图的模型,到底是静态还是动态?

React 没有意识到,作为一个框架的职责,是维护JSON所对应的HTML模板;而函数式的作用,仅限于用mapfilter取代 forif 这些缺乏表现力的套路
“不可变”并不包含更多的超能力,实际上,它只是对「静态结构」的误解。JSON总是可变的,但它的Schema(struct,'type':union..)则永远是固定的!

集合类型,也包括函数,都能包含树洞。只要你定义了字典与HTML里树洞间的「对应关系」,并不需要什么设计模式就能秒杀各种UIUX。

>https://gist.github.com/duangsuse/c2703fae87c92826a482ef2dd9f523c6#file-note-woj-js-L35
口=holey
let A=口(0), B=A(x=>x+1)
A(2)

JSON.stringify({A,B}) //B: A+1 永远成立,无论保存在什么结构里
el(doc.body, el("div",{onclick:A((x,to)=>+x+1)}, el("input",{value:A}), el("u",B)))


这样就是一个Counter了 (代码比较烂就不贴完了,许多相关数据结构都还在设计中…… 相信最终会很优雅

我在React里看不到这种“口->口”(对象和箭头)构成的范畴,所以说它纯函数在哪呢?

如果React是基于关系式列表字典设计的,它只需要请 cage({n}) 把app所用到所有的洞锁起来就可以达成“状态树持久化”
何必解决什么View可变性的挑战?

btw. 冷知识: F12 是怎么显示函数源码 ƒ Object() { [native code] } 的? 🧐
https://github.com/ChromeDevTools/devtools-frontend/blob/main/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts
https://github.com/ChromeDevTools/devtools-frontend/blob/main/front_end/panels/event_listeners/EventListenersUtils.ts
duangsuse::Echo
http://www.bilibili.com/video/BV1RT421k7zM #recommend #game “长生不老,三界九道不就毁在了这四个字——悟空对杨戬” 巡回六根复活大圣的交互式电影 http://www.bilibili.com/video/BV1pb421J7d2 #film
http://www.bilibili.com/video/BV1ApWTeyErL #game 六根:眼耳 鼻口身心

总结了下:不会有第三结局的。两个结局的区别,其实就在于有没有杨戬天眼中的意根和金箍。

故事就是猴子取完经就想回山里过日子,但是玉帝小心眼,没编制就怕他哪天又闹上来了,不做佛让他做个神仙,但猴还是不干,于是小心眼玉帝就想灭口绝后患(私会被发现就把天蓬贬下凡的人能干的出这种事儿)。
序幕第一章就是猴和三眼在演戏,杨戬说的那堆怪话就是为了让猴子和自己单打,不让别人插手(狗都退下)。打了一段,灵山的人闪着佛光来了,悟空就要转移战场和二郎神进山,结果直接紧箍咒让杨戬一刀戳到山头了,
这里其实就是打了二郎神的结尾动画里的,“成了佛又怎样,那道箍一直在你头上”和“摘下来给你看”,然后六根分开。

为什么灵山的人会来,明显也是玉帝小儿去诓骗的,知道自己干不死得找佛帮忙,为什么又叫妖,因为佛那边大概率是不会杀死猴子的,不管能不能杀死,总得先弄清楚原委,念紧箍咒也只是为了暂停战斗,所以叫上妖和杨戬一起让佛那边念完咒就把猴杀死。
肉身死后就是妖王分五根,杨戬天眼藏意根。序幕只有打到山上而没有后续画面其实也就说明了没人知道后续发生了什么,不知道意根藏起来了反正猴子真死了。

但是六根归一能还魂(牛魔王那关如意仙人就提了一嘴还魂的说法),这属于还是没绝后患,只能把那几根自己弄到手,
但是是不可能以天上的人的身份去讨伐妖怪的,不然帮了你还要被你杀,妖怪一定会反目反天的。于是就有了老猴儿做卧底,让新猴儿去收集五根,最后打死残躯肉身,再用金箍继续困住新的猴儿。
这样的话,虽然自己不清楚意根去哪了,但只要手里有这五根,悟空也活不过来,所以也要骗说意根消散,但第二章末尾灵吉菩萨就说过“大圣陨后,六根不灭”,因为老猴儿卧底这种计划断然不可能让所有人都知道。所以灵吉普萨会说真话,老猴子一股脑诓骗,同时各种挖黑料,给天命人灌输理念洗脑,最后有前车之鉴也给这个猴儿带上箍。

估计是考虑到有人更想大圣复活,有人觉得天命人也是个体不能接受大圣在天命人身上复活,所以做成了这样的结尾。而猴子逃脱禁箍也绝不是为了再闹天庭,只是要过自己的逍遥日子,所以绝不会有大闹天宫的结局。