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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
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速度的几千分之一。这类工作对大部分人是难以忍受的,但是对阿斯伯格综合征人士,这倒是一个难得的友好工作环境。
#net #sysadmin 🧐原版socks吗
Forwarded from Rachel 碎碎念 (IFTTT)
Clash 恐成最佳 socks5 server
— Rachel 呱 (@Rachel030219) April 19, 2021
Forwarded from Al Pt
写得可读性再差也不会提升什么执行效率的(笑
# 噪声消除 # 监听麦克风 # 分别控制不同程序的输出 # (同一程序)输出到多个设备 # 蓝牙 #dalao #linux pipewire-pulse 兼容和gui处理图工具 patchbay
strace -n ls
#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...
https://utcc.utoronto.ca/~cks/space/blog/programming/ConfigurationIsNotGeneric #configuration #programming
Chris's Wiki :: Configuration (and configuration files) is not and cannot be generic
#py #code
attrs是一种定义dataclass,/社区库的方法,它和库D都支持 validate和convert ,为啥说D不好呢? 首先,attrs生成的构造器和手写的一样,也没有 json: 这样不必要的预占位

from attrs import define
from pydantic import BaseModel
#json.dumps(cattr.preconf.json conv unstruct()) / as_dict(aobj)

@define
class AttrsDatetime:
a: datetime = field(validator=instance_of(datetime))

class T(BaseModel):
a:pendulum.DateTime
T('2021-..').a#wrong type!


" it allows automatic de/serialization to formats that don't support datetimes natively
I disagree with this. Un/structuring should be handled independently of the model...

D的序列化不可能同时允许两种格式,如 ISO/UNIX 时间
timeit约慢3倍
from cattr import Converter
D里需要 override the json_encoder field in the model config. 且只支持了json (so no msgpack, bson, yaml, toml...), 甚至没 ujson 外的库

D支持的显然是实用外的东西,比如
PydanticOuter(a={"a": 1}) PydanticOuter(a=PydanticInner(a=1)) 和悲观错误检查
从 ls --color=atwhat 谈到 rust, ioctl/TTY? 与syscall

这个博主的风格我很喜欢,是好的科普博主🌝 #dalao #blog
在二进制/posix段 可能是我见过最厉害的对话文了 #recommend
"$s" 这个我深有感触,这种默认语义错位绝对是shell 最大的败笔;但是命令行有 参数替换、&&和管道、for-loop,历史补齐就够了,而且这年头有人会用cli吗😂

shell的错误在于用那一点字,想支持的太多了,以至于人类无法利用。许多资深运维区分嵌套的 '"$x"wtf' 已经是极限,让人搞不懂为啥要整这些幺蛾子;但我还是支持 $(basename .) 替换和局部 alias 这样写的,man bash 也好看一点了-但一点也不方便
既不考虑disk,也不考虑net dl的caching ,不支持任何现有包管理依赖、文件树,只有优美的「沙箱」隔离空间🌚