Revision history and IPFS entry, back to latest
天文背包黑客
IPFS What is this

Content Hash

致力於推動開放科學及公民天文學的Astrohackers in Taiwan社群(一):參與兩場黑客松後所得到的啟發

天文背包黑客
·
·
此圖是我藉由Midjourney AI創作,象徵我2015年時背包上肩前往紐約華盛頓廣場公園參加Astro Hack Week天文黑客松
「近年來,國外天文學術界開始紛紛提倡改以Python作為解密宇宙所用的程式語言,那為什麼沒有人在台灣成立天文相關的Python社群呢?」
「國外天文學家們會藉由參與Astro Hack Week天文黑客松,或者某個天文學術研討會附屬的hack day活動,在一段密集的時間內互相協助合作,快速實作出天文相關問題的解決辦法或開發出研究相關的工具,那為什麼沒有人在台灣舉辦由天文學家與群眾一同協作的天文黑客松呢? 」
「受到開放軟體原始碼運動的影響,天文研究得以更開放透明、貼近群眾,那為什麼沒有人在台灣推動天文研究的開放呢?」
恩…先承認我自己就是那個”沒有人”吧。

參與兩場黑客松後所得到的啟發 — 萌生創辦Astrohackers in Taiwan社群的念頭

參與在紐約大學舉辦的天文黑客松Astro Hack Week 2015

“希望你在美國從事短期研究的這幾個月,可以盡其所能地探索、認識這片土地的人事物。”

我剛到美國馬里蘭大學天文系報到時,指導我短期研究計劃的Reynolds教授跟我說了這句話。於是,2015年9月底,來到美國未滿一個月,我就背包上肩,前往紐約探索那未知的城市,並參與在紐約大學舉辦的天文黑客松Astro Hack Week 2015

黑客松(hackathon)原指幾個人聚在一起以馬拉松的方式,在一段密集的時間內(一晚、一天、一週)協助合作完成程式開發的活動。但現今黑客松活動的內容已不限於單純的程式開發,更觸及各種領域,像是著重在天文領域的Astro Hack Week,參與者可透過黑客松活動,互相協作開發出天文研究所需的軟硬體工具、編製天文教育所用的教材教具、實作出天文相關議題的解決方案。

趁著Astro Hack Week開始前,我用兩天的時間先行過、駐足於幾個出現在電影《曼哈頓練習曲》中的景點,幻想與正彈著吉他唱著《Lost Stars》的Keira Knightley偶遇。紐約大學主校區就散在電影場景之一的華盛頓廣場公園四周,當我逐漸走近廣場,聽到從紐約大學的心臟傳來夾雜薩克斯風、爵士鼓的心跳聲時,我就知道我會愛上這個充滿生命力的廣場。活動前一晚,參與Astro Hack Week的天文黑客們約在華盛頓廣場附近的酒吧”暖身”...恩…天文學家嘛,總先 🍻 ,再開始工作 😛

在華盛頓廣場內表演的街頭藝術家,攝於2015年9月26日。

為期五天的Astro Hack Week,上午採研習班的形式,課程為Python程式語言在天文資料分析上的應用,內容涵蓋天文統計、機器學習、資料探勘與視覺化,下午就進行黑客松活動。黑客松的專案發想來自提案人想解決某個問題,帶著問題前來Astro Hack Week的天文黑客們會先在Hackpad平台上提案,描述自己想解決什麼問題,並在活動第一天口頭報告提案。然而,提案人不一定俱備能解決該問題的眾多技術,所以需要呼救、招攬有興趣且有所需技術的人一同協作以解決問題,而在每天黑客松活動結束前,各組要分享階段性結果。

我在Astro Hack Week期間想要解決的問題與我的博士研究工作有關。我當時正以Hilbert–Huang transform (HHT)這個資料分析方法來剖析黑洞X光雙星準週期振盪現象。這種週期不穩定的現象,或許可以用因損壞而閃爍的燈泡來類比,有時燈泡明滅地較平均閃爍週期慢,有時卻較快。假若平均閃爍週期為1秒,而我們每隔0.01秒量測一次燈光的亮度,利用HHT這個資料分析方法,可以計算出每個亮度資料點所對應的閃爍週期,亦即我們可以追蹤其週期的變化精細到0.01秒。因此,HHT相較於其他的分析方法,更能精細地追蹤週期的變化,進而讓我們得以剖析某個週期不穩定現象的形成機制。

在參與Astro Hack Week之前,我是直接用中央大學數據分析方法研究中心所釋出、以MATLAB程式實作HHT演算法的軟體來分析我的研究資料,但身為一個Python愛好者,我想試著建立一個能呼叫該軟體的Python套件,讓我以及其他使用者無需額外撰寫MATLAB程式,就能直接在Python中執行HHT的相關分析。於是,「如何建立俱備上述功能的Python套件?」就成為我在Astro Hack Week期間想要解決的問題。

黑客松第二天,我很高興找到了不必讓自己重造輪子的Python套件pymatbridge,它能讓使用者在Python中執行MATLAB的指令、呼叫MATLAB的函式。基於pymatbridge這個別人已打造好的輪子,我建造出開往HHT之路的交通工具,在黑客松期間完成了「HHTpywrapper: Python Wrapper for Hilbert–Huang Transform MATLAB Package」這專案的雛型,並於活動結束後持續拋光它,讓其他人能藉由此專案所附的範例程式,重製我之前發表在學術期刊上的論文中的圖

除了專注在自己的專案外,我也稍加留意活動期間跟我同一桌的其他天文黑客所hack的專案,尤其是跟我同在X光天文學研究領域的Abigail Stevens和Daniela Huppenkothen。她們想開發一個能整合X光天文學家常用的時變資料分析工具的Python套件,方便讓使用者在Python中讀取、操作會發出X光的星體的時序資料,並分析其時變性質(例如週期性)。她們合作的這個專案在活動結束後陸續有其他人加入協作,使之發展成更完善的套件Stingray: Next-Generation Spectral Timing Software

除了hack天文相關專案,Astro Hack Week的主辦單位也鼓勵參與者要hack紐約的夜生活。因為有兩位朋友相繼在臉書上推薦我到紐約時要去看”Sleep No More”這表演,於是”什麼是Sleep No More?”就成了我的紐約之夜要探究、hack的問題。我隨著其他觀眾進入到由倉庫改建而成的虛構飯店Mckittrick,發現自己置身在一個爵士音樂酒吧中,我在吧台點了杯酒喝等候。當服務人員喊出我一進飯店所領到的撲克牌號碼,我與同批觀眾即被要求戴上白色面具,開始在飯店中走動觀看演出。觀眾可以選擇待在某個場景空間等著突然湧進的劇情,或著跟隨不同角色穿梭多個空間,因此,每位觀眾基本上會看到不同的劇情面向及舞蹈。”Sleep No More”帶給我很特別的觀賞經驗,也推薦給之後有機會到紐約遊歷的讀者們。


參與g0v零時政府所舉辦的黑客松

“不要問為什麼沒有人做這個,先承認你就是「沒有人」,因為「沒有人」是萬能的!”

這是「g0v 台灣零時政府」社群的座右銘。2014年的318學運期間,我才曉得台灣有這麼一個以開放原始碼精神及資訊科技技術來促進公民一同參與改造、開放政府的社群。而這句座右銘,點出了 「看到問題不要等人來解決,先自行挖坑,再號召有著各自專業的群眾,一同跳坑填坑以解決問題」這自發協作精神。

雖然我曾在2014年底參加過g0v年會,但直到2017年3月初,我才背包上肩,踏進g0v新手村,參與g0v定期舉辦的黑客松。這個一日黑客松的活動流程類似Astro Hack Week每天下午的hack時間,但更強調一些關於專案的細節:

  • 坑主在報告提案(想要解決的問題)時,需要簡單清楚地說明專案訴求及初步規劃,並且要在共筆文件中列出需要什麼專長的人來幫忙協作,以便加速現場組隊的媒合時間。
  • 鼓勵坑主將專案成果(解決問題的方法)開放授權,尤其是若想成為g0v底下的專案,坑主一定要將其成果開放授權。

為何要將專案成果開放授權?

我們可以將自己的著作透過開放原始碼(open source)授權條款創用CC授權條款,來授予他人使用、散佈、更改原作等權利,以便能讓後繼之人不必重造輪子,甚至接力完善著作。「什麼是Open Source — 樂高版本」這個YouTube影片用兩個有趣的例子簡介了開源/開放原始碼的精神及重要益處。

雖然我在這一日黑客松中沒實際協作過什麼專案,只有與人聊聊天、觀察活動期間所發生的事、一睹g0v核心參與者唐鳳的風采,但浸在這充滿濃厚黑客味的社群活動中,讓我萌生想將黑客及開放文化注入到台灣天文界的念頭。


台灣的天文黑客們在哪? 一人hack很孤單,找人協作真正讚

我與Astrohackers in Taiwan社群的另一位共同創辦人陳正忠在咖啡廳hack天文相關的開源專案。筆電蓋上左邊的GitHub章魚貓貼紙是我在Astro Hack Week所領取到的,而右邊的貼紙則來自g0v黑客松。

受到Astro Hack Week和g0v這兩場黑客松的啟發,讓我想在台灣找人一起來hack天文相關的開源專案,並與志趣相投的人聯盟,共同推動天文研究的開放。至於我是如何與中央大學天文所成員共同籌組「Python在天文領域的應用」討論會,並與天文所學長陳正忠共同創辦致力於推動開放天文研究及公民天文學的Astrohackers in Taiwan社群,這故事,下一篇再繼續聊囉。

此篇圖文由蘇羿豪創作,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。如果你喜歡這篇創作,歡迎收藏它的Writing NFT
CC BY-NC-ND 2.0