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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
https://t.me/kotlin_cn/25220 #kotlin #go 面向job/task计算称 #concurrent ,和完全平行(如滤镜图片)不同
bench=repeat(10_000);o=Any()
c=Channel<Any>()
runBlocking {withContext(Default){
launch{bench{ c.send(o) }}
launch{bench{ c.receive() }}
}}
//c.close(); launch.join()

Channel 和调度器 Dispatcher ,在浏览器有 worker.postMessage 和 onmessage

var wg sync.WaitGroup;wg.Add(2)
var token struct{}
c:=make(chan struct{})
go func(){
defer wg.Done()
bench{c<-token}
}
go func(){
defer wg.Done()
bench{<-c}
}
wg.Wait()
defer WaitGroup 在凑齐2项时传输(循环看错位)?其实是用计数看是否有job存活,都Done掉退出时再继续主线程

runBlocking{//limitedParallelism,newFixedThreadPool,single..
val produce=produce(Default){
bench{launch{send(1)}}
}
var n=0
produce.consumeEach{n+=it}
}

也有把 Channel 异步序列变得友好的做法

线程切换 >> 函数调用(没有线程切换下的协程切换) > batch之后的函数调用

>分别对应于代码实现的Dispatchers.Default + 无buffer (如果你写对了的话), coroutineScope + 无buffer , coroutineScope + buffer
Exectors singleThread asCoroutineDispatcher
>wait是指blocking的wait么?没看到channel的代码,但是可以断言里面不可能线程停住等待
>不, 是指协程底层在无可调度时的wait;能看到一半是无锁链表,一半是LockSupport.park
之前和他的差这么多,估计是被调度到一个线程上去了,不知道Default里边的策略是什么样的
#cg #python
要展示100个人头像的最好方法是瓷块式拼合,再在上面盖层mask,像"Meta","Google"大字样,使部分头像变黑,但一些人的头像就比较黑,如果能让它们处在mask更黑的地方,岂不更好?

imwall.py mask.png *.png 首项宽高很低,其后图宽高统一,试以lum(img)为目标将其后图像瓷砖排列。

class 砖图:
def 入(im,网)#以网格项(x,y,w,h) im.crop 出列表,记下i-xy对应
def 返(a)#paste 回旧图原位

如此我们就能以网格座标来处理一张图,比如滤镜五颜六色。但 网(ims,m=columns) 有两个版本
mask 里w=h=1 ,只要提供宽度切出每像素,以与下者对应
*.png 里只用返(),需要视每张wh来布局,因此网应是返()的参数

如此就能按 mask 组合能补满其w*h的 png 们,sortMerge(a,b,f):把b按f序对应到a索引
sort(保留a索引号,f) 再把 sort(b,f) 以a位置填充即可

以此顺序调用返(),输出里mask高亮(f=lum)位置就是较白头像

#js
漩涡扭曲位图里半径l的区间,需在xy建立圆心座标系,从 xy-l 迭到 xy+l 算与xy差的 sqrt,atan2 确定距离分组再以在圆弧度 排序像素不难,然后 push(shift(扭力)) 取圈重排再画回去

其实直接支持 xy=2l 的2D数组,靠与其索引 i-l 的角距,即得 xy和旋转后的 ai=a[ti] 映射关系,不必每次创建许多分组和数组只为旋转圆内圈;直接生成 t[y*w+x] 存储旧位 如此利用 getImageData.data 更方便
#api #web 波形可视化 https://collab-project.github.io/videojs-record/demo/audio-only.html

c=player.wavesurfer().surfer //play , handlers.audioprocess (所有播放器都在tick时重绘进度条, finish
b=c.backend.buffer, c.drawBuffer() //展示所录制的音频波形
b.length, b.getChannelData(0) //一般 %44100 pps, float 格式

#oi #math 这个就不是信号处理的FT了,它是针对多项式 各项系数/x-y联立 表示 ,一个分治法,一般用来加速高精度乘法
系数转点值的算法叫DFT(离散傅里叶变换)
https://blog.csdn.net/Flag_z/article/details/99163939 }

FFT 令原 Pk=f(t)*e^-i2pik dt ,P=震幅相位,k=频率。用sum写是 Pk=Sum[i=1~N]f(i)*e^-i2pik *(1/N) #math #algorithm
先把 e^-i2pik*(i/N) =cos,sin缓存为Wi=Wn ..
算法的核心是ωn矩阵和fn数组(列矩阵)做矩阵乘法运算,因为ωn是复数,所以运算出结果也是个复数rval + i * ival,最终频域的值其实上是其模值,但为什么模值需要乘以个bSi 是为平滑
e^{ix} = cos x + isin x; ωn = e^{-2πik/n} = cos(2πk/n) - i * sin(2πk/n)
然后for(k N/2)for(i nBuf)x+=cos*buf,y sinbuf
频谱的信号只需要分析N/2就可以了,另一半是共轭的。 总之是算一个频时把exp(kt)缓存(把圆N等分 就不迭t0~1) 且同频宽的计算量/2

https://www.cnblogs.com/RabbitHu/p/FFT.html
https://zhuanlan.zhihu.com/p/197450738 JS fft

高精度乘法是 10e6 以上位,longlong 都能溢出的整数乘法,可用 a[i-1]+a[i]/10,a[i]%=10 手动进位法。i in"1",j in "2" a[i+j]=parse(i+j) 后迭 i+1-2 次(倒位相乘处理进位,再倒回来)
也可做<10e6常量优化,不致溢出就机器乘;溢出6位数才竖式计算

FFT蝶形系数换位 0~7 到 04261537 打表偶奇数|分割 实际是个 a[i]=a[~i] 的置换,向上还原
多项式每层(+)都要分为等长2部分,最高次项一定2幂
conj是自带求共轭复数。当复数模长为1时,共轭复数等于倒数
https://blog.csdn.net/zccz14/article/details/51592893 这里还有个咱方法的

(抱怨一句,同时我也感到数学的闲散了, 你说=xy点=向量还图示,不如直接说复数=向量,什么加减法则啊abcd废话都莫说了,直接说乘法咋用;还什么膜长,幅角,余数非得说是模数 还不挑明,还 modular math(转钟计算) ,还共轭复数(相反向量),好像数学能模块化 还co-sine 余弦.. 叫竖弦咋样?噢带横竖就不可配不严谨。文绉绉的,好像只有数学家会看函数图一样,a+bi 哪有Pxy易读,非得入侵人家的领域表达法,带来不少无聊问题,起个名词 Complex(real,imag) ,复杂呵呵,一点语义都莫得,无意义的“运算符重载”,计算机没有real数,要SP却仍要拜数学为师了;它一装逼,下游应用名词全乱起来
一些废话说它何用,好像最后阅文的是机器,然鹅数学代码高亮都没得,记法和作用域混乱到机器用不了,还得人来翻译,可真两边不是人了,难怪被”憨蛋“们抱怨,啥事都插足包装,太爱整无意义担心了
复数给C引入了“向量计算”,我是不是还得谢谢数学啊 🌚 这么多文章天书一样重复的符号,看烂代码已经够累,还要看草记版公式上下标,数学的招牌。请问我的阅读顺序是 lr-tb 还是 tl-br 啊?我不是天才 真没精力了!

http://watmough.github.io/jsFFT/Example.html http://www.storiesinflight.com/jsfft/visualizer/index.html 那个 dsp.js 1.6k star
口意,好,我用相同公式完成1D 频谱转波形了,虽然又懂正常该用离散 FFT 缓存多项式系数(弄得我都不知道 f(t) 的到底是连续还是离散 😌 是时候支持滤波录音和生成吉他了
C=player.wavesurfer().surfer; b=C.backend.buffer;u=b.getChannelData(0); let N=1000
fn=()=>{
谱=newA(2*N,i=>律(-i+N,t=>[u[t*n(b)>>0] ,0] ))
B=newA(n(b), i=>谱.map((p,k)=>律(-(i/n(b))*(k-N), p)).reduce((a,x)=>a+x[0],0) )
B=new Float32Array(B);b.copyToChannel(B,0);C.drawBuffer() }
😂谜题:基于微积分Int[+-Inf]的FT叫连续傅里叶,基于N分圆数组*输入 Sum[0~n]的叫DFT离散傅里叶,如果有dt步长采样 但限于1/dt (倒数.即输入buf.N)次分圆
Anonymous Poll
33%
叫连续
0%
叫离散
33%
离散但不完全
0%
连续但不完全
33%
🤪
duangsuse::Echo
😂谜题:基于微积分Int[+-Inf]的FT叫连续傅里叶,基于N分圆数组*输入 Sum[0~n]的叫DFT离散傅里叶,如果有dt步长采样 但限于1/dt (倒数.即输入buf.N)次分圆
对程序员的直觉,数学连续意味着不可做有穷计算,就像空中楼阁,但基于 t=0~1step dt 却是“连续”的,因为dt可无限取精,即便计算有穷 🤪这也叫连续?直接用编程概念定义反而更严谨,你直接税把 dt 改 Array(1/dt) 且 t 变 i/N 不就行了,这不同样的事么?

这就叫缓存fn(t=0~1)计算就变离散了,公式都不需要,甚至通过 a[n(a)*t>>0] 能一边连续一边离散,就API是数值函数还是buffer,但不像公式"非此即彼”。 我甚至不需要改博文,给这个等价关系贴上大家就知道咋重构了,何须独立代码,比分出N个公式或不同时给[正逆FT式]好。 那么多*FT 我刚以为是完全不同的呢 😓我看不懂大Sigma(Sum)。DFT就能兼容f(t=0~1)的曲线

吐槽:数学公式带点左标大括你都看不懂其实我是懒得看他们的迭代记法nNmnjn和矩阵下标的比我更魔怔
大写单字我都不敢乱用,一定要有易变性区别,而nN在我这都是计数 i才是迭代,碰到这种公式我可无法代入语义,索性没看他们给计算机准备的公式……😶反正无前提的符号都是一团乱麻。
也不能怪数学,Sum[i=0~n]a[i] 虽然i是整数,但数学家眼里那么多斜体花体拉丁希腊的古文了,非要拿单1命名代表类型,碰到整数下标又成nm了,这一定是数学语言的超强多态常用+严谨性造成的(草
不过一会pq一会ab nm 又ijk的真的就无语,线是ft矩阵是xi.. Xk,单独是a,结对是pq…还真挺睿智,它知道符号语义有重叠,那么为啥n能同时是整数和小数?除了 100^-1 ,数组下标也支持n=1.1 代表 a[1]+.1*a[2] 🤪? 它懂规避重叠,但不懂如何拥抱多义性,以及数学分支的符集冲突,于是规避着规避着就一边乱眼一边妥协。但按ABCs里连续分配变量真的傻逼,英文不配有姓名吗

数学界《我知道不严谨,所以θρλ有特定区间性质,但是fxXFnNnmabAB这些经常混用,为了严谨抛弃拉丁字母好了😱🙄
《我想整成古风白月光,结果因为传达能力太差,严谨多义混着来,变成胡风了》

其实连续和离散在这里只是针对 圈C=2pi*频k*t 和f(t)采样,要么f可分,要么C可分。 连续就分f,离散就分C,而 谱k=Vec2(l=振幅,r=相位)
然而,API的f连续与否,对电脑不重要,f肯定是要先采样[]的,还不如直接把C采样了,两个数据都是[],处理窗口(时延)=1024采样点,于是算频谱的也从JS表达式变为“多项式”

在我不知道这回事时,就定义好了函数
(nK个频,1/dt次割圆)*/切分=(f, N=1/c.dt>>0)=>newA(N, i=>f(i/N))
并且标明了e^-2pi*k 可以视律(k,f)用量缓存,但只处理1个路径,没注意到有积分多k🙈

那时没建立k=钢琴键 的理解,因为Xe的版本是 Cn(i,fn) i in 1~gen ,gen是世代的意思……难道不是神经网络专有的 C应是圆圈的缩写,转速=频率,然而Xe当时没给注释🌑 只有几个C前缀和frame(t)->动量,振幅降序

不过这次在20行内融合声音和路径的FT,解释了3b1b的解释,我还是初次讲数学…以前都是冷门知识🌕
不管过程多曲折,只要最终我的文章优雅,就无所谓啦
duangsuse::Echo
对程序员的直觉,数学连续意味着不可做有穷计算,就像空中楼阁,但基于 t=0~1step dt 却是“连续”的,因为dt可无限取精,即便计算有穷 🤪这也叫连续?直接用编程概念定义反而更严谨,你直接税把 dt 改 Array(1/dt) 且 t 变 i/N 不就行了,这不同样的事么? 这就叫缓存fn(t=0~1)计算就变离散了,公式都不需要,甚至通过 a[n(a)*t>>0] 能一边连续一边离散,就API是数值函数还是buffer,但不像公式"非此即彼”。 我甚至不需要改博文,给这个等价关系贴上大家就知道咋…
找到公式的许多版本还是一个讲物理?的最准确,百科上面那是啥啊

就没有一个能完美符合我预期的数学式, Xk=Sum[n]xn e^-i2pi*t*k *(n/N) 算是较好的,其它有人ijkfF瞎混用,然而Xk-xn是什么?输入输出?

像Freq,Fn 都是提取了一部分语义,但它忽视冲突了。 F作为freq(=k)的简写和信号处理的f(t)就不能乱出现了,它已经因遮盖“死”掉了,写公式的人只看到侧面就在用,不会回看写好了的公式,不发现问题。🤷‍♂️

要我怎么写呢,我才不用希腊字母和FWX这些, Frq[k]=Sum[t=1~n](t/n)xt C^-2pi*kt
C=(cos,sin)*√-1 .. 好吧数学里e是"上标函数",不是次数🌚或Math.E或科学计数法 《e多义性》

用的少名字就多写点🌝,啥都单字,碰到“操作符”pi cos又多字,好像你会在公式里引用Frq[k]一样! 恕我直言,数学没那个资格。ipy尽管强大,不支持跑Latex,Matlab不开放web
平时手算几个采样点就够无聊,真在纸上“正推”用算法🤪,那既然不用单字干嘛? 如果要用,你想优化什么边界情况?
我只是想知道算法怎么写,凭什么听数学名词概念? 那些博文也没给比FT更优的公式(拉普拉斯这些要另看),甚至连续离散的关系也没说清,有的只给了正分析,没给反还原…… 这种数学看它真是给工作增添负担,1D输入不用虚数y ,我还以为是怎样,早想到这个🌑
一些名词意义就less,“任何数乘倒数=1” 表示成 1/n*n=n*1/n=1 ,倒数表示成 /n *n 不就方便了,还多项式,算法还多项式时间,概念模型没有 尽是小定义废话,直接说第一层(+)第二层(*)形如1a+2b^N+... N固定,非”联系“变量系数,那不就向量/矩阵点乘来算吗,线性代数。 基础不过关,一句话能引入的写几百篇文造一大堆词,抽象空泛实践贫弱,凑页数呢。数学家居然依靠Matlab独家,社会上数学出去做程序员50w的成见哪来的呢,我是受不了什么下标,list.get 就是取,方括号就不一样,不是上下标。记法语义分不清、嵌套不会抽提不善。计算机代数可不需要草稿纸和“简写法”

数学混乱就是因为他们只想「规律」,没认识规律的多模式重复和嵌套与真正的“类型-操作”多义,它只推一遍,只看一个值,当然认识不到作用域和子式的重要,认识不到冲突和多义是不可怕的;数学下标内标方括号看起来很丑,然而一些人也不懂多def几个式子,因为“定义新运算”可是伟大的数学家才能做,你只配援引的事!他们嘴上没说,但风格处处如此, 因为数学语言和变常量/算符集包容万物,上下标多义严重 左内标风格混乱,它是稍稍「不规范」就整体崩盘的脆弱仅一行式语言,而作者们既不懂中文也不懂英文,无法在式外填补其空缺。

你看工程,他们照本宣科爱乱改符号 有的只知其一。 你看理论,他们公式简洁但只有公式,别的啥都不提。
你怎么用?只能用各种既有算法库,动辄几千行,他们不懂新语法和元编程,有人甚至vec这些算式复用基础都莫得,好比数学没有正负号🌚
都不能直观看出公式和现实的联系,一个滤波器能压缩图片、分析结果传别算法,在他们的文章只有包涵万物但鬼用没有的公式,让人“移植”到JS都费劲。

我编程是基于脑中模拟边界情况的(比如y=fx, 我假设y是纵向升降来支持+-,用区间理解x缩=放),如果不能合理解释就只能做数学等式的那种重构,也背不住,就很无趣(电脑也能干,譬如删所有'\n')
人家提供的公式n/N Xx有问题吗?从数学的约定俗成当然OK,但我不接受大写X不是另一个函数输入的情况(?这就是所谓的大写不易变 或有物理性
当执行其反函数,就不懂xX是啥了(X=FrqX,x=TimeY )..在几个符号编码坐标系信息,大可不必,plot波形(tx轴)和频谱(kl)够了

那我不能灵活一点兼容这个写法? 前提:我不需要看那么多文章就能搞懂,然而我读这20多篇时概念就开始混乱了,他们没一个人确信地告诉我"公式的结果是什么,和频谱何干,能做频通滤波-咋反变换" “k,t f(t)区间是啥” "xn输入怎么对应到 sinT+sin1.2T" 这种细节,也没

https://pythonnumericalmethods.berkeley.edu/notebooks/chapter24.02-Discrete-Fourier-Transform.html 这么好的图示和符号表,这样我至少能对一下模型 不会误解频幅次序

当你需要遍历1至N遍才能搞懂符号有何区间和物理意义,通过其重复出现位置;公式就没有字面意义了
无公式用不了,那你直接贴公式,好比按钮全空白的程序,谁会啊。 #statement

看的许多文章贴的式和图完全是鸡同鸭讲,图例也莫得 代码也不plot,就一个“优美的图形”和“简洁的代码”“严谨的公式”,你是艺术还是科学?真希望我能懂,来好好纠正下他们的错误表达。
其实这也就是个AB问题-能修复知识传达的误差,理解能力强,能解决自己。能不带误差统一高效传递,整理能力强,也能解决自己,此外还有感点兴趣的人、被认为愚钝的人🤷‍♂️ 如果app收发慢,八成是怪服务端和表示层,两成是用户真不配。工程创意哪来阶层,

如果你能把易误点的"思考结果"marshal封送给人,低IQ也能写出好东西,他不会想也能load结果。很多工程师的智商根本不低,就是害怕白象。
要是这些都好懂,还害怕没有免费音频工具用?一个个文档写得挺精致,API连信号处理最开始就是函数加减乘除都忘了,整Gain,H/L/Band-PF 这些“可配置”.. 还是太理论保守
#bilibili #security #china #net #Android 跟踪链接真的太烦了,不要相信任何“客户端”
https://b23.tv/aht___R 这种短链接带有追踪参数的,访问会302转到
&share_medium=android
&share_plat=android
&share_session_id=xxx-xx..
&share_source=COPY
&share_tag=s_i
&timestamp=1643807827
&unique_k=___
b站员工应该能在后台看到你的b站账号是谁,和通过这个链接点进去的有哪些人——
包括ip、账号(如果已经登录)、设备(浏览器指纹、设备型号等)、实名信息了。

https://b23.tv/BV1HP4y1A7cp 这样的才行
除非b23.tv后面跟的是av或者BV或者cv(文章),这些链接都是会被追踪的

通过微信公众号的复制链接功能也会带一些这种东西
而且微信的还是有用的和无用的夹杂在一起,没有经验的人就特别难处理
<现在客户端真是太狡猾了,都不知道有啥插件能拦,尤其是这种302后的

EDIT: Clean Share 能帮助清理剪贴板,但不支持短链接展平,魔还是魔
Forwarded from Deleted Account
https://t.me/Ralphonograph/4415 #bytedance 火山引擎自带"Vulkan" 浏览器

https://www.zhihu.com/question/514473758/answer/2334029041 #embedded #bilibili 全站第一 #zhihu
>什么叫用树莓派GPIO控制传感器容易烧掉,间接控制arduino就不容易烧掉? 不敢相信这是北邮电信的本科毕业生说的话。
“ 我解释一下吧:不同的单片机/MCU的IO脚,有的内置了上拉电阻,有的没有内置上拉电阻,这时候你需要外置一个上拉电阻。

你没有外接上拉电阻,所以你的树莓派会是被烧掉。不是传感器的质量问题,不是树莓派的质量问题,是北邮教学的质量问题。 这也不是什么高深的知识,是数字电路/微机原理/单片机原理/嵌入式编程/FPGA/物联网…任一课程的最基础知识。 不是说你烧了几个单片机之后你才发现这个单片机能用,那个单片机不能用。而是你应该在用它之前就看他的datasheet,再去画电路,再去编程。 这个感觉就是copy几个同学的

什么?南北邮电大学不专业?! 在南邮电见过一个rust大佬 🌚 这种层次也会有问题
(补充:不能只看统计,要讲理论。
duangsuse::Echo
#ce #plt 带步骤的四则计算器。递归逆波兰。22行代码 浅先=`;=;+ -;* / %` 流=(a, _s=[...a].values())=>()=>_s.next().value 切2D=(s,sp0,sp1)=>s.split(sp0).map(s=>s.split(sp1) ) {let t={},k; 切2D(浅先,';',' ').forEach((x,i)=>{for(k of x)t[k]=i}); 符深大=t} 符链=(s,l)=>{let a=[],add=x=>a.push(x)…
#plt #typing #kotlin #java 常见类型系统
从变量/参数的赋值兼容力(即子类成员量)升序:Any<任何类型<Nothing ,类型 T 比T?兼容力强,因其不含null,error():Nothing 可容任何类型,因后续计算中断。
对函数(Any)->R 连Any都能收,当然是 (Int)->R ,也即 Fun<in T, out R>,型参值 T=Int 反接受小的 T=Any。是消费-生产 in=?super,out=?extends "通配符",但可直接在写<T> 时指定仅在 in/out 位置,及 Array<out Int>
变量R在两个函数类型里唯一,都来自<T,R>型参列表,对R的每位置归一可推导出R再检查。可以发现,(T)->RFun<T,R> 都是从类型组合出类型的语法,
而检查期 1,"str" 和 Int,String 型变量都是类型(Type.can haveSubtype),a[0]=1 时问 Array<Any>.set(Int,Int) 是否 params.all{it,i-> it.can(arg[i].type) } ,像在执行一般检查每条算式,能提早报错并加速内存分配。

类型的强弱看隐式转换,动静即语法有无分出“编译期已知项”如class结构,类型推导能让静态类型更智能。

现在你已经知道「类型标记
」只是仅编译可知,用来 chk(AST.FCall): i=0~nArg; scope["print"].arg[i].can(call.arg[i].type )Type.can(Type):Bool 实例,正如 Python 的 from typing import TypeVarMap<K,V> 也是编译期调用,只是class 里创建型参<A,B,..>写法和函数前不同,不是”特殊语法“。
类型的交集&(有 where T:A,T:B "交集上限" )并集|(兼容操作支持俩类型,如 Any? vs Any,AST vs Call If For):子类&父类=子类, A&B=Nothing 、A|B=最近共同超类

+*类型即分支组合类型,与其配对的是不兼容子类型的系统,那些系统里元组/具名数据类型也算”类型“,但有些奇技(如typeclass函数重载)来解决OOP里有或没有的问题。
A&B 成员集小,兼容力比A或B大,但在严谨的OOP子类派生里,只有 A|B 被用于多态(函数覆盖:多义, Any null?),而交集参数仅混合接口。

感觉有点好笑,我一个看编程语言的,话却越来越少了。 以前很喜欢技术,但感觉越学知识越少了。
duangsuse::Echo
#zhihu #blog #math 傅里叶变换40行 - duangsuse的文章 - 知乎 https://zhuanlan.zhihu.com/p/464203132
同时兼容2D,波形的 总结应用我想好了.. 是一个可 Ctrl+Enter 改波形或 DownArrow 换SVG的“代码input”+重绘textarea code ,利用Proxy {}get 添加支持onchange的滑条,调整 N,nK,dK, wImg 这些参数为DFT变换和区间滤波
通过ab 波形+c(采样时长,音高) 这样也支持合成拨弦声;我也想到 Hachi-bapu 扒谱工具的UI怎么写了 #web

然而人脸识别扭曲的 newA(2N, i=> i-N 圆心滤镜还是要写…… 临门一脚了 😭
好像我讲的都不如做的高性能( DFT vs. dt=.001 FT ,重绘换像素序 vs. get/put ImageData 矩阵换序

然而啊,完成后还是没几个人看。都成常态了。 而且我20号之前要做一个纯代码音乐动画,虽然大体都想好了,.. 但很重要啊
#zhihu 你怎么看回形针PaperClip《和 10 个批评者一块视频聊天》? - duangsuse的回答 - 知乎
https://www.zhihu.com/question/423360626/answer/2336787754
为中文互联网科普一切技术、公开财报、上央视时没人称赞你,等到你一被“拉下神坛” “戴上公知帽”,各种疑点分析就来了,境外金主和技术外援就出现了——大家都这样,你凭什么不一样。

你说话叫剧本的公关行为,继续发视频叫隐瞒过错,活着叫还能发帖,死了“人人叫好”,回形针曾经科普的荣誉呢,等到这时候就有一大堆理中客说它夹带私货,为什么拿中国举例;待到这时候才有一群“知识分子”嘲讽它根本不是硬科普,尽管这群人在此前后都没能做好他们看不起的科普工作。

然而回形针不需要“外网”好感度,YT选的是没广告费的中国区。回形针对知识已经竭尽所能了,被小人骂“屁股”歪,被君子骂不会说话,逼着它做 让这群根本没关注过它的人确认correct性的“科普”视频。

最后的最后它也没有做这个早已和WWF和地图无关的事情,这便是遗臭万年。 只要它做了,屁股论就无话可说了,可它没有。它不懂吗?恐怕是不相信自己真会像今天一样吧。你们很伟大!嘴多就正确,嘴多能造核弹、布管线、强中国!


然而死去的战士终究是战士,嗡嗡重复的苍蝇终究竟不过是苍蝇
如何理解傅里叶变换公式? - duangsuse的回答 - 知乎 #statement
https://www.zhihu.com/question/19714540/answer/2336624211

🤔感觉还是不要花时间在科普上了。 科了也没人看,反倒是那些大佬关注者最多,什么正交基内积啊平面啊冲 平面波为基的展开 连续离散啊 泛函分析 最后还要证明收敛性,傅里叶本人并不会证明 居然被喷是错误道路(傅里叶伟大在哪里? - 条件期望的回答 - 知乎

废了8天的文章里我甚至没引入信号处理和积分的概念,都是计算和原因没有式子推导。

每次我们有、使得、我们知道、我们约定,对不起我不知道。他们的理论对我的工程并没有帮助。 在说什么臆语,界内讲解的顺序还不统一,每个人都不一样
它居然用函数奇偶性和等式变形解释cossin的出现和+-,真是太奇妙了,然而最后的结果都不能运行,定义了这些符号,对CS没有意义

他们每个都在强调问题有多难阐明,真是非常服气爱用自己领域的知识侧面解读当然很复杂(complex),解读半天连频域模型都没导出来,叫人怎么看? 真的某位物理大佬自己博客比他们好用多了

回答问题就回答问题,你不先回答原理,先拽自己知道什么,这就是对知识的不尊重。 知识是拿来筛选变化的,不是报菜名的 ;筛选变化也有优劣,能说人话就别写鸟语

要是我27号就能看到自己今天这篇文章,就不会产生那么多问题了。 什么优雅,真是可笑,我三句能说明白,为什么要听你对符号等式变形如数家珍列万字?搁这基督教『三位一体』呢?自己想玩啥玩啥去,不要干涉其他领域模型的清晰唯一性
3b1b 的图示很优雅,但它引入的学习联想链模型我也不敢苟同,语序对了,有啥需要联想呢?

如何理解傅里叶变换公式? - 逸夫的回答 - 知乎
https://www.zhihu.com/question/19714540/answer/67747351 最后这种画了"挑出特定数字重新组合的思想,这与乘法交换律是类似" 3D图的反而2k赞,就答不对题了
Forwarded from dnaugsuz
(知乎的草稿箱真太卡了
JS的一些技巧都注释了,感谢你的建议;这个确实烂代码写久了自己认识不到难看

其实我觉得,编程是没有水平一说的,就和人讲话一样,知道原因就够了,技巧我实在是我讨厌的(尽管我在用 )。 我不把编程当技术,即便自己是编译原理爱好者
这篇文章穿插了JS和Py ,但你会发现画布都叫 g G,这是我现在的编程规范。

层次感是因为我想教的太多了…… 🤪 在这样的文章引入代码生成。 坦白说只要函数名不滑坡,现在我的代码已经没有规范可言了,感觉我成了自己之前讨厌的人(那种变量名只起1字,也没公式的),现在是因为我需要比代码更高的东西,代码的语义、算法的理由。

我的命名由一个物理命名法(链接“名字即语义”)规范,所以对大家还是奇怪的。一切都是为了语义 😭, 如此我编程时便可仅思考问题,而对问题的符号不假思索,因为我从实现子目标开始就知道一定有某类型符号,和谁1:N等相关,要怎样计算,所以能自由拆解拼合重序代码,不局限于既定形式。