280字编程挑战:把一条推特长度的代码玩出花

简介: 云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 推特与计算机能擦出什么样的火花呢?大多数人可能就想到在计算机上发推特呗。但是,有人就不这么想。酷爱计算机演进史和推特的 Dominic Pajak 创建了 BBC Micro Bot,它能够将一条 280 字符的推特经过模拟处理进而创建 3 秒时长的视频。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

推特与计算机能擦出什么样的火花呢?大多数人可能就想到在计算机上发推特呗。但是,有人就不这么想。酷爱计算机演进史和推特的 Dominic Pajak 创建了 BBC Micro Bot,它能够将一条 280 字符的推特经过模拟处理进而创建 3 秒时长的视频。

1

开源社区总是鼓励人们分享代码。近日,BBC 举办了这样一个活动,名为 BBC Micro Bot。比赛要求参赛者在推特上 @BBC Micro Bot 这一账号,账号机器人会收集推特代码,然后在类似于 80 年代的 BBC Microcomputer 上运行,并输出一个 3 秒钟的 gif 动画,而这一微电脑是 Basic 语言运行的。

乍一听并不觉得有什么难度,但我们会发现,参赛者们在一篇推特所限制的字数(280 字)下,会尽可能的展示出他们令人吃惊的编程技巧。这些参赛者当中不乏有我们熟悉的大神,如 Raspberry Pi 的创始人 Ebon Upton 等。

该账号的发起者 Dominic Pajak 表示,@bot 进行输出的帖子在短短的几周内达到了 1000 万的访问量,大约每一周运行 1000 余个 Basic 程序。

1585276231707675

1585276231207338

1585276232525241

开发者的自动程序可以按照算法绘制不同的图案。

Upton 为 BBC Micro Bot 的原始 CPU,即 6520(8 字节微处理器)编写了 150 字节的数据和机器代码。同时模拟器在处理时也非常全面。然后,他利用 Base64 Binary-to-text 编码方案将二进制数据转化为 tweetable 文本,并利用具有解码功能的 Basic 小程序将数据封装起来,进而启动机器代码。之后,人们一直想用更复杂的编码方案来封装更多数据。

4

BBC Micro Bot 技术详解及演化

BBC Micro Bot 的创建者 Pajak 是 Arduino 的商务拓展副总裁,他非常热爱计算机演进史和推特,因此创建了这个项目。Pajak 表示,将计算机和推特二者结合起来的点子很不错。此外,他选择创建 Micro Bot 也有技术方面的理由,BBC Basic 主要是由 Sophie Wilson 开发的,这是目前为止最好的 Basic 实现,其中的一些特性使得代码「缩小」成为可能。

5

BBC Micro Bot 创建者 Dominic Pajak。

从技术层面具体来说,Bot 是由 Javascript 语言编写的,并作为 JSbeed 模拟的前端。当 bot 发现一条推特,它会进行信息过滤,然后将文本添加至模拟的 BBC Micro 键盘缓冲区。经过 30 秒的模拟时间,bot 使用 ffmpeg(音视频记录、转换和流处理的完整、跨平台解决方案)创建 3 秒时长的视频。需要注意的是,bot 最初是在树莓派 4 上运行,之后迁移至了亚马逊网络服务(Amazon Web Service)上。

用户对此有什么样的反馈呢?Pajak 表示自己收到了很多正面的反馈。人们对首次通过推特使用 BBC BASIC 非常好奇,也发现了其中的很多乐趣,拉丁美洲的用户甚至创造出了很多口号和表情包。

与此同时,bot 程序的复杂程度也大幅提升,从简单的 Basic 程序到 Upton《生命游戏》的实现等等。随着程序门槛不断提升,Pajak 也在思考 280 字符的代码是否真的能够实现这些功能。因此,他转向使用 Katie Anderson Windows 3.1 logo 的搞笑编码(tongue-in-cheek encoding),以及 Paul Malin 经典弹力球 demo 的复现,后者通过特殊的编码方式将 361 个 ASCII 字符代码压缩至 280 个 Unicode 字符的推特内容。

Paul Malin 经典弹力球 demo 复现。

如果有人想要在 Apple II 和 Commodore 计算机上创建类似的 Bot,Pajak 会给出指导建议。此外,Pajak 正考虑在实体 BBC Micro 上执行这些推文,并表示已经使用 Arduino MKR1010 将 BBC Micro 联网了。


【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-03-27
本文作者:机器之心编辑部
本文来自:“机器之心”,了解相关信息可以关注“公众号 机器之心”

相关文章
|
人工智能 算法 架构师
再现神作!字节算法小抄官方整版,已助1000+应届生拿到25w+年薪
2023年经济下行趋势明显,程序员出路在哪儿? 今年,毕业人数将达到1158万,导致很多公司招聘非常谨慎、要求也变得非常更高。
再现神作!字节算法小抄官方整版,已助1000+应届生拿到25w+年薪
|
7月前
|
监控 Java 应用服务中间件
硬核神作|2w字带你拿下Sentinal
硬核神作|2w字带你拿下Sentinal
|
数据安全/隐私保护 C++
2-14 |“特殊”的日子,多学一种表达爱的方式
2-14 |“特殊”的日子,多学一种表达爱的方式
150 0
|
物联网 机器人 智能硬件
数字商圈有什么用?江湖之中武林之外有三位高人这么说……
数字商圈有什么用?江湖之中武林之外有三位高人这么说……
181 0
|
存储 机器学习/深度学习 算法
【第十四届蓝桥杯考前速成】必考知识点及代码模板总结,看完至少多拿50分
四、简单图论 1、单源最短路径 2、多源最短路 3、最小生成树 五、动态规划 1、0-1背包 2、完全背包 3、多重背包 4、线性DP 总结
171 0
|
分布式计算 大数据 MaxCompute
三七女生节,看程序媛们选好口红色号,踩上高跟鞋,特别美丽,特别凶狠,特别温柔~
口红,尿不湿,代码;撒娇,卖萌,撕叉;烈焰红唇倾斜45度角写代码;我爱你,你用知性保持着最致命的吸引力!
2120 0
【程序媛晒83行代码】人生如码,用代码构造极其简单人生模型的清宵小姐姐
清宵的第83行代码来自这个简单的Life模型,非项目非社区贡献,纯业余时间自娱自乐。看了《药神》之后,对人生的感悟加深。回来没有写什么观后感,却是随便写了一段代码,构造一个极其简单的人生模型,算作总结思考了。
5446 0
【浸入式英文学习方式】山姆莱萌帮助孩子建立扎实语言功底
兴趣并不是天生的,这就需要老师的引导、培养才能形成。少儿的特点是好动、爱表演,乐于接受新的、有趣的东西,而教学方法的好坏直接影响他们的学习兴趣。
858 0