發表文章

萬用插座演化

圖片
實際出差/出遊用到萬用插座轉換器的機率不多,因為飯店大多可以借用。之前把收集到的都丟到行李箱,最近我弟送我一個幣安的萬用插座轉換器,才知道已經從單純機構設計變成有晶片了,多了 PD Type C 孔充電。 紀錄一下,欣賞一下技術演化。 Windows Embedded:機械拆裝,好處是收納可以組成一個大圓柱。 Lucky:收納方便,直接把需要的三種輸出推出來就好,輸入支援四種。 Intel:收納麻煩、輸入四種、輸出六種、拆裝麻煩。 Google:收納簡單、使用簡單、還有附保險絲。 Binance:外型帥氣、支援 PD 充電、平行扁平插座跟斜向扁平插座共用省空間。 順便讓小孩思考,如果世界上只有四種主要插座類型,那共需要幾種轉換插座?由此帶出多轉一,再一轉多的設計,好處是什麼?然後討論一下怎麼選擇 中間層的設計,為什麼 Google 中間層是兩根圓柱? 問了 ChatGPT,世界上大致可分為 15 種不同的插座類型。 

Delete useless (X) useful (O) code

圖片
最近遇到一個 Bug,讓我想到一個笑話:「我都不敢請假,因為怕發現老闆發現有沒有我都一樣。」 Patch 的標題是:" [NFC] delete useless code " 內容是移除下面紅色的那幾行     public void updateForShouldDefaultToObserveMode(int userId) {         long token = Binder.clearCallingIdentity();         try {             if (!android.nfc.Flags.nfcObserveMode()) {                 Log.d(TAG, "observe mode isn't enabled");                 return;             }             NfcAdapter adapter = NfcAdapter.getDefaultAdapter(mContext);             if (adapter == null) {                 Log.e(TAG, "adapter is null, returning");                 return;             }             ComponentName preferredService = mAidCache.getPreferredService().second;             boolean enableObserveMode = mServiceCache.doesServiceShouldDefaultToObserveMode(userId,                     preferredService);             mHostEmulationManager.updateForShouldDefaultToObserveMode(enableObserveMode);         } finally {             Binder.restoreCallingIdentity(t

論積極

這輩子要遇到好的主管不會太難,但要能夠遇到一個可以糾正自己想法/作法的人就不是那麼容易了。在職場上,大多人不想要得罪別人就不會主動糾正別人。覺得厲害的管理者,只能透過自省、觀察別人跟讀書來增進自己。 今年總共會參加公司的三場慈善活動,第一場是1919的包裝生米,第二場是安得烈的打包常溫食物,第三場是下週的淨灘。 第一場覺得大家都很積極,在一個沒有冷氣房的大倉庫下午盛米、包米。大家流很多汗,很好。 昨天在第二場的時候,是 Google 跟 ASML 一起參加,一家公司三條線共 150 箱,我跟另一位同事負責拆箱食物,例如:米、麥片、罐頭。接著把食物搬到三台推車去分到三條線去。 中間蹲在那邊拆箱的時候,看到某一位同事把推車推回線頭之後就直接放在那邊跟同事聊天,也不會多走幾步推到我們食物堆這邊來。我只好再站起來去把推車拉過來。 所有食物都拆完之後,我就去看看哪條線比較慢的,去幫忙擺食物。 食物擺完後,被告知幫忙把推車搬到遠處的牆角擺好,回到原處的時候,看到 ASML 的推車還放在原處,我也幫忙搬過去收好。 再來需要我們放一個紙板在箱子最上面,剛剛那位同事擺完她在的那條線之後,就把紙板交出來說:「還有誰需要紙板的?」我就接手過去,心裡會覺得:「怎麼會覺得把自己的線擺完就沒事了,而不是看還有哪個箱子沒放紙板的就過去放嗎?」 最後是封箱作業,因為公司常搬家,之前有研究過膠台使用法,但找不到正確教學(難道是太簡單?!),工作人員也只用到膠台的切割工具,卻沒有用到內建的滾輪,變成建議我們兩個人一組,一個人壓箱,一個人兩隻手去拉膠帶。私以為膠台應該是用力壓著然後滾動,所以就不需要兩個人一起封一個箱子,結論是某位同事說 他封一箱,我大概可以封三箱。 也學到一堆箱子擺到棧板上面的擺列法是有學問的,每一層要旋轉,讓箱子壓在箱子中間而不是整齊的一柱一柱這樣。

東元冷氣室外機機版分析--室外機關不了機

圖片
房間室內機:MS725B9,客廳室內機:MS745B9,一分二定頻室外機。 某天凌晨,覺得冷氣變得好冷,於是半夜起來關冷氣,但整晚還是很冷,棉被包得緊緊的,關冷氣之後還聽到喀喀幾聲,還以為是樓上漏水了。早上上班的時候才發現窗外的室外機怎麼還在運作? 於是拆開房間的室內機,沒想到鋁鰭片那邊結了一堆冰,查了網路說可能是濾網太髒,於是順便把濾網洗洗了,但想想不合理,原因應該是室外機持續運作,室內機風扇已經關閉,所以冷氣送不出來,積在鋁鰭片那邊,一下就結冰了。 急著上班,想說房間要先開一整天的冷氣了,看到網路說可能是機版的繼電器壞了,然後可以先從總開關那邊把電源關閉,好險我之前都有先貼貼紙註明開關用途,關了之後就先去上班了。 晚上回家之後,打開室外機的機版,恩,有點小複雜。 繼電器的原理算簡單的,用一組電去控制後面的開關,如果壞了,應該是永遠打不開,或是時開時不開,我的情況則是恆開,代表是開關黏住了,當晚兩顆都敲一敲還是沒用,隔天早上起來,冷氣突然就可以關了。 雖然暫時好了,但還是要自己準備維修,上次換個風扇的啟動電容,上圖右下角那一顆黑色的(SH-CAP 4uF ± 5%,450V,50/60Hz, -25~70C 04/08),零件很便宜 -- $80,師傅來的話一趟就要 $1200,如果是可插拔的零件就自己學著換,安全第一就好。 拆下機版,兩顆繼電器的型號都是一樣的,845N-2C-C,還順便學了 DPDT ,(Pole 跟 Throw)的設計,但繼電器是焊在機版上的,自己解焊有點麻煩,剛好小孩有一個電包他說學校有學,所以就決定自己先買零件來換了。 同時也跟東元報修,說只能換機版,約三千多元,還要找的到零件才可以。 我先把電路板背後的顏色標好,但看了一個晚上還是搞不懂兩台室內機怎麼去控制兩台壓縮機的。機版共有六條線,四條進,兩條出(控制風扇),怎麼沒看到控制壓縮機的線? 今天再多拍了其他線路的圖,手繪到紙上 最後再用 Google Slide 畫好,這樣清楚多了 畫成這樣就清楚多了,左邊八條線是室外機的輸入,左排四條粗線直接控制兩個壓縮機,四條細線接到機版控制風扇,中間那塊大灰色是機版,有兩個繼電器(845N-2C-C),8 pin,2 pin 控制,6pin 是雙軸雙切 因為壓縮機有兩個,風扇只有一個,所以啟動風扇的開關一定是一個 OR 運算 if (室內機 A 啟

超級恐怖的耳石脫落經歷

前一個晚上喝了奧利多之後上床,早上六點在床上平躺姿勢一醒來,發現天花板的電燈順時鐘方向快速旋轉,心裡想說慘了:「難道感冒了?」起床刷牙之後沒再感覺眩暈,接著去女兒房間一平躺又發現天花板繞著圓心在旋轉,就像在晚上看天空,星星旋轉一樣。轉的速度越來越快,像是在坐超快的咖啡杯,接著腹部一陣噁心想吐,我就快站起來。 查了一下網路,"疑似"是耳石脫落,但原因不明,前一天我也沒撞擊到頭部,老化?接著去上大號的時候,渾身開始流冷汗,老婆傳了「 耳石復位 」的影片給我,只好先做做看,第一次平躺下去的時候,又立刻開始大旋轉,一陣超級噁心想吐的感覺襲來,立刻衝到廁所,但慘的是吐不出來,早上起床沒吃任何東西,有一股氣一直擠在賁門出不來,然後我又用力似乎把賁門關得更緊。一直拿著臉盆怕噴出來,超恐怖的。 我上一次吐應該是七歲以前了吧,之後生病從沒吐過,反而家人很常吐,自己則是鼻子症狀居多,這次因為眩暈整個氣卡在賁門吐不出來超痛苦的,後來在床邊坐了一個小時,一般打嗝把前一晚的奧利多氣體排出來,一邊流冷汗。一個小時後想說應該好一點了再做一次耳石復位動作,結果這次換轉到側邊的時候又超暈,一樣超想吐,又立刻拿著臉盆衝到廁所去。 就這樣,大概有六次很想吐,然後吐了三次淡黃色的水(膽汁),聞起來超苦的,真是太慘了。 總共做了兩回合的耳石復位,平躺下來休息,睡了一小時之後起床就好多了。換了幾個姿勢不會再暈,就決定下午不去看醫生了,因為如果沒法復現問題,醫生檢查不到我的眼振,也只能開止吐藥給我而已。 下午去上班的時候,感覺身體還是怪怪的,就像你剛劇烈抽完筋之後,雖然沒抽筋了,但筋肉內部已受傷害。我覺得胃上面就怪怪的,晚上去羽球場,測試一下,身體還OK,就打了兩個小時的激烈羽球。 晚上回家沒有任何眩暈症狀,隔天下午去重訓,做了仰臥起坐,覺得有一點點暈暈的,但還是把一百下做完,結果晚上回家一右躺,又發現快速旋轉了... 今天公司有免費問診,問了醫生耳石脫落的問題。 1. 如果不是中樞性頭暈的話,也就是周邊性的,例如:內耳淋巴過多,前庭神經炎,耳石脫落,就會開散彈槍的藥給病人,例如:B12 修復神經,利尿劑幫助排除末梢積水(內耳淋巴),止吐藥 減緩症狀。 2. 如果沒有眼振的話,眩暈很難確定原因,因為太小了,醫生說要用電子顯微鏡,只能用在大體。 3. 耳石復位術,有些是在讓你的大腦快速學會怎麼

女人也許會欺騙你,朋友也許會背叛你,但數學不會。因為數學不會就是不會...

「女人也許會欺騙你,朋友也許會背叛你,但數學不會。因為數學不會就是不會...」 從小到大也看了不少有關數學的謎題,諸如一些看起來公平的比賽,裡面卻有陷阱,或是貝氏機率的題目,可能連醫生都會解錯得病的機率。但提到期望值,覺得應該是很簡單的題目,沒想到 李永樂 老師講的這題,沒看過,而且也沒有觸發到我的警報思維。 遊戲規則是這樣的:「A 跟 B 各拿一個硬幣,然後各自出正面反面,如果都是正面的話,A 給 B 三元,如果都是反面的話,A 給 B 一元,如果是正反面的話,B 給 A 兩元。」 聽起來很公平,機率分別是 雙正:0.25, 雙反:0.25, 正反:0.5,B 的期望值是 0.25 * 3 + 0.25 * 1 - 0.5 * 2 = 0,零和遊戲... 但事實證明,A 是有策略可以讓 B 的期望值為負的。 https://www.youtube.com/watch?v=g-wCpEZBEdw&ab_channel=%E6%9D%8E%E6%B0%B8%E4%B9%90%E8%80%81%E5%B8%88 最後我也驗證了一下,如果題目改為雙正面或雙反面的話,給兩元,解出來的方程式會是 y > 0.5 跟 y < 0.5,所以沒有交集。

合理的解釋有很多個,正確的解釋只有一個

「合理的解釋有很多個,正確的解釋只有一個」-- 冀劍制 最近剛好分享給家人這句話的涵義,又剛好在臉書看到一堆符合這句話的言論,順便記錄一下想法。 在學習電腦科學路程上,我們都是身體力行實踐這條規則的,因為在解 Bug 的時候,根據 錯誤紀錄,我們會先猜想幾種可能的原因,接著一一排除,直到找到正確的原因。但在讀哲學書的時候,冀老師啟發我的是多讓思考發散。 舉個例子:「我同學上課都在打電動,結果考得比我好,所以我不夠聰明。」 這句話合不合理?合理!但正不正確?不一定。就如書中講的,很多人找到一種合理的解釋就會把它當作正確的解釋。我們要建立一個雷達,時時提醒自己。 我讓家人練習舉出十種合理的解釋,他們講了幾個 「因為該同學先學好了。」 「因為該同學上課打遊戲,回家都一直學習。」 「因為他學習效率比較好。」 「因為有同學考試的時候幫他。」 上面都合理,所以大家都可以想到多個理由的,只要有被提醒... 我接著講了幾個合理的理由 「他考試作弊。」 「他留級,所以這些課程都已經學過了。」 「他爸是校長,所以可以先拿到考試題目。」(這裡跟獨立自主的作弊是不一樣的) 「他爸的朋友是校長,所以可以先拿到考試題目。」 「他爸的大姨媽是校長,所以可以先拿到考試題目。」 根據這條規則,你可以無限延伸講出合理的解釋,對吧? 但學會這有什麼用?如果要一一排除才能證明是正確的解釋,永遠排除不完啊?對,所以我只能說這是訓練一種思維,不要武斷的、單一方向的思考。 或是轉換看東西的角度,去問資深的管理者問題,他們常常回答:「It depends.」除非你前提很精確,但當前提很精確的時候,你也快找到答案了Orz。當你前提定義的不夠的時候,就是當場看情況而已。 電腦科學跟真實世界不一樣的地方是,我們無法重建一個幾乎相同的環境,在電腦科學裡,我們可以把大多因素都固定,然後改變一個變數,但真實世界,過了就過了,你說你大考失常是因為肚子痛,永遠也無法證明你肚子不痛的話,就會考得好。 在網路上,常常有人做梗圖用一個人以前的言論打臉他自己,我真覺得這是腦X的行為,時空背景不同,本來就會有不一樣的想法,作法,除非你可以找到一個所有因素都一樣,結果這個人會有機率做出不同的反應,例如 GPT。硬把他當時考量的要點隱藏起來,只用現在的環境去考慮,然後在網路上宣導他愛自打臉,不是腦X,不然就是別有居心? 忘了在哪看過一段話: