September 10, 2026

Almost there

 

Google Map (Android Auto 版本)

剛開始開車就已經是有導航 PND 的時代。這麼多年下來,幾乎覺得自己開車已經離不開導航。

車上的導航,我最在意的還是操控性(?)。雖然邊開邊操作大概會被砲很危險,但現實就是偶爾還是得邊開邊找路、改路線或設景點。所以介面要夠直覺,放大縮小看清楚路線也要順手,這一點很重要。

再來是畫面好看。目前我比較喜歡用 Apple Maps。HERE 和 Waze 雖然不常用,不過稍微用過覺得畫面不差。

Google Maps 和之前很多人吹捧的高德地圖,我個人都覺得畫面太「工程師感」……尤其高德地圖還特別吵 (中國軟體特性?啥都要講話…)

看來看去,車上的導航方案我其實還是最想用車廠原廠系統。不過不得不說,車廠最大的問題通常還是圖資。

如果要在美觀和實用之間找個平衡,而且車子沒內建導航,那目前還是覺得 CarPlay 搭配 Apple Maps 最合適,畫面好看,用起來也還算順手。

Google Map 的美感... (CarPlay版本畫面)


Apple Map (當然是 CarPlay 版本)


May 07, 2026

terminal true color x screen


GNU screen 應該一直都是 unix like command line 愛好者的好朋友。用了應該有20幾年後,今年才發現原來現在的 terminal 花樣很多,連 true color 都可以了。但是也發現一跑 screen 就都沒了。

其實問題可能只是用的 screen 太舊。只要想辦法更新到 screen 5.x 應該就沒問題了。

然後要注意一下 screen 設定檔 (通常就是 ~/.screenrc),screen 5 遇到 screen 4 的會有點怪怪的。我的建議是只留下基本的,termcapinfo 這些大多需要砍掉。下面是範例

April 23, 2026

To say is one thing, but to do is another?

越來越意識到, "To say is one thing, but to do is another." 這句經典英文句子在這個 Agentic AI 時代,尤其在軟體相關行業,已經不太能成立了。

值錢的不是做,而是怎麼說

當然這樣寫也太簡單了,應該是怎麼敘事整個工作流程該怎麼完成。搭配夠廣的背景常識,才是現在的生存之道吧。先寫下來當記錄。




March 04, 2026

AI 永動機?

AI 沒辦法取代消費者。
原本消費者拿來賺錢的工作被 AI 取代了,那誰來買單消費呢?

這則是用來確認想法時間的。

December 31, 2025

壓線年度更新

 


又一年過去了。
今年還是 AI 主調,但是用法已經不同。從 copy & paste 進化成 agent driven。真的很期待明年到底會變成怎樣呢?

August 23, 2024

年度更新(?) Web UART

 


偶而來一下年度更新。

這一年來 AI 祝我良多。發個還蠻方便的東西: WEB UART。



可以在有 chrome 核心瀏覽器 (e.g. Chrome, Edge ) 的情況下做為簡易的 UART terminal 替代品。
當然很難完全取代正規 terminal emulator,但是應急還是可以的。

我放在 github,需要的可以自行取用

https://github.com/askac/webuart

December 26, 2023

年度更新。End of 2023

 忽然發現 2023 即將過去,今年都沒來更新 blog,趕緊來更新一下。

過去一年最大的改變莫過於 chatGPT 進入生活吧。短短幾個月,多做了很多以前不知道怎麼做或是沒想到可以做的事情。當然主要還是專業的寫程式碼之類。


然後有個人類訓練 AI,但是人類同時也被 AI 訓練著的感想。

今年最讓我覺得特別的大概是 CRC32 計算 for MCU。在運算量和 code size 達到均衡。

貼出來分享一下。

uint32_t halcrc32_update(uint32_t crc, uint8_t data) {

    crc ^= data;

    for (int i = 0; i < 8; i++) {

        if (crc & 1) {

            crc = (crc >> 1) ^ 0xEDB88320;

        } else {

            crc >>= 1;

        }

    }

    return crc;

}


uint32_t halcrc32_calculate(const uint8_t *data, uint32_t length) {

    uint32_t crc = 0xFFFFFFFF;

    for (uint32_t i = 0; i < length; i++) {

crc ^= data[i];

for (uint32_t n = 0; n < 8; n++) {

    if (crc & 1) {

        crc = (crc >> 1) ^ 0xEDB88320;

    } else {

        crc >>= 1;

    }

}

    }

    return crc ^ 0xFFFFFFFF;

}

 

寫得不多,塞點圖充版面一下。照片是 Pixel 8 Pro 拍攝的。