在 https://github.com/Mivik/DimenX/blob/master/intellic#L34 找到了,到时候结合conmajia的译文去科普
coco是clang-tidy, getdex还用了 https://github.com/Mivik/MXP/blob/master/app/src/main/java/com/mivik/mxp/MDatabase.kt#L318 的定义(轮子大师.. 我过几天还要做py2进制绑定)
https://github.com/Mivik/mlot 原来大家都写过函数图啊😰 这个是cli tui
coco是clang-tidy, getdex还用了 https://github.com/Mivik/MXP/blob/master/app/src/main/java/com/mivik/mxp/MDatabase.kt#L318 的定义(轮子大师.. 我过几天还要做py2进制绑定)
https://github.com/Mivik/mlot 原来大家都写过函数图啊😰 这个是cli tui
GitHub
DimenX/intellic at master · Mivik/DimenX
A functional C++ headers collection. Contribute to Mivik/DimenX development by creating an account on GitHub.
duangsuse::Echo
https://github.com/Mivik/GetDex/blob/master/app/src/main/cpp/include/getdex.h#L542 噢..原来在这里啊,decode 到art细节,然后 https://github.com/Mivik/GetDex/blob/master/app/src/main/cpp/getdex.cpp#L22 这里拿到代码,填成员结构/CodeItem 是有ExtJNIEnv的自定Thread 缓存,用互斥锁创建size不冲突的dex access…
感觉缺的太多了,大佬们真的是啥啥都会做,除了OI 基本CS的每个领域,从编译图形到网络,框架,调试工具,ML 全都会啊🤪 那么如果一个人比你小却比你牛,你就永远赶不上他了
所以为什么我们不在乎一些无关实事 的东西,因为非常清楚牛人真的太多了;科班套话外的牛人和技术侧面也太多了,大家都有自己的涉猎,真的没啥好比的,要比起来 这些 好像也不能加工资啊
那么为啥xx大厂就更牛呢。 #code
所以为什么我们不在乎一些无关实事 的东西,因为非常清楚牛人真的太多了;科班套话外的牛人和技术侧面也太多了,大家都有自己的涉猎,真的没啥好比的,要比起来 这些 好像也不能加工资啊
那么为啥xx大厂就更牛呢。 #code
tg侧边栏的落雪特效: 每.5s/100 移动 P=随机点 随机(雪花,白球) .5s P+随机xy
前几天做的粒子动画实验,隔2状态随机1次 就很合适,可惜点赞不够 我懒得做 [xy,+-雪/白球 透明];而且雪花咋画呢.. 但tg客户端代码质量真不行,我估计它为这写了一个文件,但其实客户端交互动画挺多的。
#windows #api #hack https://t.me/yscschan/6968
Win32 窗口置顶zIndex问题.任务栏开始菜单 都是窗口
Win8+的Band层z序最大如果想在任务栏上显示UIAccess或注入CreateWInBand /SetWBand (shell32常规是注入?..
ysc发现有key EnableAMAccess (w32kfull.sys活动管理) 后可以使用后者自由提升窗口,key限取一次,SetShellWindow 登录时 pcshell.dll 管理,只能重启explorer.exe hook NtUserAcquirel 获取key ;好奇怪的私有API
窗口置底问题.Win8+ 桌面图标可独立窗口,只要 SendMessage 0x52C 给某窗口,它变成最底;再将 shelldll_DefView 图标下方 WorkerW 隐藏,ffplay --noborder xy=00wh=屏幕宽高 这样的播放器就是动态桌面
ShowWin(,SW_) SetParent(w,w0)
EnumWindows(f(w,argv)) FindWindow(k,fl=0) -Ex(in_w?,next?,k,fl)
SendMessageTimeout(w,k, 3x, dt, fl)
#py 计划
100粉的头图黏合Py PIL生成。为啥不是canvas或OCV或Java? Pillow Image.open/new/resize 和 getpix, Draw(im) 的API想必是熟悉了,这次我们要用100张图片 拼出小宽高的灰度图,流程是:mask.png w h *.png
若mask不存在,求得(x,y,cp) 网格排布 绘制。输出 mask 再编辑
否则,对 a=mask (x,y,resize(1,1)lum亮度) 和 b=cycle(im list) 共同 sort, imOut.paste(bim,axy) 后高亮图肯定在高亮mask点
前几天做的粒子动画实验,隔2状态随机1次 就很合适,可惜点赞不够 我懒得做 [xy,+-雪/白球 透明];而且雪花咋画呢.. 但tg客户端代码质量真不行,我估计它为这写了一个文件,但其实客户端交互动画挺多的。
#windows #api #hack https://t.me/yscschan/6968
Win32 窗口置顶zIndex问题.任务栏开始菜单 都是窗口
Win8+的Band层z序最大如果想在任务栏上显示UIAccess或注入CreateWInBand /SetWBand (shell32常规是注入?..
ysc发现有key EnableAMAccess (w32kfull.sys活动管理) 后可以使用后者自由提升窗口,key限取一次,SetShellWindow 登录时 pcshell.dll 管理,只能重启explorer.exe hook NtUserAcquirel 获取key ;好奇怪的私有API
窗口置底问题.Win8+ 桌面图标可独立窗口,只要 SendMessage 0x52C 给某窗口,它变成最底;再将 shelldll_DefView 图标下方 WorkerW 隐藏,ffplay --noborder xy=00wh=屏幕宽高 这样的播放器就是动态桌面
ShowWin(,SW_) SetParent(w,w0)
EnumWindows(f(w,argv)) FindWindow(k,fl=0) -Ex(in_w?,next?,k,fl)
SendMessageTimeout(w,k, 3x, dt, fl)
#py 计划
100粉的头图黏合Py PIL生成。为啥不是canvas或OCV或Java? Pillow Image.open/new/resize 和 getpix, Draw(im) 的API想必是熟悉了,这次我们要用100张图片 拼出小宽高的灰度图,流程是:mask.png w h *.png
若mask不存在,求得(x,y,cp) 网格排布 绘制。输出 mask 再编辑
否则,对 a=mask (x,y,resize(1,1)lum亮度) 和 b=cycle(im list) 共同 sort, imOut.paste(bim,axy) 后高亮图肯定在高亮mask点
Telegram
YSC 的频道
看到有人在问有没有 Windows 下的 Notch Simulator,于是想到了 Windows 下窗口置顶的问题。
传统的 WS_EX_TOPMOST 还是会被别的 top most 窗口挡住,而且像任务管理器,开始菜单还是能在其之上。
曾经个人调查过背后的原因,是从 Win8 开始引入了 Window Band 的功能,任务管理器或开始菜单把它们自己设置到了更高层次的 Band 上,于是能比 top most 更 top。具体可见这篇文章。
其中一种显示在上层的方法是使用 UIAccess,但是…
传统的 WS_EX_TOPMOST 还是会被别的 top most 窗口挡住,而且像任务管理器,开始菜单还是能在其之上。
曾经个人调查过背后的原因,是从 Win8 开始引入了 Window Band 的功能,任务管理器或开始菜单把它们自己设置到了更高层次的 Band 上,于是能比 top most 更 top。具体可见这篇文章。
其中一种显示在上层的方法是使用 UIAccess,但是…
#statement #dev #tech #oop 🌝
我已经物理命名法化了…明明之前说要慎用的,笑死
它是以单字符用途不假思索起名变量的方法,如 ab kv 意味配对,xywh 是矩点宽高,ijnm 是2D数组纵横i<n,c配置 e元素 f函数|文件 g图形Ctx
x 也是单项、xs xz 列表和休眠列表next(),ww 意为“w内的w”,w0 意味外层的w或之前的w,1~inf 只是编号,以此类推
o对象 p命题|点|指针 q真假 r结果|弧度 s字串|流 t时点 d翻译表|正负距离|细度 l长度 u链接|blob z休眠中
用途无关平台-View或Widget就该命名为eXX,配置状态只叫c, unord_map就是d或kVs的长名, 无所谓其实现细节,
如果它不兼容标准操作 就用语言让它兼容!如果它有多余功能,无视就好——因为标准操作就那几个
k是广义的键-有v配对就算-i18n resID 都算;如果量有限制(计算量的)意义,可以像i<N这样大写
dt时差 dur时长,cp bg/fg 是单双颜色,ev ex 事件异常,fp路径 im图片 ,
反正能少写就少——但是语义优先,所以它和 ijkplayer 的OI风格命名、匈牙利/魔术风格命名 简繁两个极端是本质不同的
程序是由「统一」和「领域」两部分API组成的,领域名词只有互相联系才有意义,而统一名词没有意义-只有动词能赋予它们意义;越广泛的概念,命名就越该简略-除了是这还能怎样呢? 我们用它的名词是有目的,还是只增加了理解难度呢?
getUnreadBlogs() 就应该写成 blogs.filter{it.unread} 的样子
名字是依附上下文而有意义的,因冗长或太杂脱离了表达目的,程序不过是看起来不可或缺的一堆废纸。再详细的重复名字,在不想看代码的人前都是对牛弹琴-为啥要在代码片段里管中窥豹呢,我一开始就知道要干什么,就自然知道什么变量是必须的,这种篇幅分配 不香吗?
因此我只适当地用介词,重点在前、易改点在后给函数起名,我从不给变量起名——它不值得专有名字;如果写软件,我会先确定有多少「领域」名词,之后代码便不会多加3字以上的变量;把舞台留给函数签名和//注释,这才是最好的文档。
我已经物理命名法化了…明明之前说要慎用的,笑死
它是以单字符用途不假思索起名变量的方法,如 ab kv 意味配对,xywh 是矩点宽高,ijnm 是2D数组纵横i<n,c配置 e元素 f函数|文件 g图形Ctx
x 也是单项、xs xz 列表和休眠列表next(),ww 意为“w内的w”,w0 意味外层的w或之前的w,1~inf 只是编号,以此类推
o对象 p命题|点|指针 q真假 r结果|弧度 s字串|流 t时点 d翻译表|正负距离|细度 l长度 u链接|blob z休眠中
用途无关平台-View或Widget就该命名为eXX,配置状态只叫c, unord_map就是d或kVs的长名, 无所谓其实现细节,
如果它不兼容标准操作 就用语言让它兼容!如果它有多余功能,无视就好——因为标准操作就那几个
k是广义的键-有v配对就算-i18n resID 都算;如果量有限制(计算量的)意义,可以像i<N这样大写
dt时差 dur时长,cp bg/fg 是单双颜色,ev ex 事件异常,fp路径 im图片 ,
反正能少写就少——但是语义优先,所以它和 ijkplayer 的OI风格命名、匈牙利/魔术风格命名 简繁两个极端是本质不同的
程序是由「统一」和「领域」两部分API组成的,领域名词只有互相联系才有意义,而统一名词没有意义-只有动词能赋予它们意义;越广泛的概念,命名就越该简略-除了是这还能怎样呢? 我们用它的名词是有目的,还是只增加了理解难度呢?
getUnreadBlogs() 就应该写成 blogs.filter{it.unread} 的样子
名字是依附上下文而有意义的,因冗长或太杂脱离了表达目的,程序不过是看起来不可或缺的一堆废纸。再详细的重复名字,在不想看代码的人前都是对牛弹琴-为啥要在代码片段里管中窥豹呢,我一开始就知道要干什么,就自然知道什么变量是必须的,这种篇幅分配 不香吗?
因此我只适当地用介词,重点在前、易改点在后给函数起名,我从不给变量起名——它不值得专有名字;如果写软件,我会先确定有多少「领域」名词,之后代码便不会多加3字以上的变量;把舞台留给函数签名和//注释,这才是最好的文档。
#statement 《如何成为优秀的编程者》
试想你「最开始」接触编程时是为了软件设计?是为了mod闭源的程序? 编程都有目的,但忽视代码的结构 就会失去发展的可能。
代码怎样对大家都是一样的,但当你慢慢入行,必须通过更多的工具与语言,重新认识「编程」二字
入门时,要么是照着示例分析作用、拆拼,要么是强记空泛的体系理论和单项;其实这些不完全适合「编程」
理论需和实例配合着用,实例若缺乏更大视角与归类,也很难将功能点建立联系
「编程」是从脱离编程语言开始的,精炼自己的语言来取代C,Java 函数的语义,尝试让不同API实现相同功能——这就是「不用代码」的编程
计算机能做的千千万,排版/自动化、绘制统计、分析转化、机器人嵌入式,它们最统一的就是『程序语言』的定义结构和流程结构,只会按既定流程做「通信 鉴权 排版交互」,用几个社区库,太少了
实质性、独特的东西太少了;许多平台10行就能描述完,许多工作一个sh脚本+配置文件就可完成,它的难度只在于理解含糊冗杂的文档、堆砌定义、不直观的调试
我们需要理解语言的用法、摆脱既有代码的束缚,这就需要对程序动名词定义的结构有好的「语感」、对软件有涉及的领域概念有「代码外的理解」,除了这么写 你还有很多方法能表达——即元编程,这样你习得的才叫『编程语言』——通过思想而非文本编、有概念而非执行效果的程,最后映射到OOP,FP 的定义体或状态注册,API操作上
语感或「代码外的理解」,都不是示例或理论、一两张图能教给你的,儿童编程IDE也不行,需要自己动手、脑中模拟执行,这需要时间和精选的示例
作为优秀的程序员,每行代码为何存在 你都很清楚,而且会以val和fun 避免啰嗦的重复代码、重复行出现,对一个有语感的人而言就会讨厌重复;我想,没有真正的「脚本语言」或「编程范式」——汇编没有离去 但无结构编程消失了;只有把代码写得像面条流水帐一样的人。语言不应分领域,但分文化,更分人。请用有序柔和的语言对待编程,任何人都能成为「代码设计师」和「软件工艺师」,而不是只可孤芳自赏的「魔法师」
那么优秀和称职又有何区别呢?这就需要我们自己寻找了,在社会上,并不是所有事都能用科学、或技术解释,我只能告诉你我理解的编程是怎么样。表达自己,也是语言最重要的目的啊
试想你「最开始」接触编程时是为了软件设计?是为了mod闭源的程序? 编程都有目的,但忽视代码的结构 就会失去发展的可能。
代码怎样对大家都是一样的,但当你慢慢入行,必须通过更多的工具与语言,重新认识「编程」二字
入门时,要么是照着示例分析作用、拆拼,要么是强记空泛的体系理论和单项;其实这些不完全适合「编程」
理论需和实例配合着用,实例若缺乏更大视角与归类,也很难将功能点建立联系
「编程」是从脱离编程语言开始的,精炼自己的语言来取代C,Java 函数的语义,尝试让不同API实现相同功能——这就是「不用代码」的编程
计算机能做的千千万,排版/自动化、绘制统计、分析转化、机器人嵌入式,它们最统一的就是『程序语言』的定义结构和流程结构,只会按既定流程做「通信 鉴权 排版交互」,用几个社区库,太少了
实质性、独特的东西太少了;许多平台10行就能描述完,许多工作一个sh脚本+配置文件就可完成,它的难度只在于理解含糊冗杂的文档、堆砌定义、不直观的调试
我们需要理解语言的用法、摆脱既有代码的束缚,这就需要对程序动名词定义的结构有好的「语感」、对软件有涉及的领域概念有「代码外的理解」,除了这么写 你还有很多方法能表达——即元编程,这样你习得的才叫『编程语言』——通过思想而非文本编、有概念而非执行效果的程,最后映射到OOP,FP 的定义体或状态注册,API操作上
语感或「代码外的理解」,都不是示例或理论、一两张图能教给你的,儿童编程IDE也不行,需要自己动手、脑中模拟执行,这需要时间和精选的示例
作为优秀的程序员,每行代码为何存在 你都很清楚,而且会以val和fun 避免啰嗦的重复代码、重复行出现,对一个有语感的人而言就会讨厌重复;我想,没有真正的「脚本语言」或「编程范式」——汇编没有离去 但无结构编程消失了;只有把代码写得像面条流水帐一样的人。语言不应分领域,但分文化,更分人。请用有序柔和的语言对待编程,任何人都能成为「代码设计师」和「软件工艺师」,而不是只可孤芳自赏的「魔法师」
那么优秀和称职又有何区别呢?这就需要我们自己寻找了,在社会上,并不是所有事都能用科学、或技术解释,我只能告诉你我理解的编程是怎么样。表达自己,也是语言最重要的目的啊
duangsuse::Echo
#statement 《如何成为优秀的编程者》 试想你「最开始」接触编程时是为了软件设计?是为了mod闭源的程序? 编程都有目的,但忽视代码的结构 就会失去发展的可能。 代码怎样对大家都是一样的,但当你慢慢入行,必须通过更多的工具与语言,重新认识「编程」二字 入门时,要么是照着示例分析作用、拆拼,要么是强记空泛的体系理论和单项;其实这些不完全适合「编程」 理论需和实例配合着用,实例若缺乏更大视角与归类,也很难将功能点建立联系 「编程」是从脱离编程语言开始的,精炼自己的语言来取代C,Java 函数的语义…
“我记得有听好友吐槽过教科书的不伦不类。它们既想激发学生对学科的兴趣,又想保持自身的绝对严谨,其结果就是往往写了很多复杂的公式和推理,却并没有带来什么实际意义,甚至都没能告诉学生这些理论知识能用来干什么。
我很小很小的时候,所有人都在学乐器学书画;我读初中了,所有人都在学机器人;我上大学了,大人们疯狂往计算机里挤,小朋友们也开始学少儿 Python 了。
……比常人多懂一些的人应该做的,不是摆架子摆身段昭告天下这门学科有多科学、多严谨、多复杂,学习它能带来多少好处,能帮助人在什么竞争中又出人头地一分。恰恰相反,是要让大部分人感受到这门学科有多诱人”
(大意)当我花好几个小时首次编译出自己的小系统,随便抓起个 U盘写入后成功启动一台小电脑;或者更早点,在sl 命令看见一辆停不下来的火车从屏幕这边开到了屏幕那边时,内心涌起的兴奋和成就感,用多少本 Linux 史书都压不下去。
(后来)面对各样的 bug 而不泄气,花一整个下午,只是为了稳定很简单的特性,不是因为我用的语言有多先进,不是因为我写出来的代码性能有多优异,只是因为我满足了自己或者身边人的某个微不足道的需求。
……我们还要设置门槛,劝退那些稍稍感兴趣的、还在犹豫的人吗?
至少我拒绝。如果我有机会,我会毫不犹疑地扔掉那些初步接触时根本不重要的死板而繁杂的理论。
……每条正确的命令带来的正反馈、命令行带来的强掌控感让人欲罢不能。在学习的过程中必然会碰到很多艰难险阻,而且会发现自己还有太多太多不了解,那都不重要。重要的是,兴趣被调动起来,一切都好说了。
https://blog.rachelt.one/articles/education-interest-linux-and-programming/ #rblog
……借着 ModPE 的机会,我逐渐跟着各种现在看来很稚嫩的教程开始访问 Java Android 的诸多功能,直到我成功绕过游戏 创建了第一个现在看来也很稚嫩的悬浮窗。很稚嫩,但作为刺激已经够了。以此为契机,我开始接触开发。
我还是很怀念第一行代码带给我的最初的感动。那是几乎改变了我整个人生轨迹的力量。……
频道主也基本是从改C#游戏开始,那时foreach都很迷糊,后来用AIDE写了第一个minbase64... 现在我连basenc 系列算法和RSA都有所了解了🌚 但是我觉得只要教学顺序合适,难度是差不多的-只是没必要每个人都会;针对那些所见即所得的编程,科普是很有必要的 #recommend
站在编程语言爱好者的角度,我觉得他说得很对。 或许靠难度证明自己很好、对研究很有意义,但是呀,好玩的东西当然是不嫌多的。研究也可以是降低理解其它研究的开销,我所理解『编程语言』的职责正是如此
其实元编程和编译原理,说到底就是理解分层次结构、树深先重写、调用栈本质的普通程序,这些都没有超过『语言』能表达的范围
因此,『文科』语感的那一套东西,对这些仍然起效
或许文科是不敌理科的,但这么想的人搞错了一个根本:语言与思想都是人的基础智慧,基础是负责强化应用的,不是用来较高下的🌚
我很小很小的时候,所有人都在学乐器学书画;我读初中了,所有人都在学机器人;我上大学了,大人们疯狂往计算机里挤,小朋友们也开始学少儿 Python 了。
……比常人多懂一些的人应该做的,不是摆架子摆身段昭告天下这门学科有多科学、多严谨、多复杂,学习它能带来多少好处,能帮助人在什么竞争中又出人头地一分。恰恰相反,是要让大部分人感受到这门学科有多诱人”
(大意)当我花好几个小时首次编译出自己的小系统,随便抓起个 U盘写入后成功启动一台小电脑;或者更早点,在sl 命令看见一辆停不下来的火车从屏幕这边开到了屏幕那边时,内心涌起的兴奋和成就感,用多少本 Linux 史书都压不下去。
(后来)面对各样的 bug 而不泄气,花一整个下午,只是为了稳定很简单的特性,不是因为我用的语言有多先进,不是因为我写出来的代码性能有多优异,只是因为我满足了自己或者身边人的某个微不足道的需求。
……我们还要设置门槛,劝退那些稍稍感兴趣的、还在犹豫的人吗?
至少我拒绝。如果我有机会,我会毫不犹疑地扔掉那些初步接触时根本不重要的死板而繁杂的理论。
……每条正确的命令带来的正反馈、命令行带来的强掌控感让人欲罢不能。在学习的过程中必然会碰到很多艰难险阻,而且会发现自己还有太多太多不了解,那都不重要。重要的是,兴趣被调动起来,一切都好说了。
https://blog.rachelt.one/articles/education-interest-linux-and-programming/ #rblog
……借着 ModPE 的机会,我逐渐跟着各种现在看来很稚嫩的教程开始访问 Java Android 的诸多功能,直到我成功绕过游戏 创建了第一个现在看来也很稚嫩的悬浮窗。很稚嫩,但作为刺激已经够了。以此为契机,我开始接触开发。
我还是很怀念第一行代码带给我的最初的感动。那是几乎改变了我整个人生轨迹的力量。……
频道主也基本是从改C#游戏开始,那时foreach都很迷糊,后来用AIDE写了第一个minbase64... 现在我连basenc 系列算法和RSA都有所了解了🌚 但是我觉得只要教学顺序合适,难度是差不多的-只是没必要每个人都会;针对那些所见即所得的编程,科普是很有必要的 #recommend
站在编程语言爱好者的角度,我觉得他说得很对。 或许靠难度证明自己很好、对研究很有意义,但是呀,好玩的东西当然是不嫌多的。研究也可以是降低理解其它研究的开销,我所理解『编程语言』的职责正是如此
其实元编程和编译原理,说到底就是理解分层次结构、树深先重写、调用栈本质的普通程序,这些都没有超过『语言』能表达的范围
因此,『文科』语感的那一套东西,对这些仍然起效
或许文科是不敌理科的,但这么想的人搞错了一个根本:语言与思想都是人的基础智慧,基础是负责强化应用的,不是用来较高下的🌚
blog.rachelt.one
站在普通人的角度,谈谈教育、兴趣、Linux 与编程 | Rachel's Blog | Rachel030219
从迈入 2021 年以来,我就一直想写点关于这个话题的东西,但这毕竟输出的是自己的价值观,不可能要求所有人都能理解,更何况我还只是个涉世未深、从未迈出过象牙塔的本科生,又有什么资格对这个话题评头…
duangsuse::Echo
#plt 回复 @幻の上帝 :原来你认识冰封和LH_Mouse[doge] 显然是做编译器喽, 我也做(kamet-dse),但只会前端。或许你应该试试讲科普,对概念理解得就会更具体。科普的语言简洁、顺序分明最重要,或许能遇到新东西[doge] 我这不就是遇到了吗 我对var的理解是 int i=1 这样显而易见的不必多打字,语言规范更多是种导向而非阻碍,如果类型足够含糊(如val x=a[i])大家是会标明的,规范不该太绝对;而且J11好像引入局部量推导了 抽象不该有什么目的,它是为实现目-易读易配置/扩展/移植的用的。…
类型和命名符号本来就不能分先后,硬要说,那有类型就是notype.checked,无类型就是多态的有类型,其实就是思想和汇编谁重要这种问题,公说公有理,我觉得都不如解法途径重要,所以我不讲理论的
你不觉得 C 的 int i,*p 类型记法,以及更难看的函数指针某种意义上是没有 __auto_type 导致的,初学者#define往往引起问题
%和<N 确实不该算一类,只是边界情况一样,Lua这样我也是很醉的,i=(0..<N)或(1..N) 其实不影响 N-1 这些修改的(若i!=N) ,考虑到它的table=ary|hashbucket 类JS混淆数组表,我觉得从1数反倒合理了-Lua只是为 a[i]这类元组引用的情况优化,反正其前身Sol是面向record的
因为区域取值不是集合类型论能检查的问题(甚至非负性都得看常量折叠),而且对暴露API的lib而言不动态检查无意义;程序和物理纸面是有区别的,程序会扩张和重复,故没法直观地严谨
N=随选数 的确很脏,Linus对这么选硬件地址的提交者严词批评,但oi算法比问题区间重要;不也有树状数组(堆排序,.)和kv状数组(状态机转移表),计算机毕竟是工程学科,AC就牛逼
至于位置,知乎上也没见啥有价值的讨论,C#CLR也是支持1起始,我觉得 iter-累计i=0 这可以说明时序和内存上0起始都更好,但现在有了函数协程,iter的出现也会越来越少,如 first(n) for(x of xs)if(n--)yield x else break
总之严谨点肯定是好,但也要看是为了什么,Lua牺牲严谨是为了石油采矿的统计,excel性质的,那1始数组也就有缘由了
你不觉得 C 的 int i,*p 类型记法,以及更难看的函数指针某种意义上是没有 __auto_type 导致的,初学者#define往往引起问题
%和<N 确实不该算一类,只是边界情况一样,Lua这样我也是很醉的,i=(0..<N)或(1..N) 其实不影响 N-1 这些修改的(若i!=N) ,考虑到它的table=ary|hashbucket 类JS混淆数组表,我觉得从1数反倒合理了-Lua只是为 a[i]这类元组引用的情况优化,反正其前身Sol是面向record的
因为区域取值不是集合类型论能检查的问题(甚至非负性都得看常量折叠),而且对暴露API的lib而言不动态检查无意义;程序和物理纸面是有区别的,程序会扩张和重复,故没法直观地严谨
N=随选数 的确很脏,Linus对这么选硬件地址的提交者严词批评,但oi算法比问题区间重要;不也有树状数组(堆排序,.)和kv状数组(状态机转移表),计算机毕竟是工程学科,AC就牛逼
至于位置,知乎上也没见啥有价值的讨论,C#CLR也是支持1起始,我觉得 iter-累计i=0 这可以说明时序和内存上0起始都更好,但现在有了函数协程,iter的出现也会越来越少,如 first(n) for(x of xs)if(n--)yield x else break
总之严谨点肯定是好,但也要看是为了什么,Lua牺牲严谨是为了石油采矿的统计,excel性质的,那1始数组也就有缘由了
#news #web 压缩图片格式 jpegxl.io https://t.me/mivik_channel_tech/58
支持progressive(逐步去模糊)加载,据M君测试压缩率可达1/5M,即便无损大概也能90%;尚待浏览器和图床支持
支持progressive(逐步去模糊)加载,据M君测试压缩率可达1/5M,即便无损大概也能90%;尚待浏览器和图床支持
Telegram
mivik::channels::tech
#share #image
JPEG-XL 图像格式,被认为是 "next-generation, general-purpose image compression"。灵感来自于 Google 的 PIK 格式以及 Cloudinary 的 FUIF 格式。支持无损和有损压缩,而且支持 progressive encoding(即不需要加载完整个图片,只根据图片文件的前部分内容即可给出图像的大致轮廓,再根据后面的内容完善细节。这里两个视频给出了这种特性的预览:
https://youtu.be/UphN1_7nP8U…
JPEG-XL 图像格式,被认为是 "next-generation, general-purpose image compression"。灵感来自于 Google 的 PIK 格式以及 Cloudinary 的 FUIF 格式。支持无损和有损压缩,而且支持 progressive encoding(即不需要加载完整个图片,只根据图片文件的前部分内容即可给出图像的大致轮廓,再根据后面的内容完善细节。这里两个视频给出了这种特性的预览:
https://youtu.be/UphN1_7nP8U…
duangsuse::Echo
我觉得这件事说明中国人并不是不知道某组管理的习惯,只是不想关心而已🌚 但是因为暴力强迫拆迁这样的严重事件 还是有不少人站出来,包括一些不太自媒体的写手 可惜呢,墙是系统性的,现在许多社媒都封杀了 如果只是批评其实意义不大,我觉得就事论事吧 这个.. 总之我不知道这是否能算一个风向标, 今天一个威逼签订、老赖拒不履行的合同,能搞得两老一小家破人亡,而法律睁一只眼闭一只眼,甚至有人说“法律上没法给他 公道” “已经很照顾了”,就不担心未来稍微穷苦小众一点的人被某些人“含泪抄家”? 在中国涉及地皮的东西…
#china #net #freedom 《有法可依、有法必依、违法必纠》🌚
https://t.me/vvb2060Channel/569
咱不藏着掖着了,融入被ban公司的外国社区服务就是反华🧐
发表不利于某组的言论就是违法,不管是不是事实
《家大业大》
https://t.me/vvb2060Channel/569
咱不藏着掖着了,融入被ban公司的外国社区服务就是反华🧐
发表不利于某组的言论就是违法,不管是不是事实
《家大业大》
Telegram
南宫雪珊
第四十一条 国家建立数据跨境安全网关,对来源于中华人民共和国境外、法律和行政法规禁止发布或者传输的信息予以阻断传播。
任何个人和组织不得提供用于穿透、绕过数据跨境安全网关的程序、工具、线路等,不得为穿透、绕过数据跨境安全网关提供互联网接入、服务器托管、技术支持、传播推广、支付结算、应用下载等服务。
境内用户访问境内网络的,其流量不得被路由至境外。
第六十六条 个人和组织违反第四十一条的规定,由有关主管部门责令改正,给予警告、没收违法所得;拒不改正的,处违法所得一倍以上十倍以下的罚款,没有违法所得的…
任何个人和组织不得提供用于穿透、绕过数据跨境安全网关的程序、工具、线路等,不得为穿透、绕过数据跨境安全网关提供互联网接入、服务器托管、技术支持、传播推广、支付结算、应用下载等服务。
境内用户访问境内网络的,其流量不得被路由至境外。
第六十六条 个人和组织违反第四十一条的规定,由有关主管部门责令改正,给予警告、没收违法所得;拒不改正的,处违法所得一倍以上十倍以下的罚款,没有违法所得的…
#kotlin 《progressive》
啊,之前被各路公众号吹爆的 databind 变成 viewbind 了啊,kapt直接变语法树改写ksp了,比我的编程观换代得更快🌚
暴露AST细节乃至sealed dataclass很难吗,哦对javaapt只暴露了定义结构部分的interface processing.Element来允许@Override之类的检查和运行时属性参数值注入
原来databind就是堆@findView.val=o.xxVal 再同步更新吗,因为xml,还真是非常值得起一个名词呢🌚 毕竟html前端都是搞不懂DOM form只会拼字符串的水货
那么viewbind应该是 Angular和Vue 这样的东西了,现在抛弃widget.val的概念,拥抱model/view ,啊不,任意data.val及列表都可以同步到view
我就不明白,根本不是一个世代的东西为啥名字很像
哦对,xml就是一群不懂元编程的人吓唬人的,还什么可配置,所以viewbind反而是回到过去回到最初的做法,那么之前那么多应用都是在干什么?
哦不对啊,View DSL 才是最新的,winform designer.xml 才是最初的,UI都需要设计器,我在说啥啊我🤣
一个小萌新:可为什么 builder.io 就没有专门的设计器呢
因为html是种xml啊
可这不一样啊,你能用webkit设计单页效果,能用View开发View吗,可以啊(Androlua设计器),但是大家都在学“了不起”的“绑定技术”啊🤣
啊,之前被各路公众号吹爆的 databind 变成 viewbind 了啊,kapt直接变语法树改写ksp了,比我的编程观换代得更快🌚
暴露AST细节乃至sealed dataclass很难吗,哦对javaapt只暴露了定义结构部分的interface processing.Element来允许@Override之类的检查和运行时属性参数值注入
原来databind就是堆@findView.val=o.xxVal 再同步更新吗,因为xml,还真是非常值得起一个名词呢🌚 毕竟html前端都是搞不懂DOM form只会拼字符串的水货
那么viewbind应该是 Angular和Vue 这样的东西了,现在抛弃widget.val的概念,拥抱model/view ,啊不,任意data.val及列表都可以同步到view
我就不明白,根本不是一个世代的东西为啥名字很像
哦对,xml就是一群不懂元编程的人吓唬人的,还什么可配置,所以viewbind反而是回到过去回到最初的做法,那么之前那么多应用都是在干什么?
哦不对啊,View DSL 才是最新的,winform designer.xml 才是最初的,UI都需要设计器,我在说啥啊我🤣
一个小萌新:可为什么 builder.io 就没有专门的设计器呢
因为html是种xml啊
可这不一样啊,你能用webkit设计单页效果,能用View开发View吗,可以啊(Androlua设计器),但是大家都在学“了不起”的“绑定技术”啊🤣
Cancel Culture(下台文化)是美国metoo等维权运动中类似“战狼”的作风,RMS受到了这种抵制 #gnu fsf故事
或许你觉得今天fsf没有影响力,但今天自由软件、开源概念却始终贯穿软件工程,在上个世纪它不是唯一的选择——甚至是小众的,因为针对“PC”基础件被商业和共享软件垄断,此外一些人并不乐意开源研究。
" javascript包管理工具lerna成为了第一个行动者,他们修改了自己的开源协议,把包括微软、亚马逊在内的一堆公司列入了“因协助ICE而禁止使用”范围。
Stallman was right变成了互联网meme,但谁来继承他?下一代年轻人还会对这些有兴趣吗?在今天还有人能忍受他这种简朴而单调的拒绝几乎所有科技公司产品的生活,还有人愿意花几十年创造伟大而重要的产品,同时放弃巨大的商业价值当作自由软件让所有人都能使用吗?
RMS经常得罪人,很多人讨厌他,但是他以接近流浪汉的方式生活了一辈子,把大部分时间都投入到软件开发和社区管理中,早年他以一人之力提供了编辑器,编译器,调试器等一系列用来创造软件的软件。在当时,80年代末90年代初,这些技术都是价值连城的商业机密,几乎每一项都可以撑得起一家上市公司,RMS完成了这些东西,以GPL许可证开放开源给人们自由使用(按:当时gcc对程序员的改革性不假,但说是商业机密有点过了。微软当时也有卖basic解释器,但仅靠这个应该不够价值连城,gcc开发是用的 free as 0price的amsterdam cc ,在之前没有通用的c实现开源)
软件相关行业并不是一直都如今天这么光鲜,早年是被认为nerd之类奇怪的人从事的行业,很多人自述来到这个行业,是因为愿意和机器打交道而不愿意接触人。早年工作环境也远没有今天完备,
没有IDE,没有搜索引擎,
没有问答社区,没有github可以抄代码。写程序是孤独面对手册和屏幕,
每一行指令都要节省,每一字节内存都要计算,调试程序和bug需要极强的耐心、技巧和固定操作的无数次重复,而且
计算机运行速度极慢,只有今天主流cpu速度的几千分之一。这类工作对大部分人是难以忍受的,但是对阿斯伯格综合征人士,这倒是一个难得的友好工作环境。
或许你觉得今天fsf没有影响力,但今天自由软件、开源概念却始终贯穿软件工程,在上个世纪它不是唯一的选择——甚至是小众的,因为针对“PC”基础件被商业和共享软件垄断,此外一些人并不乐意开源研究。
" javascript包管理工具lerna成为了第一个行动者,他们修改了自己的开源协议,把包括微软、亚马逊在内的一堆公司列入了“因协助ICE而禁止使用”范围。
Stallman was right变成了互联网meme,但谁来继承他?下一代年轻人还会对这些有兴趣吗?在今天还有人能忍受他这种简朴而单调的拒绝几乎所有科技公司产品的生活,还有人愿意花几十年创造伟大而重要的产品,同时放弃巨大的商业价值当作自由软件让所有人都能使用吗?
RMS经常得罪人,很多人讨厌他,但是他以接近流浪汉的方式生活了一辈子,把大部分时间都投入到软件开发和社区管理中,早年他以一人之力提供了编辑器,编译器,调试器等一系列用来创造软件的软件。在当时,80年代末90年代初,这些技术都是价值连城的商业机密,几乎每一项都可以撑得起一家上市公司,RMS完成了这些东西,以GPL许可证开放开源给人们自由使用(按:当时gcc对程序员的改革性不假,但说是商业机密有点过了。微软当时也有卖basic解释器,但仅靠这个应该不够价值连城,gcc开发是用的 free as 0price的amsterdam cc ,在之前没有通用的c实现开源)
软件相关行业并不是一直都如今天这么光鲜,早年是被认为nerd之类奇怪的人从事的行业,很多人自述来到这个行业,是因为愿意和机器打交道而不愿意接触人。早年工作环境也远没有今天完备,
没有IDE,没有搜索引擎,
没有问答社区,没有github可以抄代码。写程序是孤独面对手册和屏幕,
每一行指令都要节省,每一字节内存都要计算,调试程序和bug需要极强的耐心、技巧和固定操作的无数次重复,而且
计算机运行速度极慢,只有今天主流cpu速度的几千分之一。这类工作对大部分人是难以忍受的,但是对阿斯伯格综合征人士,这倒是一个难得的友好工作环境。
Forwarded from Rachel 碎碎念 (IFTTT)
Twitter
Rachel 呱
Clash 恐成最佳 socks5 server
for(i 0..y)for(j 0..x-1) //选中<x的列
if(aij==ai j+1)aij*=2 //横向左移
for(l=j+1, al=0; l<x-1)ail=ai l+1
ai x-1=0
//或for(l j+2..x)ai l-1=ail
https://t.me/RachelBlahblah/5439 #game
if(aij==ai j+1)aij*=2 //横向左移
for(l=j+1, al=0; l<x-1)ail=ai l+1
ai x-1=0
//或for(l j+2..x)ai l-1=ail
https://t.me/RachelBlahblah/5439 #game
Telegram
Rachel 碎碎念
我:2048 这玩意儿咋写啊…我已经重写两遍打了三遍草稿不是这种情况 bug 就是那种情况 bug
室友:你可以整 16 个变量,移动时候每行/每列存入另外的 4 个变量然后这 4 个一个一个 if
我:???那我遍历的时候怎么知道我要的是哪四个变量
室友:遍历个啥?复制粘贴四遍不就得了
震撼我妈一整年— Rachel 呱 (@Rachel030219) April 29, 2021
室友:你可以整 16 个变量,移动时候每行/每列存入另外的 4 个变量然后这 4 个一个一个 if
我:???那我遍历的时候怎么知道我要的是哪四个变量
室友:遍历个啥?复制粘贴四遍不就得了
震撼我妈一整年— Rachel 呱 (@Rachel030219) April 29, 2021
#reveng 👆
用Lua这种语言的沙箱不就行了.. yaml怎么了?怕是不懂schema ,要知道+* 表达式的解析是没有易写统一的方法的,根本就是伪命题,这样无疑是要所有软件配置不可统一编辑!
" conditional logic or description of transformations or something else. Both the logic of what can be expressed and done and the terms and elements of the domain are specific and custom to the program. This is what you see in firewall rules, whether OpenBSD PF...
用Lua这种语言的沙箱不就行了.. yaml怎么了?怕是不懂schema ,要知道+* 表达式的解析是没有易写统一的方法的,根本就是伪命题,这样无疑是要所有软件配置不可统一编辑!
" conditional logic or description of transformations or something else. Both the logic of what can be expressed and done and the terms and elements of the domain are specific and custom to the program. This is what you see in firewall rules, whether OpenBSD PF...