Forwarded from eW91dHUuYmUvZFF3NHc5V2dYY1EK
lwn.net
Alternative syntax for Python's lambda
The Python lambda
keyword, which can be used to create small, anonymous functions,
comes from the world of functional
programming, but is perhaps not the most beloved of Python features.
In part, that may be because it is somewhat clunky to use, especially…
keyword, which can be used to create small, anonymous functions,
comes from the world of functional
programming, but is perhaps not the most beloved of Python features.
In part, that may be because it is somewhat clunky to use, especially…
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
Ray Eldath | 计算机领域的三个重要思想:抽象,分层和高阶
https://ray-eldath.me/programming/three-important-ideas/
https://ray-eldath.me/programming/three-important-ideas/
Ray Eldath's Blog
计算机领域的三个重要思想:抽象,分层和高阶
昨晚看了点比较有意思的东西,于是决定写一篇文章简单讲一下。 本文致力于概括我对计算机界三个重要思想的体会和认识。我希望做的并不是简单的百科全书式的列举(“A 体现了抽象思想;B 体现了分层思想…”),而是从这些思想中选取几个我个人较有体会(或者是我单纯觉得十分有趣)的侧面拿来细讲。这些侧面仅仅能覆盖这些思想应用范围中十分微小的一部分,它们并不是最有代表性的、亦非最为重要的——仅仅因为,我个人对这点
Forwarded from 没有字的回音 ♪️
&'a ::rynco::UntitledChannel
Ray Eldath | 计算机领域的三个重要思想:抽象,分层和高阶 https://ray-eldath.me/programming/three-important-ideas/
咳咳, #ce #PLT #math
前章说了作者最开始的一些见闻和误解,比如抽象代数是PLT必须前置知识什么的。
50% 的篇幅是写作者和 PLT/FP 函数式领域一个学者(他的偶像)的一次来信,皆包含中英文本。总体而言记述性内容多
也谈了 Monad 是不是 operational semantic 的问题,学者的回答好像规避了具体的回答,只是说对高效的程序猿不必看得太重但理论联系也很值得学习。
后面讲了 compile/interpret, currying, partial application 等问题的相关侧面。
我记性比较差就不赘述了,提点关键词 爱看的看吧
动苏是相对较重视实践的,而我目前在这个领域可以说没有什么实质进步,必须先写点什么能用的才好啊。
前章说了作者最开始的一些见闻和误解,比如抽象代数是PLT必须前置知识什么的。
50% 的篇幅是写作者和 PLT/FP 函数式领域一个学者(他的偶像)的一次来信,皆包含中英文本。总体而言记述性内容多
也谈了 Monad 是不是 operational semantic 的问题,学者的回答好像规避了具体的回答,只是说对高效的程序猿不必看得太重但理论联系也很值得学习。
后面讲了 compile/interpret, currying, partial application 等问题的相关侧面。
我记性比较差就不赘述了,提点关键词 爱看的看吧
动苏是相对较重视实践的,而我目前在这个领域可以说没有什么实质进步,必须先写点什么能用的才好啊。
#日常精神分裂 #沙雕
A: 看完《转生史莱姆》旧集命名一段我突然冒出个问题,如何杀死一只史莱姆?史莱姆有核吗?
B:史莱姆无限可分,无法杀死(
A: 说到物质无限可分…… 我想到了毛泽东的“原子无限可分”了。 其实不论身份的话,这个论断也是一种合情理的猜想吧。
B: 反对的都蹲大牢去了,你觉得怎么样。
A: 毕竟对普通人来说自然界的什么东西有极限就显得很奇怪,就像爱因斯坦的「上帝不可能掷骰子」?那如果不从问题本身讨论,就问怎么「劝」一个持这种常识的人相信「原子不能再分」呢?
B: 我觉得可以这么比喻吧,「人体可以无限拆分,但是拆到一定程度就会分崩离析,失去原有性质,不能再叫人体的子部分」,再为了贴合毛泽东的理解套一下实例,再给他个台阶下(之前的理解部分正确 但有一个微小细节),应该就能被接受了。
A: 不讨论这个了,你觉得 GNOME 的「自然滚动」滚轮视图而非内容,怎么样,怎么实现 Android 等触摸手势上的「末滚动动画」?
B: 反向滚动我觉得就是个 trick,末滚动动画的话需要知道单次滚动的速度,必须有 onTouch Start/End 事件和一个 t0 ,必须能读写 pos 。
A: 触摸滑(滚)动就是一个动画,为什么要有 on start/end?
B: 你可以把它理解为 window 上 drag 的实现,必须有 point0 才能知道 pos 的单次偏移量,至少要记录按下状态,并不是说 onPointerMove 就够了
A: 看完《转生史莱姆》旧集命名一段我突然冒出个问题,如何杀死一只史莱姆?史莱姆有核吗?
B:
A: 说到物质无限可分…… 我想到了毛泽东的“原子无限可分”了。 其实不论身份的话,这个论断也是一种合情理的猜想吧。
B: 反对的都蹲大牢去了,你觉得怎么样。
A: 毕竟对普通人来说自然界的什么东西有极限就显得很奇怪,就像爱因斯坦的「上帝不可能掷骰子」?那如果不从问题本身讨论,就问怎么「劝」一个持这种常识的人相信「原子不能再分」呢?
B: 我觉得可以这么比喻吧,「人体可以无限拆分,但是拆到一定程度就会分崩离析,失去原有性质,不能再叫人体的子部分」,再为了贴合毛泽东的理解套一下实例,再给他个台阶下(之前的理解部分正确 但有一个微小细节),应该就能被接受了。
A: 不讨论这个了,你觉得 GNOME 的「自然滚动」滚轮视图而非内容,怎么样,怎么实现 Android 等触摸手势上的「末滚动动画」?
B: 反向滚动我觉得就是个 trick,末滚动动画的话需要知道单次滚动的速度,必须有 onTouch Start/End 事件和一个 t0 ,必须能读写 pos 。
A: 触摸滑(滚)动就是一个动画,为什么要有 on start/end?
B: 你可以把它理解为 window 上 drag 的实现,必须有 point0 才能知道 pos 的单次偏移量,至少要记录按下状态,并不是说 onPointerMove 就够了
Forwarded from Yuuta 🎀 | clrd enroute
跟着 apue 实现了个简单的 shell,我寻思跑几个程序测试一下吧.. 然后就跑了 poweroff,想着反正没 sudo,然后.. 就关机了。
我忘记自己有权限了。
我忘记自己有权限了。
Forwarded from im� 🍩🍭🍋🐇🏚️☕🍵🥞🦋🌱➕1⃣🤖🔕📳🎶🎧 | LTE🈚latency>1024767ms � via @donnakkabot
<-dm wm 分不清
duangsuse::Echo
再说说 ParserKt 新版解决的 "StickyEnd" 和 LexerFeed 问题。 StickyEnd 是造成 TriePattern—PKT 的 keyword tokenizer 无法应用于整个输入(fullmatchPattern)的元凶 所谓 sticky end ,是 fullmatch 的逻辑是,无论 pat 是否匹配成功(没成功就往 StringBuilder 里填一字继续尝试),必须 match 到输入末尾,但这就有个问题——不能判断当前是否 EOF ,结末的异常会被 pat 视作…
#parser 🤔今天又想了下,解除了一个很傻的误会
假设有 try {} 也有 tryDo {} ,前者是 Try 块而后者是一个函数调用,如果说 keyword 完全是由 Trie 前缀解析的,会把 tryDo 分词为 try Do 从而造成问题
其实关键字本来就是在 Name 的基础上做的,应该弄个 Piped 组合器,来做到 name 和 kw 结构的区分。
其实一个组合解析器框架要走上实用还有些细节吧…… 除了 /* 和除号区分、输入流和输出结构、系统忽略空格、容错等问题
之前说 StickyEnd 导致 Trie 分词不能“greedy”的问题明白了,就是把一段文本分成 plain-关键词-plain-... 的形式
我的方法是
如果视为没符合,流结末时就会无限循环(再看 trie 结果 也可能是真不符合任何关键词)。
如果视为流结末,再去看 trie 的结果,也不能分出是怎样
正确做法显然是展开调用,如果流结末就直接返回…… 属于老问题没写好
😒下次我会试着利用 inline 和 -1 的,异常的确该说不至于,因为 Repeat 组合器很多,但只有最上一层会真收 EOF
假设有 try {} 也有 tryDo {} ,前者是 Try 块而后者是一个函数调用,如果说 keyword 完全是由 Trie 前缀解析的,会把 tryDo 分词为 try Do 从而造成问题
其实关键字本来就是在 Name 的基础上做的,应该弄个 Piped 组合器,来做到 name 和 kw 结构的区分。
其实一个组合解析器框架要走上实用还有些细节吧…… 除了 /* 和除号区分、输入流和输出结构、系统忽略空格、容错等问题
之前说 StickyEnd 导致 Trie 分词不能“greedy”的问题明白了,就是把一段文本分成 plain-关键词-plain-... 的形式
我的方法是
takeWhile{it !in trie.routes} ,如果这么简单的话区分不出结果 isEmpty() 到底是真的没符合呢,还是输入流结末了呢?没办法判断。如果视为没符合,流结末时就会无限循环(再看 trie 结果 也可能是真不符合任何关键词)。
如果视为流结末,再去看 trie 的结果,也不能分出是怎样
正确做法显然是展开调用,如果流结末就直接返回…… 属于老问题没写好
😒下次我会试着利用 inline 和 -1 的,异常的确该说不至于,因为 Repeat 组合器很多,但只有最上一层会真收 EOF
Forwarded from Hacker News
Nodes.io – a new way to create with code (Score: 100+ in 2 hours)
Link: https://readhacker.news/s/4Gbpk
Comments: https://readhacker.news/c/4Gbpk
Link: https://readhacker.news/s/4Gbpk
Comments: https://readhacker.news/c/4Gbpk
nodes.io
Nodes – a new way to create with code | https://nodes.io
Nodes is a new way to create with code.
#web #js #api
https://stackoverflow.com/questions/4386300/javascript-dom-how-to-remove-all-events-of-a-dom-object
iframe 标签可用 .contentDocument
Node 可用 .getRootNode() 获得 # document
本来打算用 ev=>ev.stopImmediatePropagation() 禁用 onpaste 的,没想到被加在最后…… querySelector 的列表也不对,窗口也定时刷新
学习通的网页
当然如果预加载脚本 AOP 就可以拿到 UEditor plugins["paste"] 配置对象或实例直接配置了,可是不能…… 粘贴事件是在 beforepaste 被否决的,但好像不是 DOM event ,居然自己弄了个同名的……
对了 Firefox 没法枚举事件监听更不能前置插入监听, setAttribute(onpaste 也不能前置监听,但仅就这个「无法粘贴」问题而言,可以把之前 preventDefault 的逻辑改回来:
这个涉及 Clipboard(Event)? 和 DataTransfer API #web 🙊
https://stackoverflow.com/questions/4386300/javascript-dom-how-to-remove-all-events-of-a-dom-object
iframe 标签可用 .contentDocument
Node 可用 .getRootNode() 获得 # document
window.getEventListeners().click[0].listener() 可以枚举事件监听本来打算用 ev=>ev.stopImmediatePropagation() 禁用 onpaste 的,没想到被加在最后…… querySelector 的列表也不对,窗口也定时刷新
学习通的网页
当然如果预加载脚本 AOP 就可以拿到 UEditor plugins["paste"] 配置对象或实例直接配置了,可是不能…… 粘贴事件是在 beforepaste 被否决的,但好像不是 DOM event ,居然自己弄了个同名的……
对了 Firefox 没法枚举事件监听更不能前置插入监听, setAttribute(onpaste 也不能前置监听,但仅就这个「无法粘贴」问题而言,可以把之前 preventDefault 的逻辑改回来:
e.onpaste=(ev)=>ev.target.append(ev.clipboardData.getData("text/plain")) 这个涉及 Clipboard(Event)? 和 DataTransfer API #web 🙊
Stack Overflow
Javascript/DOM: How to remove all events of a DOM object?
Just question: Is there any way to completely remove all events of an object, e.g. a div?
EDIT: I'm adding per div.addEventListener('click',eventReturner(),false); an event.
function eventReturne...
EDIT: I'm adding per div.addEventListener('click',eventReturner(),false); an event.
function eventReturne...
Forwarded from Solidot
Linus Torvalds 警告不要 Linux 5.12-rc1
2021-03-08 10:32 #Linux
Linus Torvalds 在邮件列表上 紧急呼吁用户 不要使用最近释出的 Linux 5.12-rc1。他表示,在公开的 git 树上,v5.12-rc1 的标签被重命名为 v5.12-rc1-dontuse, dontuse 意味着不要使用,因为该版本破坏了交换文件 swapfile 的处理,会导致文件系统无法使用。当内核将内存中的内容交换写入到磁盘上,数据会随机写入 swapfile 所在的相同磁盘和分区,它不仅会覆写现有文件的数据,而且还会覆写破坏元数据,可能导致整个文件系统无法挂载和使用。Torvalds 称,如果你不使用交换文件,或者使用的是交换分区而不是交换文件,那么你不会受到影响。
2021-03-08 10:32 #Linux
Linus Torvalds 在邮件列表上 紧急呼吁用户 不要使用最近释出的 Linux 5.12-rc1。他表示,在公开的 git 树上,v5.12-rc1 的标签被重命名为 v5.12-rc1-dontuse, dontuse 意味着不要使用,因为该版本破坏了交换文件 swapfile 的处理,会导致文件系统无法使用。当内核将内存中的内容交换写入到磁盘上,数据会随机写入 swapfile 所在的相同磁盘和分区,它不仅会覆写现有文件的数据,而且还会覆写破坏元数据,可能导致整个文件系统无法挂载和使用。Torvalds 称,如果你不使用交换文件,或者使用的是交换分区而不是交换文件,那么你不会受到影响。
Forwarded from 层叠 - The Cascading
Git 是一个不错的版本管理系统。它本身和代码关系不太大,门槛算是比较低。而 SourceTree、GitKraken 等一系列软件的出现又使 Git 的易用性更为提高。对不是程序员的用户而言,Git 仍然可以十分有用。
作为例子,雅诗列出了几个小有名气的「代码无关」的 Git repository。它们可能没有用到 Git 的全部功能,但也能说明 Git 不止对程序员有作用:
* https://github.com/komeiji-satori/Dress - 用户发表自己的女装图片,这本身并没有利用许多 Git 相关的特性(除了 Git LFS)。
* https://gitlab.com/SCLeo/wearable-technology (NSFW) - 一本官能小说。
另外补充一点 SFW 的例子:
* https://github.com/github/dmca/ - GitHub 的 DMCA 请求存储区。
* https://github.com/progit/progit2 - 书籍《Pro Git》的源代码。在 Git 上托管书籍源码的行为并不罕见。
* https://github.com/qiusj759039257/LKSUB - 轻之国度字幕组的字幕存档。(各种文本内容都可以受益于 Git 的版本控制功能。)
* https://github.com/ppy/osu-wiki - 音乐游戏 osu! 的 wiki 文本。
src: https://twitter.com/kagurazakayashi/status/1367681094644998146
作为例子,雅诗列出了几个小有名气的「代码无关」的 Git repository。它们可能没有用到 Git 的全部功能,但也能说明 Git 不止对程序员有作用:
* https://github.com/komeiji-satori/Dress - 用户发表自己的女装图片,这本身并没有利用许多 Git 相关的特性(除了 Git LFS)。
* https://gitlab.com/SCLeo/wearable-technology (NSFW) - 一本官能小说。
另外补充一点 SFW 的例子:
* https://github.com/github/dmca/ - GitHub 的 DMCA 请求存储区。
* https://github.com/progit/progit2 - 书籍《Pro Git》的源代码。在 Git 上托管书籍源码的行为并不罕见。
* https://github.com/qiusj759039257/LKSUB - 轻之国度字幕组的字幕存档。(各种文本内容都可以受益于 Git 的版本控制功能。)
* https://github.com/ppy/osu-wiki - 音乐游戏 osu! 的 wiki 文本。
src: https://twitter.com/kagurazakayashi/status/1367681094644998146