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
羽毛的小白板
世俗骑士的社会评论 - 点赞是比Talk还要Cheap的行为 https://zhuanlan.zhihu.com/p/41266129
<<ENDREF
从前看书,觉得自己品到书中妙处。大赞之余沾沾自喜,自以为读懂。
现在看书,找不到一两个可质疑之处,我会觉得自己没看懂。

其实类似情况早已出现,“点赞”不过是把它“外化”了出来。
Facebook、微博、微信公众号、QQ空间、简书、知乎......
试问,现在哪个媒体没有“点赞”功能?


新媒体领域最令我痛恨的发明之一,就是“点赞”。

“点赞”不能带来任何实质进步。

“点赞”把思维碰撞的高尚运动,变成抱团取暖的自我安慰、变成哗众取宠的营销手段。
ENDREF
来源
Forwarded from Rachel 碎碎念 (Rachel AFK)
丢人到家了这个
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta)
跑 Microsoft 下面中文版聊,真丢人..
Forwarded from Linux Update
The lastest version of Java (10.0.2 -> 11) was released.
Forwarded from 神奇的笔记 (神楽坂 立音)
对不起 我的电脑不足以预览海面模拟………
更别提完整渲染了………
神奇的笔记
对不起 我的电脑不足以预览海面模拟……… 更别提完整渲染了………
#media #blender #emmm
Cycles 当然不足以预览啊..( 可惜需要 Cycles 特有的,不然 Eevee 或许可以试试?

之前测试 Eevee 使用玻璃 BSDF 貌似没有啥效果
#project #game #dev

https://github.com/icela/FriceEngine/blob/cd9ed30d6fd9471d44021ff73818ab2dd4dd4ff6/src/org/frice/obj/Objects.kt#L73

回之前某个说法,FriceEngine 当然是内建了 2D 物理系统的...
不过目前貌似只见到了 2D 碰撞检测算法,包括点碰撞和(四边形)盒碰撞,暂时没有找到 2D 物理系统(废话

abstract class PhysicalObject(override var x: Double, override var y: Double): AbstractObject, FContainer {
var collisionBox: FShapeQuad?
override val box: FShapeQuad get() = collisionBox ?: this
override var died = false
override var isVisible = true
override var rotate = 0.0
}

找了一下没有发现外挂的物理系统(冰封:有种 PR(划掉(但的确可以自己外挂...

这样不能做需要物理系统的 2D 游戏(如,超级玛丽 XD)

https://github.com/icela/FriceEngine/blob/cd9ed30d6fd9471d44021ff73818ab2dd4dd4ff6/src/org/frice/anim/move/AccelerateMove.kt

内置的特效可以完成部分效果,这个是加速移动特效...
虽然不是特别复杂的算法,我依然一眼看不明白(((( 看来需要多学习一下... :
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
Photo
#project #PL HanPP 由于开始词法分析器设计失当暂时无限期暂停开发(此前修复了 printf() 格式化字符串 %x 长度参数不对导致越界访问的问题,现 %hhx
顺便一提,RegularPP 会自带 legalize 合法化功能

[master d45872d] 修复双引号词法问题 引入更多问题 “无限期”暂停开发,中文编程真的累...
2 files changed, 6 insertions(+), 4 deletions(-)
create mode 100755 hanpp
比如我要描述一些专门拿来拼字符串的逻辑,就有很多复杂的正则之类的逻辑,我相信会正则表达式的程序员很多都只会使用『匹配』这一功能,会把值 group 出来的就少很多,知道实现的又少很多,知道正则可以编译的又少很多,知道正则还能 JIT 的就更少了,你怎么又能保证没有希望使用正则代替 bnf 的愿望呢?(ice1000.org)

曾经连 Regex 都不会的 duangsuse 会被喷的说(现在稍微会一点

PCRE(Perl 兼容标准的)正则表达式,和数学公式有着类似的性质 — 看着优雅,部分情况下甚至理解和使用起来也方便,但是如果没有专业的训练,很难理解,并且学习后也比较容易忘记

《ES6 标准入门》上所说,ES6 应该已经支持了

至于正则的「匹配」,举例来说,匹配 C 预处理指令们

grep -P "^\s*#.*$" ~/Projects/cJSON/cJSON.c

/^\s*#.*$/
大概就是说匹配类似 /[\r\n]\s*#.*[\r\n]/
这个模式的意思是 /换行符 任意长度的空白字符 # 任意长度非换行符 换行符/
当然 $^ 的语义没有那么简单,可能还要以「先行(否定)断言」解释,但这里就是这个意思

《深入分析 GCC》中用到了很多字符流处理工具辅助处理代码文件,比如 GAWK、SED、GREP,都和 Regexp 息息相关

正则的「Group」

const RE_DATE = /(\d{4})-(\d{2})-(\d{2})/;
// 匹配 2018-09-19

而使用具名组匹配,就更加方便了
const RE_DATE = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
比之前的数字反引用 xref 方便多了 \0 \1 啊....

\k<组名>

node --use_strict --harmony
> const RE_DATE = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
undefined
> RE_DATE.exec('2018-09-19')
[ '2018-09-19',
'2018',
'09',
'19',
index: 0,
input: '2018-09-19',
groups: { year: '2018', month: '09', day: '19' } ]

正则可以编译,一般听说过 re2c 这个词法分析器生成器或在 Rust 里用过 regex 的人应该知道
如果能编译成流匹配代码,自然也就可以 JIT 了
正则代替 BNF 当然也是可能的,Ohm.js 现在就使用正则 + PEG 的方式解析代码,不过完全取代可能还需要别的扩展什么的,现在原理上也不是不可能 #tech #javascript #learn
This media is not supported in your browser
VIEW IN TELEGRAM
那些脑子转不过来的程序员连 Parser Combinator 都搞不懂,用 JS 写出 JS 的 Parser、写出 C 语言的 Tokenizer 和 Grammar Analyzer 就能称霸一方,你一去他们岂不是集体跪拜?然后你在社区获得了正反馈,积累来的编程语言优化经验给了你大厂的工作机会,公司的网站又快了几倍,被无所事事的同事抢了三分之二的功劳剩下的钱也够你过上学生时代希望的平淡生活了。

"连 Parser Combinator 都搞不懂" 说的是我啊(对号入座付
"Tokenizer 和 Grammar Analyzer 是梗,只会这些当然是不可能称霸一方的。" 也是我(跑路

如果我不会 LALR 或者其他词条流匹配算法的话,RegularPP 就写不出来了(
当然,字典树也是一样,RegPP 的替换是基于字节流处理 C 编写的,所以需要 ByteTrie 树来完成 section-based 替换
目前想到一种基于 ArrayMap 的 ByteTrie 树结构和算法

“Perl6 和 Nimlang 可以修改自己的语法。” 如果这次我能写出 ApkBundler Scheme(以后这里都简称 ABS(
那它也可以修改自己的语法了,BreakLexer、Combinator 即是为这种特性计划的,BreakLexer 可以用于扩展词法(自定义部分词法特性、自定义运算符和关键字),Combinator 用于结合运算符(虽然后来还是打算好好学习一下 Parserc,然后就扩展了吧...
ABS 是面向流解释代码的,就是说可以即时执行匹配到的 S 表达式,所以可以随意操作字符流、词条流、S 表达式流来任意切换语言前端

[require 'inscript]
[lang inscript]

# InScript code goes here
lang 'apkbundler-scheme'
; ApkBundler Scheme code goes here