摘要:代码冰封,祖传千年!

把大象放在冰箱需要几步?

三步!把代码放在北极需要几步?纳尼?

GitHub刚刚公布了一组照片,你写的代码(BUG)上周已经被打包运往北极保存。 只要你2月2日以前贡献过的开源代码,现在都已经被埋在北极的冰雪之下,保存一千年。

2019年GitHub公布了一项计划:Arctic Code Vault,项目的意思是要把你的/我的/他们的代码带入北极,然后埋入北极地下400米深的永久冻土层,据说,要保存1000年。 (这就是传说中的 祖传 代码 吗? )

据GitHub官方统计,已经有数百万的程序为这个北极代码仓库(Arctic Code Vault)计划做出了贡献。第一阶段的代码已经成功打包“快递”到北极,接下来GitHub还会继续开展这个项目。

这是怎么样个神操作?来,跟随着小熊派的脚步,来一场代码的北极之旅吧!

第一步:上传北极代码库

要想将让自己代码被带往北极,首先你得将代码上传至GitHub的北极代码库。

https://github.com/github/archive-program

GitHub官方为这些将自己代码上传至北极代码库 的开发者们还设计了 荣誉徽章 以示表彰,只要将鼠标悬停在开 发者主页 资料介绍中“ Highlight ”的下方,即可看到该开发者有哪些项目存在于北极代码库。

第二步:代码的保存

可能会有不少小伙伴非常疑惑,这些网站上的代码要怎么才能保存下来?

除了自行将代码上传北极代码库外,GitHub还会对每个活跃的公共存储库进行快照捕获,将其储存在北极代码库里,并将北极代码库中足足有21TB的代码数据交给挪威Piql公司。由该公司位于挪威德拉门的工厂进行编码并以QR码的形式保存在卤化银胶片上。这种胶片的使用寿命极长,可以最大限度地将代码完整地保存下来。

第三步:代码的运输以及存放

这些每帧都包含880万个像素点的胶片足足装了186箱,在运到挪威的首都奥斯陆后通过空运前往北极。

这些存放了代码的胶片最终落在了斯瓦尔巴群岛上一个只有几千人的小镇朗伊尔城,这里人迹罕至、气温寒冷,有几百米厚的冻土层,非常适宜存放胶片。

这些胶片卷轴将会被存储在小城附近的一座废弃煤矿密封室内的钢壁容器中。而在这废弃煤矿的不远处则是存储了全球数以百万计种子的全球种子库,现在来自世界各地的开源代码与全球种子库一起存储在这座小岛上,为人类的子孙后代留下一笔难以衡量的宝贵财富。

未来如何解析出代码?

那就有人担心了,千年后的人类与现在人类的认知水平必会出现偏差,那时的人类该怎么解析出这些代码呢?

据GitHub官方说明,在开展计划前就已经召集了人类学、考古学、历史学、语言学等各方面的专家组成GitHub Archive Program咨询小组,为解决如何与"继承者们"进行最佳的沟通已经提出诸多方案了。在这些胶片卷轴中除了开源代码以外还会有存档的简介、其使用方式、开源应用的信息和指南以及当下这些开源项目的使用情况等,以防将来的读者无法解读该文档或解读后需要从头开始重建技术。

千年太久,只争朝夕!

幸运的是,你不用等一千年才能看小熊派的代码!

话说,1000年以后你的后代看到你的代码以后是什么样的反应?

点击关注,第一时间了解华为云新鲜技术~

糟糕,你写的 BUG 要被存1000年了!的更多相关文章

  1. 没错,老板让我写个 BUG!

    前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动.这可是我特长啊:终于可以光明正大的写 bug 了

  2. 架构师写的BUG,非比寻常

    部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位. 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信.原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的.这 ...

  3. 写英文bug的经验总结

    本文链接: https://www.cnblogs.com/hchengmx/p/10800855.html 由于工作原因,开bug的时候需要由英文开,刚开的时候比较痛苦,因为有些词汇老师用的不太准确 ...

  4. 捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?

    摸不了鱼了 2019 年 11 月 26 日,本来应该是无比平静的一天,开开会,改改bug,摸摸鱼之后等着下班.刷着新闻的间隙,手机的消息提示音响了起来,收到了一条邮件,平时收到邮件我都会选择稍后处理 ...

  5. 脚本写一行echo也能写出bug ? glob了解一下

    背景 最近处理一个 bug 很有意思,有客户反馈某个配置文件解析失败了,出错的那行的内容就只有一个字母 a. 最开始以为是谁改动了处理的脚本,但要到了问题代码中的脚本,比较发现跟库上是一样的. 又经过 ...

  6. 写了Bug,误执行 rm -fr /*,我删删删删库了,要跑路吗?

    每日英语,每天进步一点点(偷笑): 前言 临近五一节,想到有 5 天假期,小林开始飘了. 写个简单的 Bash 脚本都不上心了,写完连检查都不检查,直接拖到到实体服务器跑. 结果一跑起来,发生不对劲, ...

  7. Doug Lea在J.U.C包里面写的BUG又被网友发现了

    这是why的第 69 篇原创文章 BUG描述 一个编号为 8073704 的 JDK BUG,将串联起我的这篇文章. 也就是下面的这个链接. https://bugs.openjdk.java.net ...

  8. 犹记当年写出bug睡不着,回想今天只求睡好渡余生……

    不想面对已经在博客园注册了3年多的时间 了,就是这么快的就已经过去了近3年的工作时间,从最开始的对编程的困惑到慢慢有一点的认识,好像哦就这样没有什么啊,也没有涉及到一些比较难的东西. 但是当初第一份工 ...

  9. 10种常见OOM分析——手把手教你写bug

    点赞+收藏 就学会系列,文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱,笔记自取 在<Java虚拟机规范>的规定里,除了程序计数器外,虚拟机内存的其他几个运 ...

随机推荐

  1. 解决Linux搜狗输入法工具栏无法移动

    问题的出现 前两天一位朋友(@午后下午茶)发现一个有趣的情况: 为了复现bug,我把自己的输入法工具栏也挪到了顶栏,果然也无法挪动了 解决方法 原理不明,但解决方法很简单. 如图所示,随便找个输入框打 ...

  2. DVWA学习记录 PartⅡ

    Command Injection 1. 题目 Command Injection,即命令注入,是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的. 2. Low a. 代码分析 ...

  3. (二)pandas处理丢失数据

    处理丢失数据 有两种丢失数据: None np.nan(NaN) import numpy as np type(None) NoneType type(np.nan) float 1. None N ...

  4. java 面向对象(三):类结构 属性

    类的设计中,两个重要结构之一:属性 对比:属性 vs 局部变量 1.相同点: * 1.1 定义变量的格式:数据类型 变量名 = 变量值 * 1.2 先声明,后使用 * 1.3 变量都其对应的作用域 2 ...

  5. 分布式任务调度平台 → XXL-JOB 初探

    开心一刻 旁边的女乘客太吵,我实在忍无可忍,便对她说:“你能不能让我睡会儿?” 她挥手就给了我一个耳光:“你个臭流氓!” 我顿时就清醒了,理论到:“你让我睡一会怎么了吗” 她害羞的低下了头,说道:“人 ...

  6. 【Nginx】如何封禁IP和IP段?看完这篇我会了!!

    写在前面 Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流.缓存.黑白名单和灰度发布等等.在之前的文章中,我们已经介绍了Nginx提供的这些功能.小伙伴们可以到[ ...

  7. bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛*

    bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛 题意: 依次给出n只奶牛的产奶时间段,求最大的k使得前k只奶牛不存在一个时间段被另一个时间段完全覆盖的情况.n≤1 ...

  8. 拦截器(Interceptor)中的invocation.invoke()是什么意思?

    拦截器(Interceptor)中的invocation.invoke()是什么意思? 最佳答案: invocation.invoke() 就是通知struts2接着干下面的事情 比如 调用下一个拦截 ...

  9. 阿里面试官:这些软件测试面试题都答对了,I want you!

    [ 你悄悄来,请记得带走一丝云彩 ] 测试岗必知必会 01请描述如何划分缺陷与错误严重性和优先级别? 给软件缺陷与错误划分严重性和优先级的通用原则: 1. 表示软件缺陷所造成的危害和恶劣程度. 2. ...

  10. 大厂程序员教你如何学习C++(内附学习资料)

    目前准备面试同学都知道,C++是百度和腾讯的主流开发语言,而java是阿里的主流开发语言. 对于初学者来说,也不用纠结究竟学习c++还是java 其实只要好好掌握好一门即可,另一门即可融会贯通 因为我 ...