这里记录每周值得分享的科技内容,周五发布。
本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系([email protected])。
封面图
重庆"悦来江湾"公交车站,由几块巨石组成,象征当地江边的鹅卵石。(via)
随机数,这是一个问题
今天谈谈,怎么生成真正的随机数。
这个问题超难,但有一些很有趣的内容。
首先,编程语言提供的随机数,是伪随机数。
V8 引擎的官网有一篇文章(下图),特别提醒大家这一点。它内置的随机数不是真随机数,而是伪随机数。
所谓伪随机数,并非真的随机,而是算法得到的。只要初始的种子值相同,算法会给出一样的结果。
JavaScript 和许多其他语言,都有这个问题。所以,遇到特别强调随机的场合,都不应该使用语言内置的随机数生成器。
真随机数需要满足三个条件。
(1)无法预测。 随机数不能被猜到,所以必须非常大,否则会被暴力破解。
(2)不能重复。 每次生成的随机数,不能是一样的。
(3)均匀分布。 随机数必须平均散布在所有区间,不能集中在某些区间。
一般来说,只有通过硬件,才能得到真随机数,单纯的软件算法做不到。
科学家绞尽脑汁,想出各种办法,通过硬件生成随机数。
著名的 Random.org 就是专门生成一个随机数的网站。
它在全世界部署了多个无线电接收器,专门监听大气无线电波(即大气噪音,可以理解成大气的布朗运动),通过随机的无线电信号来生成随机数。下图是它的早期硬件设备。
因为有硬件支出,使用它的随机数,需要付费。所以,大家可以看到,真随机数是有成本的,不是跑一下程序就可以了。
世界最大的 CDN 服务商 Cloudflare ,为了得到真随机数,做得更绝。
它的三个办公室,每个都有不一样的随机数生成装置。
(1)旧金山总部。一进门就有一堵墙,放满了几十盏熔岩灯。
熔岩灯内部是融化的蜡,每时每刻都在变化着形状。
需要随机数的时候,就对着这堵墙拍一张照片。每张照片都是不一样的,然后计算照片的哈希,将其作为种子值,计算得到一个随机数。
(2)伦敦办公室。 那里有一面"单摆墙",放满了各种单摆装置。
单摆和它们的影子,每时每刻都在摆动。每次照片的哈希也是不一样的,可以作为随机数的种子值。
(3)奥斯汀办公室。 那里的天花板,挂了很多彩色的反光片。
这些反光片对空气流动十分敏感,开门、关门、空调、温度、湿度,都会让其转动,反射出不同颜色的光。因此,也可以用来当作随机数的种子值。
下周五,稀土开发者大会
过去一个月,周刊一直在预热今年的"稀土开发者大会"。
它的开幕时间就是下周五(6月28日)。
作为今年的大活动,所有日程安排现在都出来了。下图就是主论坛和10个分论坛的 70 多场演讲题目。
点击看大图,都是技术热点和前沿领域。演讲者是来自全球的技术专家和第一线的主力工程师。
另外,大会还有外场的 AI 活动,一共4个特色展区,可以接触众多国内头部 AI 公司的展台,参与各种互动小游戏,赢取纪念品。这部分是免费的。
活动详情可以点击这个链接,或者扫描上方海报的二维码,购买内场演讲票,或者领取免费的外场票,以及预约现场直播。
科技动态
美国宇航局最近遇到了一件尴尬的事情。
波音公司的 Starliner 飞船(下图),将两名宇航员送入国际空间站以后,却回不来了。
飞船发射后,出现了氦气泄漏和推进器故障。迟迟没有找到原因,美国宇航局就不敢用它把宇航员送回来。
本次任务原定8天,现在已经20天了。目前暂定6月26日返航,但可能再次推迟。
好在国际空间站有4个月的食物储备,不至于有物资问题。
本次飞行是 Starliner 飞船首次执行任务,就搞成这样。实在不行的话,只能再派一艘飞船去把人接回来。
2、澳大利亚巨型鹅
澳大利亚与其他大陆隔绝,存在着许多奇特动物。
科学家很早就知道,澳大利亚有过一种巨型鹅(下图最右侧),大小跟鸵鸟相仿,身高超过2米,体重240公斤,但是已经在45000年前灭绝了。
那时正好是第一批人类来到澳大利亚,所以科学家猜测,它的灭绝与人类有关。人类可能大规模捕杀这种鹅,毕竟它不会飞,又跑得慢。
以前,这种鹅只出土过零星的化石,最近终于出土了第一个完整头骨。
科学家画出它的还原像,大家看看,这种地球已经不存在的巨型鹅长什么样。
3、眼球监控
一位国外网友,在推特上贴出一张图片。
他在手机上看 Youtube 视频,结果跳出了这个提示。
意思是,系统发现,他的眼球没有注视广告,所以重新播放一次广告。
这张图应该是伪造的,不过技术上很简单。只要播放广告时,启动摄像头,就能识别镜头前有没有人,眼球看哪里。
我怀疑,这种场景会变成现实。以后,付费用户正常使用,免费用户必须通过眼球监控,确保正在注视广告。
4、上网篮
加沙地区由于战争原因,互联网服务已经完全中断了。
一个国际组织为了帮助那里的人民上网,想出了一个解决办法。
他们先在其他国家购买了一批 eSIM 卡,将参数传给当地人。因为 eSIM 是虚拟卡,只要填入参数,就能开通,相对容易。
然后,当地人把手机连上充电宝,放在一个篮子里,带到边境地区,挂在高处。
通过 eSIM 卡,手机可以连上领国的 4G 网络,这时打开手机热点,那么在篮子下面的人,就都能上网了。
文章
1、AI 芯片的未来,未必是 GPU(中文)
本文认为,加速计算未必只能通过 GPU 实现,FPGA 或 ASIC 或许是更优的底层计算设备。
2、我编写自己的博客引擎的10年(英文)
作者为自己写了一个博客引擎,坚持了10年,他讲述在这个过程中学到的东西和体会。
3、CSS 的 3D 折叠效果(英文)
本文介绍如何使用 CSS 实现 3D 的页面折叠动画效果(上图)。
4、随机歌单的算法(英文)
本文介绍 Spotify 生成随机歌单的算法,要求是同一个歌手的歌曲不能连续播放。
5、ASML 总部访问记(英文)
作者访问荷兰光刻机公司 ASML 总部,在埃因霍温市的郊区,这里是他的见闻。
6、200行 JavaScript 代码实现虚拟 DOM(英文)
虚拟 DOM 是很多 JS 框架的底层基础,本文演示怎么自己从头实现它。
工具
Node.js 和 Deno 的 PostgreSQL 客户端,类似软件还有 Zapatos。
一个基于 OpenCC 的繁简体中文转换工具,支持编辑器和命令行界面。(@hddhyq 投稿)
一款基于 Flutter 的桌面端 B 站视频下载器,代码开源。(@kangpeiqin 投稿)
4、AQChat
一款匿名的在线聊天软件,用户可以自由登录、创建房间、会话和传输文件,体验 demo。链接是后端代码,另有 Web 端和移动端。(@howcodes 投稿)
5、Voicer
一个 Chrome 浏览器插件,用来语音朗读网页文本。(@wang-jianliang 投稿)
6、易条形
一个在线的条形码生成器。(@FZliweiliang 投稿)
7、ScienHub
LaTex 在线编辑器,提供很多实用的模板。(@tc1989tc 投稿)
8、trash.sh
rm 命令的简单替代品,提供一个删除文件的回收站。(@qqAys 投稿)
9、我的字体
一个制作个人手写字体的在线工具。(@harbor2009 投稿)
10、lingo link
一个开源的浏览器插件,支持划词翻译、AI 翻译、生词标记。(@chengfengfengwang 投稿)
AI 相关
Luma AI 视频生成器免费在线使用。(@sunnyjingliu 投稿)
免费使用 Stable Diffusion 3,通过文本生成图像,无需注册。(@ddewfrefref 投稿)
一个文字转语音的服务,支持中文,免费账户每月可以转10000字(约10分钟音频)。
4、BrainyAI
一个开源的 Chrome 插件,在侧边栏加载 AI 模型,是类似产品 Sider AI, Monica, Merlin, 和 MaxAI 的免费替代品。(@luyu0279 投稿)
5、Rock AI
该网站托管了一些开源 AI 模型,可以免费调用。(@hellokidder 投稿)
使用 chrome 内置 AI 模型搭建的本地聊天工具。(@zengkan0703 投稿)
7、mac 电脑的本地文本总结(英文)
本文介绍如何在 mac 电脑上,架设本地的 Ollama 模型,用它建立一个快捷方式,自动对打开的网页进行内容总结。
资源
1、开发者必须了解的 Unicode 知识(2023版)
这篇长文介绍最新的 Unicode 知识。
该网站可以定制纯 CSS 的页面加载动画(loader)。
3、现代 C++ 编程(Modern C++ Programming)
一个开源的 C++ 英文教程。
图片
1、奇怪的环岛
英国有一个奇怪的环岛,分成内圈和外圈,它们之间还分布着5个小环岛。
它的内圈是逆时针方向,外圈是顺时针方向。
从外圈进入内圈,或者从内圈进入外圈,都必须通过5个小环岛。
下图是当地的交通指示牌。
这个环岛建于1972年,多年没有发生过重大的交通事故。
2、易北河隧道)
易北河流经德国汉堡市中心。
1911年,汉堡市政府在河底挖了一条426米的隧道,方便两岸的交通。
这条隧道的奇特之处,就是没有引道。行人和车辆必须使用升降机,进入和离开隧道。下图两侧的黄色垂直通道,就是升降机。
下图是车辆升降机的入口。
这个隧道直到今天还在使用,甚至还在里面开过音乐会。下图是在升降机底部仰望出口。
文摘
编程语言有小有大。
一些语言只提供最核心的功能,另一些语言无所不包。
还有一些语言,开始时很小,后来不断添加功能,变得越来越大,甚至庞大到难以使用。
Python 语言的初始版本很小,前几个版本故意保持这种特色,添加功能的建议都被明确拒绝,理由是它们会使语言太大。
某个时刻(也许是在 Python 1.6 和 Python 2.0 之间),事情发生了变化:功能建议不会因为使语言变大而被拒绝,只会因为没有解决重要问题而被拒绝。
从此以后,Python 就走向了庞大语言的道路。
在我看来,一旦语言的设计者不再担心语言的大小,这种语言的无限制增长是不可避免的。
很多语言都是如此。尽管 Java 从来都不是小型语言,但在泛型添加到 Java 1.5 之前,它的变化相当小。泛型似乎是 Java 大型语言之旅的起点。
JavaScript 本来是一个周末设计出来的小型语言,现在变成了一种相当庞大的语言。
Rust 是一种已经很大的语言,但它正在考虑添加更多功能,变得更大。
为什么那么多语言都走上了变大的道路?
我的看法是,因为没有一种编程语言是完美的,总有不能很好支持的用例。许多情况下,添加新功能有助于更好地支持这些用例。
由于潜在用例是无限的,因此我们总是加入新的设计,让语言变得"更好",副作用就是每次都让语言变得更大一点。
言论
1、
拉斯维加斯正在举行一年一度的电子表格 Excel 世界锦标赛,它有一个其他比赛都没有的特点,那就是毫无趣味。
2、
哈勃望远镜确定,宇宙的准确年龄是138亿年。那就是我们这个世界的起源,在这之前是什么,没人知道。
3、
农活忙不过来。
-- @dylanaraps,Kiss Linux 的创始人,他的 GitHub 主页上只留了这一句话,项目已经两年多不更新了
4、
我不记得读过的书,就像不记得吃过的饭一样;即便如此,它们还是造就了我。
-- 爱默生
5、
早期,民航客机的驾驶舱最多有五名成员。由于导航和通信的自动化,导航员和无线电操作员率先被淘汰。然后,飞行工程师也被淘汰了,只剩下两名飞行员。
随着飞行员成本的飙升,航空公司开始要求,只有一个飞行员的窄体飞机,副驾驶员被淘汰只是时间问题。
最终,仅剩的一个飞行员也会被淘汰,以后的飞机主要靠自动驾驶,再配上一名能够有限控制飞机的地面操作员。
-- 《最后的飞行员》
往年回顾
2023:卡马克的猫
2022:晋升制度的问题
2021:内容渠道的贬值
2020:阵地战与奇袭战
(完)
涛 说:
用 UUID 做随机数的种子, 可以做到真随机吗?
2024年6月21日 08:39 | # | 引用
第二季度营商环境 说:
math.random()和彩票摇奖号码哪个数更随机呢
2024年6月21日 08:41 | # | 引用
难得自然萌 说:
math.random()和彩票摇奖号码都是伪随机
2024年6月21日 08:59 | # | 引用
Jerry 说:
我不记得读过的书,就像不记得吃过的饭一样;即便如此,它们还是造就了我。
2024年6月21日 09:03 | # | 引用
黑羽 说:
(2)不能重复。 每次生成的随机数,不能是一样的。
(3)均匀分布。 随机数必须平均散布在所有区间,不能集中在某些区间。
感觉上面两个条件,反而不像随机了,而是人工刻意生成的
2024年6月21日 09:06 | # | 引用
PunkSerris 说:
农活忙不过来。
程序员的最终归宿是种田哈哈
2024年6月21日 09:21 | # | 引用
Allen 说:
1、随机数:无线电信号一定是随机的?
2、眼球监控:如果真这样了,还不如强制必须购买广告里的产品才能继续观看。
2024年6月21日 09:22 | # | 引用
miracles 说:
UUID是怎么来的呢
2024年6月21日 09:22 | # | 引用
lucas 说:
看过彩票开奖直播嘛? 好像都是用的数字彩球,也算是硬件的随机数吧
2024年6月21日 09:31 | # | 引用
JackyLove 说:
(2)不能重复。 每次生成的随机数,不能是一样的。
这个是“数很大”和“均匀分布”带来的结果,而不是条件吧。
真要撞大运了,也可能两次随机到一样的。程序不可能去控制(也不应该控制)“不重复”。
2024年6月21日 09:34 | # | 引用
李星阳 说:
“仅剩的一个飞行员也会被淘汰” 到了这一天,想必科学相当昌明了,
2024年6月21日 09:35 | # | 引用
HA 说:
UUID也是伪随机数。想要得到真随机,必须保证这个生成过程中某一步是真随机真无法预测的。
2024年6月21日 09:36 | # | 引用
天天 说:
> 重庆"悦来江湾"公交车站,由几块巨石组成,象征当地江边的鹅卵石。
会不会塌下来砸死人?
君子不立于危墙之下
2024年6月21日 09:36 | # | 引用
面向未来 说:
大环岛里还有五个小环岛,这能发生事故才怪啊!走完一遍怕是要好久好久!
2024年6月21日 10:02 | # | 引用
wonderful 说:
都是伪随机,做不到真随机吧,像文章中提到的真随机的条件,感觉真的难
2024年6月21日 10:09 | # | 引用
Have taken up farming. 说:
Have taken up farming. 已经从事农业了吧。
2024年6月21日 10:10 | # | 引用
皮皮仔 说:
建议阮师傅把 AI 模块去掉,只保留可能出现的“至少令人觉得有新意的 AI”。
AI 当然很重要,全世界都在搞,现在好像不关注 AI 就像不务正业。
如果新 AI 出来了,你不能聊两句,就算落伍了。
但我认为看周刊的同学们,更多的是看一些“有趣”的东西,
而现在每天都冒出奇形怪状的 AI,
说实话,用处肯定也是有的,但并不有趣。
2024年6月21日 10:12 | # | 引用
SanJuan 说:
UUID基于一些确定的信息和伪随机数生成,用它作为种子,能提高随机的质量,但生成的还是伪随机
2024年6月21日 10:14 | # | 引用
bestcoder 说:
去掉驾驶舱的好处是巨大的。因为驾驶舱本身就是一种兼容人的设计,对飞行没有一点益处。
2024年6月21日 10:40 | # | 引用
Nutcracker 说:
设备的 UUID 是根据硬件编码生成的,理论上对于云端来说就是真随机,因为不会存在完全相同的两部设备。但是前提是你可以拿到通过硬件生成的 UUID,像 Android 和 iOS 现在对开发者应该都只提供虚拟的 UUID 了。
2024年6月21日 10:43 | # | 引用
Gold 说:
《奇怪的环岛》 ,可能没有发生大事故,但感觉会很堵或者通行很慢,一般人都搞不明白,车速自然就降了下来
2024年6月21日 10:51 | # | 引用
匿名匿名匿名 说:
很多人包括我,是怀疑彩票的随机性的,说是直播,但是根本排除不了录播的可能性。比如国内的彩票机构,事后爆出过太多贪腐案件、自导自演、内部消化巨大奖池的事情了。
不讲彩票的社会性,只说技术实现的话,数字小球的掉落 应该是属于硬件随机。
2024年6月21日 10:55 | # | 引用
潭渊 说:
很多人纠结【伪随机】这个名字,其实【伪随机】!=【不随机】。
想一想,给我们一串数字,比如 114514,1919,810,我们用什么判断这串数字随机还是不随机?
随机数字往往有几个特征:
1. 不可预测,我们很难在其中发现规律,因此无法预测下一个数字是什么;
2. 分布均匀,随着数字越来越多,在指定的范围内分布都是均匀的,不会偏向某个区间;
其实,只要程序生成的数字满足这些条件,我们其实没有办法判断这些数字到底是程序生成的伪随机数,还是真随机数。也就是说,只要伪随机数满足这些要求,就可以把伪随机数当成真随机数来用。
举个例子,Python 标准库 random 模块使用梅森旋转算法(Mersenne Twister)生成随机数,周期长达 2^19937-1,有 6002 位数,宇宙年龄在这种量级面前也不值一提了;该算法分布均匀,快速高效,完全能够满足一般情况下对随机数的需求。
对于实际应用场景来说,简单的随机有时并不能满足需求。比如游戏中的暴击,如果用固定的暴击概率,就会造成多次不触发暴击和连续触发暴击的比例很大,不符合玩家的预期。
再回到刚才提到的随机数【分布均匀】的特征,人们对【分布均匀】的理解并非统计上的频率固定,而是时间序列上的均匀,比如抛硬币,两面的概率都是 50%,人们的预期会是一次正面一次反面,偶尔会有两三次连续正面和反面,超过5次连续正面或反面看起来就不随机了。但根据简单的计算,连续抛5次,都是正面或反面的概率高达1/16。
对于固定概率、多次触发的场景,更合适的算法还是累计概率。如设定的暴击率是 20%,那用户预期的频率就是平均 5 次攻击触发一次暴击,可以设定第 8 次攻击必定触发暴击,同时设定第一次攻击的暴击概率为 10%,之后每次攻击增加 12.86%,这样第 8 次攻击的暴击概率就是 100%。这样就更符合人们的预期,也减少了极端情况的比例。
2024年6月21日 11:00 | # | 引用
胡一淳 说:
不能重复的意思是用相同的种子在相同的时间生成,不会产生相同的结果。
均匀分布是指概率分布均匀,不是指生成结果均匀。
2024年6月21日 11:07 | # | 引用
胡一淳 说:
伪随机是一种算法,伪随机也可使用真随机数。
伪随机很多是为了照顾用户直觉体验,使随机事件的方差减小,即排除正态分布极端情况的发生。
2024年6月21日 11:10 | # | 引用
shift 说:
我不记得读过的书,就像不记得吃过的饭一样;即便如此,它们还是造就了我。
2024年6月21日 11:13 | # | 引用
小民同学 说:
“我不记得读过的书,就像不记得吃过的饭一样;即便如此,它们还是造就了我。”
很喜欢这句话艾默生的这句话,感悟很深。
让我明白了小时候一直不明白的,为什么要读书,读书的意义是什么!
2024年6月21日 11:19 | # | 引用
vethenc 说:
引用:
对于固定概率、多次触发的场景,更合适的算法还是累计概率。如设定的暴击率是 20%,那用户预期的频率就是平均 5 次攻击触发一次暴击,可以设定第 8 次攻击必定触发暴击,同时设定第一次攻击的暴击概率为 10%,之后每次攻击增加 12.86%,这样第 8 次攻击的暴击概率就是 100%。这样就更符合人们的预期,也减少了极端情况的比例。
感觉应该是双控。首先每次暴击几率都是默认的固定值,不是逐次提高爆率,那样会大大出现连爆的几率,不符合预期。其次控制一个暴击保底,如果前N-1次没有出现暴击,那么第N次必定暴击。已出现暴击则最后不保底。类似抽奖保底的那种。是不是更能符合人们预期。感觉这样更符合你描述的效果。第1次就出暴击是人品,多次暴击或连爆是运气,至少出现一次是预期底线。
2024年6月21日 11:22 | # | 引用
随便看看 说:
上面给个方案只是产生“种子”,保证种子的随机就可以了,这样可以保证随机数不可预测、序列是乱序。
另外,matrix 说,愚蠢的人类,哪有随机,都是code
2024年6月21日 11:22 | # | 引用
zc 说:
看了“开发者必须了解的 Unicode 知识”的中文版,内容很多,有选择地看了一些。这个 tonsky 在原始博客还写过一些其他类似 CSS 对齐问题的详细的现状分析。他的博客页面也是很有个性,总有一堆假的鼠标光标在乱飞。
Luma 那个居然可以不注册账号就生成视频,几分钟生成一个 5 秒的。有明显的边界模糊问题,不过凑数看看还可以。
Excel 大赛那个文章很长,网页比较有特色,但看起来费劲就没看。
2024年6月21日 11:43 | # | 引用
慕楚 说:
所以现在明白了,赌场的各种机器都是伪随机数!怎么想方设法的少留痕迹来榨干你的每一个硬币!
2024年6月21日 11:47 | # | 引用
刘郎 说:
项目好多,不错的也好多 我来试试看
2024年6月21日 12:36 | # | 引用
xx 说:
怎么做到每周都能搜集到这么多有趣的信息呢
2024年6月21日 13:15 | # | 引用
王书硕 说:
随机数那段挺有意思。
2024年6月21日 13:19 | # | 引用
rammiah 说:
linux提供了/dev/random生成真随机,/dev/urandom类似伪随机
2024年6月21日 14:17 | # | 引用
凌linguistic 说:
确实,可以单独开一个文章,去向AI感兴趣得同学去介绍,周刊篇幅可以小篇幅带过
2024年6月21日 14:20 | # | 引用
大宇 说:
这个是老外对『码农』的婉转表达吧?
2024年6月21日 14:45 | # | 引用
parkgo 说:
环岛没发生过重大交通事故,是不是因为大家都开的慢,哈哈哈!
2024年6月21日 14:58 | # | 引用
parkgo 说:
彩票必然不是随机,连伪随机都不是,如果真的是随机,一定有不少大规模中奖的时候,彩票中心早破产了,猜想是通过计算得来的,计算出总中奖金额最少的那一串数,至于视频直播嘛,眼见不一定为实
2024年6月21日 15:08 | # | 引用
kkk 说:
随机数这个话题,感觉就像一个年经贴。。隔一年会被程序员拿出来讨论一下。
自打我从 新浪游戏论坛 开始,就有清华高人在讨论 这个了。。记得以前里面还有一个 专门做 随机数算法的人。
2024年6月21日 16:18 | # | 引用
kkk 说:
其实上面几种通过实时拍照的图片HASH后作为随机数种子的方法。。我觉的还是不错的。。成本极低。。
不过呢。。想想20年前。。要通过实时图片生成HASH,也不算一件容易的事情呢。。。
2024年6月21日 16:24 | # | 引用
kkk 说:
真 随机数 这些与现实连接的 解决方法,让我感觉 只有 上帝 才能产生 真随机数。。。
2024年6月21日 16:25 | # | 引用
solitas 说:
没有飞行员的客机谁敢坐?
2024年6月21日 17:13 | # | 引用
zhang 说:
“宇宙的准确年龄是138亿年”
我瞬间就想到复联4开头的场景,钢铁侠在宇宙中漂泊的场景
138亿年前是什么,如果有一天能知道,那一定很棒
2024年6月21日 17:17 | # | 引用
180554 说:
YouTube搞那种广告倒不太可能,毕竟他们的广告装个插件也就能跳过了,如果要搞这种事,那么他们早就把跳广告插件干掉了。
但是国内平台日前倒是有个图,“检测到当前屏幕前超过两人,请购买家庭会员”。不知真假,但我觉得还是爱优腾干出这事来的概率更大。
2024年6月21日 18:00 | # | 引用
colin 说:
量子力学不是有测不准原理,通过微观物理能造就真随机吗
2024年6月21日 22:47 | # | 引用
匿名 说:
对于新加入的朋友来讲,能立刻从最新的文章中了解到现在科技的流行趋势,是一件挺有趣的事情
2024年6月21日 23:09 | # | 引用
lzl 说:
C++的random库提供了基于硬件的真随机数生成器std::random_device, 在linux环境下中使用了/dev/random。
但熵池信息不足时其速度急剧下降, 可以用std::random_device{}() ^ time(0)作为伪随机数生成器的种子
2024年6月22日 09:26 | # | 引用
xIa 说:
随机数还不简单,只要足够大+不可复现就是真随机了呗。
取100个国家的网址,根据ping通的情况(是否ping通/延迟大小等)返回值,最后合计在一起加个密。
再加个时间戳保证唯一性,完事了。
2024年6月22日 10:25 | # | 引用
FrankMa 说:
兄弟这个满足不了第三点, 也是伪随机数
2024年6月22日 21:03 | # | 引用
CMango 说:
以后,付费用户正常使用,免费用户必须通过眼球监控,确保正在注视广告。
那要先过隐私权限这一关,否则不能启用摄像头 hhhh
2024年6月23日 17:13 | # | 引用
阿诺 说:
没有人担心封面图里面的公交站哪天塌了会轧死人吗?
2024年6月24日 05:24 | # | 引用
young 说:
那个公交车站 那个弧度感觉下雨天不友好
2024年6月24日 10:02 | # | 引用
Ben 说:
每次我用当前的时间的秒数以及后面5位数字作为种子,这样就足够随机了,除非你遍历1000000个可能性 (如果你知道我的服务器的秒数)。
2024年6月25日 01:29 | # | 引用
Ben 说:
你这句话给了我灵感。对着云照个相,用它的 hash值来作为种子,就得到真随机了。
2024年6月25日 01:32 | # | 引用
NA 说:
旧金山总部。一共是100盏,5行每行20盏。
2024年6月25日 01:57 | # | 引用
J.K 说:
眼球监控。第一联想就是黑镜里的一集,主角在房间内玩游戏时弹出广告,广告(成人电影推荐)可以选择消费货币跳过,或是接受观看。当接受观看时,它要求是严格的。一)不允许闭眼或没有直视。否则会闪红光和发出噪音,直到再次直视,二)不允许离开这个环境,房间被锁,直到观看结束。
2024年6月25日 10:17 | # | 引用
xuewuchen 说:
那如果是这样的话,我有个想法,不如每次生成随机数都调用一下摄像头,用摄像头拍摄一定次数的照片。然后将照片拍摄的时间+照片内容进行哈希计算,是不是理论上也可以得出随机数了。
2024年6月26日 11:43 | # | 引用
Easterlings 说:
真的有可能拍出完全一样的照片吗
2024年6月27日 16:49 | # | 引用
Simon 说:
我也看了害怕,不是不相信方案,是不相信施工质量
2024年6月27日 16:59 | # | 引用
xp132 说:
这个眼球注视的功能,如果带个墨镜会发生什么?
2024年6月29日 00:04 | # | 引用
bysir 说:
如果是只是通过拍照来获取不同的种子,那是不是不用这么麻烦?相机本身就会受到各种电子噪音的干扰而形成造点,有这些不可预测的造点那么计算出来的 Hash 也肯定不一样。
2024年7月 1日 10:39 | # | 引用
Hello 说:
单个混沌摆可以生成随机数吗
2024年7月 1日 16:38 | # | 引用
xiaolong 说:
1911年,汉堡市政府在河底挖了一条426米的隧道,方便两岸的交通。
----此时,中国可能连一辆自行车都没有
2024年7月 4日 22:35 | # | 引用
xiaolong 说:
应该是用水泥模仿的石头,里面是空心的。公园厘常见这种结构。
2024年7月 4日 22:38 | # | 引用
六翼 说:
感觉“均匀分布”这一条非常难啊
比如那些拍照取HASH的,怎么证明其均匀呢……
2024年7月12日 10:07 | # | 引用
八页 说:
uuid的目的,可能更多的是唯一性,而不是随机性
2024年7月19日 09:55 | # | 引用
Tacenda 说:
环岛对游客和骑行者不友好
2024年7月21日 20:16 | # | 引用
Hu 说:
经典力学都是可预测的,比如抛硬币,只要知道了硬币参数,抛出时的速度角度,地面硬度等,也是可以计算出结果的。无非就是场景越复杂,计算量越大而已。所以说计算机里的随机数生成和现实的抛硬币并没有什么区别。要真随机的话,还得看量子力学,那才是真的无法预测。
2024年8月 5日 09:39 | # | 引用
Hu 说:
自行车还是有的,溥仪就喜欢骑自行车,还把皇宫的门槛锯了。
2024年8月 5日 09:41 | # | 引用