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
duangsuse::Echo
那么呢,每周回家都有每周的任务,要不然会非常无聊 #life #tech #dev #daily #Learn #Java 每次呢看的书好像比较多,又都是轮流转结果可能最后一周完了枚举不出来自己看了什么书比较尴尬,大概是操作系统和嵌入式的,JVM 的也有,但大概是记住了吧。 📚 最近会开始掺杂一些文化课的书学习,由于 CS 的书看的比较多我发现自己的智商和认知理解至于记忆能力都有很大的提升(也可能是年龄关系,目前大概是 17 岁吧,和某 GAN(生成式对抗神经网络,14 年的)算法的 19 岁美国大佬少年还差两年,逃,当然和某些…
今天尝试 r2 /bin/yes 了一下,最后除了找到了那个 'y' 字符之外就没啥了,调试的时候就很失败... r2 的模拟执行和实际 rarun 调试都不行,rarun 在打断点的时候会 unmapped location,让人感觉好像是过分的动态链接...

ESIL 调试没试过,但模拟执行都不行,Invalid instruction

反正就是我写了很多 rlang 命令,比如 i*d*p*v*a* 什么的,结果只是没有效果... 我不知道自己在干什么

反正很失败就是了,但我要努力做哪怕是让自己觉得失败的事情,失败是成功之母,学习如逆水行舟不进则退,害怕失败意味着技术止步不前。

CLI 的最完整,但动态分析老是有问题,甚至连 main 上断点都做不到
Cutter 的前端命令行都感觉有问题,一些命令没法用
Web 前端的也有问题,有时候 color escape 还还算不了

https://github.com/coreutils/coreutils/blob/master/src/yes.c
源代码,我一直以为没有那么复杂的... 其实非常复杂,不只是 for (;;) { putchar('y'); } 而已

明天再弄自己那个吧...

嘛,今天晚上再听点歌,前途似海来日方长,第二天原顺序执行,睡觉去喽~
#recommended #javascript #greasyMonkey #Firefox
豆瓣电影海报原图直接看.user.js

这个是直接根据链接规律手算裸图链接的
duangsuse::Echo
今天尝试 r2 /bin/yes 了一下,最后除了找到了那个 'y' 字符之外就没啥了,调试的时候就很失败... r2 的模拟执行和实际 rarun 调试都不行,rarun 在打断点的时候会 unmapped location,让人感觉好像是过分的动态链接... ESIL 调试没试过,但模拟执行都不行,Invalid instruction 反正就是我写了很多 rlang 命令,比如 i*、d*、p*、v*、a* 什么的,结果只是没有效果... 我不知道自己在干什么 反正很失败就是了,但我要努力做哪…
『当一个人发现自己已经不需要学习即通晓万物的时候,他的技术造诣就危险了』
『当一个人觉得自己是天才,天资异于常人但又不是经过客观评价而得出结论的时候,他就很难达到比较高的技术水平』
『当一个人会对别人的改进性意见产生负面情绪时,至少这表明他得独自完成改动枚举的过程』

『当你一直取得成功而从未失败的时候,你就应该静下心来反省,好好考虑是不是你做的事情太简单太机械化了』

(固定句式,那个『他』当然是上文里的『那个人』喽,可惜我在考虑解析几何的时候没有这种理解速度...
(当然这个不涉及道德上的问题,纯技术性的

(其实,我觉得很奇怪,当然为了减少误会,我必须再次澄清一下,虽然貌似是针对某个人的(因为我确乎是根据自己的经历编造了几个,难免的),但其实我没有特殊的意思,只是泛泛的说一个群体而已。我相信这种人平时还是能遇到的

而对于 duangsuse 这种偶尔有些崩坏的而且不是天才而且其实身体条件未必够的人来说,首先的任务应该是考虑如何让自己正常活下去,再是考虑别的事情... 😶
duangsuse::Echo
接下来可以分析 BEL 具体是如何优化的(因为已经实现了 BEL,并且代码别无二致) 我们的 BEL 公式 LLVM 优化后是这样的: BEL: # @BEL lea eax, [4*rdi - 4] cdqe imul rax, rax, 1431655766 mov rcx, rax shr rcx, 63 …
曾经突然能理解 x86 CDEF 汇编调用栈维护
并且写出自己第一个真正意义上物理机线性 0~2 地址代码的时候

仿佛已经是在脑后,成为过去

工程好像没有时间,好像又不想工程
学的技能好像没有学...

永远就是这样的吗?每次攻克一个自己所谓的『难关』

增加一个新的技能,增加一组新的知识,增加一个新的知识系统
好像完成之后,就成为理所当然一样,成为自己下一个证明的既成条件

好像爬山一样,的确在往上爬,可是,有没有爬了一段后,突然忘记自己所在的高度呢?
... 最大的问题是自己都在学了什么东西?自己现在会什么东西?好像一个 WeakSet 集合,只能使用 contains(_) 方法(就是数学上的 A∍a, 中间这个符号叫 containsAsMember
连遍历都难啊 into_iter() -> !
我学了什么?What have I learnt?

还是和自己的那些同学们一样,或许,他们也不知道吧... 或许有人知道自己学会了什么... 只是因为自学所以这样吗?所以我学到了什么呢?我是什么水平呢?可能是小应用都不会写的水平吧...
他们总是一年一年的玩各种新的手机游戏... 对了,我还不会 GLSL... 我不知道 vec2vec4 是什么关系... color 又是什么...

其实我这段时间应该一直都是在打所谓的理解力基础,有了基础大概做什么都容易一些吧... 大概 😶
https://ice1000.org/2018/12/08/SomeTweaks/

#blog #recommended #yearPassed

顺推隔壁的跨年笔记,当然,我不如他,所以,我都不知道我学了什么,PLT 反正也就是入门刚刚而已,因为我也才知道如何抽象程序逻辑,基本的 operators(+, -, *, /, add, contains, iterator 这种)、primitives(int, long, short)、markers([], *, ref, parametric polymorphic 等) 组合什么的,函数式也才是入门,然后就没有额外资本去学习高级类型系统方面的知识什么的

谢谢各位读者对这个幼稚的博客的关注

今年的跨年笔记我晚点写,因为今年真的... 很乱,真的... 学了很多,我尽可能枚举,利用 Telegram 频道的历史记录,这是我自己的感觉。欢迎喷啊
那么我明年的梦想是重新开一个博客,名字我都想好了,就叫 "IJKTree"

当然也建议大家都发一下自己的跨年笔记什么的(不要不写啊
#statement #TeX 顺便说一下,其实 #Microsoft Office Word 系列排版也很好的,TeX 某些扩展包可能排起来都有数学公式渲染问题,我上次那个 foo.pdf 的根号就不对
duangsuse::Echo
加油! #life #dev
(吐槽,即使在与理论系的巨佬们差距如此之大的情况下也要如此逞强吗?
(回复,巨佬尽管是巨佬,可能几年前也不过是菜鸡,我和巨佬之间... 还差几年的努力
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta #wontfix)
自我感觉良好(
Hinnka Zhou
有点不太理解这段代码,什么情况下泛型会被擦除,什么情况不会?
#PL #Java 哦,又想起这件事,这个 Java 8 OpenJDK/Oracle JDK 的泛型(Generics aka. Parametric Polymorphism 也即参型多态)实现的确是基于擦除法实现的,换句话说泛型在 Java 8 里就只是提供自动类型转换和类型检查的语法糖,运行时 checkcast 还是照样得检查类型(也可能不用,因为类型系统确保了 interface Map<K, V>V get(K) 方法返回的肯定是 V 类型的值,因为 void put(K, V) 方法有类型限制,所以拿到的肯定是符合限制的对象,静态强类型系统设计的一个很突出的特点就是可以完成执行效率的优化,消除不需要的类型检查),包括 18 年的 Oracle HotSpot(目前『官方』 JDK 的默认虚拟机) 25.x 和 Dalvik 1.1 (Android 上 Java 应用的运行时,当然不是 JVM,这里用作对比)都没有真泛型支持,虚拟机上基本可以说是没做什么改动,Dalvik 这清奇平台我不熟悉(我目前不常接触 Android 开发,实际上我工程的时候都很少很少很少,当然我不是不能学),HotSpot/JRockit/J9 之类的是随着新的 JVM 标准改了,就是 JVM 们支持 Signatures classField (ObjectWeb.ASM Parser) 部分,反射用的元数据也是从那拿到的(Java 1.8 之后大概 Sun javac 是会保存元数据的(可以拿 javap <className> 指令查看类元数据),显而易见地),这位老哥可能是对泛型擦除这个术语产生了误会(原意就是字面意思,编译完成后泛型被『擦除』了,在那部分字节码里不存在,也即和没有使用泛型的字节码一样),当然我后面也说了。

当然泛型这个不难理解,就拿 List<T> 说,比如我们有 LinkedList (我不理论系,所以不懂 CoinductiveList 这些东西,也不知道啥是规约...)(破真)

data class LinkedList(val obj: Any?, val next: LinkedList?)

显然我们可以给这个对象添加一堆操作比如 T get(int)void set(int, T) 什么的
然后如果我们放 String,结果 get() 返回的是 Any,就得强制暴力转换(as String),非常的不爽,这时可以理解为 LinkedList<*, *>
这样又 checked 又可以避免强制转型,多好

C++ 就是 template<typename T, typename R> (这里 template 和前端的模板差不多,自动生成代码的意思)实现的泛型,当然 C++ 比 C 多少还是高级很多(

高级一点的话就必须得学习泛型的 variance (型变性,说白了就是填的泛型参数和 subtype (子类型)之间的关系) @imKiva 那有一篇博文,推荐阅读,当然我不直接给链接(跑)

当然因为 Java 的泛型是虚泛型所以也会有一些诸如语言和字节码层面方法重载(overloading)的问题什么的,比较麻烦,JVM 的书可能都会讲关于虚泛型的事情

据说有些 JVM 开发者是持极端反对虚泛型(就是擦除法实现的泛型)的态度的(比如,吐槽性能不如 CLI 系的真实泛型好),目前 Kotlin 的 inline reified generics 特性好像是给了 JVM 应用们一个『方法反射真泛型』的机会,当然我后面也有举例子(当然也可以利用 companion objectoperator invoke() 伪造类 constructor 的真泛型,这个小 hack 当然是从 ice1k 的博客上看到的,某次成都线下 Kotlin 同好讨论会 )

Wiki: Java 的泛型特性

TypeArguments:
< TypeArgument {TypeArgument} >
TypeArgument:
[WildcardIndicator] ReferenceTypeSignature
*
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta #wontfix)
试了试 SysRq 的 E-I-S-U-B 键,好用的很,重启靠它了(x
S-U 按完看了下 dmesg,报了几个 Ext 错误,慌的一笔(怕挂硬盘... 以前电脑硬盘就挂过一次......
不知道紧急同步(S)挂载(U)会不会伤硬盘.....
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta #wontfix)
太高产了,一早上又整了几个 Docker image: https://github.com/Trumeet/Bup-Docker
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta #wontfix)
GitHub released "Pin issue" feature