撕毀無效
1394 words
https://git.jettsang.com@jetsanix

超大型時間鉗形行動

即便做成銅像、終身榮譽頭銜甚至被鑿在石頭裡都可以被重新摧毀,你還相信那些所謂都古代遺跡是真實歷史嗎?

我是不信的,那都是些讓你看見的美好。

只要「回收」事件繼續存在,「不溯及既往原則」無意義。

因為任何人都無法預測未來,任何人現在做的事情在未來看來都可以被認為是「不道德」的。

使用現在的法條規範過去,未來的法條也可以溯及現在,未來時空的道德觀將會審判過往任何時空發生的任何事,於是任何人都無法避免被摧毀的命運,這是一切人針對一切人的大清洗。

縮寫是幾乎沒有意義的

這段時間在重溫在 X-Plane 執飛客機的樂趣,上一次認真模擬飛行恐怕是10年前了,甚至從 Cold & Dark 啟動都困難重重,需要重新查閱手冊。

而我忘記了「海量」的縮寫詞,以至於還需要翻閱手冊、查詢機場編碼等一系列操作 - 儘管我知道啟動一架飛機的模糊步驟、FMC 飛行計畫的編撰方法。但這樣的重複性工作,其實也是無必要的,既然每隔一段時間都要花時間重讀手冊,那這種字典型態的知識留在頭腦裡,除了顯擺,另一個作用就是負擔罷了。在高實用性的角度看,縮寫是必然要被淘汰的東西。我的意思是,它應該是一種可選項,而不是稱為障礙本身,在具備相關知識的情況下,你甚至知道做什麼,「尋找」操作路徑不應稱為障礙。

縮寫本來是用於有限空間的符號表達系統,倒成為「習得」門檻,成為了提高學習曲線斜率的幫凶。縮寫和一大堆繁複的記憶,本身不光是學習障礙,它本身在操作層面稱為的了障礙。同樣的,為什麼需要「經驗豐富」的「熟練操作」的飛行員(或其他什麼Title),因為這讓操作本身都稱為了肌肉記憶。

可惜的是,肌肉記憶並不包含知識,它無法泛用,它禁錮了這個執業的人,也阻攔了想要進入這個行業的人。

是情懷,也相當內捲。

如同 SpaceX Dashboard UI 設計,在當前的技術環境下顯然動畫和圖片顯然能更好的表達意思,即便是按鈕解釋也需要十足的信息,而不是復用跟普世彙衝突的縮寫詞。

我還在一個叫 Ulises Siriczman 的設計師找到了一套重設計的相當漂亮的 SpaceX Dashboard UI,很驚艷。

iPhone 和 iOS 的出現是一次使用電子產品的祛媚,SpaceX 是穿梭機駕駛技術的祛媚。

而接下來的問題是,下一次在哪裡?

又是工具

  1. 可被發明的工具遲早都要被發明。
  2. 被發明出的工具一定會被用盡潛力乃至於濫用。
  3. 濫用後一定會出現極端的你不願意看見的結果。

工具

每引入一個工具,並不總是意味著多一份方便。

相反,多一個工具意味著佔用更多地學習和維護成本,而這個維護工具的時間還是固定的在每天的有效工作時長中扣除。

你必須考慮當中的得失,以考慮是否需要引入。

恕我直言,絕大部分的工具就是一個讓領導者自我感官好的毒藥。

Lobot 的系列舵機的 golang 驅動

最近在製作一些座標與電機控制相關的東西,其中有一個功能需要扭矩很大且精確動作的 Trigger 以控制一個手動設備實現自動化,最終我選擇了這個 lobot 牌子的總線舵機 LX-16A

重要的是,價格相當實惠!

我已經為它編寫了一個 golang 驅動了,可以在這裡找到 :
https://git.jettsang.com/drivers/lobot/

用法相當簡單:

package main

import (
    "flag"
    "fmt"
    "log"
    "os"

    "git.jettsang.com/drivers/lobot/network"
    "git.jettsang.com/drivers/lobot/servo"
    "git.jettsang.com/drivers/lobot/servo/lx"
    "github.com/jacobsa/go-serial/serial"
)

var (
    portName = flag.String("port", "/dev/tty.usbserial-A9ITPZVR", "the serial port path")
    servoID  = flag.Int("id", 1, "the ID of the servo to move")
    position = flag.Int("position", 512, "the goal position to set")
    debug    = flag.Bool("debug", false, "show serial traffic")
)

func main() {
    flag.Parse()

    options := serial.OpenOptions{
        PortName:              *portName,
        BaudRate:              115200,
        DataBits:              8,
        StopBits:              1,
        MinimumReadSize:       0,
        InterCharacterTimeout: 100,
    }

    serial, err := serial.Open(options)
    if err != nil {
        fmt.Printf("open error: %s\n", err)
        os.Exit(1)
    }

    network := network.New(serial)
    if *debug {
        network.Logger = log.New(os.Stderr, "", log.LstdFlags)
    }

    network.Flush()

    var servo *servo.Servo
    servo, err = lx.New(network, *servoID)
    err = servo.MoveTimeWrite(uint16(*position), 500)
    if err != nil {
        fmt.Printf("move error: %s\n", err)
        os.Exit(1)
    }
}

優勢?

嘗試從自己的優勢當中尋找武器去戰胜對手就輸了。

優勢是基石,不能被用作武器。

用本錢博弈,會輸的徹底,毫無希望。

極致化

從來就是如此的事。

今年會不一樣嗎?

不一樣的,事物往往會往習慣的方向,極致的發展下去。

阿比林悖論

所有人都不想提出反對意見,結果達成了一個所有人都不喜歡的共識。

濕疹戰記

這是我這輩子第一次生一種讓皮膚奇癢無比的疾病。

因為此前毫無經驗,起初還以為是小兒常生的痱子,於是開始保持噴灑乙醇、使用爐甘石洗劑保持乾燥。結果導致疹子範圍一下子擴大了許多。於是我開始懷疑是別的什麼東西。

第二天,使用了紫外線照射,發現並沒有發現螢光,初步排除了真菌感染的可能,至少不會傳染到我身邊的人了。這時候突然回想起上週家中不斷飛進蜜蜂,以及發熱24小時後脖子開始出現紅疹。

讓我對此進行了聯想:

這會不會是因為蜜蜂帶來的花粉塵讓我產生了過敏,接著發熱流涕,後引發「膽鹼能性蕁麻疹」?

為了保險起見我資訊了皮膚科醫師,醫師幾乎一眼就辨識出這就是過敏引起的現象。進一步排除了真菌和熱疹的可能。建議我使用「糖皮質激素」類藥物進行治療,同時保持肌膚濕潤即可。

拜託了夫人去附近藥房購買了藥物,分别是「氯雷他定片」和「糠酸莫米松乳膏」。

希望見效。

新冠與車諾比

我有點理解為什麼可以把 #COVID19 比作車諾比核災了。

所有人都在這個系統當中,所有人都知道並且看著它變壞,把保持「數據穩定」放到了第一位,認為畫線能改變現實。畢竟一些無關緊要的事故都是這樣過來的。接下來經濟會向好,因為囤貨行動會短暫帶動消費。

最後,眼睜睜看著爐心熔毁。

關於選項

只要有這個選項,或者沒有限制這個選項,就會有人去觸碰。所以一個人或組織要做什麼選擇,其實很多時候呢,不是因為他想達到什麼目的,是因為他能這麼做,也就這麼做了。

恰好如此

這個世界對我說不上好說不上壞,總是那麼恰到好處,將將好讓你感覺過得去,但絕對不讓你過得好,就好像有一堵空氣牆擋著,你就是越不過去。

醫護工具人

「別的沒有,就是聽話」這話聽著就像讓一幫憨憨去送,不知道應該以什麼樣詞語形容看到這幾個字的感受。

就這樣不斷的格式化語言衝擊之下,前線的醫護被物化成了工具,病毒倒被擬成了敵人,而使用工具的那個接受了「理所當然」的無上榮耀。

醫護人員都是腦子靈光且清醒的成年人,不是衝鋒肉搏的傻子,更不是被使喚的工具。人海戰術思維模式什麼時候是個頭,無謂的犧牲不是犧牲,是毫無意義的送人頭。

人道災難

什麼是人道災難?

就是發熱先隔離,不要感染新的人。
科學的講,這確實可以很好的控制 R0 係數。
至於生活怎麼樣,環境怎麼樣,會不會被交叉感染或是廁所夠不夠用什麼的。

不要在意這些細節。

2019-nCov 的春節禁足

關於禁足的困惑?
不存在的。

十幾天的禁足不管對我還是女朋友,似乎都絲毫沒有影響,除了要戴口罩下樓拿快遞。

話說回來。

如果以活動半徑10公裏為標準的話,我基本會在範圍內連續活動超過1個月。

如果以主動社交作為標準的話,我可能已經禁足超過了10年。