duangsuse::Echo
712 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 &'a ::rynco::UntitledChannel (Rynco Maekawa)
卧槽 这下人人有盒开了
——-
似乎是有一个 15 岁(???)的小孩被甩了然后把手上的 80 亿盒泄露数据全发出来了。据称总数据量已经达到了 80G+。

本频道并未验证,也无意验证数据的真实性,不过请各位订户小心。

现在的年轻人好可怕啊。
#learn #security #recommend cryptocurrency/Web3
区块链的本质:公私钥防止客户端说谎,挖矿(链表)防止服务群选择性地记录事实
https://bitcoin.org/zh_CN/how-it-works 💵
https://ethereum.org/zh/glossary#51-attack 👿
ETH不是稳定币(任何P2P炒币都是骗局) 今天200CNY=0.01 ETH (注意不是dapp-智能合约 的 token/WETH NFT 代币)

ETH区块链 是一个分布式数据库,钱包客户端广播的EVM代码,被每个服务节点执行来验证帐目更改的可信性。交易双方需要联网,无人能双花链中的记帐(重放攻击)。
记帐权则由矿工等验证者竞赛排名,且链里越旧区块的帐越难撤回(集群时差攻击),因此挖矿或质押是eth印钞最合理的锚
你可能用ATM机的视角,把某人的eth钱包理解为「带私钥签名的RPC广播发送者」并认为区块hash的链就是git commit 历史,但,虚拟币和允许预置公钥prelude的中心化SSL不同,账户可以随时创建,区块则通常包含数十至数百笔交易。

在以太坊网络中,每一笔转账,无论数额大小,消耗的 Gas 是固定的,为 21000Wei
从 Jordan 帐户中扣除 1.000252 个以太币。 Taylor 的帐户增加 1.0000 个以太币。 验证者收到价值 0.000042 个以太币的小费。 0.00021 个以太币的 base fee 被销毁
油价随网络拥堵上升,自定义脚本按计算量给出小费。其实BTC也能以程序来替代传统的纸质文件条款,并由计算机集群强制执行 但有限时
Transfer(from,to,value) event; address(msg.sender).send(1 eth) 最常被调用。存储变量很贵但和记帐一样安全,冷门玩法见 remix.ethereum.org, https://solidity-by-example.org/app/ether-wallet/

区块由质押32eth的权益证明验证者,每12 秒提出(PoS)。这是一个只增链表,通过P2P共享并被质押者验证,类似BitTorrent的DHT(eth也使用Kademlia引导节点)。
每6m24s,整个网络的状态被验证,撤销一笔已完成的交易将销毁 1/3 质押的 ETH
曾经在基于PoW时(工作量/耗电证明,2022.9废止的ETH挖矿),每个交易区块由试错竞赛打包。并发冲突被分叉选择法 合并至最大证明难度的区块
挖矿(将新交易块打包到链中)的难度和中彩票相当,没有国家或组织能垄断记帐。因为矿工的电耗,玩时差很难实现,除非投入全网含历史记帐的51%的算力却不用来挖矿

节点至少需要2TB的SSD (full快照需要12TB),轻节点需要20GB 。目前有97%的节点运行Linux,35%架设在美国
与BTC不同,整个EVM可以为Solidity程序提供 CryptoKitties.co 这样的算力资源(曾占用15% 严重影响转账),在北大岳昕事件中,使用的转账铭文也无法被任何国家或黑客删除

中本聪2008发明的BTC仍然基于挖矿,并且不使用 “账户-余额”,任何地址只应使用1次
当前所有的UXTO金额之和,等同于自创世区块到当前区块的挖矿奖励之和。
Alice 持有两个 UTXO,分别价值 0.5 BTC 和 0.7 BTC。当她向 Bob 支付 1 BTC 时,可以使用这两个 UTXO 作为输入,然后将 1 BTC 的输入发送给 Bob。
Alice 还要另外创建 0.199 BTC 的输出地址作为找零

BTC挖矿者需要解决一个SHA256哈希碰撞问题。超算平均也需要10分钟来解决,意味着在答对前需要数以亿计次尝试。
公钥可由私钥根据ECDSA(PKI算法之一)推算出来 从而很容易验证,反过来想都别想,所以不必保存公钥。公私钥分别占2和1个256bit
ECC算法会在标准曲线y^2=x^3+7 上自一点G设离散对数问题P=kG ,k*P将获得公私钥互补的秘密值,用私钥对hash加密被视为签名,此为零知识证明
从现金和存款的角度看,现金是M0,而银行存款是M1和M2 -只是用户的“提款期权”,对应着银行的负债。用户必须信任银行中介不会篡改余额

https://etherscan.io/nodetracker 全球的交易区块和历史链
https://blockchair.com/ethereum
https://stablecoins.wtf/ cool #ui
https://coinranking.com/coins/meme 查看50页人人可创建的代币 ps. 域名都可以拿来用啊NFT能干什么
Forwarded from Solidot
小数点的发明比以前认为的早 150 年

2024-02-21 21:58 by 泰山复仇

小数点是“人类向前迈出的一步”,使现代科学技术的计算变得简单高效。此前人们普遍认为小数点最早出现于德国数学家 Christopher Clavius 1593 年撰写的天文表中。但发表于《数学史》的研究分析了意大利商人、数学家 Giovanni Bianchini 在 1440 年代编制的天文表,发现小数点的发明比之前认为的早 150 年左右。历史学家认为,这一发现改写了数学基础发现之一的起源,并表明 Bianchini 受过的经济训练与其他天文学家形成了鲜明对比,这可能在数学史上发挥了比此前认为的还要显著的作用。Bianchini 在掌管统治费拉拉公国的强大埃斯特家族遗产前是一名威尼斯商人。除了管理资产和指导投资外,Bianchini 还负责占星,这意味着他必须掌握天文学。他出版了从行星运行到预测日食等主题的多本著作。

https://phys.org/news/2024-02-decimal-centuries-older-historians-thought.html
https://news.sciencenet.cn/htmlnews/2024/2/517705.shtm

#数学
Forwarded from Solidot
Google 宣布开放大模型 Gemma

2024-02-21 22:17 by 爱的左边

OpenAI 的名字中有 Open,但它的大模型不开放也不开源,如今开源大模型主要来自于巨头如 Meta 和 Google。Google 宣布了它最新的开放大模型 Gemma。Gemma 由 Google DeepMind 等团队开发,是轻量级的大模型,有两个版本:Gemma 2B 和 Gemma 7B。Google 称这两个版本在各自的参数规模上展现了最佳的性能,甚至超过规模更大的模型。在基准测试中,Gemma 7B 的得分与目前最优秀的开源大模型 Mistral 7B 差不多或更好。

https://blog.google/technology/developers/gemma-open-models/


#人工智能
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
Forwarded from Solidot
中国 AI 模型建立在美国模型基础上

2024-02-22 18:13 by 机器岛

李开复的 AI 初创公司 01.AI 去年 11 月跃居开源人工智能系统能力排行榜的榜首。它的部分技术是基于 Meta 公司开源的大模型 LLaMA。李开复对此在邮件中表示,他的初创公司的人工智能模型是建立在 LLaMA 上的,就像“其他大多数 AI 公司一样”,并补充说,使用开源技术是一种标准做法。他说,他的公司使用自己的数据和算法,从零开始训练人工智能模型。这些都是 01.AI“表现出色”的“主要决定因素”。Meta 发言人表示,公开分享该公司的 AI 模型有助于传播其价值观和标准,进而有助于确保美国的领导地位。一位投资公司的合伙人称,中国公司从零开始建立的 AI 模型“不是很好”,所以许多中国公司经常使用“西方模型的微调版”。

https://cn.nytimes.com/technology/20240222/china-united-states-artificial-intelligence/


#人工智能
#algorithm #history 方脸:为计划经济诞生的「线性规划」 https://youtu.be/1cLWzo78Q5g?t=900
#code
import numpy as np
import scipy.optimize as lp

# 优化目标函数:maximize 2X + 3Y
c = [-2, -3]
# highs限制条件:5X + 8Y <= 50, 10X + 12Y <= 120
A = np.array([[5, 8], [10, 12]])
b = np.array([50, 120])

# 设置变量的取值范围
x_bounds = (0, None)
y_bounds = (0, None)

# 解决线性规划问题
r = lp.linprog(c, A_ub=A, b_ub=b, bounds=(x_bounds, y_bounds), method='highs')
val,x,y=-r.fun,*r.x
print(f"最大利润为 ${val},此时生产 {x} 个产品 A 和 {y} 个产品 B。")


在列宁格勒呢,有一家胶合板生产厂。它有80台两种型号的机床,生产5种不同型号的胶合板。而不同型号的机床生产胶合板的能力不同。

那么,如何合理的分配每台机床的作业时间和物料投入,使得胶合板的产量最大,就是胶合板问题。这个呢,看起来是一个简单的数学问题,和我们日常做的一些高考数学题呢是类似的。当然了这对一个高中生来说,只要好好学数学,这个问题呢,并不难解。但是问题是这里面我们能解出来是因为我们只考虑了单一工厂的前提之下的。可是苏联的实际情况却不同,

就比如这个胶合板的生产。除了要考虑自己的工厂怎么样生产效率最高,它还要考虑胶合板的原材料,比如木材的供应量。而考虑到木材的供应量,除了要考虑伐木工人的数量,还要考虑到伐木机的生产数量。而伐木机的制造数量又要考虑到钢厂的产量。此外,胶合板的生产还要考虑到使用的问题。胶合板有的时候用于房屋建设,有的时候呢也用于飞机制造。因此,还要考虑整个国家的房屋建设数量以及飞机制造数量。而飞机制造数量房屋制造数量又牵扯到非常多的问题。所以一个胶合板的生产规划是远比我们想象的要复杂得多的。

而根据苏联自己的记载呢,在1960年代,苏联国家计划委员会要对苏联及其加盟国的10,500个商品实施生产计划,而统一规划生产的工厂更是达到百万之多。想要分配这些产能在没有计算机的时代是一个非常困难的事情啊,甚至在当下有计算机这也是一个非常困难的事情。而为了优化这个计算,苏联时期还诞生了不少的知名经济学家,比如列昂尼德坎托罗维奇,他就在优化上面提到了胶合板生产问题时提出了线性规划,从而获得了1975年的诺贝尔经济学奖。所以这个计划经济虽然是个笑话,但是实施起来并不像我们想象的那么简单,只要国家一声令下就可以搞起来。

我们看历史总说中苏交恶之后苏联撤走了原子弹的专家撤走了这个那个专家导致中国的科技发展停滞。但其实对于当时中国最为致命的不是撤走专家之后原子弹发明不出来,而是撤走专家之后中国的计划经济搞不起来了。苏联因为有一系列的数学大师和经济专家,虽然他的计划经济呢可能会因为生产规划的问题导致大饥荒,但是,起码在有数学家和经济学家的前提下,这个计划经济他是能跑起来的。 🤓
Forwarded from Solidot
Reddit 申请上市

2024-02-23 14:34 by 终极失控

社交媒体公司 Reddit 正式向 SEC 递交了上市申请,它计划用股票代号 RDDT 在纽约证交所上市。预计在三月进行的 IPO 将是 2019 年 Pinterest 上市以来美国社媒公司的首次 IPO。文件显示,Reddit 2023 年的收入为 8.04 亿美元,比 2022 年的 6.667 亿增长 20%。该公司由 Alexis Ohanian 和 Steve Huffman 于 2005 年创办,成立至今一直亏损,2023 年亏损 9080 万美元,2022 年亏损 1.586 亿美元。它的主要收入来自广告,计划 AI 改进 广告业务,通过内容授权开辟新的收入来源。Google 周四宣布与 Reddit 扩大合作,使用 Reddit 上用户生成的内容训练其 AI 模型。Reddit 称其内容许可授权每年至少能带来 6640 万美元的收入。

https://www.sec.gov/Archives/edgar/data/1713445/000162828024006294/reddits-1q423.htm

#商业
#java #code serde codegen
用jshell API 实现了一个ini序列化,大概比直接靠javac 简单
>以下代码实现了 dumps(Pair::class) (Pair(0,0), mutableMapOf("first" to 3))

fun dumps(T:KClass<*>, ld:T=JS("(void)(${T} o, java.util.Map<String,Object> m){"+
T.memberProperties.joinToString(""){" m.put(\"${it.name}\",o.get${it.name.capitalize()}());"}+"}")!!
)=fun(o:Any, m:Map<*,*>)=ld.main(o,m).let{m}



所以说py真的太解压了.. setattr() 就算动静态隔离,typehint还能做格式验证
js稍微乱点
java 连个规范的元编程方法都没有,一群魔法师

我是觉得一个老古董语言就不要和jspy 比面向event和类型反射
Compiler 和 JShell API 就是tools.jar里的,做不到比 CLI更强的功能,就是调用快点
JS("") 和runtime其实是完全隔离的,它的classpath 相当于是编译期的,你可以把生成的代码按行号缓存下来,不需要defineClass
vs

// 定义一个 data class
data class UPair(val A: Int, val B: Int)
@Mapper
interface UPairMapper {
// 定义一个映射方法,用于将 Map 转换为 UPair
fun mapToUPair(map: Map<String, Int>): UPair
}
val mapper = Mappers.getMapper(UPairMapper::class.java)

mapper.mapToUPair(mapOf("A" to 1, "B" to 1))

https://github.com/mapstruct/mapstruct/issues/1672#issuecomment-969265894
https://gist.github.com/duangsuse/d022c7ad037bb7fed446f72ec9b38ef7
Forwarded from Programmer Humor
[instanceof Trend] weBetrayedHim
https://redd.it/1axdpp5

by @programmer_humor
duangsuse::Echo
https://t.me/seedless_channel/1655 #statement #PLT #dev #reaction “我有一个每天都要运行的Python程序,每次运行需要1.5秒。我花了六个小时用rust重写了这个程序,现在这个程序运行一次只需要0.06秒了。41年零24天以后,效率提升节约下来的时间补偿了我重写程序的六个小时。:) 这条没错啊,这个作者,根本没搞清楚「大型软件」和demo里,开销都花在哪里 所有软件都巨巨巨巨大无比,这也是和性能无关的 “整个网页/SQL 数据库的架构…
对「日用软件工程」的讽刺文章 内容更新了
真知灼见,字字珠玑啊 #design 😨❤️

> 你会买百公里耗油100升,甚至1000升的汽车吗?在软件行业,我们一直这么做。
> “你需要拼命地奔跑,才能保持呆在原地”。从iOS 11开始,系统将不再支持32位的应用,Chrome的一次更新,就能够让某个JS插件失灵
> 小白用户换上新设备,只是为了运行变得越来越慢的Apps吗?

现代汽车工作效率可以达到当前引擎设计的98%的水准
现代建筑使用刚好的材料来搭建并且在确定条件下保持安全
现代软件行业,大厂普遍接受程序存储和运行在1%甚至0.1%的算法效率上。
当大多数开源还不可靠的时候,机器学习和“人工智能(AI)”又将软件推向了靠猜测的阶段。

> Jonathan Blow 自己开发给自己游戏开发用的编程语言,在笔记本上每秒可以编译50万行代码。而且是全新编译,没有中间缓存,没有增量编译。
> 编写高效的程序不需要你是天才。这并不需要什么魔法。只是不要在现在的臃肿不堪的工具链上去构建就行。

最新的顶级Macbook Pro上,谷歌邮箱,在谷歌自己开发的Chrome浏览器上,需要花费13秒的时间打开邮件
Windows 10大小是4GB,是Windows 95的133倍大。但是Windows 10比Windows 95高级133倍吗?难道整个安卓比这4GB还复杂1.5倍
Windows 10需要花费30分钟来更新系统,什么流程需要这么长的时间呢?30分钟都够我彻底格式化我的SSD硬盘
你有没有想过为什么你的智能手机需要30到60秒的时间来启动。为什么它不能在1秒内启动?这里并没有硬件限制^

10年前一张光盘就能存储操作系统,系统应用和你所有的数据内容。
3年前,16GB手机能良好运行使用,但是到了今天,16GB和膨胀两倍的安卓8.1的手机,已经没有选择游戏和"微"信的余地
然而安卓8.1,并没有带来性能的变化和功能提升,它就这么膨胀了?

一个没有安装任何其他APP的Android8占用6GB的存储空间。请比10年前的软件想一下,程序员们该有多么巨大的进步。
这里面有高清电影吗?我猜大部分应该是代码:系统内核,驱动,翻译字符串,这些资源都不应该很大!
谷歌App,基本上就是谷歌网页搜索,需要350MB空间!谷歌Play服务,我基本不用,需要300MB空间

——
现代editor的输入延迟远输于42年前开发的Emacs。还有比编辑器更简单的功能吗?每敲击一次键盘,你所需要做的仅仅是更新一个小小的方形区域
一个3D游戏可以在这个时间内刷新整个屏幕,渲染成千上万的多边形。同时还处理用户输入,重新计算环境世界

Web应用都会报出大量的“随机”JS错误。
如果网页出现什么问题,只会提示你F5。谁有时间去研究到底什么地方改变了?
整个网页/SQL数据库的架构都建立在当用户浏览渲染出来的网页时,不会去操作任何数据的假设 🔥
原始讽刺:https://motherfuckingwebsite.com/
进阶讽刺:https://thebestmotherfucking.website/
反向讽刺:
https://thebestmotherfuckingwebsite.co/

你桌面的todo应用可能是基于Electron写的,所以它包含了一个Xbox 360控制器的用户态驱动在里面(QQ虚幻引擎警告 😅),这个驱动能渲染3D图像,播放音频,用你的网络摄像头拍照。
你应该将Slack划分为极其耗电型应用。聊天室和简单的文本编辑工具,这些应该都不是资源消耗型的应用才对。欢迎来到2018。
开发Node.js/Javscript项目,rm -rf node_modules 一直是码农工作过程不可或缺的部分。
在虚拟机上构建Docker容器,ONNX,就因为没人可以理清楚程序,编程语言和运行环境的混乱状况。

^注 #bash
systemd-analyze blame|tac|sed '/lightdm/q'

1.986s lightdm.service
2.1GHz 8G 的x86_64 Linux上启动只需2s 🥰 安卓慢不是Linux的锅
另外,pacman 的安装速度比apt;rpm几乎是快一倍的

不同的CPU指令集有体积差异,arm64几乎是32的二倍,这就显得Android的字节性价比奇低了-堪比JavaEE。 不知是不是系统apk的冗余res/文件太多
每次你 ./configure ,gcc都会重新计算一个完全能被缓存的CPU info,即使不换语言用cmake也能避免这点。 C指针语法的繁琐和预处理也会极大拖慢parse的时间
(for A in armv7 aarch64 x86 x86_64; do wget --spider 2>&1 https://mirrors.ustc.edu.cn/alpine/v3.19/releases/$A/alpine-standard-3.19.0-$A.iso; done)|grep 长度

长度:107423744 (102M) [application/octet-stream]
长度:220485632 (210M) [application/octet-stream]
长度:167772160 (160M) [application/octet-stream]
长度:217055232 (207M) [application/octet-stream]
💭
一些人可能觉得W95时没有 .NET 这样的框架,各种UI也很简陋,但这也是扯淡
要知道 7zip.org 可以用1M实现文件管理器的功能
qemu.org,ffmpeg.org,msys2.org 加起来也只250M, 难道内核驱动会包含更多算法吗?
而自带驱动的 pacman -Qi linux 6.7 x64是130M,原文作者 #rust 吹并非空穴来风

功能类似的PS和 gimp.org 居然差0.7G https://helpx.adobe.com/creative-cloud/kb/file-size-creative-cloud-installers.html#:~:text=Photoshop%20CS6
功能和代码量似乎根本没有对应性

难道框架接口不是为服务于apps存在的吗? 随着技术进步,过分冗余的功能组件太多了

我觉得编程界的市场也是挺有趣的,明明速度在下降, 工资却依然涨
这又可以说成资本对劳动和技术的异化 又可以说成资本故意淘汰老设备

但其实编程界好像就是这样…… 无法多快好省地换代,有得有失
我觉得可以搞个绝对化,一切有局部类型标注,或者为val/var数据类型做区分的语法都是噪音(

一个编译期黑盒assert 当成金科律玉,说明根本没有做自顶向下复用 就开始敲键盘,根本是过度工程
文档写成测试,测试写成汇编,类型写成代码……
弱类型还简单些,module导入,interface多态和扩展,data和临时对象 创建个闭包,查个dict就行了
type能和函数字典很好地对应,序列化和集合类型都字面, 完全不需要keywords

这点许多新创建的静态语言都做不到,kt现在的listOf() 也没法好好实现

more: https://news.ycombinator.com/item?id=34936729
https://pointersgonewild.com/2018/02/18/minimalism-in-programming/ #dalao