duangsuse Throws
98 subscribers
3.41K photos
228 videos
100 files
2.75K links
没事乱水...
Author @duangsuse

©2016 No rights reserved. 🐃

🐶🌚🍎🏠💓💔👇
😔 🙇‍♂️🙌🚶‍♂️🏃‍♂️ 🏃‍♂️🚶‍♂️ 👆

🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸
@dsuse
Download Telegram
Forwarded from Deleted Account
多看 习语近人 别看其他没用的
Forwarded from Caryle
9494,我已经背下来了,我现在是哈佛马克思主义学院的博后了
Forwarded from dnaugsuz
(滑稽)我会背六好校园: #China #School

领导班子建设好、活动阵地建设好、教师队伍建设好、校园文化建设好、思想道德教育好、整洁优美环境好(大嘘)
Forwarded from dnaugsuz
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from 荔枝木
Linus 反省归来,温和多了……
duangsuse Throws
#life 掐指一算,我居然从下午三点死坐电脑前到晚上 11:50... 我居然死磕了足足 8 个小时一动也不动... 😶
#life #tech

在微软工作是什么体验 © drakeet

早晨,我大概接近十点到公司,如果一天的计划比较多,就会提早一些,这样一天从头到尾有超过 8 小时的时间在公司


我去,我刚刚想到昨天我整整坐电脑前坐了 8 个小时,8 个小时啊!!!!!!! 😶......
(之前说的好像是不转发他的消息了,没说不让复制非 Telegram 上的文本吧
#Haha #anal .... 昏睡可乐.... (喷)hhhhh 这么恶臭的东西就不要混进活跃的青春系动漫里来了(绝望),不知道到时候会不会风评被害?(
duangsuse Throws
#Haha #anal .... 昏睡可乐.... (喷)hhhhh 这么恶臭的东西就不要混进活跃的青春系动漫里来了(绝望),不知道到时候会不会风评被害?(
本来想把这些 PV 剪辑一下的,后来发现没啥可剪的。我 ffmpeg 压制一下方便你们看了,当然以后想在电影院或者网上看也好(原动漫、其他形式的创作同人)
#Haha #acg hhhhhh 昏睡可乐 笑死我了 不过有点尬膜的意思了🤣:cola:
duangsuse Throws
本来想把这些 PV 剪辑一下的,后来发现没啥可剪的。我 ffmpeg 压制一下方便你们看了,当然以后想在电影院或者网上看也好(原动漫、其他形式的创作同人)
ffmpeg 的压制是有效的,第一个视频在质量几乎没有人眼可见任何损失的情况下压制了 MP4(libh264、libaac)到相同的流编码(h.264, aac)和相同的容器(MP4)
体积足足缩小了一半
duangsuse Throws
ffmpeg 的压制是有效的,第一个视频在质量几乎没有人眼可见任何损失的情况下压制了 MP4(libh264、libaac)到相同的流编码(h.264, aac)和相同的容器(MP4) 体积足足缩小了一半
严重怀疑 ffmpeg 压制是高度智能化的,会推导出你想要的压制选项参数,自动帮你完成低质量损失的压制,我只提供了输入输出文件居然比我手动指定 crf preset 的输出文件体积都要小
duangsuse Throws
严重怀疑 ffmpeg 压制是高度智能化的,会推导出你想要的压制选项参数,自动帮你完成低质量损失的压制,我只提供了输入输出文件居然比我手动指定 crf 和 preset 的输出文件体积都要小
视频压制算法是很复杂的,其中往往涉及到难懂的人工智能 人工神经网络、Fourier 傅里叶变换、线性规划、动态规划算法(臆测)

实际上,我一直以为「数学性复杂」的算法和「逻辑复杂」「简单」的算法之间最大的区别就是「数学性复杂」的算法往往先在纸上模拟和设计比较简单
逻辑复杂的往往是写伪代码、debug printf 和使用调试器调试起来比较简单
简单的算法往往不需要写伪代码、不需要在纸上演练即可使用,有 bug 最多一个 debug print 即可找到问题所在,而且单看看也不难
duangsuse Throws
Video
青春主题曲《昨日青空》 #video #acg #school #life
duangsuse Throws
视频压制算法是很复杂的,其中往往涉及到难懂的人工智能 人工神经网络、Fourier 傅里叶变换、线性规划、动态规划算法(臆测) 实际上,我一直以为「数学性复杂」的算法和「逻辑复杂」「简单」的算法之间最大的区别就是「数学性复杂」的算法往往先在纸上模拟和设计比较简单 逻辑复杂的往往是写伪代码、debug printf 和使用调试器调试起来比较简单 简单的算法往往不需要写伪代码、不需要在纸上演练即可使用,有 bug 最多一个 debug print 即可找到问题所在,而且单看看也不难
数学上一些复杂的东西即便是尽可能使用简单具体而不是简洁短篇幅的语言描述,也是要花些功夫才能学会理解的

举个例子(orz 跑题了)

这是 foldl(fold aka. reduce) 在 ES6 的实现方式

function foldl(op, init, list) {
let accumlator = init;
for (let i of list)
accumlator = op(accumlator, i);
return accumlator;
}

foldl((a, b) => a + b, 0, [1, 2, 3]) //=> 6

虽然逻辑也很简单嘛,但是少说理解起来会比这个容易:

['2', '2.5', '3.0'].map(Number.parseFloat) //=> [2, 2.5, 3.0]

一个“惊人”的实事是,貌似偏向小白的工业界(因为他们还是有 JavaEE 这种偏向理论化抽象的东西)写的代码大部分都不会比这个复杂多少... ABC(Assignment、Branch、Conditions)值不会超过 10 的东西...

上面说的那个 foldl 呢,在 Haskell 这样面向篇理论派的语言里实现起来是非常简洁的,不过使用递归比较「自然」但是对小白来说不易懂就是了

myFoldl [] = init
myFoldl op init (x : xs) = op(myFoldl xs x)

好吧,上面那个我第一次写的是错的,类型推导失败

foldl f z []     = z
foldl f z (x:xs) = foldl f (f z x) xs

约等于

myFoldl op init [] = init
myFoldl op init (x : xs) = myFoldl op (op init x) xs

往递归的无限嵌套倒影里望去,看到的就是... 看不到 emmm