要是我能再聪明点就好了
对了…… ParserKt v4 会不会加入 binary combinator,还有 org.duangsuse.bin 啥时候继续维护啊
对了…… ParserKt v4 会不会加入 binary combinator,还有 org.duangsuse.bin 啥时候继续维护啊
duangsuse::Echo
我成功了,但是感觉其实也没什么,可能是这个设计的确是半成品吧 而且我一点也感觉不到自己很机灵,草死了
https://github.com/duangsuse/extract-subtitles/commit/275f7c33999d8004164c0dad09d1c4a763b2ce87
push 上去了,感觉还能用。
push 上去了,感觉还能用。
GitHub
BREAKING: Implement "multi-crop" feature, cleanup code · duangsuse/extract-subtitles@275f7c3
Extract Subtitles From Video 视频字幕提取 帧间差分法识别关键帧 OCR识别 - duangsuse/extract-subtitles
https://zhuanlan.zhihu.com/p/97700605 #zhihu #recommended #cg #Python #China (<顺便说一句,总是强调 China, China…… 说的越多意义越小)
我居然看完了…… 给个总结吧,就是作者的性格我很喜欢,比 @ice1000 “阳光”很多(拍脑门瞎想的,没啥实际意义)
其实我也很想对数学和物理有点天才啊,反正微积分、机器学习、信号处理什么的都不会就是了。
观看的时候注意到作者说之前编译器 SSA IR 设计错了蹩脚,后来才弄出了“Hierarchical”的 IR,我顺便想了下,recursive data structure + "no" field,以我贫瘠的想象力没啥其他可能了,估计还是得要 iteration,多 adopt 一点处理算法才能找出最适合的建模方法。
科学研究的过程本身也是简化的过程,实现什么东西都太注重形式而非内涵这本身就是应该去掉的,所以说强调“只有 99 行”我觉得是个蛮正确的观念。
那我还能做什么呢…… 其实相比一些普通人/团体的开源项目,我能挑出一些可以等价置换的地方,但对于内涵比较学术系的程序我就没办法了,作者的 99 行代码,单就命名来看还是非常可以的(他懂得
而且
应该说单单就代码的简洁性上已经很难更进一步,不知道以后我有没有可能连这样的代码都能找到能够在可读性上进行改进的方法。
我居然看完了…… 给个总结吧,就是作者的性格我很喜欢,比 @ice1000 “阳光”很多(拍脑门瞎想的,没啥实际意义)
其实我也很想对数学和物理有点天才啊,反正微积分、机器学习、信号处理什么的都不会就是了。
观看的时候注意到作者说之前编译器 SSA IR 设计错了蹩脚,后来才弄出了“Hierarchical”的 IR,我顺便想了下,recursive data structure + "no" field,以我贫瘠的想象力没啥其他可能了,估计还是得要 iteration,多 adopt 一点处理算法才能找出最适合的建模方法。
科学研究的过程本身也是简化的过程,实现什么东西都太注重形式而非内涵这本身就是应该去掉的,所以说强调“只有 99 行”我觉得是个蛮正确的观念。
那我还能做什么呢…… 其实相比一些普通人/团体的开源项目,我能挑出一些可以等价置换的地方,但对于内涵比较学术系的程序我就没办法了,作者的 99 行代码,单就命名来看还是非常可以的(他懂得
n_ 和 _0 这种按主次以及突出内涵的命名法,当然我觉得学物理带编程的都知道)而且
for _ in ti.static(range(n)): 的注释结合受众也都相当的合适、突出重点(当时还在脑子里想了下编译器怎么做到把静态求值结果转化到最终程序里的呢……)应该说单单就代码的简洁性上已经很难更进一步,不知道以后我有没有可能连这样的代码都能找到能够在可读性上进行改进的方法。
刚刚突然想了一下绝句的『其中』块的必要性,居然得出了「为了少一次 private 自授,就可以如此草率地决定加入这个容易被滥用而且增加认知复杂性的语法吗」这个问题,问住我了,我觉得语法还可以进一步简化,但是实在是个问题。 🤔
#Android https://t.me/dsuses/3318 🤔……
<V, VH> VH bindHolder(Function<V, VH> newHolder, V view) {
VH holder = newHolder(view);
view.setTag(holder);
return holder;
} 自己的抽象能力又下降了,这么简单的逻辑也需要想……fun <V, VH> bindHolder(newHolder: (V) -> VH, view: V) = newHolder(view).also { view.tag = it }Telegram
duangsues.is_a? SaltedFish
enum Mode { NORMAL, DELETE } //< 有必要?
public class ModListAdapter extends BaseDynmaicGridAdapter {
private Mode mode = NORMAL;
public ModeListDynamicGridViewAdapter(Context ctx) { super(ctx, new ArrayList<>(), 1); }
@Override
public View getView(int…
public class ModListAdapter extends BaseDynmaicGridAdapter {
private Mode mode = NORMAL;
public ModeListDynamicGridViewAdapter(Context ctx) { super(ctx, new ArrayList<>(), 1); }
@Override
public View getView(int…
Forwarded from 不存在的世界
总结一下这次 Telegram 的更新:
増加了丢骰子的动画效果,只需要发送 Emoji 🎲 即可触发(WeChat Feature,Dice Bots 集体失业)
増加了 Folder 功能,除了 Main Folder 其他 Folders 可分别拥有数量不限的 Pin(Plus Messages Feature)
増加了 Channel Statistics,人数在 1000 以上的频道主可以看到频道的各种统计信息,可视化效果满分(tgstat.com 失业)
取消 Workmode 模式(可通过 Folder 实现同等效果)
増加了丢骰子的动画效果,只需要发送 Emoji 🎲 即可触发(WeChat Feature,Dice Bots 集体失业)
増加了 Folder 功能,除了 Main Folder 其他 Folders 可分别拥有数量不限的 Pin(Plus Messages Feature)
増加了 Channel Statistics,人数在 1000 以上的频道主可以看到频道的各种统计信息,可视化效果满分(tgstat.com 失业)
取消 Workmode 模式(可通过 Folder 实现同等效果)
记忆力太差
module Main (..) where
import Browser
import Html exposing (Div, text, Button)
import Html.Events exposing (KeyUp)
import Random
type Dice = { newFace: Int }
type Message = Dice | NewFace Int
view d =
Div [], [
Button [KeyUp Dice], []
]
update d m =
case m of
Dice -> (d, Random.run (randint 0 2) )
(NewFace x) -> (Dict { newFace = x }, Cmd.none)
main = Browser.element { init = Dice { newFace = 0 }, view = view, update = update }
duangsuse::Echo
记忆力太差 module Main (..) where import Browser import Html exposing (Div, text, Button) import Html.Events exposing (KeyUp) import Random type Dice = { newFace: Int } type Message = Dice | NewFace Int view d = Div [], [ Button [KeyUp Dice], [] ] update…
刚才我在 online editor 上在线默写学习,就快要成功的时候,忍不住偷看了一下,结果给 Firefox 卡死了…… 两次……
不过算是已经了解了,
不过算是已经了解了,
init : () -> (Message, Cmd a) 的事实, subscriptions : () -> ??? 呢?🤔 ParserKt 里需要定义一个辅助的 sealed class Eiter<A, B> { data class Left, Right }
Left/Right 都持有
Left/Right 都持有
val value 整个 Either,我计划提供 val left: A?, right: B?
fun mustLeft():A, mustRight():B
fun <T, R> map(transform: (T) -> R): Either<R, R> where A: T, B: T (存疑?)fun <R> fold(trans_left: (A) -> R, trans_right: (B) -> R): RForwarded from 螺莉莉的黑板报
https://microsoftedge.microsoft.com/addons/detail/hokifickgkhplphjiodbggjmoafhignh
【本报讯】微软发布了 Grammarly 的竞品 Microsoft Editor,所有用户均可免费使用基本功能,M365(O365)用户可以使用高阶功能。
【本报讯】微软发布了 Grammarly 的竞品 Microsoft Editor,所有用户均可免费使用基本功能,M365(O365)用户可以使用高阶功能。