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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
你知道吗? #tg #web 使用了一种 自制编程语言(TL) 定义 MTProto ,后者 涵盖和HTTP一样广,但是TL语言的长难句多的如同梦呓…… 看起来它是优化ASN.1但是失败了 😅

TL里每个类型的修订版本,都有一个hash,甚至于 bool null list 都有,只是从来不变……
和REST一样,TL也有把dict读取作函数调用的方法,这时 blob.(type) 是远程方法ID

如果仔细了解下 Telegram Core 的开源信息,你就会知道为什么Signal不如它的一根毛了, 这都是什么绝绝子程序员啊 😅

我不得不吐槽,这命名都是什么鸟语; 但也可以说,如果tg开发者连学术都不会,没有能力重造轮子, Telegram 生态也不会如此独一份了

Telegram delivers messages faster than any other application.
Telegram has an open API and source code free for everyone.

Telegram lets you completely customize your messenger. (主题系统甚至 90% 用户都没在用,散户程序员都无力开发)
https://instantview.telegram.org/

就不说大家每天都在用的IV和TON平台了,官网上写了 Web&Linux 客户端的都是神人, Durov 的这个和 酷安 比,那酷安不是没法比。 技术上,资本上,云计算格局上,比不了鹅爹。 😅

谁懂老杜的含金量啊, 无论如何,这确实是一个尊重技术的 instant messaging 龙头

https://core.telegram.org/schema#Layer2
https://core.telegram.org/mtproto/serialize#polymorphic-type-constructors
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
更优解:为手机添加固定主机名,就没有DConf(uid=1000)连接问题 😓 dconf write /system/proxy/socks/host '"ipr"' cat>/etc/udev/rules.d/99-usb.rules <<OK ACTION=="add", SUBSYSTEM=="usb", RUN+="/bin/sh -c '(sleep 2;eval \$(base64 -d<<<c2VkIC1FaSAicy8uKiggaXByKS9gaXAgcnxoZWFkIC1uMXxwY…
#net #tool FRP(获取公网ip/https地址, 局域网穿透反代)

https://raw.githubusercontent.com/sky22333/shell/refs/heads/main/dev/cf-tunnel.sh
需要在 sock.sh 加速下在 sudo bash 里执行,可以多次配置
systemctl restart cloudflared-tunnel.service
HOST_FRP=$(cat /var/log/cloudflared.log |grep -oE '| https://.* ')

#下面是自定义域名的
cat >~/.cloudflared/config.yml<OK
ingress:
- hostname: a.com
service: http://localhost:80
- service: http_status:404
OK
cloudflared tunnel {create,run} a


免登录,登录($ cloudflared login)也免费,每次一小时,可以作小程序调试用
duangsuse::Echo
#linux #bing USB共享网络的SOCKS代理? #bash #tool cat>/etc/udev/rules.d/99-usb.rules <<OK ACTION=="add", SUBSYSTEM=="usb", RUN+="/bin/su duangsuse bash -c 'export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus; (sleep 2;eval `base64 -d <<<ZGNvbmYgd3JpdGUg…
#tool USB绑定局域网还有个好处,就是可以用手机的 Termux
不需要 https://gist.github.com/devmaars/8e33a1edefc4b048a433651a1fc89844 这么麻烦

pkg add sv openssh nodejs
passwd #设置'a'
id # u0_$app
sv-enable sshd
npm i express node-fetch

mkdir -p ~/.npm-g # 似乎依然不能用 -g; 有问题可以cd一下
npm config set prefix ~/.npm-g
echo 'export PATH=$HOME/.npm-g/bin:$PATH NODE_PATH=$HOME/.npm-g/lib/node_modules' >> ~/.bashrc


然后在大屏上 ssh u0_a331@ipr:8022 选yes即可, 不过 aarch64不支持bun
bun run - <<<'import { serve } from "bun"; serve({ fetch: req => fetch(`https://api.telegram.org${new URL(req.url).pathname}`, req.method === "GET" ? { method: req.method, headers: req.headers } : { method: req.method, headers: req.headers, body: req.body }), port: 8080 });' 

node -e "require('express')().use('/', require('http-proxy-middleware').createProxyMiddleware({target:'https://api.telegram.org',changeOrigin:true})).listen(8080)"

这也是一个反代,不过是用来翻墙的
Forwarded from codedump的电报频道 (老C)
#人工智能
前阵子想开始学习一些深度学习的原理,从豆瓣上找来了传说中的鱼书第一册《深度学习入门》,马上就看进去了。浅显易懂,把深度学习和神经网络的相关知识都讲解的很好,没有采用类似PyTorch这样框架做为代码用例,而是用更基础的NumPy库来讲解代码原理。随后看了这套系列书的整体评价都很好,所以就全部收集下来打算都看看。总而言之,如果你和我一样之前都是相关领域的门外汉,强推这套书拿来入门,最近也出了第五册讲生成式模型的。
Forwarded from Video Download Bot
This media is not supported in your browser
VIEW IN TELEGRAM
b23.tv/BV13p3izeEQ1
黄 杨 历 险 记.mp4

Resolution: 1404x1080
Duration: 43 seconds
Forwarded from 张晋涛👀TIL
哈哈哈哈 这前端圈不得炸锅?

可能有点像当年 hg 粉丝某天发现 bitbucket 宣布停止 hg 换 git 的感觉了 🤯


We are excited to announce that NuxtLabs is joining @Vercel to pursue our mission on creating the best DX to deliver the best UX.

Read more at nuxtlabs.com
dnaugsuz
即使使用英文, #PLT 领域内就连最简单的术语都充满着歧义和晦涩。如果你对 PLT 里的各种术语仍未祛魅,去搞清楚 dependent sum type 和 sum type 的区别吧,这是每一个 PLer 学习过程中必吃的 💩。 啊,这个 #dalao 说的道理太好了,我太喜欢了 https://github.com/anqur/TinyLean hole 和 React useHook(var) 差不多,这种比喻都被一些人视为不优雅的。 就是要去魅,要抽象,要解构 比如那个栏目答(入x. x+1)…
我第一个经过验证的命令式程序
原文:https://markushimmel.de/blog/my-first-verified-imperative-program/
阅读时间:13 分钟
分数:173

Hoare三元组的一般形式为{ P } S { Q },其中P和Q是断言(assertions),分别称为前置条件(precondition)和后置条件(postcondition),S是一个程序语句或程序段。
含义
{ P } S { Q }表示如果在执行语句S之前,程序的状态满足前置条件P,并且语句S正常终止,那么在语句S执行完毕后,程序的状态将满足后置条件Q。也就是说,前置条件描述了执行语句S之前程序应满足的状态,后置条件描述了执行语句S之后程序应达到的状态。

#PLT 笑传之重重彼
都是车轱辘话
duangsuse::Echo
#linux #tool https://github.com/systemd/systemd/pull/32510 不知道你们是怎么查命令格式的, 我写了个脚本专门可视化help并延时搜索 cht.sh 其实我挺奇怪, argparse 这么机械化的格式,为啥打包者要手写bash complete -F 脚本,甚至重造getopt("h:v"), 以至于 import fire 都要以生成各种sh补齐为功能点 ——它的大特性显然是用OOP解释了bash subcmd -f x -f1 X 而不是反过来,就像…
#linux 我觉得bash这些东西也真是垃圾, 可以说是完全不可扩展,拍脑门子

没有作为框架的意识。 比如,能安装文件,但反函数(卸载)需要手写;能解析参数,但补齐需要另外写, 而且 colorize 起来也很麻烦
alias w=echo who-w=$(which w)
declare -A tputKV=(
[🟥]=1 [🟩]=2 [🟨]=3 [🟦]=4
[🟪]=5 [⬜️]=7 [⬛️]=0 [🏙]=6
)
for d in {0,8}; do for k in "${!tputKV[@]}"; do
declare -A "fputKV$d[$k]=$(tput setaf $((${tputKV[$k]} + $d)))"
declare -A "tputKV$d[$k]=$(tput setab $((${tputKV[$k]} + $d)))"
done; done
I=$(tput sgr0)
tputKV8['⬛️']=$I
FG() { w ${fputKV8[$1]}; }; Fg() { w ${fputKV0[$1]}; }
BG() { w ${tputKV8[$1]}; }; Bg() { w ${tputKV0[$1]}; }

FBG() { u=$(node -p '((ks,v)=>"w "+process.argv[1].replace(/\b(.)(-?) /g, (_,cv,b,i)=>(i=ks.indexOf(cv))==-1? cv : `$(${b?"B":"F"}${process.env.g?"g":"G"} ${v[i]})` ) +" $I")("BYGRPZWI", [..."🏙🟨🟩🟥🟪⬛️⬜️🟦"])' "$*"); eval $u; w $u; }


Pwsh, Zsh 与它们相比就有思想多了

现在软件开发30%的过度工程都是UNIX脚本小子害的,可以说功过六四分
https://github.com/sharkdp/bat/blob/master/assets/completions/_bat.ps1.in#L23
3
duangsuse::Echo
没有作为框架的意识。
让我觉得匪夷所思的是, FRP 脚本有很多,但基本都是拿到地址就(可以公网)测试了,就像你只是调用了一下curl而已

Linux hostnamectl 这个特性,似乎是可有可无的,存在感比蓝牙设备名还低
这就像一些 http/ftp-server 测试服务,启动后不会 print URL 句柄,要你根据port去猜

当我封装CF的公网tunnel时,理所当然就把此服务封装成 $HOSTNAME 了,回头一看我居然是异类。 😅
twistd -n ftp -r .
python -m pyftpdlib -w -p 2121 .: 开启匿名FTP上传。 MT管理器 可用,唉,GNOME还不如MT

ps. 好吧…… 脚本其实挺少的,不过我这么加 .com 也未必是UNIX主机名的本意。有由谁知道 write $USER <<<'fsck u' 可以在tty下看到广播?

可编程性就是从约定里来的
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 不靠谱的喵(>^ω^<) #CatGPT (Yuze Wu 🐱 | 女子大学生 | 喵!)
放弃幻想.jpg
#tg 炸掉的VIP翻译似乎好了
duangsuse::Echo
可以说是完全不可扩展,拍脑门子
#bash 作为90%部署团队和程序员都要用的玩意,一个胶水语言,我整理个语法十宗罪 😅😅


提前叠个甲,我觉得bash的分号和分词问题( if [ ]; then...fi 里 '[' 展开为test命令,只有(...块)和return是真语法,因此, [ x=y ] 无效, x = $((x+1)) 也无效…… 包括可嵌套的 "hi ' "" '.." ,这些怪癖不影响语意,只会让强迫症砸键盘

我也不吐槽「所有」编程语言都有的赋值默认global、没有默认return、包安装发布比不上pypi的毛病,而且 bash 的 cat/echo> IO 其实还算好用的,启动也尤其快

- --help 既没有高亮阅读器( ? ls ),也没有统一规范,空有个需要程序员手写的Tab补齐。 cli 传参不过就是 URL /:path/?param ENV==kwarg body=stdin 这样的模式,统一不了么。
- |awk sed 一把梭,一切皆str,没有逃生窗口,没有csv和toml。 pwsh再次完胜GNU.😅
- 经常出现 nano; 退出; gcc; nano 的循环,没有 live reload (ps. ! prefix 可一键重复旧命令 谁知道),也不能把其他pid的jobs/tty连接过来,只能一遍过:改参数、改 -o 也麻烦

- "$str" 是参数引用, $fn 是vararg或命令指针(仅全局,不可以SAM捕获😅
- () 这么重要的语法被拿来开“subshell”, is&&(say;cry;return) 这样的现代流控不能写, echo $(echo 1) 却不配拿简化
典型的先辈的罪, 设计API你不看词频,也不查重?🙉 #statement
- <<heredoc 内的$也有效,不适合内插pyjs等语言(bash自己需要 declare -f 内插),不如ES6安全内插
- 不支持参数名、闭包(比如, systemctl | grep {is u type : service & (u pid)>1000} 这种)
bash 确实没法把cli都对象化,但提供方法表是很轻松的(取值时 systemctl status $you)

当然RPC绑定太麻烦了,要先把{is u type} 序列化成sh字符串,在回调时再去取status, 但也是有意义的,比如 apt info x 变成 $x info 后,可以在grep里属性访问了

- 管道不支持 -o file 的命令,2>&1 1>/dev/null 太麻烦(fish 里是 |& ),返回值基本只判定非0,没有errno那样的统一
- env表没有基本的str/int/csv列表类型,和argv一样; int fd cookie也没有类型(实际上它是种轻量对象)
- env不能作状态持久化,也不支持像Telegram一样,给输出消息或apidoc加按钮(比如sudo重新执行还要复制粘贴)
Please open Telegram to view this post
VIEW IN TELEGRAM