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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from Newlearnerの自留地 ( 初学者 | Newlearner365)
#years

┏━━┓┏━━┓┏━━┓┏━━┓
┗━┓┃┃┏┓┃┗━┓┃┃┏━┛
┏━┛┃┃┃┃┃┏━┛┃┃┗━┓
2024, 感谢陪伴 ! Happy New Year !
┃┏━┛┃┃┃┃┃┏━┛┗━┓┃
┃┗━┓┃┗┛┃┃┗━┓┏━┛┃
┗━━┛┗━━┛┗━━┛┗━━┛

频道:@NewlearnerChannel
duangsuse::Echo
https://github.com/mirtlecn/chaizi-re?tab=readme-ov-file#汉字拆字字典修订 #school https://zh.wikipedia.org/wiki/中日韓統一表意文字#漢字等同 🙄 作为一个「语言人」,我非常遗憾, 关于中文的一切开发 (Unicode CJK, IDS统一表意..),竟然与大陆本土无缘,且完全没有如 jpdb.io 般惠及中文学习。 只有拼音和五笔,这些为机器服务的层是中国人为营利想出来, 为学习者的,是完全没有。 乃至二简字,都是好大喜功不成气候…
#blog https://dieken.github.io/posts/chinese-input-methods/

>输入法界,俗称码圈,在 2024 年的今天,毫无疑问是个小众圈子
(1) 做码人,或称算码人、字圈,喜欢研究汉字拆分和字根的键盘布局,(2) 跟打人,或称赛文人、赛圈,喜欢竞速跟打,以手快为荣,可谓武玩,(3) 其它人,菜鸟龙套捧哏普通用户,可谓文玩。三个小圈子之间以及内部少不了日常逗乐拌嘴,反正有人的地方就有江湖,很感慨的是,八九十年代的万「码」奔腾到如今的万「码」齐喑、十「码」互踢
>形码可以打整句吗?习惯了拼音整句后,突然发现形码要人肉分词,可真是「一夜回到解放前」,搞不好就碰到打词打空了,非常恶心,因此码圈大佬们的建议是要么记住小词库谨慎打词,要么索性只打单字,极端点就是不要简码只打全码单字。
>岁寒输入法:就我而言,我做的第一版输入法,全世界都没人会用,只有我一个人会用;我做的第二版输入法,别人也会用了,但是没有人用;我做的第三版输入法,终于有人愿意用了。
在设计完岁寒输入法的布局和输入规则后,我惊奇地发现岁寒输入法呈现出一种非常重要的特性——输入声韵的无二义性。简单地说,就是任何一条滑行路径都明确地指向某一个声母或者韵母,不会存在歧义,不依赖于已经输入的信息,经常用于处理无声母的拼音。「xian」不可能是「xi'an」,「gang」不可能是「gan'g」,这个特性是全拼和双拼输入法都不具备的。

ps. 智能选词使用的 #algorithm HMM 比DNN难懂不少,用途也窄,不知道现在的智能拼音都在用什么算法,还是马尔可夫链?

https://shurufa.app/ chaifen.app
https://dieken.github.io/posts/some-words-about-chinese-input-method-circle/
Forwarded from Solidot
2024 年 X.Org Server 的开发活跃度达到 10 年来的峰值

2025-01-02 15:56 by 特辖军的一天

可能出乎很多人的意料,正面临被 Wayland 取代的 X.Org Server 项目,其开发活跃度达到了 10 年来的最高水平。X.Org Server 在 2024 年共收到 708 次 commits,过去十年这一数字仅次于 2014 年的 952 次。2024 年 X.Org Server 增加了 11,998 行新代码,删除了 14,680 行代码,远高于过去几年 5~6k 行的代码变更。X.Org Server 的开发主要围绕着 XWayland 项目,以及开发者 Enrico Weigelt 以一己之力对项目的维护工作,他一个人的 commits 就占到了总数的 63%。

https://www.phoronix.com/news/X.Org-Server-2024-GitStats

#X
另外,我刚又又设计了一种新的元编程方式: QuineQuoted (馈硬是一种 eval(s)==s 的测试,它和FP系的ast宏还有点区别: qq需要编译器支持, QQ自己就是编译器) #plt #kt
https://github.com/mame/quine-relay

我几年前用这类技术弄了Tk的DSL,forin展开 https://github.com/duangsuse-valid-projects/TkGUI ,但没有意识到值:名替换 是把运算符重载变成编译器的要点 : 首先 kstSel=Fn(2, ([A,B])=> KST? A:B ) 就可以用read自源码+值名替换 生成出 "(A,B)=>{" "A" "}"

想必是比XML魔法优雅不少吧……

这样Kt的循环展开可以这么写:

val [T Array].constFor = F.PASTE { op: (T)->pass/*[T pass F.n1]*/ ->
indices { i -> quote { op(`$`(this).get(i)) } }
//(this as KtScope).quote "op(x1.get(1))"
//(this as KtScope).quote "op(x1.get(2.. ))"
// str += " inlineOp(${arr}.get(${2})) " 是否和 quote { op($this[i]) } 雷同? Java STR|SQL. 提案的真正面貌来了。
//也可以来return repr(字面量均可序列化), inline("bin/file")... 宿主有多强,宏就有多强。不在五行之中,却不会生成非法结构
}


看起来相当简单,而且和Proxy({}, {get:genFn}), 和lang.invoke属于同款! 但是,因为能处理左值,创建函数、修改class{}字典也是可能的。 运行时反射,编译时留字面,运行即编译,但比起JIT所有不知名的「编译优化」,eval后留字面可不是魔法,只是元循环函数而已,就像numpy和taichi 的"C DSL"
Quine比之poet等EL就像SpringBoot比SpringXML一样, 不需要切出本语言的思维,就可以突破 o.key() o."key"() 的隔离, 避免了人们关于「静态类型」一直以来的一个很大的误会
但我就从来没见「最佳实践」们用过…… kt 在用仅能自动import而且个性贼大的poet。 lombok 甚至重造javac的轮子,就为了显得自己懂栈字节码了
和我那个拟态类型不谋而合,相信再强化下反射API,很快就能替代TS了!? 🤔
val $T_Array.constFor = F.PASTE(n=1) { op:any -> when(var T,){ this typ([T Array]) && op typ([T pass F.n1]) -> pass
else -> TypeError("某些人觉得很厉害的编译原理和OOP,唉,还是比eval和原型链棋差一着")
//把for/if 这些函数的语意,重载成只执行1遍/2侧都执行就够了, 这是Lisp说的道理:语言们没什么语法,只有传参法、求值序、回调或栈的区别罢了。 类型检查和webpack什么的,何必呢,直接在编译期黑盒测试:TDDtc调试运行即编译!
//Kt 不太能按inferDFS(T)分重载,你 val=::print 就一目了然,方程的形式就只有 {T:?0, R:?1} 这样的解构匹配而已,却卡的要死,真不懂是JVM拖了K2的后腿吗? 还是某些预制人比起为用户着想,更爱虚伪的代数呢?
//因此以上代码已经是JB级别的 type inference 了,Prolog数据库的helloworld而已。 F(n1,T,pass). v(this,T,array):-is(T,any?),F(n1,T,pass). >>> v(变量名,...模板参数)

//btw. Kt 没 match{case+} 也不是大问题,如果支持真正纯函数式的解构匹配,怕是val和var语法和那高开低走的@Compose都要退役了。 Svelte的rune、C的返回到指针都不会抄,还真是仅此一家别的不看了
}}


Lisp也有类似的能力,Haskell系的 quasi-quote 准引用 ,包括Rust!()也是这个意思,不过它们都是简单的eval(comptime eval 又怎样?不成熟),甚至搞一些因为反射API不稳定、母语语法空洞而贫瘠,而使用的模式匹配重新造parser,还有递归限制
C++ template<T> 扩充的#define呢,类型体操(比如printf的静态检查)呢,也是这个意思,但它们非常丑陋,它们总是让上下游在 💩味的代码和代码味的💩间二选一,明明试图用解构匹配重新实现调包和# define就能解决的任务,还自我感觉良好,仿佛一眼概况程序的能力已输给AI,但只要Tab补齐的类型写对了,就能强化自己的正确率似的。 丑陋的黑魔法只会诞生丑陋,没有例外。

Quine就不一样了。它揭示了函数的本质只是复用了几个变量的计算树,和JSON一样是跨平台的, 借此允许我们审视和消灭重复的类型签名,创造更好的SWIG、rustdoc、lint、minify等工具,甚至是[拟态评判lityping]这样更直观的检查与推理
这一切都不需要魔法,它和Proxy+getMethod一样是自举的,可以在任何编程语言-尤其是在缺乏this支持(并且傲慢地唯独不支持this隐写)的pyjs里发生。 这是最重要的点,我的跨语言RPC新JSON需要这种codegen框架。 解决一种问题,肯定要把所有上游复杂性全消灭掉,对不对?
Forwarded from Dante's Limbo (Dante At2814)
#周末电影 第34部 #企鹅的复仇 #超级无敌掌门狗

1. Wallace 起床那套流程进化了。
2. Gromit 早上起来喝茶,但是塑造英国人爱喝茶人设的方法是:茶包!不知所谓。
3. Gromit 作为最有文化的狗,本电影里面他读了 A room of one's own 还有 Paradise Lost 。
4. Wallace 真的是,没活硬整。
5. 太长了反而没啥趣味,还是适合十几分钟的短剧。
#security #ruby tcpdump https://ruby-china.org/topics/43886
https_instrument 还只是一个玩具,我只测试了一个最简单的例子。对我来说,写这样的工具是一件很有趣的事情。 许多公司的开发机,没有 root 权限,它毕竟也不是科技公司。。。

相比 eBPF ecapture,这种方法除了不用 root 权限外,开发起来也更容易,不需要额外的支持,但 eBPF 是单独的内存空间,操作复杂的 Go 数据结构就极其困难,比如 hash map。

可以用 LD_PRELOAD 替换动态连结库的方法,相应代码。我之前的文章也有相关的介绍。
用 Ruby 构造请求,并用 stack profiling tool 查看请求了哪些方法,从而缩小范围。我用的是 https://github.com/yfractal/sdb
static int Real__SSL_read (void *ssl, void *buf, int num) { return SSL_read (ssl, buf, num); }
extern int __interpose_SSL_read (void *ssl, void *buf, int num);


LD_PRELOAD,虽然可以 instrument openssl,但没法改程序本身的代码。理论上,通过改 binary,比如在相应的地址插入 int3,生成新的 bianry,应该可以达到类似的效果,或者直接在编译的时候做相应操作,再或者改 ELF。
相比 eBPF ,个人更喜欢 function Interposing 这种方法
duangsuse::Echo
另外,我刚又又设计了一种新的元编程方式: QuineQuoted (馈硬是一种 eval(s)==s 的测试,它和FP系的ast宏还有点区别: qq需要编译器支持, QQ自己就是编译器) #plt #kt https://github.com/mame/quine-relay 我几年前用这类技术弄了Tk的DSL,forin展开 https://github.com/duangsuse-valid-projects/TkGUI ,但没有意识到值:名替换 是把运算符重载变成编译器的要点 : 首先 kstSel=Fn(2…
https://www.fxzhihu.com/question/528403706/answer/73201328199 #ts

再见了,丑陋的类型体操
通过在JS上使用eval留字面的二段求值,任何这样支持反射的语言,都可以有编译期的预处理器,和# define一样简单
再也不需要理解类型了,解释即编译

Inc=F.QUINE((quote,x)=>(quote`${{x}}+=${1};`, x))
acc=2; dd=Inc[acc]
//dd=Inc.scop(s=>eval(s)).MEMO1(acc)
//dd=((x)=>{x+=1; return 3 })(acc)

//展开结果
acc=2; dd=3
https://m.youtube.com/watch?v=W20GfV30zG4&t=6m #news 沪爷
https://m.youtube.com/watch?v=vV1l1-7FZGs Louise: #bear

>瘋狂在向韓國人開屏這比喻真好 ... 正在吃飯想到孔雀開屏差點笑到吃不下 哈哈哈,顧名思義,對韓國人求偶
为啥遥遥领先的小米华为和比亚迪不拿出来??传统文化和独一无二的美食老字号呢? 😂😂😂是丢脸不够威风吗?
>上海这波操作就是典型的田忌赛马,拿着自己的上等马赢了对方的中等马,有什么好骄傲的呢?要比就公平一点,上海的这些富二代去和韩国那些财阀家的二代比,上海的普通工薪阶层去跟首尔的工薪阶层比一下。最后,让韩国那些住在偏远山区的人和咱们西部山区里的老百姓比一下,这样才公平嘛。我查了一下,根据2022年的数据,韩国收入最低的20%的人,平均月收入是181万韩元,约合人民币9000多。。。
Forwarded from 厘米碎碎念
给会爬虫的兄弟们一个信息差赚钱机会。现在公众号爆文很火,有的人一个月广告几千上万,甚至几万。爆文有个痛点或者是必须要的信息是要找已经爆了的文章,或者对标账号,尤其是低粉爆文。能够收集到这种信息,还是有人愿意付费的。我已经看到有人在收钱了。

路走窄了,火中取栗。我毕业第一家公司就是专门干这个的,巅峰的时候屋子里有五千台物理小米手机,虚拟机器上万,当年小米低端手机被这个产业吃了一堆。收集文章信息,刷评论,刷点赞,全是机器人自动化,洗稿发文带刷一条龙服务。后面不做了,因为太刑了。

不建议批量爬任何国内的任何信息,真的不建议。自己爬自己用也行,别卖。