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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from Ray Tracing (彦卿🍁)
https://db-engines.com/en/blog_post/106 PostgreSQL is the database management system that gained more popularity in our DB-Engines Ranking within the last year than any of the other 417 monitored systems.
We thus declare PostgreSQL as the DBMS of the Year 2023.
Forwarded from Solidot
Blender 诞生三十周年

2024-01-02 20:37 by 爱的左边

30 年前,荷兰程序员 Ton Roosendaal 使用假期重写了动画工作室 NeoGeo 内部使用的 3D 软件。1994 年 1 月 2 日,Blender 发布了首个版本。30 年后 Blender 已经是最成功的开源 3D 图形设计软件。Blender 最初是作为共享软件发布的,在 NeoGeo 被收购以及后来创办的 Not a Number Technologies(NaN)公司破产之后,Roosendaal 成立了非盈利的 Blender 基金会,筹集资金将 Blender 作为开源项目继续开发和维护。

https://mstdn.social/@tonroosendaal/111685759571586019
https://en.wikipedia.org/wiki/Blender_(software)

#开源
Forwarded from Solidot
荷兰限制向中国出口深紫外光刻机

2024-01-02 21:42 by 人猿泰山之米甸探险

澎湃报道,应美国政府要求,荷兰光刻机巨头阿斯麦(ASML)取消了两款深紫外(DUV)光刻机出口中国。ASML 目前最先进的光刻机是极紫外 (EUV) 光刻机,台积电和三星等公司使用 EUV 制造 7 纳米或更先进芯片。但中芯国际去年量产了华为的 7 纳米芯片麒麟 9000S,使用的就是 DUV 光刻机。美国显然在进一步限制中国获取 DUV 光刻机。中国外交部发言人汪文斌在新闻发布会上表示,中方一贯反对美国泛化国家安全概念,以各种借口胁迫其他国家搞对华科技封锁。

https://www.thepaper.cn/newsDetail_forward_25872797


#商业
Forwarded from Solidot
Pascal 作者 Niklaus Wirth 去世,享年 89 岁

2024-01-04 11:45 by 空中城堡

Pascal、Euler 和 Oberon 等语言的作者和合作者 Niklaus Wirth 于 2024 年 1 月 1 日去世,享年 89 岁。Niklaus Wirth 于 1934 年 2 月 15 日出生于瑞士,先后任教于斯坦福、苏黎世大学、苏黎世联邦理工学院,曾在施乐帕洛阿尔托研究中心进修两年。他是 Algol W 、Modula、Pascal、 Modula-2、Oberon 等语言的主设计师 ,是 Euler 语言的发明者之一。1984 年他因在编程语言上的贡献而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和执行队伍的重要成员。他的文章《Program Development by Stepwise Refinement》视为软件工程中的经典之作。他写的书名《Algorithms + Data Structures = Programs(算法+数据结构=程序)》是计算机科学的名句。

https://developers.slashdot.org/story/24/01/04/0126247/niklaus-wirth-inventor-of-pascal-dies-at-89
https://zh.wikipedia.org/wiki/%E5%B0%BC%E5%85%8B%E5%8A%B3%E6%96%AF%C2%B7%E7%BB%B4%E5%B0%94%E7%89%B9

#程序
Forwarded from ProgrammerHumor
👎1🦄1
duangsuse::Echo
#news #jp 昨天的地震 、中日侵略史、经济合作vs仇恨教育 https://youtu.be/xpgleFGUOPA?t=359 🥰
#china #history #recommend 方脸 :中国高层未来只有3种选择
纳粹化(鹅爹化 站狼化), 虽然一定打不过台湾,最后全党像慈禧一样被迫轮替, 但至少,两三年内红二代的权力不会受影响
文革化(粮票化), 虽然能平粉红的民愤,但红二代全完蛋了,元老就只有细猪一人获利,伟大领袖梦寐以求的「亲自指挥 定于一尊」 #nCov19
民主化,这需要高层有蒋经国那样高的悟性,而且团结一致 😅虽然今天他们「为独裁感冒,对自由过敏」,但最后能救秦刚的也只有人权和法制

赵紫阳:「要藏富于民」
鲶鱼公子、血槽姐已经实现一半了…… 「藏富」 🥰

方脸认为,作为以经济为立国资本的后改革开放中国, 过去稳定的红色江山已很难不被拳民裹挟
由总加速师下油门,到底是向哪个方向开呢?
投资空壳、进出口凋敝、消费降级
只能祝大家不被动荡牵扯到?

但与此同时,对岸的🇹🇼 台湾人把自己的国家调教得很好。 毕竟无论香蔡英文如何被黑,都不可能和细🐷 一样当2024款毛腊肉的
👎1
duangsuse::Echo
^1笑点解析 #linux rootfs容器化的潮流下,$ mount 跟不上时代了 apt-get; systemd 做梦也没想到有人把挂载当cp 和pm2用 😅,效仿 apk, Magisk 了,直接放弃文件读写 (其实就是OS提供给 read,write,readdir 函数的 hook ,archlinux 一直是如此做 PKGBUILD ,玩得这么花 不就是为了免 systemctl start 免分渠道发包呗 天下苦OS碎片化久矣 ^2 #plt #learn CPS变换=ES6无栈协程=自动传回调…
#design #plt 看 Svelte runes 有感。谈一些个人梗

《献给sets变量集和cat-cut等价性的悼词》

一个基于JSON调用图的跨语言虚拟机,所支持的函数逆运算,似乎让 Eqs(cat=toStr,cut=parseInt).flip.oncat("10", *2) 取代序列化的荣誉结束了。以后只是 await "10".as(Eqs($=>nbase$(10)), B=>B*2)

Eqs.pipe([catcut链])
不只是输在前缀重复上。担当上新的IO范式,对于异步的「链式文件另存为」 "".as(open("inplace"), txt=>) 单靠双函数的pipe也是略显突兀的,
所谓消除语法噪声,可不是咸加糖淡加盐。任何的简化,背后若无心智模型,都将像Svelte5那样180度死转弯。 async的传染性绝对是问题、协程对forkjoin的掩盖很丑陋,而混淆长短任务会造成另一种问题

让函数支持inout()参数,作为“响应式”的新信号,竟灭杀了这两对可爱的、尚待扩充的、也是从死灰中立起一年的新词,就如 div(wOP({tap:n(x=>x+1)})) 对事件监听器们做的那样,简直动摇了框架之本

曾经,第一次把 from/into 换成更明确的 load/dump 或cat/cut。这种重命名带来的是归类上的改变,意味着「文件格式」不再与数据耦合,它们自己就能构成管道

base[64].cat("") 编码cut解码看起来多直观,但和 base(64).neg() 比起来却又太孤单。 我们曾以为,Eqs,file rw, 变量sets 是三种不同的模型,可如今「另存为」让文件格式能作为值, OSON调用图的「反函数」也让Eqs有了普通到不普通的人生

cat-cut 在各方面的一致性都很好,在有标准DLC.acty模型前,将插件cat进某事件、从程序里cut掉,是和JQ一样普世易懂的调用链。但链式终究不是定义式、组合结构的对手, 因为无this作用域而产生的它们,早该淘汰了。

说到底,文件的导入导出,本就只该实现write(),不需要有两个函数。 把{k:v}.sets换成.Eqs 也是出于一致性,
唯一不满的是 sets(()=>timers, 1..sRate) 相对 inout(t=>, 1..s) 牵涉的概念更小,更DOM。 但从整体来看,「共参数-藏参数函数,共读写参数」 可以概况整个Java,JS 界的设计模式

少量使用inout参数效果是拔群的:左值不再是易越界的「指针」引用,而是能把await、回调、流统一在一起的新酒, 很好地学习了JS Promise模型,用C-like和逻辑式编程摆了FP useEffect一道

等蕴含了可变量的「Eqs等价性」出师,回头看 Svelte runes 大概更像 ruins 吧

已记不起,是何时允许把 it.let{},map,find,forEach 都写成 it.as(x=>) as(An=>name) 而不区分let,lets
取代了only,if "仅有"的at, filterNotNull 又何时取代了 filterMap和when{} 判断

但不同往日,我正把「编程范式」与语法、与RPC方法 一道设计,让它们一同成长

这并不是复制OOP,FP, Lisp 或 Prolog ,但确实是在各取所长:
OOP对字典的叠加和配置力
Prolog对响应式和SQL的理解
Monad对列表与错误处理的简洁性、FP对方法和多态的全局函数化,对list的变量化
Lisp的简洁易移植,对DSL如JSON的组合与递归, 它与宏相等的闭包

很难想象,这么多算法与编程观、语法符号、命名文字的碰撞,与那些XX至上、一切皆XX的语言比较后,会产生怎样的差异呢?
duangsuse::Echo
#design #plt 看 Svelte runes 有感。谈一些个人梗 《献给sets变量集和cat-cut等价性的悼词》 一个基于JSON调用图的跨语言虚拟机,所支持的函数逆运算,似乎让 Eqs(cat=toStr,cut=parseInt).flip.oncat("10", *2) 取代序列化的荣誉结束了。以后只是 await "10".as(Eqs($=>nbase$(10)), B=>B*2) Eqs.pipe([catcut链]) 不只是输在前缀重复上。担当上新的IO范式,对于异步的「链式文件另存为」…
现在Eqs 也删了…… 好了,现在新术语都断代了 😓哭笑不得
和之前删掉 onclick "监听器" 的灵感不同, Eqv.js 是作为曾经框架名的抽象, 虽然晦涩..但像React那样代数 装逼不是? 它也被新支持的「反函数」给杀了..

如何给一个js字典添加「响应性」,之前用过 obj.ref.x, it.x, sets.x, Eqs.x 这4种方案
没有想过用Proxy,那玩意是做DSL的,重载'.'号而已

ref是最合群的,但既不简洁也不直白。 it缺少赋值语意,考虑到此API不常用,简洁是次要的
sets 融合了 watchEffect, 或者说 sets((A,B)=>A+B) (A,B) 是一个完美的嵌入,可惜不能写 sets.base64(inp) (看看effect和memo的各种坑和linter,幸好我没脑子一热就开工)

那么用 inout((A,B)=>), inout(0).as(x=>监听), obj.Out.x(0) 一致了不少,且对应了 roAge, rwStrm 这些前缀缩写

虽然真不知道限制参数可变性有啥用…… 「共赋值参数」么, 这个模型把之前的Eqs双转换打败了。
它优美地解释了反函数被赋值事件执行,这是cat-cut 简写所没有组合力:即便要写from,into两函数,实质上也只有1个方向 .Out

Promise真的是业界标杆的渐进式抽象啊…… 那些什么Future,Task,Rx 都烂爆了。 希望inout也是这样准确的名字

btw. Vue主最近批判的 React doc 易错示例, 听说Rea家觉得宿主语言不够FRP... 但 miniKanren.org 可是能把JS做成Prolog, LP的样子呢

这我就要谈一点暴论了: Lisp 对函数式也是一个皮毛。看它繁琐的 let-in 和对 '+' 的内化就知道,是连写调用图、加函数重载 都很困难的树状VB链表控 ,拼简单它还拼不过py
至于 Immutable和Memo ,在 #FP 里是正义,但扯上范畴论就是牵强附会了,甚至连 "1".as(Out($=>nbase$(16)), A=>A+"0")==16 这种反箭头都描述不了,因为一切只在表面上禁止'=',并没有变量-变量的逻辑联系,甚至 变量-计算的模块化都是渣, 能把 curry compose的调用链当"特性",这作用域策略有多废啊?

看到那些会对我的工作造成困扰的"Feature" 和理论,我可不会随他们复述, 只需要对比个同类项 优劣自在人心

附:Vue为啥没$: 看完这个我对框架PL知识的匮乏有认识了.. #statement
C 里 array 没size
numpy 里采样没 sampleRate
Svelte 里 $(0) 不能返回,就像C++的栈分配
React 有了hook和effect各种样板冗余,diff还是很慢
CSS 的弹性动画速率xy轴翻转,居然能起in-out 3个名字,过渡不支持JS属性
Haskell 到处用fmap这个CPS -相当于then(),又自带懒yield,错误处理和(.all)异步却是烂的

WebComponent 没有js对象-UI DOM 绑定
Linux乃至UNIX, 主流OS的线程不能等返回值,但read() 却能挂起等待
这些框架的“值类型” 为什么那么 valueless ,为了性能? 为什么这些设计错误被堂而皇之地沿袭.. 这也叫函数式吗
duangsuse::Echo
#FP #math 的一些 #statement #tool html bookmarklet data:text/html;utf8,<body ContentEditable> —10÷3=3…1 被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律 “理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群” 当然,纠结这些除和除以工程意义不大 ax+i=b; x,i=divmod(b,a) 的可变量元组数学里可是没有。函数只是“关…
#learn #dalao async https://lutaonan.com/blog/my-coding-road/
#go #os https://accidentallyquadratic.tumblr.com/post/113405561337/debian-sbuild

异步,就是在此Thread之外完成res=sleep()等耗时任务。不在一个调栈上,它的retAddr就必须转回调参数;因要建多个Task监听res —如FJP式并行,调用者就该用 event queue "epoll"而非 while(!res.ok)
C线程就是内核调度的协程,即「有栈协程」或虚拟线程,好在没await传染性
OS内核使用分时「抢占式调度」,协程则主动休眠并pass出自己的回调,是单核并发 无「上文切换」开销

TS使用的async 是从yield协程co()得来的平等协程,它在yield Promise的位置,传入状态机即续体NEXT
假若 yield(x) 的续体没被写死为 self.value=x,next=NEXT ,异步可直接传入回调NEXT
co-routine 和closure 都是靠栈转堆 “把编译器当OS内核用”。经典模式 while()yield 就取代了class Iterator{},这类似Linux cat .txt|less 毕竟文件流有时相当于SIG{HUP,CONT}
续体的局部变量+语句指针堆上分配,不占调用栈。语句走完后,触发then(retAddr)

占1线程应该 当队列 当CPU cycle。Go和Kt支持waitGroup,select "epoll" 也就是Promise.all,race 了,它们都给了协程作用域即错误边界
^FJP: ForkJoin, MapReduce
^如果 int waitpid() 能发扬fork()的魔术 返回JSON的话,多线程或许都会晚些到来呢?

JSDOM的并发撤销很保守,“用不到=不用学”,而某些新语言和Rx移动端的很狂野,好像《我会自己上线程池》是智子加锁的API一样
所以JSPy简直后端界良心
👍1
duangsuse::Echo
#learn #dalao async https://lutaonan.com/blog/my-coding-road/ #go #os https://accidentallyquadratic.tumblr.com/post/113405561337/debian-sbuild 异步,就是在此Thread之外完成res=sleep()等耗时任务。不在一个调栈上,它的retAddr就必须转回调参数;因要建多个Task监听res —如FJP式并行,调用者就该用 event queue "epoll"而非…
#blog #email 精选 🥰
Title: 同样是考场失意的JS迷,来点前端技术讨论
To: hi@taonan.lu
我(duangsuse)是搜「Vue大对新React docs 的批评」发现你博客的,看你最近有更新,也富有个人风格;我想要花时间写点字,就谈你在 lutaonan.com 分享的..所有文章吧?
我小时候的理想,是成为一名Linux运维,做自己喜欢的极客类工作;现在的日程是完善自己的编程范式,使它能为Web.dev创造价值(这可真是花了大半年,改了几百版“Talk is cheap”的API Set吧..晕)

跑两次能查出clearTimeout这样的问题,但对于vueUse没有也没毛病,因为函数拆分合理的话,人眼就能test代码才对。最好的文档/typehint 就是代码即文档,这方面推荐 CodeAesthetic.io yt
Promise的用途,被局限在async()=> ,但then:catch 的模型完全能cover Optional,Result 的业务。

dropout 应该是“被字句”吧,并不是你自己想要「不平庸」的。 在Linus看来,他应该是个普通人呢,他批评Nvidia时可没个“正经”样

作为喜欢冷门技术的人,我受够了那些含糊其辞的抽象。
天道不是酬勤的。有些人可以学古生物和拉丁文,我不必与所有人合群。 我们应该接受努力无效的可能性,过容错的人生、写链式的健壮,而不只是选择「正确」

..对了,4年前我还曾和Drakeet闹得不愉快。 但今天的我,不会因问题的答案而争执对错,
因为我所设计的,都是不会有标准答案的问题、是无可替代的解决方案。天赋的自信和适时的毅力,会是我对开源最好的贡献。

DOM 赋值是不需要js层去合并 microtask 的,js里改两次className看看CSS anim: 会不会放吧
为什么JS界总有自己比C++和SVG更重视性能的幻觉啊,明明 InsectObserver 都是近两年才流行起来的,之前是每wheel一下就要等调两三次函数吧?

- 作为框架eer,我会比学院派更「了解你的用户」,但我对DX的重心,会放在我敲代码之前。 好的代码肉眼能test,我设计的APIs也是从无数种test里脱胎的
- 我不想拿自己的尺子去度量别人,但技术上除外。 我尊重功利的人,会协作完成需求,但不容忍丑开源代码
- 至少在中国,许多CS学院派不能像张洪波、@lazyparser 那样 open-mind 。但我是很泛语言的,我能比较C struct, C++/Java class 的范式差异,也知道许多FP里的甜头(组合器,.) 推广到工程的难点在哪

FRP范式 UI=f(state),其实是对LP-面向变量集编程 的误解。实现Reactive是Signal而非Memo: mount(jsVar)(UIvar)
因此UIvar也未必是append的,可以是既存Node-可以用CSS选择器.. 可以0代码MVP..

用Java的眼光评数据驱动的JS是错误的,但这不意味着vuex是对的。 你的需求是保留状态树到local或URL参数,乃至handle SSR的上文切换,但这不会突破reactive() API
h(‘div’, 这种树Builder完全是莫名其妙的(和XML语法一样,人机不友好),还不比Java的new Record甜, vanjs.org 的好看不少 。怎么用JS的人没用过Ruby或Pug模板呢
#security #life 为什么说党国,更多是社会风气的结果 😢

回顾之前反转的 #android rm-rf 刷机远控事件, 底层互害的色调在 #china ,从革地主的命、不劳而获开始已奠好基

理想:前人栽树 后人乘凉
中国:前脚过桥 后脚拆桥 一手屯饭 二手砸锅

#tw 77,博恩: 有名有钱的人容易说错话,生气的旁观者容易一竿子打死理智的质疑,但请给大家改正的机会

「就算真的是沽名釣譽,社會仍然可以變好
如果可以有更多人跟隨這種行為
我還是會真心稱讚這種影片很棒
人生在世,有時何嘗不是為了一句:你做得很棒,有你真好!」
👎1
duangsuse::Echo
#security #life 为什么说党国,更多是社会风气的结果 😢 回顾之前反转的 #android rm-rf 刷机远控事件, 底层互害的色调在 #china ,从革地主的命、不劳而获开始已奠好基 理想:前人栽树 后人乘凉 中国:前脚过桥 后脚拆桥 一手屯饭 二手砸锅 #tw 77,博恩: 有名有钱的人容易说错话,生气的旁观者容易一竿子打死理智的质疑,但请给大家改正的机会 「就算真的是沽名釣譽,社會仍然可以變好 如果可以有更多人跟隨這種行為 我還是會真心稱讚這種影片很棒 人生在世,有時何…
#netease #china #life 如此打工三十年
「網易短片應該改成《驢拉磨》」
「兒子14歲就有小孩也太早了吧 自己的未來都不確定就製造傳承貧窮的孩子 」
“盖了这么多房子,没有一间是他们”,听到这句泪目了
中國導演管虎、專拍「民工」系列電視劇、非常寫實的演示民工對社會的貢獻與飽受歧視。

离远了看确实值得同情,走近了听听他们聊天,聊起日本、美帝,各个也都是咬牙切齿,仿佛那些才是他们苦恼的来源……
「他们年轻的时候为了建设国家添砖加瓦奉献了他们的青春,老了还要被榨干最后一丝价值,真的很让人心寒。还是那句话
他们或许很爱国,可国爱过他们吗?」
農民工互相殺價, 最後人人只得最低工錢...若他們自發組織同工種互助會...😢
#recommened #china 方脸
中国经济问题来源,通缩原理图

🙉怎么可能不向好呢,哪怕临时性平稳下滑,都是因为中国人太爱抱怨,被西方的普世价值带偏了(

VOA采访八炯:从热爱原住民旅游观光变「键政」, #hk 反送中功不可没

「革命」了共产主义,卻沒有选举的自由。
「發明」了指南針,卻沒有遷徙或安居的自由。
「發明」了黑火藥,卻沒有節慶雙休的自由。
「發明」了造紙術,卻沒有發帖的自由。
「發明」了印刷漢字,卻沒有閱讀的自由!
👎1
duangsuse::Echo
现在Eqs 也删了…… 好了,现在新术语都断代了 😓哭笑不得 和之前删掉 onclick "监听器" 的灵感不同, Eqv.js 是作为曾经框架名的抽象, 虽然晦涩..但像React那样代数 装逼不是? 它也被新支持的「反函数」给杀了.. 如何给一个js字典添加「响应性」,之前用过 obj.ref.x, it.x, sets.x, Eqs.x 这4种方案 没有想过用Proxy,那玩意是做DSL的,重载'.'号而已 ref是最合群的,但既不简洁也不直白。 it缺少赋值语意,考虑到此API不常用,简洁是次要的…
最近HOLP范式(human oriented logical p.) 的列表处理func重命名的比较多…… 索性打个表分享下

也是比较无语,代码都没写呢名字就改了5次,还不知道哪次的最好
即便如此,我也不能写出 https://www.lodashjs.com/docs 那样莫名其妙的查询语言

FP|v1|v2|当今
take/drop While|firsts/Out|trim(2,L=返回,R=忽略) trim(0,0)模拟py[:]|cut
findLast/Index|last().i|posR.is(,i=inout())| posR.had()[0].k 惰性数组 (今天又变卦了 😅
catch,try||may|or,as(res,)
cast|wasConvert|too|at
chunk/window|zipNext|sep|fork,pageN(2,-1)
flatMap..||join(Sum)
zip/unzip||TCol, 矩阵转置T
runningfold/reduce||Sum(DP数组)

因为同时在考虑RPC子语言和web前端、数据验证的需求, HOLP的各种命名会随着函数分类而改变
斟酌优劣还真是个麻烦事
Forwarded from 椒盐豆豉剪报
这两天的的 tech layoffs:
- Discord: 17%
- Unity: 25%(1800 人。Unity 竟然有这么多员工!)
- Google: 1000 人
- Twitch: 35%(500 人)
- Meta(IG): 60 人
Layoffs.fyi 上有更完整的名单。

(没错,我也自由中招了,今天的突袭跟上周大家在 blind 上猜测的风向相符。目前还沉浸在获得自由和躺平拿钱的喜悦中,不过过阵子就要开始为需要重新找工作而烦躁了也说不定乁། ˵ ◕ – ◕ ˵ །ㄏ either way 先躺躺再说)

#tech #news #Discord #Google #FB
duangsuse::Echo
#recommened #china 方脸 中国经济问题来源,通缩原理图 🙉怎么可能不向好呢,哪怕临时性平稳下滑,都是因为中国人太爱抱怨,被西方的普世价值带偏了( VOA采访八炯:从热爱原住民旅游观光变「键政」, #hk 反送中功不可没 「革命」了共产主义,卻沒有选举的自由。 「發明」了指南針,卻沒有遷徙或安居的自由。 「發明」了黑火藥,卻沒有節慶雙休的自由。 「發明」了造紙術,卻沒有發帖的自由。 「發明」了印刷漢字,卻沒有閱讀的自由!
#tw #history 台湾总统大选投票就在周六 🥰
文昭兄:"中共怕的是台灣民主",沒有什麼獨不獨,只要不如中共的意,台灣人不管作任何事說任何話都可以被當成逆子

《習思想通識入門》
第一課:🎓從兩百斤麥子到沼氣池—習個人思想
第二課:🎖反黨分子的兒子上清華—習革命思想
第三課:⚖️憲法與無限連任的主席—習法治思想
第四課:🚳三年大健康與共同富裕—習抗疫思想
第五課:🏚恆大中植與資本家末路—習無產思想
第六課:🐷十萬敏感詞與臘肉炒飯—習核心思想
第七課:💸股市保衛戰與通商寬衣—習經濟思想
第八課:☠️重回偉大復興的毛時代—習政治思想
👎1