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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
马老板:距离下一发 starship 还有 6 -- 8 周
https://twitter.com/elonmusk/status/1668622531534934022

Elon time?
#plt #js #blog 奇怪的静态博客 - 作者是变相PHPer
谈到 regex: #code 如何得到 [...'👩🏾‍'] == (3) ['👩', '🏾', '‍']
emojiVars=(base,[m, ...m1])=>!m1.length?[base]: emojiVars(base, m1).concat(/\p{Emoji_Modifier}/u.test(base) ? [] : emojiVars(base.replace(/\u200D|$/, m + '\u{200D}'), m1));

skins=['\u{1F3FB}', '\u{1F3FC}', '\u{1F3FD}', '\u{1F3FE}', '\u{1F3FF}'];

[['👩', skins],
['👩‍🎓', skins],
['🧘', [...skins, '‍♀️', '‍♂️']],
['👩', ['\u{200D}\u{1F9B0}','‍♀️']],
['👩‍💻', ['‍⚕️', '‍⚖️', '‍✈️']]
].map(a=>emojiVars(...a))

👩,👩🏾‍,👩🏽‍,👩🏼‍,👩🏻
👩‍🎓,👩🏾‍🎓,👩🏽‍🎓,👩🏼‍🎓,👩🏻‍🎓
🧘,🧘‍♀️‍,🧘🏿‍,🧘🏾‍,🧘🏽‍,🧘🏼‍,🧘🏻
👩,👩‍🦰
👩‍💻,👩‍⚖️💻,👩‍⚕️💻,👩‍⚖️‍⚕️‍💻
Forwarded from 螺莉莉的黑板报
【本报讯】 长沙富能成员判刑,涉「996ICU」项目

长沙富能成员程渊、刘大志和吴葛健雄因涉嫌颠覆国家政权罪被判刑。其中,程渊被判五年,刘大志两年,吴葛健雄三年。他们被指控通过成立公司伪装项目执行者,实施颠覆国家政权行为,严重危害国家安全和社会稳定。劳工权益项目「996ICU」或是他们被捕的导火索。这一判决引起了广泛关注。

参见:https://github.com/996icu/996.ICU/pull/26101
duangsuse::Echo
执行时是怎么样的呢? 🤔(当然这里可能不严谨,不过也够了,反正大家很多人连 CDEF 系统栈是怎么维护的都不知道,也算是科普一下) 我们的 caller 叫做 main,它执行如下代码以调用我们的子程序 bd: sub esp, (2*4) <sp> [....] [....] |***** mov ecx, ; buffer ; ecx = (char *) buffer mov [esp+4], "SGVsbG8K" <sp> [....] [*"SGV....] |***** mov [esp]…
#backend #asm 原来yt上也有这么多人在做CS科普
好怀念以前什么都不了解,没有地方拿到「原始资料」的时候啊..
那时候就是靠猜、靠一些中文资料碎片,也不熟悉「内存布局和跳转」的C语言指针模型,更不会把 struct;union; subtype; weak type;trait; 这些放在一个心智模型里去diff

现在看来是走太多弯路,实现了貌似「科班」轻松就懂的、无意义的东西,但在我看来,用x86 写算法明明就是容易搞懂的事,错误在于最简例、可视化和复用的缺失

说起来,频道的 #tag 太多,成了失去归类能力的野草..😓 对我而言「流行编程语言」就像这样吧;为了摆架子,搞丢了问题的本源

又说了奇怪的话了..😶‍🌫️ 知乎上也会被PL人喷是民科
幸而最近有点时间编程, 不知道能整出啥

#dalao #blog #inm 野兽的链表里技!
#learn 对我而言,编程并不是「专业技术」,只是“另一种母语”和创作方式,所以我很讨厌潦草的代码

最近一直在打磨一门自制语言的语法, 获得一个较大的成功,居然是把它的OOP术语移植到英文.. 😅
事量物例类|公私族组内
fun val data named type|same{,0,type,pkg}
储例判同造|既可未终定
\- enum -when -named made|^,impl{?,??,}

之前的版本是
事量物例类 
fun val thing insta class|
储标例况变
data anote enum case var|!,impl{?,??,}

虽然不够“面向对象”(obj->data) 了,但实在(英语化)好写不少。 我一直很讨厌 Java 那种八股文式,歪七扭八不一致的语言特质,给数据处理和调试带来很大负担

interface Closable
type Closes
fun close
-named
fun all(:Args<Closes>)...

data Door(name:Str) Closes
made(:Idx)=made("# $i")
^fun close=say("shut $name")

data class Pair<out A, out B>(val A:A, val B:B): Serializable
'AB'(get) - Pair(A:A,B:B) Send
typealias PairOf<T>=Pair<T,T>
'T'PairOf=Pair<T T>

这个就对标 #haskell data=A|B#rust enum Either<A,B>
'AB'(get)-when Either
A(v:A); B(v:B)
'R'fun way(err:Fn1<A>, ok:Fn1<B>) = when this:
A:err(v);; B:ok(v)

就体现另一种 #FP 的价值观:定义式先于不可变

绝句计划把 Var,Type, expr.E 都拉入一等公民,虽然我不清楚怎么做但相信有意义(连scala3都没更灵活的 eval fun: inline arg 还不够全)
总之,OOP 的public-private constructor 麻烦真的很大,
我又不认为 Rust,Go 那样把一切打散和到处pub fn, 冗长化 type Item=int32 就算“优于继承” — py也有自己独占的一亩地, 但它足够 "server side" 吗?
对于视频内代码的重写:

事 阶乘(n:数) 数
变数,a 1。
(1~n),[i] a=「它*i」 。

fun Ary<Int> contains(it:Int) Bool
this:[x]
if x==it: return $Y
return $N

或者更函数式(reduce 和 findIndex)
'N'fun N`!`=(1~this).Sum{*}

'T'fun Seq any(:Test<T>) = this(Sum.from($N): or test(it) )
= first { test(it) }?.i !=NO

(不得不说,绝句的变动太快了.. forEach和尖括号类型都能被删没 (我对那个 对何forall<AB> 的还执着了好久,因为很"函数式"😭 ) , 这两天对于‘带代码’行注释 和事/物 内量的区别对待、C++式iter与可变<T>的统一、 #Kotlin require check 之类“特技”的归一化 也很难抉择 ,所有简写竟都是全新的,而且都能涉及到编译期API)

唯一能确定的是, 绝句最终的语法和std不会保留冗长且含糊的概念,至少中文绝句不会 (比如 try catch finally 就变成语法函数化+试做 接应 皆应+试:可空 , 之前是 尝试 接迎 终焉)
也不会刻意与py,rb,js 的传统术语分离,一定是小更改换大收益 😋

希望它能打破解释和编译的隔离吧 ,虽然我根本不知道咋做.. 语法风格颠覆的太快
不过我还是很高兴学习过弱类型 metaprogramming ,又掌握了解析和编译原理,所以不必受制于既有的 syntax 和 API,或者对象图框架,而能创造DSL

btw. kt 的 Sequence实现 居然和 yield() 无关 ,居然只是 sequence{} 在创建只读的协程吗
😅而且复制给Array,Set,Str.. 信仰崩塌
#py #dontknow 不好的写法
e.g. 不使用 main 而难于import
使用map,filter 而不用(for if), 或在for里修改集合
忘记 typing,pathlib 或 r"rawstr" 正则
把 np.array 视为iter
用注释“重写”代码 ,却不解释代码为何存在

依赖注入DI 在 Py 著名的PIL绘图里为何不存在 -被{kv:函数值}化了!
#kt #plt 不用脚本引擎,设计几百张效果卡牌 https://t.me/kotlin_cn/76449
duangsuse:
你这相当于在kt里造全局变量域的Lisp.. 还不如用jdk 的Nashron JS

用函参模板是性价比最高的序列化方案, 也不会和配置文件那样难写

在强类型里实现AST真的没好果汁吃 ,一般的游戏都是暴露棋局API给lua js啥的

用组合函数+as强转 就等于这种方案
Forwarded from 睡前消息
» 4. 光伏电池效率迈向30%大关:异质结降本提速,叠层电池产业化曙光已现

经过数十年的发展,晶硅太阳能电池已十分接近其理论转换效率极限:29.4%。要在此基础上实现光电转换效率的再次跃升,叠层电池被视为最具前景的技术方向。近来叠层技术研发进展势如破竹:5月,沙特阿卜杜拉国王科技大学(KAUST)宣布钙钛矿/晶硅叠层太阳能电池认证效率达到33.7%,再次刷新其在4月创造的33.2%世界纪录。几天前,国内光伏龙头隆基绿能宣布在商业级绒面CZ硅片上实现了晶硅-钙钛矿叠层电池33.5%的转换效率。

尽管上述效率纪录仍处在实验室阶段,与商业化量产有不短的距离,但足以展现叠层的技术潜质和想象空间。
Forwarded from 螺莉莉的黑板报
php 还是有点爽的,你们精致 node 的程序就很难做到像人家 php 一样,插件、主题往目录里面一拖,主题自己就从后台蹦出来了,还可以点点点,选选选……

你们 node 这边还要跟 esm cjs 搏斗,人家 php 直接 include 进来拼拼接接就好了(

虚假的脚本语言 vs 真正的脚本语言

(看看今天谁上钩
#plt #bing #talk 不会思考它没学过的资料..
我想写类于Java 类型系统的类型检查器,请提供类型的数据模型
>很好地提示了TypeVariable,Method 等反射接口
请举几个函数式例子, 说明 check(def) 如何证明调用是有效的
> "g(x, x) = x * 2"; // 是无效
利用 Haskell data 编写类型的数据模型
>很长地细化了反射接口

请了解js的 PEG 和递归下降技术, 解释 num,str 的嵌套列表 和csv的PEG文法
>很成功举出可运行的示例+test
>可示例只观感上正确 ,且使用了PEG不支持的leftRec

既然有了解析器,借鉴lisp标准做一个 js 调用器,能实现对 (fun filterMap(xs f) ) 的定义,要支持 fun when let = 几函数
>听不懂

为什么你不太熟悉实现这些,但很会写 snake,tetris 这种js游戏代码呢?
>我利用我的内部知识和一些在线资源来拼凑出一个可运行的结果

在经济上, 程序员的工资完全取决于其工作的难度吗? 如果AI让难度变低,对编程界会有什么影响呢?一些人觉得AI掌握了他们在小圈子里独有的技术, 从而让这种技术廉价化了,你能举几个回应吗

>AI 可以帮助程序员提高效率、创造力和协作能力,让他们更容易解决复杂的问题,但可能会取代一些低层次或重复性的编程工作,导致一些程序员失业或降低收入
程序员需要不断地学习新的技术和知识,AI是要帮助他们更好地使用和发展他们的技术

有解析库支持在定义 parse 的同时对应地支持toString 吗? 基于递归下降算法如何让 list 文法同时支持parse和toStr (stringify,dumps) 呢
>没有,ANTLR有吗? 不知道咋做
几个支持unparse 的库: csv , xml2dict, pyast
传统的: https://pegjs.org/online ,jison


https://www.compart.com/en/unicode/plane
理论上来说,既然能解析一种文法, 就一定可以把生成的数据还原回来
>正确,还原的字符串可能和原始的字符串有一些细微的差别,比如空格,换行,注释

这种正反函数的概念,对 HTML 数据绑定也有效, 意思是能被 render() 就能被爬取, 你能举出例子吗
>不懂,但有人答过js怎么做数据绑定
你能解释 parse-unparse 和 mmap() 的区别吗,假设mmap能够映射AST
>那就不需要parse了,但我也不熟悉。 mmap() vs read(buf) chunked
js Blob DataView 的封装

Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited
https://github.com/tree-sitter/node-tree-sitter

我有 1, (1), (1 20) 这样的递归模式要用 Perl 正则匹配
> (\d+|\((?R)+\)) 和 (?<R>\d+|\((?&R)(?:\s+(?&R))*\))
$ pcretest 能校验配对,但很脏

#rust #dontknow 离谱的循环
let c = loop {
if Q() {
break "answer";
} else {
break None;
}
};

fn first(:Iter):Option = for x in list {break Some(x);}
else default {None}

so for, while, while let 该咋办?😒易放难收
#py
for x in []: pass
else: return "没有"
duangsuse::Echo
#china http://www.yinwang.org/blog-cn/2022/09/12/lockdown-unconstitutional “《防疫法》如果规定了可以这样剥夺或限制公民的人身自由,那么《防疫法》就是违宪,属于无效的法律,公民不需要遵守它。懂得法律的人都明白这个道理
#china #statement 当今知其不义而为之的人,会认为和平示威的是弱者,弱者是必输无疑的; 确实,遍藉中国的兴亡史,但凡治民者不是「大恶龙斗倒小恶龙」,也就是暂坐稳了奴隶大位、捧出了青天“做主”,国民就要为之百姓点灯,大喊万岁了

但只要放眼世界,就会发现民主转型大多不能靠叛乱,而是从尊重普世价值,从大众的坚定共识里来的。
——既然示威必输无疑,为何要教人民举报和避讳敢说真话的人?

中国人在发展下所受蒙蔽很深,而这种军权的专制合法性、互害博弈的“有国家无社会”观念,正是马列和“忠教”隐晦且巧妙的洗脑和PUA,

这种官民二元论和房地产一样,完美实现了底层互害 高层互夸,一如夺工农之声而叙人民之事的苏联。
烂尾楼终于破了,而酷爱“我们 一切”的在野独裁者、中国的忠教,何时会破!

在政治上,没有一颗稻草是能压死一整队骆驼的。报出丑事不丢人,爆出丑事才丢人

这种谎言让我想到 “土地国有制就是好,民营资本家把地兼并都抢跑”
“大兴土木就是好,资本美国败得跑”
“分裂就会乱,成王败寇最统一!”

什么地方会每天都是输与赢、忠与跑?
如同阿富汗女性对塔利班的评价,“现在汽车炸弹少了,有治安了,毕竟放炸弹的人们上台了”