一个软件Bug,竟然让爱好和平的国家领袖变成了核武器暴君!

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载
AI摘要

本文围绕游戏《文明》中“核甘地”梗展开。最初认为是整数溢出使甘地攻击性变强,但实际并非如此,可能源于《文明5》设计师的设置。“核甘地”故事因反差和荒诞感广泛传播,反映人们倾向相信“好故事”,也体现互联网娱乐至死的信息消费趋势。

01

核甘地的诞生

众所周知,印度圣雄甘地是一位和平的爱好者,也是非暴力不合作运动的领袖。

他的座右铭是“逢恶报以善,用德报以怨”,一生反对暴力,奉行非暴力,即使付出生命代价也不更改,因此他受到印度民众和一些国家推崇。

a95f11c9d5e9f2080fbea59aba39b391.png

但是在1991年,他竟然变成了极具攻击性,挥舞着核武器大棒,四处威胁其他国家的暴徒。

爱好和平,变成了爱好“核平”,他获得了一个“核甘地”的雅称。

当然,这一切并不是现实,而是发生在《文明》这个经典的回合制策略游戏中。

6332542065ba7325e06fd4866d1f83b6.png

《文明》由传奇游戏设计师席德·梅尔(Sid Meier)开发,核心目标是带领一个文明从史前时代发展到未来时代,通过科技、文化、军事和外交等多种方式实现统治世界的胜利。

ec94f1b2e740c44d827cb65088820fe5.png

据说,在1991年《文明1》中,每个文明的领袖都有一个参数来描述他们的攻击性,范围从1到10, 1表示攻击性最低,10表示最高。

印度的圣雄甘地因为是和平的爱好者,攻击性最低,被设为1,也就是说,甘地只会防御,绝对不会主动发起战争。

《文明》游戏一旦进展到某个程度,游戏中的文明会进入所谓“民主”政体,这时候,攻击性会再降低两级。

甘地的攻击性就从1变成了-1。

敏感的程序员立刻就明白这可能会发生什么事情了,一个8位的无符号整数,-1其实就溢出了,变成了255。

温和的甘地一下子获得了最强的攻击性,比最高攻击力的文明领袖还高25倍!

在《文明》的科技树中,核武器一般在进入民主政体后就会解锁,于是攻击力飙升的甘地,就开始拿着核武器血洗邻国了。

8a7eb81392f06b8fb18ee4f1dd1fce99.png

有个玩家说:“有一次我正在玩《文明》,对手就是‘甘地’,我的实力已经发展得非常强了,但是突然间甘地开始使用核武器轰炸一切,每两三回合就有一个核弹,这些核武器造成全球变暖,冰盖都融化了好几次,我被杀得片甲不留,完全懵了...”

哈哈,一个非暴力不合作的领袖,突然间变成了最狂热的战争分子,这是在是太搞笑了。

38d09605b0f7ab42a2ac119b0034f250.png

《文明》的开发者后来也得知了这个问题,故意把它实现到了后续的版本中。

从此以后,“核甘地”不再是一个Bug,而是一个Feature。

02

广泛传播

“核甘地”的故事既优雅又滑稽,在网上疯传,大家都相信这个“事实”无可辩驳的,甚至在哈佛大学的计算机课程中也被引用为整数溢出的例子。

围绕着它出现了大量恶搞的漫画,比如这个,甘地在第一回合就要用核弹攻击所有人:

a9e8c4a907943282f57601ee981442f9.png

还有这个要用核弹血洗美国:

183005859f2fad948d7c9ea96f96a9cc.png

甘地的经典名言也被魔改:首先他们忽视你,而后嘲笑你,接着会打你,接着你用核弹轰炸他们,最后就是你的胜利之日。

49715a1a9d7963c339cce1b747306431.png

虽然网友们热情很高,但实际上,整数溢出导致核甘地这个故事确是不存在的。

根据《文明2》的首席设计师Brian Reynolds说,领袖的攻击值并不是1到10,而是只有3种数值。甘地的攻击力很低,但是还有三分之一的领袖攻击力和甘地是一样的。

《文明》的首席程序员Sid Meier也提到了在《文明1》和《文明2》中,编程语言是C和C++,攻击值用的是有符号数,而不是无符号数。

即使甘地的攻击值变成了-1,也不会溢出,依然会保持在攻击力很低的程度。

在战争中,印度会像其他文明那样使用核武器,但是甘地使用核武器的频率不会超过那些热爱和平的领导人。

那么“核甘地”梗到底是怎么来的呢?

可能来自《文明5》的首席设计师乔恩·谢弗。

78322fa4f1644817163556aed5a29c26.png

他觉得“一个推行非暴力不合作主义的印度政客可能想要用核武器攻击他的邻国,这很有趣。”,就把甘地的“建造核弹”和“使用核弹”参数设置为最高可能值 12。

ce3040bd164282df8eddc8dcc6ed761e.png

这让甘地喜欢建造核武器,在获取核武器后变得相当暴躁。

78cdb317a8933d534ccc931543dcdc07.png

03

好故事才能传播

在人们的认知中,甘地代表和平与非暴力,而“核武器”却是毁灭性的象征,这种巨大的反差带来了强烈的幽默感和荒诞感。

“核甘地”的故事以一种简单、直观的方式满足了人们对《文明》系列游戏机制的好奇心。

尽管“核甘地”是虚构的,但听起来是那么合情合理,丝丝入扣,完全迎合了人们对程序Bug导致荒谬后果的刻板印象。

“核甘地”再次证明了一点:人们倾向于相信“好故事”,而不是枯燥的事实。

如果你想让一件事情广泛传播,一定要考虑把它包装成一个好故事。

只有具备鲜明情绪色彩的故事才更吸引人,才能在互联网上疯传。

不过,在互联网信息泛滥和碎片化的时代,人们没有时间和精力去验证每条信息的真实性,更愿意停留在娱乐化的表层,这也是如今互联网的信息消费趋势:娱乐至死。

PS:如果你家孩子喜欢玩游戏的话,强烈推荐去玩玩《文明》,化身文明领袖,建设城市、管理资源、发展科技、组建军队以及与其他文明互动。

它不仅是一个游戏,还能学到很多历史、科技和文化知识,兼具娱乐性和教育性,比那些打打杀杀的游戏要强得多。

全文完,觉得不错的话点个赞或者在看吧!

近期爆文:

小心,美国人又要在基础软件上弯道超车了

世界上最幸福的程序员

世界上最厉害的协作软件,让程序员痛不欲生,最后被印度人搞走了

1970年以来技术的发展趋势,怪不得程序员35岁就被裁......

这个大学生写了个免费软件,全世界网民抢着给他送钱,每月10万美元

全世界流浪的程序员,用最原始的技术,每月赚17.6万美元!

开源软件的叛徒,加入了微软

这两个程序员要花100万,彻底重写世界上最复杂的软件

YOLOv8作物病害检测实战源码 这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。 立即下载

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

“DeepSeek出了一个昏招!”

前两天和几个朋友聚会,有个朋友说:“DeepSeek这么厉害,为什么要开源?美国人都知道了,那着高端显卡一练,一下子就把你超了,开源就是昏招,你看人家OpenAI就不开源。”我虽然当了很久的码农,也知道开源的巨大好处,但是他突然这么一说,我一时还不好反驳。回来想了想,就写了这篇短文。美国人走的是算力霸权的路子,高端显卡不允许出口,中国别想用,盟友也得分三六九等。OpenAI再搞一个闭源的模型,就是...

码农翻身 1124

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

膜拜!上古程序员实在太厉害了!

写在前面:我已经把这篇文章转成了视频,习惯看视频的朋友欢迎关注视频号"码农翻身Pro":这是世界上第一台商业上成功的个人计算机:ALTAIR 8800。它没有显示器,没有键盘,怎么写程序?很简单,拨动开关来写程序!如果仔细观察一下上面的图,就能发现面板上写着:Data,Adress,Stop,Run,Deposit,CLR,D0 ~ D7, A0~A15等字样。如果想计算“1+1”,在这个机器上可...

码农翻身 1114

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

两周!中国开源界第一架构师横空出世!

章文嵩,曾任滴滴出行高级副总裁,阿里云CTO,CCF杰出工程师,成名作LVS(Linux Virtual Server)。LVS是一种基于Linux的高性能、可扩展的负载均衡解决方案,由章文嵩在1998年5月开发并开源,是中国最早进入Linux内核的项目,在全世界得到了广泛的应用,具备世界级影响力。LVS项目里,章文嵩是程序员,也是架构师。LVS第一版章文嵩花两星期完成,根据首批用户反馈,这个de...

码农翻身 379

经典密码体制(上)

头歌

shannidawang的博客 3086

【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜

你翻了一下代码,项目里大量使用了 [SerializeReference] 特性来做技能系统的多态序列化——大概有 200 多个不同的技能效果类,都挂在 SkillData 这个 ScriptableObject 上,通过 Addressables 动态加载和释放。Unity 的 Native 对象是引用计数管理的,而 C# 托管对象是 GC 管理的。SerializeReference 的多态对象,它们的 Native 侧表示是什么样的?托管堆内存 | 加载后释放,回到初始水平 | 正常,符合预期。

crystal_WJT的博客 666

Manimgl 进阶笔记

目录 一、调整视频输出的纵横比 二、调整预览窗口的尺寸 三、在开发工具中直接调试 一、调整视频输出的纵横比 调整输出视频的纵横比,在日常开发中属于比较基本的需求。要使用 Manimgl 得到期望的分辨率的视频输出需要修改以下几个地方: 第一步:在 custom_config.yml 配置文件中通过 camera_qualities设置视频的输出分辨率。manimlib 框架已经在 default_config.yml 文件中设置了四种视频输出分辨率,default_qualities 参数.

gunnery的专栏 2859

Chapter2、HDR流水线

HDR内容的获取(不同曝光时间的图片合成) 相机响应函数 HDR视频

qq_55621259的博客 2597

Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」

Jenkins结合Python实现禅道任务与BUG全自动导出及月度开发考核统计。通过复现浏览器三步导出流程(重置筛选、初始化、提交表单),精准获取全量数据;基于代码剔除父任务重复工时,修正“指派给”与“解决者”归属偏差,避免0工时导致的BUG率失真。最终生成含开发人天、有效负责BUG数、加权BUG率等字段的考核表,口径固化为可复用规则,彻底杜绝手工统计误差,实现零干预、高可信的自动化考核闭环。

一个人的博客 364

【重磅干货】介质损耗因数(tanδ)揭秘:如何精准定位材料劣化最严重的温度?附权威研究PDF!

是评估绝缘材料性能的核心指标,能直接反映材料内部能量损耗和微观结构变化。通过分析tanδ-温度曲线的峰值点,可精准定位材料劣化最严重的温度。:极化损耗峰值的温度点(如环氧树脂的80℃)是材料性能拐点,需重点关注!:图3对比了5种材料的tanδ-温度曲线,峰值温度差异高达50℃!在电力设备、电子元器件等领域,材料的老化与温度密切相关。:[《介质损耗峰值温度在设备寿命预测中的应用》]在不同温度下测量tanδ,绘制曲线图。:[《多材料介质损耗峰值温度对比研究》]:基于tanδ峰值温度开发的。

mubiao05的博客 1350

“完成”是什么意思——Plan 步骤状态机的七个 Bug

本文剖析了Agent系统中“Plan步骤从pending到done”状态迁移的七个真实Bug,揭示其背后深层设计问题:状态机语义复杂、终态不闭合、状态与事件脱节、生命周期未递归终结等。教训聚焦于:终态应使用枚举而非布尔组合,同状态迁移需幂等,状态变更与事件发射必须原子化,父生命周期结束时须收口子状态,错误提示应引导模型行为。这些原则适用于任何多参与者、异步执行的智能工作流系统。

qinglongcn的博客 308

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

ESP32-IDF HTTP服务器实战:从零搭建Web控制界面

本文详细介绍了如何在ESP32平台上使用ESP-IDF框架从零搭建HTTP服务器,并创建Web控制界面。内容涵盖环境配置、服务器基础设置、Web页面处理、GPIO控制接口实现及AJAX异步请求处理,帮助开发者快速掌握物联网设备Web控制开发。

efc123456的博客 1063

unity 照片墙插件(Pop-up Photo Wall)在触摸屏和红外框设备上的触发Bug

这不是一个好的办法,因为没有找到问题根源,只能先临时这样处理了,在电容屏上实测有效。在触摸屏和红外框设备上使用模板时,点击一张照片时会一次性触发展开多张照片。测试分析后发现以下方式可以避免这个bug。

梦想是世界和平 229

Lumerical 教程,包含作者个人理解及相关设计案例 (目前共计184篇,持续更新中)

4138。

u011699626的博客 1622

一个BUG导致的Oracle数据库实例重启:ORA-00600 [kjmchkiseq:!seq]

一个BUG导致的Oracle数据库实例重启:ORA-00600 [kjmchkiseq:!seq]

听雪楼主 266

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

XiaoqiangClub的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

fix bug

当你通过 cpolar 域名外网访问时,请求到达你本机的 Apache 时,如果 Apache 的虚拟主机配置(如。)默认匹配了本地环境,或者反向代理透传了本地 Host,它依然可能表现为本地地址。$_SERVER['REMOTE_ADDR']也永远指向127.0.0.1。

huxyc的博客 48

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

不收 PR、让 Agent 自己修 Bug:3,900 Star 的 Rust UI 框架 Rune,为“AI 写界面“重新设计

Rune:GPU 渲染的 Rust 原生 UI 框架,headless 模式让 Agent 渲染 PNG、导出元素树、脚本驱动输入并自检——UI 框架第一次把可被 AI 观测作为架构需求。更激进的是:它不收 PR,贡献和维护两端都是 Agent。

话梅糖の优快云 Blog 542

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

React 前端工程化在秒杀活动中的性能优化与 Bug 修

措施名称 | 实施成本 | 预期收益 | 风险等级 | |----------|----------|-----------|------------| | 使用 Redux Toolkit 管理状态 | 中等 | 提高可维护性和性能 | 中等 | | 引入 Suspense / Lazy Loading | 高 | 显著提升用户体验 | 高 | | 使用 Error Boundaries 捕获异常 | 中等 | 提高系统健壮性 | 中等 |在大型互联网企业中,秒杀与抢购活动是高频的业务场景之一。

wuchangjian的专栏 189

AI答错一个数,先分清是bug还是语义问题

驻场做 AI 调优,听得最多的一句话是:这个数不对。新手的第一反应是马上改,改完交差。老手会先按住不动,因为答错的原因分两种,走的是完全不同的处理线,改错了地方就是白改。向量空间JBoltAI项目驻场几个月,我们把这条分流线磨成了固定动作,讲出来给做企业 AI 落地的同行参考。

xiancai_xianyu的博客 234

Java Arrays.asList 常见坑详解|UnsupportedOperationException、数组联动、基本类型 bug

解析 Arrays.asList 常见开发陷阱,演示 UnsupportedOperationException、底层数组引用共享、基本类型数组问题,区分 Arrays 内部 ArrayList 与 java.util.ArrayList,给出数组转 List 的各种场景正确代码。

weixin_42617033的博客 473

bug?nacos跑满内存!!!

手上一台 2 核 2G 阿里云服务器,用 docker-compose 搭微服务基础环境:Nacos、MySQL、Redis、RabbitMQ。本来以为拉起来就能用,结果直接翻车,Xshell 连不上服务器,折腾半天,终于找到根源。

2501_90507065的博客 216
上一篇: 逃离美国,跨越8000公里远程办公,他开发了世界上最强的虚拟机!
下一篇: 国外这些IT巨头,都这么“不要脸”了吗?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值