新聞中心
推特與計算機能擦出什么樣的火花呢?大多數(shù)人可能就想到在計算機上發(fā)推特唄。但是,有人就不這么想。酷愛計算機演進史和推特的 Dominic Pajak 創(chuàng)建了 BBC Micro Bot,它能夠?qū)⒁粭l 280 字符的推特經(jīng)過模擬處理進而創(chuàng)建 3 秒時長的視頻。

[[320022]]
開源社區(qū)總是鼓勵人們分享代碼。近日,BBC 舉辦了這樣一個活動,名為 BBC Micro Bot。比賽要求參賽者在推特上 @BBC Micro Bot 這一賬號,賬號機器人會收集推特代碼,然后在類似于 80 年代的 BBC Microcomputer 上運行,并輸出一個 3 秒鐘的 gif 動畫,而這一微電腦是 Basic 語言運行的。
乍一聽并不覺得有什么難度,但我們會發(fā)現(xiàn),參賽者們在一篇推特所限制的字數(shù)(280 字)下,會盡可能的展示出他們令人吃驚的編程技巧。這些參賽者當中不乏有我們熟悉的大神,如 Raspberry Pi 的創(chuàng)始人 Ebon Upton 等。
該賬號的發(fā)起者 Dominic Pajak 表示,@bot 進行輸出的帖子在短短的幾周內(nèi)達到了 1000 萬的訪問量,大約每一周運行 1000 余個 Basic 程序。
開發(fā)者的自動程序可以按照算法繪制不同的圖案。
Upton 為 BBC Micro Bot 的原始 CPU,即 6520(8 字節(jié)微處理器)編寫了 150 字節(jié)的數(shù)據(jù)和機器代碼。同時模擬器在處理時也非常全面。然后,他利用 Base64 Binary-to-text 編碼方案將二進制數(shù)據(jù)轉(zhuǎn)化為 tweetable 文本,并利用具有解碼功能的 Basic 小程序?qū)?shù)據(jù)封裝起來,進而啟動機器代碼。之后,人們一直想用更復雜的編碼方案來封裝更多數(shù)據(jù)。
BBC Micro Bot 技術(shù)詳解及演化
BBC Micro Bot 的創(chuàng)建者 Pajak 是 Arduino 的商務(wù)拓展副總裁,他非常熱愛計算機演進史和推特,因此創(chuàng)建了這個項目。Pajak 表示,將計算機和推特二者結(jié)合起來的點子很不錯。此外,他選擇創(chuàng)建 Micro Bot 也有技術(shù)方面的理由,BBC Basic 主要是由 Sophie Wilson 開發(fā)的,這是目前為止最好的 Basic 實現(xiàn),其中的一些特性使得代碼「縮小」成為可能。
[[320026]]
BBC Micro Bot 創(chuàng)建者 Dominic Pajak。
從技術(shù)層面具體來說,Bot 是由 Javascript 語言編寫的,并作為 JSbeed 模擬的前端。當 bot 發(fā)現(xiàn)一條推特,它會進行信息過濾,然后將文本添加至模擬的 BBC Micro 鍵盤緩沖區(qū)。經(jīng)過 30 秒的模擬時間,bot 使用 ffmpeg(音視頻記錄、轉(zhuǎn)換和流處理的完整、跨平臺解決方案)創(chuàng)建 3 秒時長的視頻。需要注意的是,bot 最初是在樹莓派 4 上運行,之后遷移至了亞馬遜網(wǎng)絡(luò)服務(wù)(Amazon Web Service)上。
用戶對此有什么樣的反饋呢?Pajak 表示自己收到了很多正面的反饋。人們對首次通過推特使用 BBC BASIC 非常好奇,也發(fā)現(xiàn)了其中的很多樂趣,拉丁美洲的用戶甚至創(chuàng)造出了很多口號和表情包。
與此同時,bot 程序的復雜程度也大幅提升,從簡單的 Basic 程序到 Upton《生命游戲》的實現(xiàn)等等。隨著程序門檻不斷提升,Pajak 也在思考 280 字符的代碼是否真的能夠?qū)崿F(xiàn)這些功能。因此,他轉(zhuǎn)向使用 Katie Anderson Windows 3.1 logo 的搞笑編碼(tongue-in-cheek encoding),以及 Paul Malin 經(jīng)典彈力球 demo 的復現(xiàn),后者通過特殊的編碼方式將 361 個 ASCII 字符代碼壓縮至 280 個 Unicode 字符的推特內(nèi)容。
[[320027]]
Katie Anderson 的 Windows 3.1 logo 搞笑編碼。
[[320028]]
Paul Malin 經(jīng)典彈力球 demo 復現(xiàn)。
如果有人想要在 Apple II 和 Commodore 計算機上創(chuàng)建類似的 Bot,Pajak 會給出指導建議。此外,Pajak 正考慮在實體 BBC Micro 上執(zhí)行這些推文,并表示已經(jīng)使用 Arduino MKR1010 將 BBC Micro 聯(lián)網(wǎng)了。
本文名稱:280字編程挑戰(zhàn):把一條推特長度的代碼玩出花
當前路徑:http://www.fisionsoft.com.cn/article/coippge.html


咨詢
建站咨詢
