• OpenWRT Config Generation

    February 22, 2024

    In OpenWRT, all config files under /etc/config are generated dynamically. There are scripts in /etc/uci-defaults to construct this configuration.

    The scripts in /etc/uci-defaults are executed on first boot and then removed.

    Read more

  • Setup Fedora VM Using Virtual Machine Manager

    October 6, 2023

    I’m using Ubuntu for my everyday work. Recently, I have some tasks relating SELinux. Unfortunately, SELinux is by default not enabled in Ubuntu, and the ecosystem is not as full as it in Fedora.

    In this article, I wrote down the steps to setup an Fedora VM via Virtual Maching Manager, and using ssh to login Fedora.

    Read more

  • 讀《大局》,兼憶金邊台商與我的緣份

    May 30, 2023

    讀者:葉學舫

    作者黃文局先生是身懷絕藝的江湖高手,在紐約經商四十年終成一方之雄,也是個飽讀中外文史,進而關懷國家興衰的世外異人,跨海資助近代的政治人物和活動,又從不露形跡於幕前。累積巨富後回台的他仿效猶太人,先後在美、台創辦全球台灣研究中心 (Global Taiwan  Institute, GTI) 與台灣勵志協會 (Taiwan Inspiration Association, TIA),向美國政界及學界發聲,並幫助本土政權茁壯。

    以史為基,以錢為盾,如今更以筆為刀,黃文局先生將其畢生江湖「撇步」撰於書中傳予年輕人,盼後者經過幾代的茁壯後,引領住在台灣這塊土地的人民邁向自決建國一途。

    展讀此書之際,作者在我心中的形象使我數次想起十多年前在柬埔寨與一位台商相遇的經歷。

    Read more

  • 農事體驗

    December 1, 2022

    十月和十一月,帶著小方舟體驗農事。誠然對真正的農夫來說那遠遠算不上農事,但對都市家長如我來說,已經可滿足帶小孩認識世界各種樣貌的目的。為什麼我這樣認定?因為每次結束,小方舟總是嚷著要再參加類似的活動。

    小方舟固然驚異於那些初次親見的、體驗的事物,陪伴過程也拓展了對世界認識甚少的我的視野。

    Read more

  • A Minimal Example of Concurrent Python

    April 22, 2022

    The CPython interpreter usese GIL (global interpreter lock), to prevent threads from executing Python bytecodes at once.

    Suppose I have two components who need to be run in parallel in a modern multi-core processor. Say, add and mul:

    def add(n: int) -> int:
        result = 0
    
        for i in range(n):
            result += (i + 1)
    
        return result
    
    
    def mul(n: int) -> None:
        # Run many times to get longer execution period
        for x in range(4000000):
            result = 1
    
            for i in range(n):
                result *= (i + 1)
    
        return result
    

    Impose that these two tiny components have to be run sequentially, mul recieves add’s output.

    sequenceDiagram
        participant main
        participant mul
        participant add
        main->>mul: For every stdin
        activate main
        mul->>add: result
        add->>mul: 
        mul->>main: 
        deactivate main
    

    Run it twice and fix the input of mul to be 11 for demonstration purpose. Note here I print the time log to the standard error on purpose. The code is listed below.

    Read more

  • A Note on UML Class Diagram

    March 30, 2022

    這是一篇學習 UML class diagram 的簡記。為保持文意清晰,用到術語時盡可能使用原文表示。

    Read more

  • 聖誕書盒

    December 31, 2021

    初看楊斯棓醫師發文說要贈送書盒,我心裡想:『書盒是什麼東西?』該文章附圖是一個個的紙箱,不知裡面是什麼,也沒再探究。幾天後,陸續看到其他收到「書盒」的人開箱分享,才驚覺原來送的是書啊!

    看著分享文中那些楊醫師精心挑選,主題圍繞在台灣、自由的書,著實心動,沒有履行再次參加有獎徵讀書心得承諾的我只好把羞恥心埋起來,伸手索書。

    Read more

  • C 語言中的浮點數與 IEEE 754

    July 2, 2019

    今天與同事討論 C 語言中,對一個浮點數取 floor 的問題。剛好最近有看到 IEEE 754 標準如何規範浮點數格式1,就趁此機會仔細驗證一下。仍建議看第一手資料,以下純為記錄和分享用途而已。

    先從一個問題開始,我用 GCC 編譯以下的程式碼並執行:

    floor(f1), 20 digital points: 2.00000000000000000000
    floor(f2), 20 digital points: 3.00000000000000000000
    

    為什麼 2.999999 取 floor 得到 2.0,而 2.9999999 取 floor 會得到 3.0 呢?我們的都知道,是因為浮點數有精度問題,單精度浮點數的精準度在絕大多數的機器上有效位數只到小數後第六位。這篇的目標就是從標準的角度去親自確認這件事情。

    Read more

  • 《青島東路三號:我的百年之憶及台灣的荒謬年代》:白色恐怖受難者的記憶歷史

    April 5, 2017

    讀者:葉學舫

    青島東路三號:我的百年之憶及台灣的荒謬年代

    這是一本白色恐怖受難者的記憶歷史。作者顏世鴻先生因為加入共產黨被逮捕至保密局北所、青島東路的軍法處,後囚禁於綠島和小琉球共十三餘年。顏君強記獄中事件,於獲釋後用兩天的時間抄寫出來,完成《霜降》一書,以此為獄友立傳。此書即是《霜降》第三次改寫而成。

    Read more

  • 《網球的內心遊戲》:運動場域的學習心法是放鬆的專注

    March 19, 2017

    讀者:葉學舫

    The Inner Game of Tennis

    這本書講的是運動的學習方法。而且標題與內容不符,這不是一本網球運動基本動作指南,而是一個網球教練(W. Timothy Gallwey)總結出的,對於頂尖的運動選手都適用的身體訓練指南。

    Read more

  • Older posts