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
#Firefox #Mozilla #Haha 顺便科普一下 #Regex 来表述 『(只要)带一个英文冒号并且(冒号)前面是纯英文』的 URL(URI) 模式就是这样:

grep --perl-regexp '\s*\S+\:.*'
也即(其实是一个... 呃,方便不会正则的人看,虽然我觉得不会有人不会正则)
SequenceOf
InSet(Spaces).repeatAnyTimes()
NotInSet(Spaces).repeatForAtLeastOneTime()
Character(':')
InSet(All).repeatAnyTimes()

如果用 『后行否定断言』

比如 scheme:hierarchical-part 这个的 : 只有在 scheme 这个 [A-Za-z]+(假设我们只允许『常见的』ALPHABETS 集合)后面才匹配

这次我们直接上 Perl & PCRE 了(因为 Perl 就是做这个的,AWK 懒得用)。

perl -e 'while ($ln = <STDIN>) { print ($ln =~ m/(?<=[A-Za-z]):.*/) }'

如果用具名组匹配(大家熟悉并且喜欢的 ECMAScript):

TODO()
Forwarded from Rachel 碎碎念 (IFTTT)
这个就更厉害了,只要带一个英文冒号并且冒号前面为纯英文,那么 Firefox 就认为这是一个 url pic.twitter.com/u8yN6GwYRE
— 是萝莉控 (@GermanyOrthoped) January 31, 2019
Rachel 碎碎念
这个就更厉害了,只要带一个英文冒号并且冒号前面为纯英文,那么 Firefox 就认为这是一个 url pic.twitter.com/u8yN6GwYRE — 是萝莉控 (@GermanyOrthoped) January 31, 2019
另外从某种意义上这么解析其实没问题,URI 的规范在这里(IETF RFC 3986)

BNF 在这里

不考虑 URI 里别的那些东西(比如 Encoding),BNF 是这样的

[IETF RFC 3986] [Wikipedia]

URI = scheme:[//authority]path[?query][#fragment]
authority = [userinfo@]host[:port]

这是个比较不严谨的定义,Wiki 上还有图解(推荐,类似 JSON 那个)


最后我给大家一个严谨一点的 Bison + Flex (就是 Yacc/Lex Style 的解析器风格)程序
顺便还可以学一点 C,何乐而不为呢?(虽然我其实也不怎么会 C... 不是特别熟

RFC3989 上 ABNF 语法集合的,然后我们做一下翻译的工作就可以了,因为 BNF 很长不可能直接弄成 Bison 写消息里,我再写。

至于 Firefox 的 URL 解析器实现(其实在这里基本上就是个 validator,因为不像网页正文有时候可能需要扫描识别 URL)

他们是放在 FTP 上的,当然或许也有自己的 DVCS 版本库... 不过不在 GitHub 或者 GitLab 之类可以搜索的话不方便,这里有一个 iOS 版的实现我们看看

OpenSearchParser class 就是上面那个的 parser
他们为它准备的 test cases 单元测试很有价值可以看看

emmm... 不是,这个是 OpenSearchEngines API 的东西

找了一会,然后放弃了... 没啥价值,这种东西...
Forwarded from duangsuse Throws
这是 Synthsizer V 作者 Sleepwalking 最开始的一个作品(CVE 0.9
700 行的 VB.NET 程序,那时候他连 VB 的 Struct 结构体都不知道,用数组储存那些数据,,,

2012-7-10 左右。Synthesizer V 发布是 18 年 12 月,基本就是 6 年的时间。

后来的 Rocaloid,那还是作者高中时期的作品

是一篇 Sleepwalking 后来弄的 slide,是讲 DSP 的...

现在 Sleepwalking 从 Illnois 退学了(信息来源:官方论坛 sw 的 bio)


反观现在工业界的很多工程师,我觉得有这种程度的能力是我所认同的(
— 现在很多开发应用层的已经开始被代码复用当成脑残了
以至于有些人可能连 WAV 采样格式都不知道是啥了,声音就是震动... wav 波形就是离散存储一段时间里震源的振幅... 采样率是一定时间里记录振幅的数量、16 位、32 位是记录振幅阶的二进制数值位数

接口太简单,抄代码太容易,模型太 trivial,最后几年过去,自己把自己变成了只能『踏踏实实』做事的机械猴子...
每天往复做着蓝领程序员的工作,出售零散的时光,在这中国的网络新兴时代...

如果我是这种机器猴子,真的会很羡慕那些能独立写出 SynthV 一样项目的人们...

我已经准备好打印 papper 看了! 😺
wtf???什么???!!!我不活了!!!
duangsuse::Echo
wtf???什么???!!!我不活了!!!
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
wtf???什么???!!!我不活了!!!
你们都是大佬,就我最菜了,我居然小六才写了第一行代码... 还是勉勉强强的 Bash 脚本...
duangsuse::Echo
考完试回来看看这个... 其实嘛,有时候我会觉得理论或者说学术、工程或者说实践并非是平级的东西 #tech #dev #CS 有的时候大家或许能感受到,很多理论非常 NB 的大佬工程都很 NB,而且他们从来不把他们 NB 的工程当成什么(举个例子,从 09 年开发到现在的 G'MIC 计算机图形学系统,很多滤镜插件的发布就简单一篇帖子,开发从来没有专门讨论什么或者写什么博文,非常低调) (说到这里,我现在开始有点不是特别相信 WWW 上会传给大家的知识了,不得不指出,现在如果单单用那些 General…
#INFO #GeekApk #backend #web #dev

因为放假回来第三天 duangsuse 已经讲得十分痛快了,而且没有啥特别要紧的事情,考虑到有些东西时效性很重要,所以 GeekApk 继续设计重构。
实际上因为我没花多大力气去写(这里没有自夸的意图,你们看看我被那群数学天才们逼到什么地步了...),我打算后来完全重写,为了效率会考虑使用 SpringBoot 先,然后再重构。

期待 GeekApk 的出现。

— duangsuse, Feb 1, 2019
#GeekApk emmmm...
This media is not supported in your browser
VIEW IN TELEGRAM