Author Archives: 璉璉

[AI] 讀書心得-圖解人工智慧 從零開始了解人工智慧的原理與應用


上個月,看到同事在看公司書櫃的書:

圖解人工智慧 從零開始了解人工智慧的原理與應用

人工智慧除了偶爾看到新聞或是論文有瞄一下外,好久沒有完整的閱讀了。趁春假借來看看,看完寫篇讀書心得。

圖解人工智慧 從零開始了解人工智慧的原理與應用
圖解人工智慧 從零開始了解人工智慧的原理與應用

我是從1992年開始接觸類神經網路。([AI] 關於類神經網路的學習經驗分享)

當初看的應該是倚天的這本:

暢談類神經網路
暢談類神經網路

1994年到電機所修習詹寶珠教授碩博合開的類神經網路。1996以類神經網路分析計算撰寫碩士論文「分佈型類神經網路降雨逕流模式之研究」。

從我的角度來看,這本相當於我當時看上面那本暢談類神經網路,對於完全不在這個領域的,有一個入門的理解,讓人大概知道甚麼是人工智慧(這本重點只在類神經網路)。推薦給一般想要入門的人員看。但不推薦給研發部門主管或是有實作過任何一個類神經網路的人員看。

這本書的有一些小缺點:

  1. 人工智慧不僅限於類神經網路,雖然類神經網路是主流
  2. 因為作者是日本人,整本書很偏日本現況介紹
  3. 讓讀者對類神經網路會有過度幻想

這本書大概讓我了解目前類神經網路的主流是卷積神經網路 (Convolutional Neural Network, CNN) 與循環神經網路 (Recurrent Neural Network, RNN) ,Google、Microsoft、IBM 有提供 API 可以試用或購買服務,nVidia 的 GPU 能力很強大。

對於熟悉類神經網路的從業人員來說,這些資訊很容易取得,不需要花時間閱讀。

至於研發部門的主管,看這本可能會對人工智慧過度樂觀,錯估開發成本與時程,錯估預期成果,因此不推薦。

但對於完全不懂類神經網路的,或是不懂人工智慧是甚麼的,倒不失為入門讀物,特別是高三要大學入學面試的、畢業生要求職的,不妨讀讀看,或許面試時考官會隨便問,至少有個觀念可回答。

好久沒有完整閱讀一本書,感覺還不錯,接下來打算把公司書櫃的書一個月掃一本。

Categories: 圖書, 工作點滴 | 標籤: | 發表留言

[VS] Visual Studio 2019 @ Windows 2012 R2 無法正常安裝


昨天正常安裝 VS2019@Win10 x64 後,今天打算在 Win2012r2 上安裝。晚上選完安裝內容後,跑去睡覺,早上一看,發現卡在 Microsoft.Net.4.7.2.FullRedist 上:

VS2019 安裝失敗
VS2019 安裝失敗

點選「查看已驗證的解決方案」,沒啥有幫助的文章。

有其他人卡在 .Net framework 4.7.2 無法安裝
有其他人卡在 .Net framework 4.7.2 無法安裝

打開工作管理員,發現是執行下面執行檔失敗:

C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Net.4.7.2.FullRedist,version=4.7.3062.2\dotNetFxLatest-x86-x64-AllOS-ENU.exe

拷貝到 VS2019 安裝目錄後,本著「關掉引擎好換檔」的心態,先重新開機,再手動安裝 .Net framework 4.7.2 試看看。

手動安裝 .Net framework 4.7.2
手動安裝 .Net framework 4.7.2

沒想到還是失敗,但是手動安裝的好處就是有畫面。

.Net framework 4.7.2 安裝失敗
.Net framework 4.7.2 安裝失敗

從記錄檔可以看到錯誤原因發生在安裝 Windows8.1-KB4054566-x64.cab 時,找不到物件或內容。最重要的是有錯誤訊息。 (failed with 0x80092004)

安裝的詳細錯誤訊息
安裝的詳細錯誤訊息

一開始我以為是 VS2019 封包的檔案有問題,到微軟下載中心抓最新的 .Net framework 4.7.2 (NDP472-KB4054530-x86-x64-AllOS-ENU.exe) ,執行安裝,仍然發生上面錯誤訊息,比對內容檔案,是同樣的時間,所以應該沒更新的可以搞。

想說開啟新增移除程式看看,一看,居然 .Net framework 4.7 以後都沒有:

Net framework 沒有 4.7 以後版本
Net framework 沒有 4.7 以後版本

想說那就從 .Net framework 4.7 逐步安裝好了,沒想到裝 4.7 與 4.7.1 都說我已安裝更高版本的 .Net framework ,那我就試試看安裝 4.7.2 的繁體中文語言套件 (NDP472-KB4054530-x86-x64-AllOS-CHT.exe) ,還是回應找不到物件或內容。

想來只能想辦法移除 .Net framework 4.7.2 重新安裝,就 Google 搜尋移除 .Net framework 4.7.2 的文章,結果找到一篇很有用的文章:

.NET Framework 4.7.2 install error 0x80092004 — Cannot find object or property

看標題似乎就是中獎了~ 裡面內容概要是說在 TechNet 論壇有位 mwjvl 網友幫助他解決這個問題。解決步驟如下:

  1. 建立一個存放 kb 的目錄,目錄名不是很重要,但是為了方便解說操作,用下面的目錄名:
    C:\updatefix\expanded\
  2. 到微軟 Windows Update Catalog 下載 KB4340558 存放到:
    C:\updatefix\
  3. 將所有下載的 .msu 解壓縮到
    C:\updatefix\expanded\
    ,使用指令:
    expand -f:* “C:\updatefix*.msu" C:\updatefix\expanded\
  4. 使用指令將 C:\updatefix\expanded\ 內的所有 .cab 安裝到 Windows 內,其中 WSUSCAN.cab 不用安裝,視情況可能需重新開機。使用指令:
    dism /online /add-package /packagepath:C:\updatefix\expanded\filename.cab
  5. 若發生錯誤,移除重新安裝。使用指令:
    dism /online /remove-package /packagepath:C:\updatefix\expanded\filename.cab
  6. 重複步驟 4 ,直到所有 cab 都成功安裝。
  7. 上面建立的 C:\updatefix\ 沒用了,可以刪除
  8. 可以重新安裝 .Net framework 4.7.2 了

在步驟 2 ,我下載 KB4340558 時,有 3 個 .msu 可下載:

KB4340558 有三個檔案可下載
KB4340558 有三個檔案可下載

在步驟 4 ,我在安裝 KB4338419 時,發生 0x80092004 錯誤,我把它移除重裝。

發生錯誤移除重裝
發生錯誤移除重裝

完成後,手動安裝 .Net framework 4.7.2 ,就成功安裝了。

成功安裝 .Net framework 4.7.2
成功安裝 .Net framework 4.7.2

安裝完要求我重新開機:

重新開機啦
重新開機啦

重新開機後,再執行 VS2019 安裝,選「重試」,就會跳過 .Net framework 4.7.2 ,進行下一個功能安裝:

繼續安裝 VS2019
繼續安裝 VS2019

終於安裝完成,要求我重新開機:

VS2019 要求重新開機
VS2019 要求重新開機

確認安裝完成,從安裝精靈第一次啟動 VS2019:

第一次啟動 VS2019
第一次啟動 VS2019

總算搞定收工。不過詭異的是,我的 Win2012r2 在「程式和功能」那邊還是沒有任何 .Net framework 4.7 的安裝,只有 Visual Studio 2019 的安裝。

Categories: 技術分享 | 標籤: | 1 則迴響

[VSCode] 1.32 便攜版的語言介面未正確升級


便攜版就是免安裝版。

Visual Studio Code 強大之處就是小巧方便,所以我當然不會自作孽去安裝安裝版,而是使用免安裝版。

我在多台電腦上有安裝 VSCode ,上次在公司 NB 升級 1.32.1 時,有發現繁中語言介面升級後不正常,所以我採用整個目錄砍掉重裝,但發現這樣我得把外掛也跟著重裝,所以家裡電腦升級 VSCode 時,就改變方案,沒想到在家裡已經是 1.32.3 了,我公司升級應該是五天內的事,沒想到五天內改了兩個版本。

VSCode 升級通知
VSCode 升級通知

事先我是知道要升級,但是我習慣用便攜版,所以我不從對話框升級,而是到官網下載壓縮檔後解壓縮,覆蓋舊的便攜版。

先前舊版升級時,覆蓋完就正常結束了,沒想到低於 1.32 版升級到 1.32.1 或 1.32.3 版,都會呈現介面中英文混雜的情形。

呈現中英文混雜的介面
呈現中英文混雜的介面

改善的方法很簡單,先移除舊版中文介面。這邊很弔詭的是,VSCode 版本是 1.32.3 ,但是中文介面的版本是 1.32.4 。

移除繁體中文介面
移除繁體中文介面

再點選 [install] 安裝繁體中文介面。

安裝繁體中文介面
安裝繁體中文介面

安裝完語言介面並不會立刻變更,把 VSCode 關閉重新打開,就會顯示新的繁體中文介面了。

恢復成為繁體中文介面
恢復成為繁體中文介面

難得碰上不正常升級,我在想,可能是語言的翻譯檔標籤變更之類,導致不正常吧。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Android] 編譯給手機與上傳 Google Play – Xamarin for VS2017


話說,兩年前雖然完成開發 Google Play 的 App ,但因為去年在弄 Apple Store 的 App ,使用 Xamarin for Mac ,所以我已經完全忘了如何上傳 Google Play ,為了自己不知道多久後可能還會再上傳,還是自己留個紀錄。

編譯跟封存的步驟參考前一篇:

[Android] 無法正確封存 App – Xamarin for VS2017

這篇直接繼續封存開始。封存時的畫面如下:

編譯後封存中
編譯後封存中

正常完成封存後,畫面右下角可以選散發。在很舊版的 Android 模擬器,這時可以不選散發,直接將封存完成的 apk 拿到模擬器上測試,但目前的版本是不行的,所以一定要選 [散發]。

封存後選散發
封存後選散發

點選 [散發] 後,若是要直接給手機或模擬器用,選 [臨機操作] ,要是要作為正式版上傳 Google Play ,選 [Google Play] 。事實上選 [臨機操作] 的仍可人工上傳到 Google Play ,此外,點選 [Google Play] 的話,只能發布正式版、測試版,不能進行封測,我記得兩年前我在用的時候,應該沒有 [Google Play] 這選項,應該是後來微軟加入,方便開發者上傳用,但以版本管理而言,我個人偏好 [臨機操作] ,這可確保封存的 apk 檔案時間是自己可以掌握的,手上的備份版本與 Google Play 一致,當然影響不大,只是個人偏好而已。

散發通道
散發通道

A. 臨機操作

選取 [臨機操作] 後,要選一個來簽署身分識別,比如說你是用個人名義開發軟體還是用公司名義,或是集團公司可能有很多分公司,原則上這個檔案應該另外保存,如果有另外保存,例如公司共用的身分識別檔案 .keystore,第一次選 [匯入] ,如果從來沒建立過,第一次選 [+] 建立一個新的。建立時可以選擇有效期限,我是建議選長點時間,因為要更新軟體要用同一個身分識別上傳,建立身分識別後,要上傳 Google 取得對應的憑證,這個在網路上找一下,我兩年前做的,我也忘了步驟了,反正這篇重點不在這。

簽署身分識別
簽署身分識別

選擇 [另存新檔] 後,會讓你輸入密碼,必須記得第一次建立時輸入的密碼,否則無法正確簽署身分識別。這裡另存新檔的好處是你能掌握簽署身分識別後的檔案,不像直接上傳 Google Play 的,完全不知道暫存在哪。

輸入身分識別密碼
輸入身分識別密碼

回到 Visual Studio 2017 ,可以看到正在產生簽署身分識別後的 apk 檔案。

散發身分識別寫入中
散發身分識別寫入中

完成後,就可以傳輸到手機安裝,像一般沒有開 Google Play 帳號的 App ,就是把完成後的檔案放在網站上供人下載安裝。由於 Google Play 會對 App 進行檢查,一般來說,還是放上 Google Play 比較令人信賴,至於電視盒那種涉及侵權的軟體,就只能放上網頁供人下載了。

B. 上傳 Google Play

上傳 Google Play 可以把上面完成簽署身分識別的 apk 手動上傳到 Google Play ,也可以讓 Visual Studio 自動上傳,在上面散發通道選擇 [Google Play] 按鈕。

一樣,上傳 Google Play 也要簽署身分識別,不過可以從圖上分辨出是要為了臨機操作還是給 Google Play 使用。

散發到GooglePlay
散發到GooglePlay

密碼輸入的部分就跳過了,這邊由於不選擇存檔位置,所以簽署身分識別後的檔案 VS2017 不會自動幫你保存,如果又碰上 VS2017 的佛性發揮,一切隨緣時,上傳 Google Play 的 App 可能會變得不能安裝執行。

第一次上傳 Google Play 時,要輸入代理帳號:

註冊Google帳號
註冊Google帳號

由於我以前都是人工手動上傳,所以要建立一個新的。選擇步驟 1 的超連結,可在 Google 開發網站註冊一個 OAuth 認證帳號。

建立 Google API OAuth 帳密
建立 Google API OAuth 帳密

在資安的觀念上,不要在非官方的登入口輸入你原始的帳號密碼,即使是 VS2017 ,也不能輸入原始帳密,所以建立一個專用的帳密來登入,這樣也有好處,要是原始帳密進行密碼定期變更,VS2017 的自動登入不用變更,當發現帳密疑似外洩時,把這組帳密從 Google 刪除即可。

可以直接從網頁上複製帳密貼到 VS2017 的對話框,考慮到可能得重灌電腦或是 Visual Studio ,最好還是下載 JSON 保存,未來找帳密比較方便,當然也可以到網頁上查詢。

輸入 Google API OAuth 帳密
輸入 Google API OAuth 帳密

如果已經在 VS2017 註冊過 Google Play 帳戶,上面建立帳號的步驟就可以跳過,當然,如果說開發的軟體有分個人跟公司的話,就點選 [+] 再輸入個人帳號資料即可,有分的話,名稱一定要分出來才好辨識,沒有的話就直接點帳號與 [繼續] 進行下一步。

選取 Google API 帳號
選取 Google API 帳號

由於我要發布正式版,所以選擇生產環境。

GooglePlay 上傳選擇
GooglePlay 上傳選擇

我的目標 API 設為 Android 4.4 (19),在臨機操作不受影響,仍然可以安裝,但是 Google Play 則不接受,被踢掉,錯誤訊息為:

上傳 ‘com.[公司].[軟體]’ 時發生錯誤: Your app currently targets API level 19 and must target at least API level 26. [403]

VS2017 API 版本過低
VS2017 API 版本過低

我懷疑是不是 VS2017 限制,改用手動上傳,確認為是 Google Play 限制,必須改版。Google Play 錯誤訊息則為中文:

上傳失敗
你的應用程式目前的目標 API 等級是 19,但最低目標 API 等級必須為 26,才能確保應用程式採用最新的 API,讓安全性與執行效能達到最佳狀態。請將最低目標 API 等級調整為 26。

Google Play API 版本過低
Google Play API 版本過低

只好將最低目標調整為 Android 8.0(26) ,先做臨機操作,經過測試,Android 4.4 / 7.0 / 8.0 都還能安裝,就重新編譯上傳。

VS2017 上傳 Google Play 中
VS2017 上傳 Google Play 中

上傳完成後,登入 Google Play Console 檢查上傳狀態,可以看到上傳完成就自動發佈,從 Console 到商店更新大概還要 15 分鐘左右,要看商店是否已更新要稍微耐心等候。畫面上一個尚未發佈的版本,是我先前測試 API 19 的版本,再擷圖時尚未刪除,後來已經刪除了。

網頁檢查上傳結果
網頁檢查上傳結果

在 Google Play 商店會顯示目前版本的修改內容,所以最好人工進行編輯,避免使用者對於改版原因產生困惑。

編輯版本修改資訊
編輯版本修改資訊

好了,自己把步驟都記錄下來,希望下次要用的時候,操作方式不變… 不然又要到處上網找如何做了。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Android] 全螢幕畫面 – Xamarin for VS2017


兩年前開發 Android App 時,習慣使用 Windows 視窗開發的慣例,加上了標題列,考慮視窗盡量大的前提下,有略為縮小標題列,但是我沒想到我有一些 SVG 的展示畫面,是以 FullHD (1920×1080) 來設計,有了標題列與 Android 內建的系統狀態列後,我的展示畫面就會自動縮小,如下,左右有黑邊,上面為我的標題列。

系統狀態列與標題列

在寫 iOS 版本的 App 時,就直接使用全螢幕,就不再加上標題列。配合這次改版,把標題列取消,並且也覆蓋系統狀態列,也就是時間那列沒有了。

在專案屬性中,[Android 資訊清單] > [應用程式佈景主題] 輸入:

@android:style/Theme.NoTitleBar.Fullscreen

全螢幕屬性

另外原先標題列的內容會出現在主畫面做為 App 的名稱,也趁此機會跟 iOS 版本的 App 名稱統一。

變更標題列與軟體顯示名稱

測試了一下,不管直拿、橫拿都能正常全螢幕了。

其實有標題列跟系統狀態列在直拿時還好,影響不大,但是橫拿時,就會佔很大比例的高度,還是移除的好。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Office] 新機安裝零售版在哪裡輸入產品授權金鑰


最近買的新機器,都會內建 Office 365 ,如果買的授權是零售版的 Office 2019 / 2016 之類的,可以依照前篇先將授權掛到個人帳號,再於新電腦的 Office 365 登入該帳號,就會自動取得零售版授權。

[Office] 註冊零售版的 Office 2019

目前比較正確的方法是到微軟網站下載 Office 移除工具,把 Office 移除乾淨後,再安裝 Office 零售版,但是有些電腦會移除不乾淨,特別是新增移除程式內找不到 Office 的,只能從 Office 365 內登入帳號。

但如果是 Office 2013 或是同一帳號有多套零售版的 Office 時,那就有點糗了,此外已經是產品金鑰了,也不能重新兌換產品金鑰了。

例如本篇,先完成 Office 2013 安裝後,打開 Office 會顯示 Office 2013 是 Office 365 的一部分之類的訊息,找不到地方輸入零售版序號,然後只剩五天的 Office 365 試用期。

從 [控制台] > [新增移除程式] 找到零售版的 Office ,點下 [變更]

從這就可以輸入 Office 零售版金鑰了

選取圖上輸入產品金鑰後,就可以正常使用 Office 零售版了。

Categories: Office, 工作點滴 | 標籤: | 發表留言

[Android] 無法正確封存 App – Xamarin for VS2017


老闆要求修改軟體圖示 (icon) ,去年年底到今年一直無法正確封存 App ,主要是因為一開始一直用 Android Emulator 測不過。

[Android] Android SDK Tools 25.2.5 無法移除 – Xamarin for VS2017

原先在 2017 開發 Android App 時,還用 Visual Studio Emulator For Android 開發,由於主要是使用 HTML5 網頁,只需要一個 WebView 框架,所以完成後,App 就擺一邊了。

去年年底要更新 App 時,才發現 Visual Studio 2017 自動更新後, Visual Studio Emulator For Android 已經不能用了,新的開發要直接使用
Android Emulator ,今天受不了了,找出很舊的實體機 Android 4.4 測後,錯誤訊息不同了:

剖析套件時發生問題

有了錯誤訊息是個好的開始,上網查了,有篇文章說到,有時 VS2017 會不正常,從方案總管那邊,滑鼠右鍵,封存後試試。

封存編譯好的專案

居然這樣後,再下載就能在實體手機跑了,先前到底是死在哪阿?

網頁上說正常後,選單也可以正常跑了,我先前都是從選單跑,先跑重建方案,再跑封存。

選單封存功能

卡了三個月,到底在卡啥?VS2017 修復不知道多少次,我還搞到把 VS2017 全部乾淨移除後重灌,結果居然是莫名其妙的怪狀況。

不過即使實體手機能跑,Android Emulator 還是不能跑,要你何用啊…

Android 4.4 最慘,連執行安裝都不行
Android 7.1 顯示不相容
Android 8.0 顯示未安裝

我真是搞不懂這模擬器是要幹嘛用的,實機能裝,虛擬機都不能裝。

[2019/03/15 新增]

同事發現我把在螢幕上的軟體名稱打錯了,所以我今天重新打開 VS2017,編譯、封存,拿實體機來測試,居然又不能正常封存:

無 Icon

檢查專案屬性,居然 Icon 的設定跑掉了,我就今天打開 VS2017 改個名字而已啊~

改完 Icon 設定,還是不正常:

未安裝應用程式

回想昨天是先在 Android 4.4 上測試成功,先把專案目標 API 設定為 v19 ,再改回 v26,開啟 Android SDK Manager,重新以系統管理員開啟 VS2017 ,到方案總管,重新建置方案後,再重新建置專案、封存專案,又正確可以安裝到行動裝置了。趕快上傳 Google Play 。

Xamarin for VS2017 該不會是佛性編譯器吧?一切看緣分阿~

Categories: 封裝部署, 工作點滴, 技術分享 | 標籤: | 1 則迴響

[gMail] Outlook 收不到信


大概去年下半年,gMail 就常常發出低安全性的警告信給用戶,例如下面這張圖:

低安全性告警信
低安全性告警信

很多同事、親朋好友就依照信件引導,點下採取動作,修改安全性。但這封郵件沒提,改完後 Outlook 或其他 Client 端的郵件軟體就無法收 gMail 的信了,只有 gMail 在 Android / iOS 上的 gMail App 還能收信。

通常兩三天內 gMail 沒信也沒感覺,所以通常等發現後,都忘了發生甚麼事。

改回來也很簡單,到 Google 帳戶 安全設定檢查

恢復第三方應用程式存取權
恢復第三方應用程式存取權

恢復第三方應用程式存取權,也就是像上圖一樣,會提醒你停用,但是你不停用,就可以繼續用 Client 端的郵件軟體,例如 Outlook 存取 gMail 了。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[RAID] 更換故障硬碟


過完年後,發現專案服務 Web Server 不太順,遠端桌面連進去看,原來是兩顆 256GB 的 Intel SSD 組成的 RAID1 其中一顆掛了,立刻由 IT 發起資產請購,先前在 Nas 的 RAID1 可以線上擴展 (Expand),就直接買兩顆 512GB 的 Intel SSD ,打算順便擴展空間。

考慮專案服務 Web Server 是公司重要核心,上班時段持續服務客戶,簽核完成後,為了確保時效性,特別打電話給管理部,說明情況為緊急採購,請管理部追蹤此資產需求,若有任何問題請立刻聯絡我,我來排除,公司是聯強經銷商,今天下單隔天就到,結果硬是拖了八天才到,真的很無語。

拿到硬碟後確認沒問題,排在 16:40 進行更換,其實我個人喜換只用 RAID1 ,因為兩顆硬碟獨立,就算拆出來不做 RAID 獨立使用也能正常開機,而 RAID 討厭的是有時系統標記的硬碟順序可能跟磁碟順序不同,新機時,是測過每一顆代號,貼上貼紙在熱插拔殼上後,才開始上線,但為了確保安全,我選擇先關機。

一關機,告知 Windows Update 已安裝完,需要重新開機,頓時三條線,只好先讓 Windows 重開機,跑完 Windows Update 後再一次關機。

關機後,斷電情況下移除損壞的 SSD ,開機送電,確認 Windows 正常開機後,把熱插拔快取盒內的硬碟換下來,等到 Windows 開完機後跑 5 分鐘左右,負載比較輕後,再推入新硬碟,約 2 秒左右偵測到硬碟後,LSI MegaRAID Storage Manager 自動進入 ReBuild 。

以前的經驗重建 RAID1 約需一天左右:插入熱插拔硬碟,自動重建 RAID 1

沒想到下班時,用遠端桌面檢查,居然已經完成 ReBuild 了… 一臉矇逼… 想想也是,以前重建 RAID1 是 SATA2 的 2TB 傳統硬碟,現在是 SATA3 的 SSD 512GB (只重建 256 GB) ,快是有可能的。

今天下午把另一顆還活著的 SSD 換下來,特別擷圖,256GB 重建只需要 16 分:

RAID1 Rebuild

重建完後,想要擴展 RAID1 虛擬磁碟從 256GB 到 512GB ,查了半天,應該是
在 [Logical] 頁籤下,選擇虛擬磁碟,滑鼠右鍵選單,最下方有 Expand ,上網查的說明書是在 Expand Virtual Drive 章節,結果我的選單就是沒有。

http://www.lsi.com/

LSI 不知道是不是被併購了,官網自動導向到另一家,相關的資源雖然還能在 support 下搜尋得到,但是還是不夠完整,似乎是因為我使用的是 LSI Embedded MegaRAID 晶片,所以 MegaRAID Storage Manager for Windows 沒辦法線上擴展,要進 LSI BIOS 或 WebBIOS 才能做…

算了,反正目前硬碟空間還剩 100 GB 以上,不要把線上系統搞掛,不動它了。就的硬碟則在關機下卸除,貼標籤貼紙封存,以後若需要再接 USB 外接盒來使用。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

無線中繼 AC1200 超世代迷你路由器 A3


我家是樓中樓格局,一樓客廳的電腦最近一直斷網,客廳的電腦是使用 USB 延長線接 USB 無線網卡,連接二樓的無線基地台。起先以為是 USB 延長線老化,更換後沒有實際效果,判斷可能是 USB 無線網卡老化,就到 momo 買了兩個東西:

無線中繼 AC1200 超世代迷你路由器 A3
momo 網址官方網址

無線網卡 A650UA
momo 網址官方網址

到貨後,首先拆了 A3 來玩,將 A3 透過網路線接到電腦,設定無線中繼,設定完後,把原先無線網卡停用,非常不錯,A3 除了無線中繼外,還可以透過 LAN1/LAN2 接電腦上網,可以把 A3 當成無線網卡。因為家裡本來就有 5GHz 的無線頻段,透過 5GHz 的無線中繼,使用電腦跑測速網頁,可以跑到 89Mb/39.9Mb ,家裡是用光世代 100Mb/40Mb ,跑到這樣的速率算是不錯了。不過使用 HiNet 的測速軟體 HiNet.Dr.Speed.1.1.0.exe 倒是無法正常跑測速,上傳測測的沒問題,下傳測不出來。開工作管理員看,下傳速度亂跳,瞬間破 100 Mb … 測了幾次測不出來,放棄不管了,反正 speednet 可以正常測。

有 LAN 網孔的無線中繼

由於二樓的基地台不是 TotoLink 的,無線中繼無法正確設定兩台彼此的 WDS ,所以放棄 WDS 設定,把 A3 另外設定兩個隱藏的不同名稱的無線網路 (2.4GHz/5GHz) ,用手機連線後跑手機 App Speed Net ,手機稍微慢一點,大概是 79Mb/40Mb ,分別用 ZenFone 3 跟 iPhone X 測試速度良好,這樣大量改善 1F 的無線網路的效能,無線中繼的效果發揮出來了。

不過 A3 不能同時把 2.4GHz / 5GHz 都設定無線中繼到同一台基地台,可能是兩邊無線都取得相同 Class C 網段內的 IP ,形成路徑衝突,無線網路反而全死,只能用網孔進去改設定,5 GHz 有 433 Mb 的速度,我就只保留 5 GHz 的無線中繼。

買了 USB 無線網卡後,當然沒打算用 A3 接電腦。拆下來拿到電視那,把電視盒 Miier B2 跟東元電視的網路線接到這台,改善電視看 Youtube 的效能,大概是因為接網路線,比先前跑無線網路快很多,跑測速軟體跟電腦速率一樣,跑到 89Mb/40Mb ,再測試電視看 Youtube 都很順,A3 算是設定完畢。

先到 TotoLink 下載好 A650UA 無線網卡驅動程式後,把電腦換上 A650UA 後,發現 A650UA 是我討厭的模式,A650UA 在沒裝驅動程式前,是 USB 隨身碟,內含 driver ,不過買都買了,忍著不爽的感覺安裝驅動程式上去。

這支有點麻煩,重新開機後不會自動連上基地台,連續無法識別會卡在系統內,導致無法關機或移除硬體,應該是被鎖定了,要移除驅動程式重灌。

後來發現電腦內會掛上兩個服務,一個是 TotoLink 的,一個是 RealTek 的。由於每次重新開機,都無法自動識別基地台,先試過移除 TotoLink 驅動程式,改裝 RealTek 原廠驅動程式,但因為 A650UA 有隨身碟模式,RealTek 驅動程式無法跳過隨身碟直接變成網卡,只好先裝回原先無線網卡後,再上網買新的卡,這次想選小牌的,可以確保一定用晶片商的驅動程式。

露天找了一張 AC600 無線網卡。

這張一開始也會發生重新開機無法識別基地台,後來發現,是安裝 TotoLink 驅動程式時,兩個服務其中一個 RealTek 的有問題,而且移除驅動程式時被保留下來,服務名稱是 RunSwUSB ,執行檔放在 C:\Windows\runSW.exe ,可以 google 一下,也是有人在這撞牆。

這支服務找不到地方移除,只能手動停用,停用後比較正常,但偶爾還是會怪怪的。

先前發現電腦被 A650UA 強制鎖死時,只能按電腦 Reset 重新開機,重新開機時發現需要重新設定 BIOS ,也看到 CPU 溫度衝到 74 度,在這麼冷的冬天 CPU 溫度這麼高,回想起大概兩年沒清潔電腦跟換水銀電池了,拆機後發現有個 8 cm 的系統散熱風扇掛了,轉不動,衝去順發3C 買了新的風扇裝上去,舊風扇在拆的時候,聽到卡一聲,忽然就能轉得很順利,算了新風扇都買了,舊風扇就不要了,舊的水銀電池用電表量,還有 3.2Vdc ,算了,用兩年也換掉好了。

重新開機後,根本抓不到新網卡,到裝置管理員開啟顯示隱藏裝置,把 TotoLink 驅動程式移除、RealTek AC 的驅動程式都移除,重新插入網卡,就能正常偵測,這次學乖了,不把整個 RealTek 完整驅動程式含工具裝上去,只讓網卡掃描驅動程式安裝,這次裝完後,電腦就正常了,不過還得觀察個幾天。

A3 我覺得很讚很好用,一樓的無線網路跟電視都順了起來,就是電腦查問題很麻煩。A650UA 很難用,不推薦大家使用,還不如用小牌無線網卡。

Categories: 技術分享 | 標籤: | 發表留言

[Android] Android SDK Tools 25.2.5 無法移除 – Xamarin for VS2017


我 2017 開發的 Android 要小改重新上線,這中間經過 VS2017 多次升級,甚至因為 Win10 1803 導致我重新安裝 VS2017 。

App 可以正常編譯成 .apk ,並經過封存、散發的步驟製成有簽署的 .apk ,但是不論如何,拿到虛擬機或實機跑 App 安裝完成後,都會顯示:

App not installed

一直解決不了,上網搜尋有提到 Android SDK 要整個更新到新版。

但 Android SDK Tools 這部分就是更新不上去,最後是跑完整 uninstall 後,到 Android 官方網站下載新版的 Android SDK Tools

下載完後,解壓縮至:

C:\Program Files (x86)\Android\android-sdk\tools

再從 VS2017 內呼叫 Android SDK 管理員,即可發現 Android SDK Tools 已經升級到最新版,我下載時的版本是 26.1.1 。

不過手動安裝會清除已安裝清單內容,所以所有 SDK 跟 Image 等都需要重新下載安裝,目前我的電腦正在跑,希望這部分搞定後,我的 Android 程式就可以跑了~

結果還是一樣阿~~~

App not installed
Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

[Office] 註冊零售版的 Office 2019


在先前 Office 2016 介紹的註冊畫面:[Office] 2016 家用及中小企業版

在 Office 2019 略有變動。一般來說,你拿到一張卡片的,那個是兌換金鑰,而不是產品金鑰。兌換金鑰只能使用一次。

首先,登入:office.com/setup

大部分情況會要求重新登入,持續輸入的話,或剛登入過,可能會自動登入,這時務必要確認再確認,步驟1 的帳號一定是要打算掛入 Office 資產的帳號,例如個人帳號,這邊沒處理好,接下來兌換的 Office 就變別人的了。

注意 Office 兌換後會掛入 步驟1 的帳號

輸入完兌換金鑰後,會出現被綁訂的地區,語言則可選擇。這邊注意一下,軟體有出口管制,所以若是台灣買的軟體,請務必在台灣兌換金鑰後安裝再出國,出國後只能靠台灣公司或家裡提供 VPN Server 跳轉才能啟用。

選擇完地區、語言後按下一步

會自動辨識輸入序號是哪套軟體,然後執行步驟三取得你的 Office 才會真的把軟體掛入你的帳號。

其中,Office / Visio / Project 的 2013/2016/2019 及 Mac 版本的 2016/2019 都可以掛入這個帳號,按下下一步後會自動導向:

https://account.microsoft.com/services/

點選畫面上的檢視產品金鑰就是要輸入軟體的真正金鑰,不要輸入兌換金鑰,那無法啟動 Office。

選擇安裝後,可點選 其他選項 ,就可以選擇 Office x86/x64 或下載離線檔案,離線檔案是 iso 檔,Win8/8.1/10 可掛載成為 DVD 光碟後安裝,舊版本的 Windows 可考慮燒成光碟安裝。(參考文末圖說)

掛入微軟帳號的資產

如果輸入兌換金鑰後,出現下面畫面,就表示這個金鑰已經被兌換過,不能再用,如果有疑問,只能問微軟客服。

金鑰已被兌換

若輸入的金鑰無法辨識,會出現下面畫面。

無法辨識金鑰

如果你輸入成產品金鑰,而非兌換金鑰,可直接下載產品,但不會重新掛入帳號。

點選立即下載安裝,序號內含於安裝檔,只能輸入相同序號

其中:

商務板金鑰兌換:office.com/setupkey

舊版本 Office 金鑰下載 Office :https://www.microsoft.com/zh-tw/software-download/office

贈品兌換:microsoft.com/redeem

從上面提到服務與訂閱網頁點選安裝時,預設是下載簡體中文版,所以一定要改:

點選其他選項變更下載內容

新版本 Office 預設下載 x64 ,若無使用其他 OLE/COM/Automation 軟體,例如 AutoCAD/Acrobat 等,建議直接使用 x64 版本,習慣新版本差異,減少未來升級再來熟悉。但若需使用其他 OLE/COM/Automation 軟體時,則必須該軟體也為 x64 才能相容,例如使用 Acrobat x64 就可以插入 PDF 到 PowerPoint,反之可能要配合降版本到 x86 ,例如若只有 x86 版本的 MathType ,則只能在 x86 版本去搭配使用。

選擇語系與位元版本

若選擇下載離線檔案,就可以把 x86/x64 光碟下載到電腦,我個人偏好下載離線安裝版本。

下載兩種位元版本

開始下載光碟檔案

光碟格式為 img

光碟預設安裝是 x86 版本,若要安裝 x64 版本,記得手動到子目錄安裝。

Categories: Office, 技術分享 | 標籤: | 1 則迴響

[遊記] 密克羅尼西亞聯邦


12 月初接獲緊急任務,偕同其他同仁前往密克羅尼西亞場勘,好久沒寫遊記了,就來寫篇遊記吧。

接獲任務後不到兩天就要飛,當天沒帶護照到公司,好在我先前的掃瞄有放在手機裡,在已排定行程同事的引導下,趕快透過 hotels.com 網站預定了兩間旅館,並因為馬上要出發了,不能現場付款,必須線上付款。

台灣到密克羅尼西亞的班機沒有直飛,可以選擇桃園飛關島再飛密克羅尼西亞,或是飛香港再轉關島跳密克羅尼西亞,我是跟班,所以直接依照先前同事飛關島再飛密克羅尼西亞。

飛機是台灣時間 08:00 桃園飛關島的華航 CI-26 ,所以前天晚上先搭高鐵到桃園夜宿

桃禧航空城酒店-新館

關島跟帶領我們前往的委託方住在同一間,據說是台灣人經營的

杜夢灣首都飯店

訂完旅館後,因為關島屬於美國,馬上繼續辦理電子旅行簽證 ESTA (Electronic System for Travel Authorization) ,把護照相關資料填完後,線上刷 USD$ 14 ,就等待 eMail 回復結果了,回復的還滿快的,大概不到 2 小時就回復通過。記得一定要點選 eMail 連結,把通過的內容印出來,可以的話,建議英文最好印一份。另外關島預定住宿的旅館也印一份英文的訂單出來。我一開始沒想到,只印了中文版給我自己看,最好印英文版給航空公司及海關查驗官看。


ESTA 中文版

我的行李箱在去澎湖時破損,就趕快去家樂福買新的,另外買個大的 NB 背袋比較方便,買 NB 背袋要考慮出關時, NB 是要拿出來獨立通過 X 光掃描機的,所以 NB 一定要很方便拿出來,不要選很複雜的,買行李箱時,碰上買一送一,就變成這樣了。行李箱最好貼貼紙好辨認,我新的行李箱無其他標記,在等行李時,都看不出來是不是我的。

家樂福買行李箱

出發時,台南高鐵站各自刷卡買票到桃園站,我有先用手機上網預購同事指定的班次,到了桃園站計程車出口和另一位同事等半天,居然有一位同事坐過站了,由於到桃園都 22:30 了,我們就先去旅館,坐過站的就自己慢慢來吧。確認旅館機場接駁巴士時間 05:00 的車後,就趕快洗洗睡了。

當時還不知道是這次出差最好的旅館

08:00 起飛的班機,07:53 才停靠空橋下機,好在我們關島時間還算充裕,影響不大,大概拖到 08:30 登機,09:10 起飛。

華航 CI-26

在機上會發給你入境要填的單子。去關島事先沒辦 ESTA 也沒關係,可以填落地簽,一開始沒搞懂,在機上華航空姐給我我就填了。入境報關資料有正反兩面,華航提供中文版,不過要填英文,我一開始傻傻的填中文。可以看到裡面有要求填旅館資料,所以建議 ESTA/旅館/離開的電子機票都印出來跟護照放一起,盡量不要只用手機存放。

落地簽 有ESTA不用填
填的時候不知道有兩面

落地後,有 ESTA 的有快速通道,ESTA 電子認證部分機器上可選擇繁體中文,依指示辦理即可,入境官會問你來幹嘛,住哪裡,甚麼時候走,所以有印出來相關資料的話,直接給他看即可。我口語說的很差,基本上沒人聽懂,所以我都拿出來給入境官看。

關島時區是 +1000 ,比台灣快兩小時,到旅館時已經是當地時間 17:40,為了方便,直接跟委託方住同一間旅館,旅館有點破舊,不過海景不錯。

旅館的被子很有台灣味
陽台看出去就是海邊

同事說這邊的沙灘很有名,行李一放,花了15分鐘衝到海灘,打算看落日夕陽,沒想到太陽已經下去了~ 雖然當地還很熱,但是比基尼沒幾個,還是有啦,大概是 5% 穿泳衣吧~

杜夢海灘旁的 Sails BBQ 網路上很有名,同事就帶我去吃吃看~

Sails BBQ

關島全島免稅,到處都是豪奢大牌,日本人、韓國人挺多的,相對台灣與中國人比較少。壓馬路逛好久,我居然走到鐵腿,只好坐在那邊休息了~

關島飛密克羅尼西亞也是 08:00 飛,也只能摸黑起床坐旅館接駁巴士去機場。聯合航空的 UA-133 就像巴士一樣,同一班機從 關島 > 楚克 > 波納佩 > 科斯雷州 > 馬久羅 > 檀香山,頭尾是美國的領土,楚克、波納佩、科斯雷州則是密克羅尼西亞,馬久羅則是馬紹爾群島,每個機場落地停 30 ~ 60 分鐘,因為總飛行時數很長,所以到波納佩要全部下機換機長繼續飛行,就跟巴士一樣,一站一站停靠下車上車,我則是去波納佩,密克羅尼西亞的時區是 +1100 ,首都在波納佩,密克羅尼西亞二戰以前是日本統治,但因為鞭長莫及,所以採取放養,美國跳島戰役時,被美軍轟炸後佔領,長時間接受美國統治,1986年後自治,所以經濟上是美式經濟,全島使用美金交易,美式交通習慣,但因為並沒有被日本虐待過,所以島上很多日本人在經商開店。台灣則有很多遠洋漁業在附近補給,之前做氣象局船舶氣象系統,FB 的朋友有些是貨櫃輪的,也去過那邊補給。波納佩是環礁地形,整個島外面有一圈環礁,所以浪多數在環礁就被消耗掉了,從環礁到島之間就是一個很好的海洋活動區,最有名的是浮潛,至於衝浪… 浪都沒了當然衝不起來~

聯合航空 UA-133

一樣,機上會發入境報關資料填。

正面,FSM 原文參閱最上方密克羅尼西亞
背面

到了後先在密克羅尼西亞出境大廳找來接機的旅館人員。在關島、密克羅尼西亞都會讓我忘記我是胖子。

出境大廳,接機人 Kenny 在左邊被擋住了

密克羅尼西亞接收中古車,所以左駕右駕都有,租車一天 USD$ 65左右,憑台灣駕照就可以借車,但最好還是先申請國際駕照,因為租車公司未必看得懂台灣駕照。

右駕的日本車

密克羅尼西亞南方公園飯店 – 澎貝島

是同事在 hotels.com 幫我訂的,訂房時只剩沒熱水的,所以四天只要 USD$ 144,但到旅館時,有其他空房,所以開一般房間給我,還是收一樣的錢,我的旅館費是同事的 40% 而已。比在關島住的好。

南方公園旅館

有前陽台後陽台,後陽台往右看是出海口、港口跟機場。

後陽台眺望

關島跟密克羅尼西亞都是走美規,所以電器基本上是 120 Vac 三向插座,跟台灣一樣,只是比較奇怪的是電力開關都很傳統,以前我小時候開關就長這樣,台灣現在的開關應該算是走日規吧。

老舊的電燈開關
跟台灣一樣的插座

東西有點小貴,這碗雞湯泡麵要 USD$ 5.75,雪碧要 USD$ 2.0。

雞湯泡麵 USD$ 5.75
雪碧 USD$ 2.0

之後利用空檔做市場調查。密克羅尼西亞週日大部分不上班,包含超市或餐廳,所以東西盡量在周六前買好,波納佩因為是首都所在,所以周日還有少數商店有開。

生活品來說,吐司一條 USD$ 2.0 ,餐包一袋 USD$ 1.0,白米估計 2 kg 是 USD$ 3.75,蚊香 10 片 USD$ 1.0,這邊很多蟲阿~ 日本袋裝泡麵 USD$ 0.75,碗裝泡麵 USD$ 1.25,礦泉水 500cc x15 USD$ 6.75。

至於場勘部分屬於業務機密,就跳過不提了。

密克羅尼西亞多雨,我們在的每一天都下雨,大概是每小時下 10 分鐘急雨,當然不見得每小時下,平均來說大概是這樣,所以到處的地都是濕的,戶外很少有完全乾的,從美國下載 2017 降雨資料,波納佩幾乎每天都下雨,依據波納佩地理資料介紹,全年降雨量是 4,000 ~ 7,000 mm ,大概是台灣的 2 ~ 3.5 倍,台灣大概是日本的兩倍,高的離譜。

很多人推薦 Joy Hotel 的海鮮大餐,不過我當時不知道,知道我也不能吃,我對甲殼素過敏,蝦貝類都不能碰。

我吃 Hamburger USD$ 6.50
可樂缺貨,中午喝過雪碧了,晚上就喝綠茶 USD$ 2.50

這裡的 4G 卡據說2018/10才開通,機場沒得辦,所以得臨櫃辦理 (Federated States of Micronesia Telecommunications Corporation )。電話卡 SIM 卡 USD$ 10,充值 USD$ 10,選 USD$ 5 = 5 天 5 GB資料傳輸方案,剩下的 USD$ 5 可以拿來講電話,當然,有網路直接語音通訊即可,所以沒用到電話功能,180 天沒用會停卡,直到再使用為止。我們三人一起充值,另外有折 10% ,所以每人實際花費 USD$ 19 。換完 SIM 卡後,需要手動設定通訊網路為 fsmtc ,可讓其搜尋再選用,但無法自動登入通訊網路。

這邊基本上出國線路超慢, Youtube 幾乎連不上,Google 地圖會自動轉成 google.fm 的網址,所以 google 時間軸自動被停用,開時間軸檢視,我都不知道我跑哪了,只能將照片座標抽出來對照地圖。難得找到一家稍微便宜的快餐店:

Angie’s Fast Food

漢堡 USD$ 5.5,綠茶 USD$ 1.5

露天不到 10 元一支的剝線鉗,居然要 USD$ 6.99 …

跟露天差價 20 倍

我們住的南方公園旅館對面是 Cliff Hotel & Restaurant ,據說是總統開的,還算物美價廉,又接近旅館,所以大多數都在這家店用餐。

菜單 p1
菜單 p2
菜單 p3
啤酒 USD$ 4.0
招牌餐 沒在菜單上 估計 USD$ 26.0
熟悉的味道 龜甲萬醬油
熱綠茶 USD$ 2.5
蜜汁雞丁飯(Honey Sesame Chicken) USD$ 14.0

沒錯,衛生筷來自台灣…

另外其他時間吃同一家餐廳的菜色供參考。

冰綠茶 USD$ 2.5
加起司的漢堡 USD$ 6.75
酸甜雞肉飯 (Sweet-n-Sour) USD$ 10.25
總匯三明治 USD$ 10.5
魚堡 (Fish Burger) 外帶到機場 USD$ 6.25

委託人帶我們到海景餐廳 (Ocean View Plaza Hotel) 吃飯,左邊山頭剛好是南方公園旅館對面,這邊看港口跟機場比較清楚。

海景餐廳眺望港口
菜單 p1
菜單 p2
菜單 p3
菜單 p4
菜單 p5
菜單 p6
菜單 p7
烤金槍魚 (Grilled Tuna in Lemon butter sauce) USD$ 10.75 可樂 USD$ 2.00

密克羅尼西亞這邊接受很多國家的經濟援助,所以到處都可以看到哪個建設是哪國捐助的,總統府辦公室整區則是由韓國捐贈。

只有總統府辦公室有裝太陽能

另外也去看了 Ken 的年租型的房子 (Snow Land Guest House),月租 USD$ 300 ,看起來還不錯。Ken 主要經營浮潛,有上過電視。

臥室與衛浴
客廳與電視
客廳與廚房

離開密克羅尼西亞要繳出境稅 USD$ 20,我在機場買了張耶誕卡寄給老婆,到 12/30 還沒收到,只好跟老婆說,不知道此生會不會收到了。

我是臨時追加要去的,回程沒機位,所以只能坐商務艙。

商務艙的飛機餐

一樣,機上有填關島入境報關資料,不過因為回程是坐美國聯合航空,所以只有英文版。

正面
背面

回到關島又是透過 hotels.com 訂房,這次選擇 關島海景飯店 – 塔穆寧 ,房間還不錯,可是我不懂,為啥關島、密克羅尼西亞的旅館都不提供牙刷、牙膏、拖鞋、漱口杯… 從機場坐計程車到旅館約 USD$ 28 ,加計四件行李 USD$ 4 ,菲律賓的司機收我們 USD$ 30。

回來的旅館比較好,不過聽說還有更好更便宜的

晚餐同事帶我去密克羅尼西亞商城吃… ??? 我不是回到關島了嗎?

密克羅尼西亞商城

我們在一家韓國餐廳 (Korea Place) 吃晚餐。

菜單 封面
菜單 p1
菜單 p2
菜單 p3
9 號餐石鍋拌飯 (Beef) USD$ 14 結果熱綠茶太晚來又辣的噴火沒喝 USD$ 2.5

在密克羅尼西亞商城買了 GODIVA 巧克力回去孝敬老婆女兒,算是對出差有交代。回到旅館就趴了。

跟從密克羅尼西亞飛回來一樣,回程的飛機都是下午三點。同事利用早上空檔去沙灘走走,我這老腿就在旅館休息。

海景餐廳望出去的關島杜夢灣

12:00 退房後,在旅館附設的餐廳 (Chamoru Tei Restaurant) 吃午餐,再搭 13:00 旅館的接駁巴士去機場。我的豬肋排到 12:38 才上,時間上來不及,就不用刀叉吃,直接空手就上,吃了再洗手。

菜單
烤豬肋排(CT Grilled Pork Ribs BBQ) USD$ 17.5 小費直接收 USD$ 2.0

委託方說,雖然密克羅尼西亞還在發展中,但是一天要用 USD$ 40 來估算生活費,所以我特別把菜單都貼出來,價位就是這麼高阿。

回到台灣,第一次搭機場捷運,剛好坐到直達車,直接去桃園高鐵站。

到了桃園高鐵站居然兩個鐘頭內對號座與商務艙都沒位了,只好買自由座,打算站到台中就有位置,我們擠在 11/12 車廂間的車門區,大概太悶熱了,隔兩個人旁有位小哥哥在新竹左右忽然昏倒趴下去,我前面兩個人把他扶起來拍醒,要他先坐在行李箱上,再請12車廂的人協助按下緊急鈴通報車長,車掌跟隨車服務員帶著急救包擠到我們這大概都到苗栗了,詢問完原因是心臟壓迫,量完血壓沒事,到了台中站護理師上車來確認健康狀況,乘客不想下車,剛好有有位空出來了,就先讓這位小哥哥坐,我們則是到了彰化後有位置坐。

終於回到家了。

Categories: 工作點滴, 旅行 | 標籤: | 發表留言

[Win10] 希望硬體商出空機阿~~~


以前 Windows 每 3 ~ 4 年出一套新版 OS ,接近換代的那半年就會提供免費升級服務,所以用隨機版是很 OK 的~

Win10 起不換代了,只有無窮無盡的更新。所以最適合 Win10 的採購方案是買空機 + Win10 彩盒版,這樣換電腦就可以直接移機,反而比以前搭隨機版划算,所以在新的 Win10 架構下,理想的採購方案是空機 + 彩盒版,不再是搭隨機版了。

Categories: 工作點滴 | 1 則迴響

[Spam] 比特幣詐騙郵件不斷,eMail 密碼切記不要與外面註冊密碼一致


事情大概是 10 月初開始發生。

最早是一位先前信箱被入侵過的同事身上出現。

收到一封信內容大概是說:


電腦已經被入侵,掌握所有資料,在 48 小時內不付 8xx 元的話,將會加密電腦內所有資料,試圖改密碼也無用,電腦內有木馬,這封信就是透過入侵電腦而發送的。

信件內容說是透過入侵發送,檢查 Mail Server 該封信件的紀錄,是正常透過 SMTP 協定,從外面信箱寄進來,另外清查該位使用者改過密碼後,從公司外的連線至 Mail Server 的紀錄,都是該位同事手機連線,並無其他不正常紀錄。

之後清查該位同事電腦,整體看起來沒有獨立木馬存在的跡象,考慮該位同事先前信箱有過被他人入侵後才改密碼的狀況在,假定該位同事資安觀念不夠,還是決定將該位同事資料備份後,重新安裝作業系統。

隔幾日,該位同事又收到同樣信件,只是金額不同,仍然是八百多,決定不理他。

再隔幾日又多了幾個人收到,其中包含離職的稽核,前稽核離職後,信箱被設為別名,別名只能接收寄給前稽核的郵件,該帳號因為不實際存在於 Mail Server ,所以不能登入、不能寄信,所有 Mail Server 提供的服務都不支援,只有將信件轉給現任稽核會生效。如此一來,很明顯的是詐騙郵件。而一開始收到郵件的同事,開始收到日文版…

到了 10 月底,我也收到類似郵件了,這就跟廣告郵件一樣,所以我在 Mail Server 上依據郵件特徵直接在 Server 擋掉,只把阻擋紀錄通知給 IT 追蹤。11月初起,我收到的郵件開始說我的帳號密碼是 xxxx 了,例如下面擷圖郵件,是最新的內容 (註:文件內容一直更新,例如加入思科網通設備漏洞是新版的才有):

詐騙比特幣的郵件
詐騙比特幣的郵件

有密碼就搞笑了。

我自己密碼習慣分級處理,eMail 密碼與外面註冊密碼不會一致,避免註冊資訊外洩,或是網站管理者本身別有用心下,eMail 被登入資訊外洩。另外我在註冊習慣會登記到自己的 Excel 檔內,畢竟年紀大了,帳密又多,背不下來。

經過比對,同一組帳密我只用在三個網站登入用,考慮到對方可能會測試,我說明就不完全揭露網站細節:

  1. 一個國產 IC 晶片網站,大概2011註冊,2013以後沒在用
  2. 一個國內網址帶有 cpu 的網站,大概2011註冊,2013以後沒在用
  3. SMA一個分公司的論壇,大概2012註冊,2013以後沒在用

但是跟其他收到郵件的同事,網站1/2 雖然我沒再去了,IC 部分改由研發部門處理,但是收到郵件的同事都沒在用。而網站3 雖然其他幾個同事有可能用,不過問了一下,基本上是都沒在用,因為同事都去 SMA 官方主站,而我是因為在分公司論壇看到有人討論到未公開的通訊協定細節,才在該網站註冊後續詢問,分公司論壇我們公司只有我去看過。

算起來應該是沒交集,所以也無法鎖定是哪個網站外洩註冊資料。

由於都是註冊很久的資料,所以我想應該是對方購買的帳密資料庫包含了這三個網站其中之一的外洩資料。我個人偏向網站3 ,因為現在會收到詐騙郵件的同事,都是會處理到國外事務的相關人員,純粹國內事務的還沒收到詐騙郵件的案例。

從這個案例來提醒大家:

  1. 近期透過 eMail 詐騙比特幣案例橫行,自己要慎重閱讀考慮。
  2. eMail 的帳密絕對不要與外面網站註冊的一致。
  3. 重要會綁裝置或著資產的帳號,例如 Microsoft/Google/Apple 的帳號,不要拿來註冊其他網站使用,若有必要,密碼絕對要分開。
  4. 帳密最好在自己電腦用加密檔案紀錄,不要上傳到雲端空間,最多可放在行動裝置內,但關閉該目錄的自動雲端備份。

希望大家都別被騙去繳比特幣阿~~~

[2018/12/25 09:50 新增]

今天收到簡體中文版了,大概是看英文版我都不理他,怕我英文程度不好~~~

簡體中文版的比特幣詐騙信件

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[iOS] 環境升級後,無法正常編譯 App


話說七月底完成 iOS 程式後,我就沒開過 MacBook Pro 。

老闆忽然嫌棄起 App 在 iPhone 上的顏色,所以由形象設計師不斷改版,直到老闆終於 OK 選定 Icon 後,昨天我把 MacBook Pro 打開。

太久沒開機了,昨天就是一直更新,XCode 從 11.x 更新到 12.0 ,再更新到 12.1。

今天早上開 Visual Studio for Mac 也觸發更新,等到更新完都快中午了。

把新的 Icon 置換進去,變更版號後,重新編譯居然發生錯誤。我一開始以為是我操作有問題,直到後來編譯沒改過的測試專案後也發現相同的問題。

主要錯誤是 ibtoold 引起,錯誤訊息為:

unrecognized selector sent to class

unrecognized selector sent to class

unrecognized selector sent to class

開了多個專案都在畫面出錯 (.storyboard) ,可能是啟動畫面或主畫面,似乎都是軟體啟動的第一個畫面。

眾裡尋她千百遍,終於找到,是 XCode 尚未更新完造成。當然不是的話可以試試 google 找到的其他方案。

先把 Visual Studio for Mac 關閉。

打開 XCode ,可以看到,雖然 App Store 那邊說更新完畢了,但是實際上尚未更新:

XCodeUpdate_02

完成 XCode 更新

按下 [Install] 讓它跑一下:

XCodeUpdate_03

更新 XCode 中

更新完成後版本為 10.1 。

XCodeUpdate_04

完成 XCode 更新

再開啟 Visual Studio for Mac 重新編譯就正常通過了。

 

 

Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

[WU] 升級 Windows 10 1809 雜記


今天到 MSDN Subscription 下載 Win10 1809 ,發現 Win10 / WinServer / Office 2019 都有新增序號… 依往例,每天只能拉 10 組序號…

Win10 1809 跟 1803 一樣,分成 商用版 跟 客戶版,商用版有企業版沒有家用版,客戶版則有家用版沒有企業版,兩個版本都有專業版跟教育版,不過 1809 要用 DVD R DL 燒,1803 還可以用 DVD R 燒,就差個 300 MB 而已~

Windows 1809

Windows 1809

 

1809 x64 企業版我安裝近 3 小時,跟 1803 一樣,安裝完會複寫註冊資訊,所以一些圖檔軟體也會被改回預設值,會觸發部分軟體自動重新安裝,例如我的 Office 365 升級前是 Office 2016 Pro+ ,升完 1809 後,開 Outlook 發現工具列畫面變了,依據羅杯杯說法就是 Office 365 升級到 Office 2019 Pro+ 。

Office 365

Office 365

安裝好後,感覺比 1803 順,1803 剛開機完 svchost.exe 大概要跑 20 分鐘才會閒下來,1809 很快就正常了,不過還得觀察幾天。

第一次安裝好自動重開時,不要急著用吃硬碟資源的軟體,比如說我重開完急著做事,就開 Outlook ,被通知 Outlook 資料檔發生錯誤的訊息,但實際上是因為硬碟滿載,造成未正常載入相關檔案,等到硬碟存取量降下來後開 Outlook 就正常開啟了,其它就是很多設定被改回預設值,目前還沒碰上像 1803 那樣搞死人的地步。

這幾天若是有碰到問題再來更新這篇。

[10/06 23:27 更新]

微軟已暫停 1809 更新:

https://support.microsoft.com/en-us/help/4464619/windows-10-update-history

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[RouterOS] 沒注意資安新聞就被攻陷的經驗


話說,案場因考慮工業路由器,大量使用 RouterOS ,在 2018/08 月初發布了相關資安新聞,沒注意,到了 09/12 先發現某案場展示網頁會發生 Timeout ,才發現被攻陷變肉雞了。

展示系統大量使用 HTML5 + SVG 來處理畫面,09/12 廠商訪談完,在大廳展示電視發現展示網頁顯示 script 逾時了,開始追蹤這問題,現場是一個雙向 512k 的 ADSL 專線,使用 RouterOS 的基地台,用 Winbox 登入檢查後,從 log 發現不對勁:

防火牆規則異動

防火牆規則異動

防火牆規則被改了?問過同事,沒人連過去。確定被入侵異動,一時之間不確定問題,先升級韌體,改回被異動的參數。

09/13 開始進行更進一步 log 檢視,原先 RouterOS 服務基本上都關閉,只保留 api-ssl / winbox ,原先想說 api-ssl 可能是原廠軟體的通道,但是從 log 看起來不是透過 winbox 軟體登入,查原廠說明:

https://wiki.mikrotik.com/wiki/Manual:API-SSL

靠腰,api-ssl 只有加密,但不認證,嚇了一跳,趕緊連線到各案場普查,由於不同 IT 設定,有些有開,有些沒開,發現有四成案件有被入侵的痕跡,但有些是沒開的,不見得是 api-ssl 問題而已,甚至有些案場被打開服務,使用其他服務登入。

趕緊 google 新聞,原來是 08/03 就有新聞發出,是透過原廠軟體漏洞入侵:

超過17萬台MikroTik路由器淪為駭客挖礦攻擊的跳板 https://www.ithome.com.tw/news/124977

所以展示網頁發生 script 逾時,是因為展示電腦在幫忙挖礦阿…

再找了幾篇文章

Mikrotik的Winbox的任意文檔訪問漏洞的PoC流出,漏洞公佈以後仍舊沒有引起網絡管理者足夠的重視 https://hk.saowen.com/a/8c1dd31786b20e8da4d39cd378ffd85552d89a8e7235b570e16aaace7e923090

近期RouterOS的几个漏洞说明 http://www.irouteros.com/?p=338

大概看出來,漏洞有很多,從 winbox 漏洞備份設定檔後,還可以透過公開金鑰反解出密碼,讓 RouterOS 可以被遠端登入… 解決的方案無他,就是升級韌體,已被入侵的連管理帳號都得改…

下面來看一些慘況吧~

這隻肉雞很慘,多方在上面交戰互相阻擋別人入侵,甚至時間伺服器都被改掉,偽裝舊的時間寫入的規則:

三方互相設定對方 IP 為阻擋清單

三方互相設定對方 IP 為阻擋清單

 

這就是幫人挖礦的嵌入網頁:

挖礦嵌入網頁

挖礦嵌入網頁

防火牆規則區除了 DNS 防禦被關閉 (紅框),也淪為駭客間互相阻擋的方案 (藍框)

DNS 防禦被關閉

DNS 防禦被關閉

IP Pool 也被改:

IP Pool 被新增

IP Pool 被新增

對應 IP Pool 的撥入規則也新增近來:

PPP 也被新增規則

PPP 也被新增規則

對應被加入的 VPN 帳號:

VPN 被新增帳號

VPN 被新增帳號

被加入的排程:

被加入排程

被加入排程

被加入 Script:

被加入 script

被加入 script

被加入 Layer 7 Protocol 規則:

被加入 Layer 7 Protocol

被加入 Layer 7 Protocol

還有 SOCKS 也被設定、加入 IP 等,甚至有些是底層被修改,在介面上完全找不到哪裡被改,當我改完規則後,居然被駭客改掉 admin 帳密,登不進去,只好換機,拿回來洗機重新設定。

看樣子 google 還要訂閱 RouterOS 資安相關訊息了…

對了,我們這幾台最早被入侵大概是在九月初,所以要是有看到新聞,其實還有救…

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[H5] 偵測不同裝置的解析度


在 DHTML4 的年代,我常常用 VML 來處理未知螢幕解析度的縮放,到了 HTML5 的年代,當然就是改用 SVG 。

使用 SVG 處理縮放通常希望開啟網頁時,能自動縮放到最佳解析度,Windows 下還好除錯,行動裝置就很麻煩了。

Windows 裝置 IE/Edge 支援縮放,Chrome 則不支援。

原先寫的程式碼多半參考網路上的,各有出處,說法也不同,所以就發生 Android 正常時,iOS 就不正常,iOS 正常時,Android 就不正常。

所以乾脆用個除錯網頁分別讓不同瀏覽器去跑,下表是三個裝置 javascript 抓到的值,其中 IE11 的螢幕解析度 1920×1080 ,螢幕字型 125% (120 DPI) 。

IE11 Android 8.0 iOS 11.4
window.innerWidth 1536 1440 980
window.innerHeight 807 2240 1472
window.outerWidth 1550 360 0
window.outerHeight 878 560 0
window.screenX -7 0 0
window.screenY -7 0 0
window.scrollX undefined 0 0
window.scrollY undefined 0 0
window.pageXOffset 0 0 0
window.pageYOffset 0 0 0
window.devicePixelRatio 1.25 3 3
window.screen.width 1536 360 414
window.screen.height 864 640 736
window.screen.availWidth 1536 360 414
window.screen.availHeight 864 640 736
window.screen.deviceXDPI 120 undefined undefined
window.screen.deviceYDPI 120 undefined undefined
window.screen.logicalXDPI 96 undefined undefined
window.screen.logicalYDPI 96 undefined undefined
window.screen.systemXDPI 120 undefined undefined
window.screen.systemYDPI 120 undefined undefined
window.screen.pixelDepth 24 24 32
window.screen.msOrientation landscape-primary undefined undefined
document.body.clientWidth 1503 964 964
document.body.clientHeight 2555 5674 3201
document.body.scrollWidth 1848 4900 987
document.body.scrollHeight 2555 5695 3243

果然實作才是硬道理,可以得到:

實際解析度寬:window.screen.width * window.devicePixelRatio

實際解析度高:window.screen.height * window.devicePixelRatio

針對 Android 8.0 的分割視窗會發現 window.screen.height 變小,仍可使用 (分割時為 247)

至於最適化 (Auto fitting) 螢幕大小部分,我原先是先在 HTML5 的 HEAD 預埋:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=0.1″ id="metaViewport" />

再透過 javascript 依 svg 圖面大小變更 metaViewport.setAttribute(“content", sViewportContent);

從網頁搜尋到的結果,一般是將 width=設定寬度, height=設定高度

自己整理表格後發現,用 sViewportContent = “initial-scale=" + scaleWidth; 即可。

使用 svg.width / window.screen.width 或 svg.height / window.screen.height 就看設計者要以寬度或高度為目標來調整。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

在WordPress.com寫網誌.

%d 位部落客按了讚: