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

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

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

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. [HCTF 2018]admin

    前言: 最近在BUUCTF刷题,参照师傅们wp后复现一下 0x01 拿到题目后进去如下界面 发现有登录和注册界面,相比是要登录后才能查看想要的信息. 查看页面源代码,看看有没有上面提示,界面如下 提示 ...

  2. JVM 学习笔记(三)

    一:使用jvisualvm工具查看堆内存 visualgc插件下载链接 : https://visualvm.github.io/pluginscenters.html --->选择对应版本链接 ...

  3. mongodb(五):聚合操作(python)

    pymongo的聚合操作 数据类型样式 /* 1 */ { "_id" : ObjectId("5e5a32fe2a89d7c2fc05b9fc"), &quo ...

  4. 数据可视化之powerBI基础(十六)PowerQuery的这个小功能,让你轻松发现数据质量问题

    https://zhuanlan.zhihu.com/p/64418072 源数据常常包含各种差错值,为了进行下一步的分析,我们必须先找出并更正这些差错,做这些工作几乎不会有什么快乐感可言,但却往往需 ...

  5. js自定义获取浏览器宽高

    /** * @description js自定义获取浏览器宽高 * * IE8 和 IE8 以下的浏览器不兼容 * window.innerWidth * window.innerHeight * * ...

  6. 【五学x红小豆xRS】两边三地大联动-句型

    <第五共和国> Tohara LY Sara'm, Sabang Chua Setuk KS Kareh Moh Induree Junchi Chueh? 阁下!和这样的虫豸在一起,怎么 ...

  7. 工作3年java面试题整理(自用)

    基础题目 1.Java线程的状态  一. 线程状态类型:1. 新建状态(New):新创建了一个线程对象.2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该 ...

  8. 系统部署时的Could not load file or assembly 'Microsoft.VisualStudio.Enterprise.ASPNetHelper问题

    在web.config中,如下代码段 <compilation debug="true" targetFramework="4.0" assemblyPo ...

  9. Ethical Hacking - GAINING ACCESS(11)

    CLIENT SIDE ATTACKS - Listening for connections 1. Run Metasploit Move the backdoor file to the webs ...

  10. 高效C++:实现

    本章主要是解决如下问题: 类的声明和定义在什么时候提出 类与类之间的耦合关系如何降低 类型转换怎么正确使用 尽可能延后变量定义式的出现 变量用到时在定义,不要提前定义,防止变量定义而没有使用的情况,因 ...