2019年12月17日 星期二

PATH變數過長

最近在安裝PCL遇到PATH過長的問題,但因為後來是直接用不加入path的方式安裝,沒有實際嘗試過以下方法是否可行

爬文一下發現PATH只能有2048個字元
解決方法如下:
方法1.

  1. 新建一個新的系統變數,例如說MYPATH
  2. 將部分的bin路徑移到MYPATH
  3. 將%MYPATH%加到PATH中

方法2.
    部分PATH中的路徑是可以被合併的,試著將它們合併'


參考文章

2019年12月11日 星期三

google pixel 3a 災情紀錄 -- 黑屏

pixel 3a 上次摔破螢幕返修之後過了大概一個多月出現銀幕閃案光現象
在室光下看起來就像黑屏,但按電源鍵仍有震動
目前等待再次返修,目前在保內應該可以免費修(....吧), 有點擔心過保後的狀況

Visual studio $(MSBuildStartupDirectory)變數

最近工作上接到的專案有用到這個Macro
他解析出來的值如果專案是從.sln檔所在位置開啟,值是sln所在資料夾
但若從VS 起始頁的recent開啟(相信大家都是這樣開的吧XD),值會是VS所在資料夾orz
建議如果是要指定sln所在位置,用$(SolutionDir)比較恰當

2019年12月9日 星期一

使用VS code debug python openCV程式

用VS code debug python opencv 程式經常會在斷點想要看圖
這時候可以在 Debug console中輸入
cv2.imshow("",img)
cv2.WaitKey()
看完圖後記得按任意鍵讓程式繼續執行

2019年11月29日 星期五

從可連線標籤機看工程師的價值

最近公司因為客戶要求出貨的產品要能追蹤,所以決定在產品上貼上條碼
本來廠長T先生argu說印不出條碼要買噴印機,NPI 的J先生今天試出可以列印一維條碼的方式
今天無聊來工廠發現那台條碼機 brother D450是可以印二維條碼的..
還可以做到將整張excel表格匯入一次列印
這件事情上工程師的價值就是滿足這個客戶認為理所當然能做到的需求,外加節省打錯標籤出錯或的問題,外加用標籤機難用的按鍵輸入一堆重複英文數字的時間
大約就花個一個早上研究測試

用openCV範例程式做相機校正

這篇主要是說明用openCV pre build的範例做相機校正,並且是針對有影像檔的狀況

1. 列印棋盤格

(格數為-w=6 -h=4, -w=6 -h=4, 6+1, 4+1)
棋盤格產生方式請參考 用openCV 內建的python script產生校正板並列印成真實大小

2. 用愈校正的相機拍照

拍攝1.印出之棋盤格

3. 產生name list

開啟cmd
執行dir *.jpg /b > nameList.txt
會產生 nameList.txt檔案
如果有將圖片放在子資料夾,用excel加上資料夾的prefix
加上檔頭檔尾做成 .xml檔案
空的.xml 檔案可以藉由執行example_cpp_imagelist_creator.exe imageList.xml 取得,將檔案名稱放在<images></images>中間

4. 執行

example_cpp_calibration -w=6 -h=4 -s=40 -op -oe -o=cameraParameter.yml -su nameList.xml

直接執行example_cpp_calibration 可以看各項參數的意義

5. 結果 

校正完成之後會顯示校正的平均誤差,顯示校正後影像(按 空白可以切換影像),並把結果存在cameraParameter.yml

6 .用openCV可以直接開啟的相機

如果用openCV可以直接開啟的相機做校正可以用
example_cpp_calibration -w=6 -h=4 -s=40 -op -oe -o=cameraParameter.yml -su nameList.xml
的指令
看到影像後按g開始取像(預設10張
u在校正完成後可以切換

2019年11月28日 星期四

用openCV 內建的python script產生校正板並列印成真實大小

利用openCV自帶的script產生任意數量的校正板
打開 cmd 執行
python D:\opencv-3.4.1\opencv-3.4.1\doc\pattern_tools\gen_pattern.py -o D:\chessboard.svg --rows 7 --columns 5 --type checkerboard --square_size 40
其中
D:\opencv-3.4.1\opencv-3.4.1\doc\pattern_tools\gen_pattern.py 是 scricpt所在路徑D:\opencv-3.4.1\opencv-3.4.1\帶換成openCV的路徑

D:\chessboard.svg是輸出檔案的名稱

7 是校正格橫向單位數 5是縱向單位數
40 是每格的大小,單位是mm

接著可以找到D:\chessboard.svg 

下載 InkScape 
打開inkscape,將 .svg檔拖入
畫面中間會有一個框框,將棋盤格放置在框框中並列印就可以產生正確大小的棋盤格進行相機校正了

2019年11月11日 星期一

漂移板學習心得

學到現在可以在光滑平地滑個1km沒問題
但是凹凸不平的柏油路/人行道/緩上坡還是不行
滑起來蠻有安全感的,感覺要離開板子很容易
但也因為這樣,如果有跳動也很難回來
youtuber都說長板/滑板比較穩定
練習地點
個人認為一開始練習可以找個緩下坡練習上板的感覺
我自己是在桃園中正藝文特區中間廣場的緩下坡練的
藝文中心門口的寬敞下坡也是不錯的練習場地,雖然鋪面是大塊粗糙地磚,但是坡度平緩寬敞(約15米),可以在會加速之前先在上面練習轉彎
台北有些河濱公園段自行車道也是不錯的練習點

跟大部分板類一樣,重心要往前放,重心放後面容易摔屁股
一開始先練習滑行的感覺,目標是可以滑行個10m附近
先將板子靠好放好(注意左右腳),雙腳腳尖點地(腳跟也行,但我習慣用腳尖)
前腳先踩平,重心放在後腳上準備好
接著後腳將重心蹬到前腳上開始滑行,後腳自然跟上,因為這個動作比較大容易失去平衡,一開始也可以在牆壁面以手推牆產生動力抓感覺
當抓到滑行感覺跟稍微可以控制方向之後就可以開始前後扭動後腳,試著延長緩坡結束之後在平地滑行的距離
最後在平地加速部分,第一下會需要扭比較大力去產生速度,後面只要輕輕交錯就好,甚至可以像長板做pumping(想像中,我不會長板)重點是不要破壞滑行的順暢下加力

整個學習從開始到現在這樣可以在平地自己產生動力滑行,但不大穩定我大概花了兩周時間,一天玩個一小時

好用螢幕擷取+錄影程式shareX

這篇主要介紹兩款win10 內建的螢幕擷取程式windows game bar, step recorder 跟一款open-source的shareX

最近因為有螢幕錄影需求,在找open source的螢幕錄影工具
意外找到這套 shareX open source, 有螢幕綠影與截圖功能
看起來截完圖可以自動上傳雲端,蠻方便的
Greenshot有的editor功能他也有,可以框重點,加游標,加馬賽克,加字...
在選取範圍上也很方便,在使用者自動模式截取時,只要滑鼠移到視窗上就可以自動選取範圍,如果想要客製化選取範圍也是在同一個介面用滑鼠拖曳範圍就可以做到
windows game bar (快捷鍵 win + G)也可以錄影跟截取螢幕
另一個windows內建的step recorder在有多步驟要紀錄時也很方便,可以用來快速製作SOP!

2019年9月10日 星期二

bayer raw檔處理

網路上看可以用
rawTherapee 或 darktable
但我的raw檔來源不是市售相機,這兩隻程式也開不起來
後來是先用imageJ(Fiji)手動imageJ(Fiji)手動輸入影像資訊
後來找到天文用的 Fitswork來處理bayer的問題,但fitswork理論上可以讀raw,但還是讀不到我的raw...

Go share初體驗

因為在桃園工作,但在台北也到處趴上趴趴走的關係,機車放台北,在桃園靠ubike通勤(桃園公車要等一陣子)其實從火車站騎到中正藝文特區距離還好,但就是中正路上人車爭道,又會經過傳統市場交通混亂,加上下雨天騎腳踏車不大方便,一直很期待go share上線
終於他在承諾上線的最後一天8/31上線了,本來想衝第一天首騎禮,but...竟然忘了帶駕照身分證,殘念,接著又發生掃描的證件不能用的事情,說到這裡就不得不嘴一下go share的UI,只能用相機拍不給傳相片就算了,連個快門鍵也沒有,偏偏證件又一堆反光,好不容易找到不反光角度自動拍照又不拍
後來抓到訣竅,先對上下兩邊(對到該邊會跑出一個小短bar),橋到對的角度再將其中一個側邊靠到邊框
審核很快就過了
只能說go share整體就是在追求一個潮感,UI放大車的點會變成圖示
可以騎乘的範圍包括林口,桃園高鐵站,桃園市,中壢

跟wemo 一樣,打開app可以看到附近可以預約的車跟電量,選定要預約車之後會保留十分鐘

找車還蠻方便的,wemo找車只會閃燈,常常找不到, goshare跟i-rent一樣.除了閃燈還會發出警報聲,大大降低找車難度
找車按鍵
車上有附帽套(1.)跟兩頂安全帽和一塊抹布(2.)可以擦乾坐墊

極速目前有催到80沒問題,因為上班路上沒捨麼適合騎快的地方,就沒能再上去了
方向燈則跟一般機車的設計不大相同,要取消方向燈要在該方向上再按一次,一開始有點不習慣,覺得還是傳統的操作方式比較好
發動的方式也與傳統機車不同,要先拉剎車,再點中間啟動鈕
附得安全帽扣具蠻特別的,可以很容易地調整大小

目前費率是2.5NT/min跟wemo價格一樣
另外,gogoro在左手食指位置有隱藏的倒車檔停車格倒出來蠻有用的

2019年9月9日 星期一

9/7 潮境公園

日期: 20190907
下水時間: 12:30
上岸時間: 14:30
水溫預報: 27℃
浪高預報: 1.2m

能見度:3m~8m
天氣: 晴時多雲
裝備:
    紫色綁帶蛙鞋,迪卡農510面鏡,迪卡農除霧,迪卡農510呼吸管,
    迪卡農2.5mm防寒背心,迪卡農潛水靴2.5mm,迪卡農潛水手套,拉鍊壞掉的honor水母衣,
    迪卡農便宜(170)手錶.魚雷浮標
潛伴: Carol,Tobby, Johnny, Tobby朋友4人(小岡)
最大深度: 3m?
狀況: 最後半小時會冷,最後快上岸想吐,面鏡起霧
檢討: 面鏡除霧後不要取下,下次要帶水裡攝影機

2019年8月29日 星期四

風浪預測

最近開始福前會想看預定福前的日子海況如何,免得白跑一趟
windy是一個風浪預測網站
基本使用:輸入想搜尋的地名或直接在地圖上點選(1)

可以在2.中看浪相關預報
3.中可以切換預報資料來源

當切換到浪相關資料,可以從2.改變預報發生時間點
1.表示預報地點,惠同時顯示浪高浪向與風向

+/-: 縮放畫面
滾輪: 縮放畫面but會縮放太多(可能是滾輪一次滾三行的緣故)
ps.以浮潛來說,0.6~0.9m的浪高就是極限了(資造來源)


2019年8月27日 星期二

google doc切換分頁檢視模式

 google doc doc 預設的檢視模式是關閉列印版面配置,因此換頁就只是會顯示一條虛線,,有時候會有點麻煩
可以在"查看"中勾選"列印版面配置"(view > print layout)
就可以切換回傳統ms word的顯示方式


non-print Layout
print layout


2019年8月22日 星期四

google doc 文件改變縮放比例

google doc中有查看(view)的選項
但裡面選項很少

不能改變文件大小,蠻奇怪的。之前用一個很白癡的方式是直接改變瀏覽器的縮放比,但這樣工具列也會跟著縮放,看起來有點礙眼。
正好最近也有在用google slide,發現google slide是可以改變縮放比例的
於是乎就像倒在google doc裡面試用一樣的快捷鍵,沒想到真的管用!
比較常用的:
ctrl+alt+"+" :放大
ctrl+alt+"-" :縮小
ctrl+alt+"[" :調整為視窗大小

後來發現工具列上就有此功能,之前目小找不到orz

2019年8月21日 星期三

遠端工具

因為公司有再用Tx2需要遠端去控制linux系統
今天因為不小心load到default設定,預設網路從 wlan變成eth導致外部都連不上
重新把env.config裡的設定換掉才回復正常

在想ping tx2的時候同事順手介紹了一套遠端的軟體mobaxterm看起來蠻好用得但還沒試過https://mobaxterm.mobatek.net/

2019年8月16日 星期五

google 文件操作建議功能,更方便的共同編輯


google文件本來就可以查看不同帳號的編輯紀錄,但這樣有個問題就是被編輯的地方不是很明顯
現在又多了一個建議操作的功能,在共同編輯文件上更加方便
操作建議使用效果

權限上,要參與建議操作的使用者要有註解以上(擁有編輯權限當然也可以)的權限



如果擁有編輯權限則須將操作模式為建議操作

接著該使用者就像往常一樣編輯文件

其他使用者也可以即時看到參與建議編輯者的編輯狀態


除了一般的編輯外,使用者還可以對任何建議編輯增加註解,其他使用者也可以對那個註解作回覆

編輯區域右邊得對話框會依據建議加入的順序排列,越先加入的建議會被放在越前面
當選擇註解的時候,對應的建議編輯會被high light,反之亦然




文件編輯者可以決定要保留的建議操作,但保留的操作會被視為編輯者新增的部分

在 工具>查看建議修訂 中開啟建議修訂工具

可以逐一過濾要接受或拒絕建議或一次全部接受

也可以從討論串跟內文中去決定是否接受建議

2019年8月15日 星期四

GIMP畫直線

GIMP是一套open source的影像編輯軟體
因為今天想要畫一張圖來驗證印表機性能所以用到她
他在Image>print size可以去設定DPI真的會改變列印大小,用paint.net改列印大小是改辛酸的
GIMP 設定值
實際列印大小,66mm

另外因為要畫測試pattern會需要畫直線,GIMP的pencilepencile中有pixel的筆刷可用
若要畫直線則是單點畫起始點,再按shift
顯微鏡拍攝結果

2019年8月14日 星期三

Git 基本流程與名詞解釋

Git專案中包含三種主要元件
Repository (Repo): Git專案的容器,用來追蹤檔案的改變
Working tree (working directory): 目前正在作用的Git檔案
Index (staging area): area): 比較 repo 跟working tree的檔案,將被修改過的檔案標記為modified

Gitit工作流程
1. 在working tree 中修改檔案
2. 將想在下個Commit中包含的改變Stage
3. Commit. commit 會將index中的檔案快照儲存到repo中

Git檔案的三種主要狀態
Modified: 檔案被改變
Staged: 改變的檔案被加入待commit清單
Committed: 檔案被存入 repo


from: Git workflow @ backlog.com


參考資料

Git reset 回復尚未push的commit

昨天因為sub module還沒commit就先commit整的專案的關係,導致sub module的一個檔案卡住沒有commit出去
但因為潔癖作祟不想因為這樣一個原因新增一個commit(前天也發生過,但那次潔癖沒發作就直接新增一個commit)直覺上我還沒push應該還有救
中間發生了不小心用了revert這個功能又平白多出一個commit的窘況(revert 是在push 出去之後的挽救方法)
今天研究之後發現這種commit錯但還沒push的情況應該是要用reset來救

南平鵝肉新埔六街店

南平路上的南平鵝肉似乎生意還不錯,頂了原本留下來的位子開了一間分店在新埔六街
用餐環境還蠻乾淨涼爽的,出菜不快
地址: 桃園市桃園區新埔六街196號
電話: 03-3254888
青菜有點貴,乾意麵還不錯


2019年8月5日 星期一

php php 運算子小記

今天看同事在寫php無聊看了一下
===: identical
!==: not identical
==: equal
!=: not equal
identical是指運算子兩邊不經過型別轉換即相等
ex:
0 === 0 true
0 === '0' false
equal 是指型別轉換之後相等
ex:
0 == 0
0 == '0'

2019年7月24日 星期三

Visual studio環境下使用command line

因為要用一些git的指令去新增/移除檔案(方法參考這篇)
但要另外開command prompt有點麻煩
其實在VS2017的環境下可以在Package Manager Console下git 指令
1. 先在View > Other windows > Package Manager Console開啟Package Manager Console
2. 在Package Manager Console下command
會不會太簡單
但卻很方便XD

2019年7月7日 星期日

可以在時間軸預覽的video player

之前video player都是用vlc
蠻方便多功能的,但是一些feature加得有點慢
譬如說在時間軸上預覽功能,多年前就很多user request但到現在都沒動靜
最近試了一款PotPlayer有這功能
PotPlayer with navigation bar thumbnail image preview.

2019年6月10日 星期一

更新git的檔案by .gitignore

.gitignore可以存在於被版本控管的資料夾
修改.gitignore可以讓特定目錄/檔案類型...的檔案不被git追蹤
(.gitignore 可能需要自己新增)
ex:
*.dll
/[Dd]ebug
但如果已經commit出去,這時候再加入git ignore並不會讓檔案停止被追蹤,而是需要去remove(rm)之後再重新add, gitignore才會發生作用

在專案目錄下開啟 cmd

git rm -r --cached .    #清除暫存
git add .    #重新加入
git ls-files #檢視目前追蹤的檔案
git commit -m "update .gitignore"   #commit更新後的 git ignore
git push . #push

2019年6月8日 星期六

藍牙耳麥 無法 語音輸入

最近發現語音輸入還蠻好用的,尤其是走在路上只能peek(?)一下螢幕的時候
But 不知怎麼無法用藍牙耳麥給語音,一定要透過手機麥克風,所以常會看到有人明明就用藍牙耳麥了,還是一直吧手機湊到嘴邊, 不知道是不是為了避免誤輸入。如果想用藍芽耳麥語音輸入可以參考下面設定方法

2019年6月4日 星期二

visualstudio 預設的 debugging dir

VisualStudio 預設的 debugging dir 是 project directory
但output dir 卻是$(SolutionDir)$(Configuration)\
這會造成在debugger之中執行(F5)跟用執行檔執行結果不同,某些resource會需要另外複製一份
所以建議可以將debubbing / working directory 改成跟output directory依樣會比較方便

2019年6月3日 星期一

HackMD 簡報模式

HackMD投影片範例 https://hackmd.io/slide-example
值得注意的是
---
會在HackMD中插入分隔線
但如果是簡報用的分隔線要確認分隔線---的上下行為空白行,否則就只是分隔線,沒有剪報分頁功能

正確範例

p1 context

---

p2 context

錯誤範例

p1 context
---
p2 context

實際code


## p1

---

## p2

---

## p1
---
## p2

執行結果
但我覺得HackMD的簡報功能還不是很好用,如果做成會自動分頁,但加入---會強制分頁感覺會更好用

另外他圖片好像也沒有caption的功能,有點可惜

2019年6月2日 星期日

Visual Studio C++程式移植

最近寫好的小程式要放到工作但腦上用
但在工作電腦上會依直出現找不到dll 的問題orz
msvcp150d.dll,ucrtbased.dll..之類的
明明可轉發套件也灌了
後來解決方法是用把configure由debug轉成release因為這樣會轉換到的設定有點多,一時之間也搞不清楚到底是那些設定解決這問題anyway, 問題解決啦 yeah(可轉發套件應該還是要灌, 下載網址:https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)~

題外話, 過程中發現vs2017好像原生沒有可以做steup的功能,需要另外安裝插件Microsoft Visual Studio Installer Projects來做
詳細操作過程可以看這個影片
但其實這功能對缺少dll這件事情是沒有幫助的,他需要加入的檔案是需要user去手動找出來加入

west coast swing 速記

昨完參加Blues 20辦的WCS體驗課, 老師是 Janis
在場大部分是跳過 Lindy hop / east coast swing 的 dancer

C++ local thread

在C++中區域變數在離開scope的時候就會被釋放
所以當在fonction中直接開thread, 一但離開function,該thread就會被釋放掉
ex:
void MyFun()
{
    std::thread myThread(&ThisClass::RuningFun, this);
}

spotify 與 chrome audio cast連線 [還是無解..]

因為辦公室的Wifi Router有2.4 G跟5G 是不同的SSID
看起來在2.4G的裝置是連不到5G的Chrome audio cast
幸好手機可以連到(後來才想到,阿就用手機設定不就結案)
一開始先用手機的google home去找chrome audio cast,找到之後發現他還真的是連5G
想要改變Wifi連線,但這樣就會把裝置刪掉....
就刪吧
把這裝置刪掉在重新加入,這時候他就會問你想連到哪個SSID,預設是你手機連的
一般cast可以自動從手機去擷取wifi密碼
設定完成之後手機可以看到cast...但筆電還是看不到
不過spotify 那邊,手機設定完之後,筆電也看得到了,但瀏覽器這邊無法cast.


2019年6月1日 星期六

Trello 全功能開啟

最近開始找Issue Tracker System (ITS)來用
找到了一款 Trello 特色是雲端,申請帳號就能使用
知名的Jira 要收費 (10 USD / month < 10 user)
其他像Redmine 要自己架 issue tracking server 覺得有點麻煩

在一開始用Trello的時候想說要在一個card 中去提到其他card, help 中也有提到這個功能 但在我自己的trello就是找不到,後來發現要在 Menu>More>Setting去開啟

Trello 感覺有些地方有點陽春, 要靠Power-up來補強,感覺這是故意的,因為免費版的其中一個限制就是一個board一次只能active一個power-up><~
他另外有gold版本把這個限制提高到3個(竟然不是無限...天啊)要5usd/month
感覺倒不如買10人版在找人一起share(不知道行不行)

2019年5月31日 星期五

成像公式thin lens equation

最近因為在算lense holder要做多長的問題,需要知道最短工作距離下的像距(最大像距)
成像公式可以根據物距與焦距推算像距

2019年5月30日 星期四

用CloudCompare 將 3d 點雲平面轉換到z=0的平面上

因為相機拍攝有個傾角,拍攝出來的平面在空間中會有個斜度,不利後續比較
這時候可以利用cloud compare中的Align功能將點雲的地面與z=0平面貼合
轉換前

在VsCode 使用git

細節網路上都找得到,但有個要注意的點是使用者需要到git source去把資料夾先pull 下來再跟Vs code連結。
Vs 連結的方式是下好Azure Repos插件之後用File>open folder加入pull(有.git資料夾),可能途中會需要輸入一下帳號密碼
完成之後會VS code的左下角status bar會變這樣

2019年4月24日 星期三

vm and sw

最進嘗試在vm上面安裝sw 2018
但sw會偵測環境, 在virtual box無法安裝
百思不得其解
最後用vmWare player就ko了
sw 可以正常run

將資料夾模擬為磁碟機

在vmware上面的共用資料夾會變成一個網路磁碟,
但因為在上面run的軟體吃的是絕對路徑,需要在上面模擬出資料夾
這時候可以用 subst指令
指令功能是產生虛擬磁碟機
指令是
subst 磁碟機代號 來源路徑

2019年3月28日 星期四

property sheet, 免去設定 include 路徑 , lib路徑...的麻煩

最近都用opencv配合C++, IDE用VS2017開發
每個案子要用到openCv就要設定一次,有點麻煩
這時候A大分享一招,property sheet

window10 縮放桌面

突然發現win10 現在可以藉由ctrl+滾輪去縮放改變桌面Icon大小

->

2019年3月27日 星期三

C++ 取時間到ms

因為目前的程式執行一次需要數百ms,想將每次執行的結果圖片序列存到以執行時間命名的資料夾中, 所以資料夾名稱需要包括 ms
c++ 內建取時間只能取到 秒

桃園南平路梁記炸雞專賣 菜單 和 電話

電話: 0983817858
感覺平常生意蠻好的,旁邊學校學生下課很愛吃吧
而且對面懶惰的3Q竟然要下午5點工讀生上班才賣雞排...根本拱手把生意讓人

2019年3月26日 星期二

鍵盤數字區不能用?

最近發現鍵盤的數字區(數字鍵盤)打不出字,明明num lock亮著
今天才發現是不小心開到 Windows 10 輕鬆存取用數字鍵移動滑鼠的 Mouse Keys 功能,關掉之後數字鍵就回復正常了

如果右下方圖示,趕快把它關掉吧

2019年3月16日 星期六

兩組藍芽喇叭同步撥放

因為客廳跟房間各有一組喇叭,房間的直接接筆電,客廳用藍芽接收器連
有時候活動的地方改變,需要手動去切換windows 預設音樂撥放裝置有點麻煩(其實這也是不用另外安裝軟體的一個好方法)
今天發現有個不錯的免費軟體AB-Audio 的 VoiceMeeter(以下簡稱VM)

2019年3月14日 星期四

windows 10 取消藍芽耳機與系統音量連動

win10 某個更新之後,有支援AVRCP的藍芽耳機音量鍵就會直接控制到windows的音量

  1. 但以我自己的藍芽耳機來說,這樣音量會太大,這時候可以從登陸擋去取消耳機對電腦的音量控制
  2. 按win+R 執行 regedit.exe 或 按win開啟開始功能表,輸入"登錄編輯程式"
  3. 找到register
  4. Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AVRCP\CT
  5. 裡面應該已經有一個控制項DisableAbsoluteVolume(若沒有則自己新建一個), 將他的值設為 1
  6. 重新開機


參考資料

2019年2月27日 星期三

VS C++ 專案的使用者權限(UAC)

在開發找COM Port的程式的時候會需要用到 Admin的權限
如果沒有權限,指令未必不可執行,但可能發生不可預期的行為
可以在Project 按右鍵 > Properties > Linker > Manifest file 中 將 UAC (User Account control) 設定為 "requireAdministrator" 強迫 User 要用 Admin 執行

多螢幕工具

目前辦公室有三顆螢幕,有時候會有突然找不到游標,或是有時候想將游標鎖定在固定的視窗當中
Dual Monitor tools 可以做到,並且在可以設定按快捷鍵切解除鎖定
可惜的是他沒有將視窗開起在游標位置,要另外找程式
目前可以用AutoHotKey做到

Code下載

#Persistent
SetBatchLines, -1
Process, Priority,, High

Gui +LastFound
hWnd := WinExist()

DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return

ShellMessage( wParam,lParam ) {

  If ( wParam = 1 ) ;  HSHELL_WINDOWCREATED := 1
{
WinGetTitle, Title2, A

; Activate top window
WinActivate, %Title2%

; This un-maximizes fullscreen things to prevent UI bug.
WinRestore, %Title2%
; Mouse screen coords = mouse relative + win coords therefore..
WinGetPos, xtemp, ytemp,,, A ; get active windows location
MouseGetPos, X, Y   ; get mouse location

;; Calculate actual position
;; -16 on x and y pos allows you to doubleclick and close window(most of the time)
xpos:=temp-16
ypos:=temp-16

WinMove, %Title2%, , %xpos%, %ypos%  ; move window to mouse
     }
}

2019年2月13日 星期三

C++ 忽略跳脫字元(Escape Codes)

常常在路徑中都會含有 \的字元,造成\以後的字元與\形成跳脫字元(Escape Codes)
可以用R"()"來避開
ex:
String path = R"(D:\)"
就與
String path = "D:\\" 的結果相同

2019年2月12日 星期二

2019年1月16日 星期三

vscode intellisense 消耗太多記憶體

intellisense消耗>10 GB的RAM造成系統及VS code沒有回憶
以下面的方式改用Jedi
在setting(ctrl+p, ">setting")中搜尋"python.jediEnabled": true或勾選並reload,

2019年1月10日 星期四

Jupyter中顯示行號

方法1

在command mode(可以打字的狀態按esc) 下按 L
效果: 只有單個Cell 顯示行號
 

方法2
在chrome開啟開發人員選項


在consle中輸入
var cell = Jupyter.notebook.get_selected_cell();
var config = cell.config;
var patch = {
    CodeCell:{
        cm_config:{lineNumbers:true}
    }
}
config.update(patch)
按return

參考資料: stackoverflow

在jupyter當中設定自動完成不分大小寫

jedi 自動完成預設式分大小寫的,有些library的method是用camel命名法,要切換大小寫很麻煩,又有些const是全大寫

Jedi

Jupyter 跟 IPython所用的completer是jedi
而Jupyter的底層是IPython
所以需要去改IPthon的jedi設定

建立屬性檔

在cmd中
ipython profile create
接著以
ipython locate
查詢Ipython位置

編輯屬性檔

在[IPythonDir]\.ipython\profile_default\中可以看到ipython_kernel_config.py
在中間加入
import jedi as jd
jd.settings.case_insensitive_completion = True

效果

就可以達到自動完成不分大小寫的效果


參考資料: IPython, jedi