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

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

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

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. day65 django进阶(1)

    目录 一.聚合查询与分组查询 1 聚合查询(aggregate) 2 分组查询(annotate) 二.F与Q查询 1 F查询的三个功能 1.1 能帮助我们直接获取到表中某个字段对应的数据 1.2 获 ...

  2. js复制内容到剪贴板格式化粘贴到excel中

    <input id="Button1" type="button" value="导出EXCEL" onclick="cop ...

  3. 全局作用域中,用 const 和 let 声明的变量不在 window 上,那到底在哪里?如何去获取?

    在ES5中,顶层对象的属性和全局变量是等价的,var 命令和 function 命令声明的全局变量,自然也是顶层对象. var a = 12; function f(){}; console.log( ...

  4. CentOS7安装Oracle 11g

    准备工作 1.下载Oracle安装包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip ,可以下载到本地,通过 ...

  5. flask 源码专题(五):SqlAlchemy 中操作数据库时session和scoped_session的区别

    1原生session: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalc ...

  6. Tomcat的基本使用及相关知识的概述(超详细版)

    絮絮叨叨: 在深入了解Tomcat源码之前,本来是想亲自写一篇Tomcat的基本使用教程的,在网上兜兜转转发现了这篇博客:https://blog.csdn.net/weixin_40396459/a ...

  7. Ethical Hacking - GAINING ACCESS(11)

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

  8. 2020年Dubbo30道高频面试题!还在为面试烦恼赶快来看看!

    前言 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式 ...

  9. 区间dp复习 之 tyvj 1198 矩阵连乘

    题目描述 一个\(n*m\)矩阵由\(n\)行\(m\)列共\(n*m\)个数排列而成.两个矩阵\(A\)和\(B\)可以相乘当且仅当\(A\)的列数等于\(B\)的行数.一个\(N*M\)的矩阵乘以 ...

  10. 自学 Python 到什么程度能找到工作,1300+ 条招聘信息告诉你答案

    随着移动互联网的发展以及机器学习等热门领域带给人们的冲击,让越来越多的人接触并开始学习 Python.无论你是是科班出身还是非科班转行,Python 无疑都是非常适合你入门计算机世界的第一门语言,其语 ...