覆沉

使用PipeWire取代PulseAudio
by renyuneyun, post on 2021年06月10日(週四)

幾週前在這篇博文中偶然發現PipeWire這個聲音系統,其中對Carla的展示讓我眼前一亮——我之前就想要是有這麼個圖形化交互,那麼配置PA時候會直觀且省事很多。

稍微多看了看,發現它是Red Hat所開發(PulseAudio似乎也是RH開發的),(號稱)用來取代PulseAudio和Jack這兩個聲音系統的軟件——(號稱)目標是提供兼顧最終(普通)用戶和高級/底延遲需求的用戶的一套系統。另外,它也不只支持音頻,也支持圖像,似乎是爲了在Wayland上共享屏幕而這麼考慮的。

最近花了一點時間,用它取代自己一直在用的PulseAudio,發現還挺簡單的。更換後有許多優點,也有(如果處理不妥善的話)個別軟件的兼容問題。正巧我想起來自己以前在配置聲音系統上遇到許多坑,所以這裏稍微討論一下Linux上的聲音系統(我用過的幾個),以及我切換到PipeWire和玩耍的過程。

Linux的聲音系統

由於各種各樣的歷史和許可證原因,Linux上有許多和聲音相關的部件,包括但不限於ALSAOSSPulseAudioJack。雖然斷斷續續用過一年多的Ubuntu,但我剛接觸Arch的時候對這些東西還是一頭霧水,看到它們只有一個念頭:我就是想讓電腦出個聲,怎麼就這麼難。

本來我以爲它們只是一層搭一層或並列的關係,就好像大部分部件一樣。但我花了一個小時,最後瞭解到它們不是這樣,而是互相取代互相競爭但又不可互相取代的關係 …

給(Neo-)VIM裝配Language Server Protocol(配合deoplete)
by renyuneyun, post on 2021年05月23日(週日)

作爲一個長期(Neo-)VIM用戶,我對代碼補全等活計還是有很大需求的。之前在試用各種插件的時候就在想,爲什麼不搞個通用的,非要每個插件自己搞一套,然後還需要互相配套。最近兩年聽說微軟搞了個Language Server Protocol,而且還和RedHat等合作最終將其標準化並開放出來,我對此還是十分好奇的。

然而我之前剛切換到deoplete不久,配合any-jump還是挺好用的,於是就沒有動力去繼續切換——畢竟我看到許多個LSP插件,但每個的文檔都語焉不詳的,而且也考慮LSP可能會改,它們的完成度也需要時間來提升。而且貌似實現得最好的是CoC——嗯,NodeJS的,不想用。

直到到了昨天,我發現了一個大問題(見後文),導致我不得不去修改我的流程。於是我又去試了LSP支持插件,最終用了LanguageClient-neovim這一插件,和deoplete配合很好,而且遷移過程十分簡單。於是就有了此文,敘述一下我之前的方案問題在哪,以及切換的過程,以幫助潛在的類似需求者。

之前的方案和問題

我最早用的是YouCompleteMe,但因爲種種因素(慢,每次更新薛定諤地需要重新編譯且耗時很久 …

Read in 1 mins
聊聊《三體》
by renyuneyun, post on 2021年04月23日(週五)

《三體》是一部很有意思的小說,我在大三大四時候讀了它,後來又看了《我的三體》這一改編動畫。每次看的時候都隨着自己思緒的不同而有着不同的新看法,而看其他人的評論也會讓我產生更多的思緒——當然這就未必是針對小說內容了。近兩日聽了「自得琴社」參與創作的民樂版《夜航星》,順便聽了聽其他人的改編版。在此過程中,我又看了看評論和彈幕,忽然感覺想寫寫自己的看法。

很顯然的是,小說是作者想講的故事,所以故事本身的解讀是在於作者心中的。但沒有人是完美的,也沒有語言是無歧義的,所以讀者的看法必然會和作者寫作時的看法不完全一致。因而,作者的解釋可以參考,可以作爲主幹,但也不必奉爲圭臬。

本文首先談談我對其整體以及對其進行解讀的看法,然後談談我對其中幾個比較重要也是比較爲人們津津樂道部分的一些想法:章北海、地球三體組織、三體遊戲、宇宙設定,以及面壁計劃和執劍人。

整體

如我在本文一開始便已提及的那樣,我覺得《三體》是一部很有意思小說。既然是小說,那就必然不如科學研究一樣嚴謹,但也沒必要這樣苛求;我覺得它有意思,是因爲它是我比較喜歡的科幻題材,而且同時又去探討人文;之所以加上一個「很 …

Read in 1 mins
打破平臺壟斷,不妨試試技術解法
by renyuneyun, post on 2021年01月23日(週六)

2021年頭一個月針對美國總統換屆的種種爭奪中,最讓人大跌眼鏡的便是以Twitter爲首的互聯網媒體平臺對特朗普賬號的絞殺——找個理由,將其禁言乃至封號,並且是以一種近乎連坐的方式。這和他們以前喜歡標榜的言論自由態度大相徑庭,以至於美國人也終於看到了它們手上有且有意願使用的這種權力。

然而美國人的討論卻又走上了老路,即企業是否有權對自己平臺上的數據隨意修改,或者是這一行爲是否違背了法律規定的言論自由。這種討論大約是不會有什麼結果的,而哪怕這一次有結果也在長期上作用不明顯——法律的滯後性已經顯現出來了,所以它們是否違反了「過去」的法律條紋並不是核心,核心的是如何確保它們將來不會再在另一個角度作出類似的事情。

在我看來,新形勢下需要新的思路,而這個新思路就着落在技術本身——是否有新的(或者老的)互聯網技術可以降低平臺的掌控力(權力)?

答案是肯定的,而且這些技術早已存在。它們的理念十分簡單,但相當多人欠缺一個知道它們以及知道它們好在哪裏的機會。

我在以前的文章中對這類平臺有所簡單介紹,不過是出於社交媒體這個特定用途的。這篇文章嘗試用簡單的語言解釋這些技術的核心,以便讓更多的人對「另一個可能的互聯網」有所瞭解。當然,不可避免地,其中會涉及一些技術理念,但我會儘量減少它們對理解正文的影響。

最基本的網絡服務模式

大多數人熟悉的互聯網(或者更確切的叫因特網)是由網站以及一些需要聯網的軟件(智能手機的軟件被稱爲app)所組成的。它們的服務方式很直接:軟件的提供方運營着一個平臺(本質上是服務器),每個用戶通過對應軟件連接到平臺上 …

「世上本没有路」的相似
by renyuneyun, post on 2021年01月14日(週四)

魯迅版

「其實地上本沒有路,走的人多了,也便成了路。」

出自《故鄉》,作於1921年

Antonio Machado版

「wanderer, there is no path, the path is made by walking.」

英文版翻譯自原西班牙語版本。依該語錄條目的第一項Quotes所說,原於1912年出版在《Campos de Castilla》的「Proverbios y cantares XXIX」(即「Proverbs and Songs 29」)章節。

但在該書的電子版(?)上並未找到該29節。

現任美國總統特朗普的賬號被封禁
by renyuneyun, post on 2021年01月10日(週日)

Twitter封禁現任美國總統唐納德·特朗普的個人賬號,且未給出細節原因

Twitter上的state affliated標記
by renyuneyun, post on 2020年12月30日(週三)

標記標準不一致

Read in 1 mins
一加6救磚小記並Android典型刷機流程
by renyuneyun, post on 2020年12月21日(週一)

在實在受不了System進程持續佔用15-30%的CPU導致發熱和電池消耗過快之後,我決定給我的一加6刷個機(之前是OOS)。然而我卻大意了,以爲自己憑藉着以前的經驗,可以不用嚴格按照貼子中的刷機步驟(當然其中另一部分原因在於許多貼子的步驟是複製粘貼的)。最終結果是手機變磚,按現在的分類屬於硬磚——只能充電,fastboot都進不去。

之後經過了艱苦的拯救(主要是花時間翻閱資料,以及下載合適的工具),最終將其恢復。正好以前就想寫一下刷機之類的東西(因爲多數刷機教程要麼語焉不詳,要麼有所錯漏,尤其中文資料往往兩者同時存在),這裏就完全寫一下。

本文首先描述一下我最初的操作過程以及其導致的結果,然後梳理一下Android刷機的理論通用模型,最後陳述救磚過程(一加6專用,或許其他一加產品類似)。這個救磚工具其實也可以當刷機工具用,就是有點殺機用牛刀。

錯事經過

因爲我以前兩部手機(HTC One S和一加X)都刷過機,而且也刷過一些別人的手機,所以覺得這次不需要太過在意。雖然一加6像許多新近(按推出時間算)手機一樣使用了A/B分區,和我之前的手機不同,不過這並不是什麼特別神奇的設計,畢竟 1) 我本科時想過給學校圖書館的查詢機製作專們的Linux發行版,上面就使用A/B啓動(然而和其他項目一樣,由於響應者寥寥 …