index
Python Tkinter的Listbox無法scroll
環境: Windows 11, Python 3.8
用鍵盤上下鍵觸發Listbox.yview_scroll也沒反應。
這個很詭異的問題是下拉選單原本是用python預設的srcoll動作,但是選項小於15個時, 不會有scroll的反應, 目前用手動加上scrollbar解決。
動感南島電音: Te Vaka
有一天在幼稚園戶外活動,被背景音樂吸引,查了一下,歌曲是Pate Pate,來自紐西蘭的樂團Te Vaka,第二章專輯Ki Mua (1999)。動感的音樂、好聽的合音、大海的味道,這首歌也是2016年迪士尼動畫「海洋奇緣」(Moana)的配樂。
官方網站可以試聽,有歌詞: Pate Pate by Te Vaka
Te Vaka是一個結合波里尼西亞各地(托克勞、薩摩亞、吐瓦魯、紐西蘭)的音樂家跟舞者團體。靈魂人物是薩摩亞出生,紐西蘭長大的Opetaia Foaʻi。
Dancing with AI | 簡立峰老師於中央研究院的演說
Dancing with AI | 簡立峰老師於中央研究院的演說 - Labs of Botsnova
- 訓練語料70%是英文
- AI很會寫程式,因為有open source
- 現在AI的神經元數量跟人類差不多,7000億個。
- Perfect Storm:
- AI (Deep Learning Algorithms)
- Big Data (Internet Data)
- Cloud Computing
- GenAI/LLM非萬能
- 不像傳統AI(google search),弭平地方差異 (NTU在各個國家是不同意思),LLM是一言堂。沒有時間感。
- 用AI最重要是generating ideas (就像聊天獲得靈感)

PostgreSQL刪除一堆欄位資料,資料庫佔用硬碟空間反而變大
一個原本佔用磁碟空間25.921GB的資料庫,刪除某個欄位內容資料(SET foo=''),大概1000萬筆資料,發現資料庫佔用空間反而變大: 33.478GB(花了1703秒)。
PostgreSQL有個VACUUM指令,試用看看,果然執行完磁碟空間變成24.8GB(花了1106秒)。
VACUUM FULL清的最乾淨,但是花時間,而且會lock table,正式站要小心使用。
Python 製作縮圖 (Pillow/PIL)
Pillow (PIL Fork) 10.4.0 documentation
Usage:
thumb = Image.open(img)
thumb.thumbnail(i[1] , Image.LANCZOS)
# thumb = thumb.convert('RGB')
thumb.save(target_path, "JPEG")
thumb.close()
演算法可以參考下圖。

screenshot via: Filters
Pillow-SIMD
Uploadcare提供了SIMD加速的Pillow: uploadcare/pillow-simd: The friendly PIL fork
Benchmark測試 Pillow Performance
Linux
CPU: Intel Celeron N4505 2.0GHz
安裝libjpeg-dev, zlib1g-dev後,安裝pillow-simd才會成功。但執行python出現illegal hardware instruction的錯誤訊息。
# install requirements
sudo apt install libjpeg-dev zlib1g-dev
# install pillow-simd
CC="cc -mavx2" pip install -U --force-reinstall pillow-simd
MacOS
MacBook Pro: 3.1GHz Intel Core i7
用brew安裝jpeg後,安裝pillow-simd成功,執行也沒問題。
總結
速度有比較快,希望有空來做benchmark。
Collection Management Systems (TDWG 2020 Symposium)
隨筆紀錄一下TDWG 2020關於自然史典藏系統的討論(線上),已經是4年前的討論了,有的似乎也沒有在維護了,仍有參考價值。
RECODE
Vince Smith
英國自然史提出的解決方案,完整的data model,滿強調Linked Data,很有啟發性。
- RECODE: Towards a next-gen collections management system as part of the institutional and community data ecosystem
- OSF | RECODE community workshop slides 2020-12-08.pptx
- VPS_91297_Collier.pdf - Google 雲端硬碟 poster
多人協作?

NHM data workflow

NHM與世界的連結

RECODE Data Model的關鍵: CollectionObject

Kotka
芬蘭的自然史典藏系統,強調Simple and Flexible,不用關聯式資料庫,很像新創邊移動邊開槍的模式。
Mikko Heikkinen
Collection Management System | Suomen Lajitietokeskus
- focus on 80/20-rule, flexibility and simplicity
- not focus on comprehensive data model (denormalized data)
沒有好用的系統、又有開發的人,所以就可以自幹

跨組織要使用,要讓系統簡單而保持彈性。因為非技術的問題就夠麻煩的了。

Symbiota
去中心化系統很厲害,但感覺要花很多精力處理系統之間的同步,不知道是不是美國這種人多地大物博的才運作的起來?
Edward Gilbert
- decentralized data network (isolated decentralized network of mini-aggregators)
- live-managed Vs. snapshot
Specify
新版(Specify 7)轉移到網頁,很大的破壞式更新。
- Community-Driven decision making
DINA
不知道是不是沒繼續了,感覺沒有很活躍?
DIgital Information system for NAtural history data)
- web-based modules, throuth API, components can be modified or replaced by other components
Meeting In-Between: Moving beyond the buzz, bottlenecks, and bubble to collaboratively develop digitization tooling
很讚的總結,但我暫時無法吸收了。
Matt Yoder
- Digital Specimens in TaxonWorks
| Name | start | mantance | status | tech stack | stats |
|---|---|---|---|---|---|
| RECODE | 2022 | NHM | good model concept | ||
| Kotka | 2012 | Finnish Museum of Natural History Luomus | PHP, Zend | 2020: 2.5 million specimens,12 institutions | |
| Symbiota | 2008 | Arizona State University | PHP | 2020:50-60 public portals | |
| Specify | Specify Collections Consortium | ||||
| DINA | 2014 | RBGE? | not available (2024) | web |