Photoprism database locked frequency on TrueNAS

PhotoPrism was using SQLite3 as the default database on TrueNAS; however, it frequently displayed a ‘database is locked’ error.

The official documentation recommends switching to MariaDB, using an SSD, or configuring a database DSN.

Ref: https://docs.photoprism.app/getting-started/troubleshooting/sqlite

Ref: https://github.com/photoprism/photoprism/issues/392

Switching to MariaDB on TrueNAS is not easy, and the source code expects an empty string to be passed, which is not accepted by the TrueNAS web UI.

// DatabaseDsn returns the database data source name (DSN).
func (c *Config) DatabaseDsn() string {
	if c.options.DatabaseDsn == "" {
		switch c.DatabaseDriver() {
		case MySQL, MariaDB:
			databaseServer := c.DatabaseServer()

			// Connect via Unix Domain Socket?
			if strings.HasPrefix(databaseServer, "/") {
				log.Debugf("mariadb: connecting via Unix domain socket")
				databaseServer = fmt.Sprintf("unix(%s)", databaseServer)
			} else {
				databaseServer = fmt.Sprintf("tcp(%s)", databaseServer)
			}

			return fmt.Sprintf(
				"%s:%s@%s/%s?charset=utf8mb4,utf8&collation=utf8mb4_unicode_ci&parseTime=true&timeout=%ds",
				c.DatabaseUser(),
				c.DatabasePassword(),
				databaseServer,
				c.DatabaseName(),
				c.DatabaseTimeout(),
			)
		case Postgres:
			return fmt.Sprintf(
				"user=%s password=%s dbname=%s host=%s port=%d connect_timeout=%d sslmode=disable TimeZone=UTC",
				c.DatabaseUser(),
				c.DatabasePassword(),
				c.DatabaseName(),
				c.DatabaseHost(),
				c.DatabasePort(),
				c.DatabaseTimeout(),
			)
		case SQLite3:
			return filepath.Join(c.StoragePath(), "index.db?_busy_timeout=5000")
		default:
			log.Errorf("config: empty database dsn")
			return ""
		}
	}

	return c.options.DatabaseDsn
}

Finally, I resolved the issue by adding PHOTOPRISM_DATABASE_DSN in the 'Additional Environment Variables' section, using the default path of the SQLite3 database and the parameter expected by the solution

Panasonic LUMIX 20MM F1.7 光圈葉片重組

之前發現鏡頭內部有發霉想自己清理但拆不到,光圈環那時候不會組勉強裝起來但沒裝好,想再送給人清潔前自己裝好他

最上面那片塑膠是雙面膠貼的,用吹風機加熱一下就可以容易從縫隙撬起來,然後有三顆螺絲要轉開,卸下後就可以看到這樣,鐵片可以直接拿開,下面再轉開三顆螺絲

再卸下後就可以看到這樣,將中間圓形的小鐵片移開便可以看到光圈葉片

裝的方式其實也不難但是要有一點耐心,一片一片疊上去到最後一片的時候需要塞進第一片的下方,以前沒經驗不知道後來輾轉看到有人寫到

照方式疊對光圈葉片就不會卡卡的

淘寶系統家具經驗分享

大概四年前臥室、兩年前新屋跟這幾天臥室系統家具都是從淘寶來的,簡單分享一下心得

流程為

  1. 找廠商訂製家具、溝通需求、運送到集運商,看你要不要打木架,打了比較心安,但是拆跟丟又是一件麻煩事,我只有新房這次有打木架,拆了很久、最後垃圾很多需得找清運都是額外的花費,另外兩次沒打木架,基本也沒遇到什麼誇張破損問題,但每家包裝不一樣還是多確認。

    這一個階段與賣方溝通非常困難,除非你就是買現成的樣板都不修改,否則跟對岸交流雖然說的都是中文、但是你就是不懂他在講什麼想什麼、他也是,也有遇到很自傲覺得自己很專業當你是笨蛋的。

  2. 集運自己覺得沒什麼特別的,就是運送的時效每家差距感覺有點大,一般問到的只要有破損都願意免費再配送一次,當然前提是淘寶賣家願意、這部分遇到的基本也都可以。

  3. 最後是組裝,目前配合過兩家,有一家的感覺實在太差,螺絲、固件漏的非常誇張、反應後也只是說那個不影響沒裝沒關係,另一間好一點但也無法令人滿意,例如抽屜不管多大多小,滑軌跟板材就是只會鎖兩顆螺絲,所以我都得自己再收尾一次補一些螺絲,另外細節部分也不會處理得很好,所以都還是需要自己再調整絞鍊以及扶正櫃子等,加上工資報價都很高總之就是69分的水準。

這邊的總花費大概17萬左右吧,沒有再詳細確認,附上一些簡單可以找到的相關照片、缺的就懶得補拍了,順道一提因為天花板燈具也是自己規劃,所以有用dialux模擬,實際還原度是挺高的。

下面是最近臥室的相關資訊,這次總共花費約51000,跟台灣直接找系統櫃已經差異不太,差別在板材等級高一些,可以製作圓弧

SPA XC60 更換引擎扭力桿

就這個東西橡膠有點裂開了

看社群外面換大概要4000-5000

淘寶買材料不用一張,這工資實在太扯

我買的這種版本號稱保用8年,加運費不用2000

再買了一組套筒、扭力板手大概一千多

細節忘記了,大概要拆四顆

可以參考這個影片

上面兩顆扭力60Nm
下面大顆的110Nm、小顆10Nm

https://youtube.com/watch?v=jbt5gPy-qUQ%3Fstart%3D314%26feature%3Doembed

換完後感覺.. 沒差

FRIGIDAIRE 富及第 洗衣機故障碼 E3A

使用兩年的便宜像貼牌的洗衣機在烘衣的時候會亮故障碼E3A

網路上資訊不多,相關的有

E3A: High Temperature Condition The dryer’s internal temperature is excessively high. This could be due to a blocked vent, malfunctioning thermostat, or failed temperature sensor.

Youtube有介紹如何排解

https://youtube.com/watch?v=Cm-yXjwn6cs%3Ffeature%3Doembed
https://www.douyin.com/video/7181289732578495799

請廠商來查修,標示處有一個跳脫開關需要手動按下重置

主要原因則是風扇不太轉了,維修師傅報價需4000-5000,策略看起來是低成本貼牌機,靠維修薛回來,修一台賺贏賣十台

轉開這幾顆螺絲和接頭就可以卸下

型號YYF80-50-2D2,amazon ebay之類的有但價格一樣是搶劫

淘寶只有220V的版本價格大概才400台幣,email給製造廠商問不過因為假日可能不會回應懶得等

手癢貼紙撕開後不會拆,所以加一些鋰基脂、黃油,又噴了些WD40手動轉一陣子,軸承就順暢鬆了,再貼起來裝回去就能烘了,不知道能撐多久

精通 Dreamweaver CS4 與 PHP & MySQL 實例整合應用經典

  這是一本適合希望能有利用Dreamweaver的能力,而不只是被限制在框框中使用之讀者所閱讀的Dreamweaver & PHP MySQL書籍。

   ● 你覺得被擴充元件(Extension)綁死了嗎? 
   ● 盲目跟著書籍步驟點選、加入一堆程式片段,卻完全不瞭解剛剛做的有什麼意義? 
   ● 你遇過想要增加修改擴充元件、書中範例沒有提供介紹的功能,卻無從下手的窘境嗎?

【本書特色】
 ● 詳盡程式碼導覽帶領瞭解程式架構,培養讀者閱讀修改程式與利用Dreamweaver能力
 ● 精選整合21個實用免費擴充元件、3種WYSIWYG編輯器
 ● 最豐富完整的內容,獨家整合實做讀者最常見問題:
  【訊息發佈系統】深入瞭解內建伺服器行為
  【Ajax圖形驗證線上郵寄】深入瞭解PHP郵寄
  【會員搜尋管理系統】使用者驗證、多欄位條件搜尋、認證信、MD5加密
  【個人網誌】圖形驗證Captcha、FCKeditor、PHP HTTP身份驗證、Cookie資訊記錄
  【RSS feed與線上閱覽器】瞭解、製作與應用RSS
  【留言板】TinyMCE、悄悄話、可回覆式、防止垃圾留言
  【網路相簿】PHP檔案處理、一行程式處理縮圖、階層式選單
  【投票系統】多筆記錄的處理、圓餅圖、以Access建立複雜SQL敘述
  【購物車】以Session陣列實做完整購物車
  【免費PHP & MySQL空間申請與無痛網站移植詳解】
  【擴充元件大補帖與書用擴充元件下載】9大擴充元件網站介紹
   還有更多…    

松崗 XW8135
書用擴充元件下載

 

閱讀全文〈精通 Dreamweaver CS4 與 PHP & MySQL 實例整合應用經典〉

動態 N 階選單 By Dreamweaver & PHP MySQL 終極版

很久以前曾經做過一篇 動態兩階選單 的文章,但基本上並不算是一個完成體,因為若真的要拿來用會需要再克服一些問題,今天的很不一樣,這個範例將會克服之前做的所有問題,包括:

  • 這次是圖文版,會比單純的只有影像簡單易懂
  • 範例介紹動態3階層選單,只要你看的懂在幹嘛很容易延伸為更多階層
  • 表單內的所有欄位值處理保存值的問題,包括選單預選值、文字欄位值

後面就開始這個「3+2郵遞區號」的範例製作,你可以點選這裡觀看完成的範例。

閱讀全文〈動態 N 階選單 By Dreamweaver & PHP MySQL 終極版〉

Dreamweaver PHP 圓餅圖中文字串

 [15-5-2 使用PHP Pie Chart產生圓餅圖]

       使用 PHP Pie Chart 產生圓餅圖後就可以開啟瀏覽器測試,前面知道這個資料集需要一個URL參數sIndex以指定投票主題,所以開啟網址http://localhost/vote/graph.php?sIndex=2,這時候就可以看到圓餅圖了,可以看到項目標籤是亂碼的,還需要做一些修改才可以檢視中文。

15-5-08.png 閱讀全文〈Dreamweaver PHP 圓餅圖中文字串〉