前陣子買了一本電子書,沒想到 epub 檔只不過是紙本的圖檔打包而已。充斥白邊在紙上或許有某種美感,但是在閱讀器上實在有點惱人,所以我就用 PIL 做了適當的剪裁,然後再用 ebooklib 重新打包 epub。因為對 ebooklib 不那麼熟,花了一點點時間才搞定,程式碼放在這裡給其他有類似需求的人參考。
這裡要說明一下,一般來說圖檔打包成 cbz 已經足夠了,但我這本是文字書,還是希望有個完善的目錄。雖然 Calibre 可以直接將 cbz 轉成 epub,但是還是有些不盡理想的地方,首先是圖片自動縮放的問題,再來是目錄的問題。當然還有一個因素是我忍不住愛折騰。

novus 發表在 痞客邦 留言(0) 人氣()

geo_coord.png
雖然以前大致上知道西歐緯度比中國東北略高一點,不過前幾天才發現羅馬和伊斯坦堡比北京更靠北,緯度已經接近於北海道。出於好奇,我寫了個小程式從維基百科抓取幾個北半球城市的經緯度,做成了下圖。
這裡的城市是憑感覺隨意挑選的,不是用人口、面積之類的客觀條件篩選,所以並沒有特別的意義。另外要注意本圖是直接把經緯度標記在卡氏座標上,並且橫向大幅壓縮,圖面上的距離和真實的地理距離可能會非常不同,特別是高緯度的部份。

novus 發表在 痞客邦 留言(2) 人氣()

剛看完一系列用瓦楞紙製作的橡皮筋動力槍,由衷佩服工藝高手的巧思與巧手,不但外型仿真,而且還真的可以裝彈、發射。
Blackfish 的作品

novus 發表在 痞客邦 留言(1) 人氣()

kawasaki_rose.jpg
由於某網友讓我翻舊照片,結果發現了之前拍的這幾張,原始作品大概早就被丟到廢紙回收了吧。
其實是川崎玫瑰的核心,做完不收尾,連續一直摺滿整張紙。

novus 發表在 痞客邦 留言(0) 人氣()

1774-william_hunter.jpg
中醫分科
古中醫的分科:

novus 發表在 痞客邦 留言(0) 人氣()

《冷廬醫話》的作者是清朝陸以湉(1802年-1865年),道光十六年進士。作者飽讀醫書,也常和同時代的儒醫交流,這本書紀錄的他在醫學方面的見聞,有些引用自醫書,有些來自臨床經驗。
我第一次知道《冷廬醫話》這本書,是在中研院史語所研究員祝平一的〈藥醫不死病,佛度有緣人〉文裡,其實我連書名都沒記住,只是對「吳有性治施幼聲醫案」留下印象。前陣子 在推特上看到網友引用《冷廬醫話》片段 ,才發現這本書蠻有意思的。因為我只是按照自己感興趣的主題摘錄,所以很多引文沒有考慮原始脈絡,有興趣的讀者請自行找原文閱讀。

novus 發表在 痞客邦 留言(0) 人氣()

推薦一部 James Randi 的紀錄片:《An Honest Liar》
https://www.bilibili.com/video/av2795660/
(如果不喜歡彈幕,播放器右下角有關閉的選項)

novus 發表在 痞客邦 留言(0) 人氣()

亞當曾經透漏,在 RFID 那一集有些牽涉到資安的部份被德州儀器施壓而沒有播出。最近我又看到亞當講了另一則從來都沒有播出過的流言,影片發布日期已經是好幾年前了:
https://youtu.be/ziQWDnFSPt8

novus 發表在 痞客邦 留言(0) 人氣()


最近讀了這篇文章《中西醫第一次大對決》,隨手寫些心得。
1910 年中國東北爆發鼠疫,清廷派留學劍橋的醫學博士伍連德前往主持防疫適宜,同時也募集各類醫療人員隨行協助。當時中國西醫極為稀少,中醫則相當普遍,然而前往疫區的幾乎都是西醫學校師生。雖然中醫名家不願前往,倒是樂於在後方報紙大打筆仗,有位從疫區長春逃到天津的中醫張聰彝看不下去了,發言道:「試問鼠疫致死一霎那之頃,以吾國醫藥之迂緩,而謂能立刻奏效乎?如曰能也,二三君子何不束裝赴奉一試其技,而乃於此間饒舌乎?」京城名醫之一的丁子良憤而應戰:「三五日內商議妥恰,即可見諸實行。」但最後也沒成行。

novus 發表在 痞客邦 留言(0) 人氣()

在十八世紀的時候,歐洲的冶金技術和精密機械突飛猛進,齒輪、彈簧、輪軸等零件越做越小,使得鐘錶匠能構思相當複雜的作品。其中最具開創性的成就之一,就是發展出後世稱為「可程式」的概念。機械的動作可以被保存在某種「記憶體」中,例如凸輪、打孔帶,然後透過槓桿讀取指令並轉換成機械動作。
這個寫字機器人由瑞士鐘錶匠 Jaquet Droz 在 1770 年代製作,也就是說大約跟美國一樣老。和當時的機械鐘錶一樣,這些自動機完全是用發條驅動的。
https://www.youtube.com/watch?v=bY_wfKVjuJM
https://youtu.be/WofWNcMHcl0?t=5m10s

novus 發表在 痞客邦 留言(0) 人氣()

分享一個前幾天幫忙排除問題的趣事,事後看覺得再明顯不過,發生當時卻讓人困惑了一下。前幾天要下班時,發現同事還在奮戰,所以就過去湊一下熱鬧。原來是他正在為某個平台建立 cross-compile 環境時碰到麻煩。
這裡說明一下,我們團隊的「cross-compile 環境」其實就是一個個 chroot,預先裝好了目標平台的 cross-toolchain、程式庫,並設定好環境變數。通常這些 cross-compile 都是由熟悉 Linux 環境的人事先打包好,新加入者只要按照產品型號下載對應的編譯環境,就可以立即上手建置專案。當硬體廠商更新驅動程式、或者程式庫 推出安全性修正時,負責的同事必須要更新編譯環境,有時候重大的調整會需要整個砍掉重頭建起。

novus 發表在 痞客邦 留言(0) 人氣()

前幾天有網友回覆 四則運算解析器 那篇,回頭瞄了一下舊程式碼剛好讓我得到了一個靈感,所以寫了這篇「函數解析器」。
我過去曾用 C++03 實作過一些小型語言的編譯器、直譯器,使用都是比較傳統的方法,也就是設計一個 AST 節點的基礎類別,再特化出各種不同類型的 AST 節點。這個寫法非常的囉唆,許多程式碼都是為了滿足靜態型別語言的規範,而不是實現真正的功能,相較之下 python、javascript 之類的語言可以用精簡許多的程式碼完成同樣的事情。

novus 發表在 痞客邦 留言(1) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。