Note: 某公司可能的問題

今天早上跟某公司電話溝通一下某職位內容, 該職位會需要NFC相關知識, 從溝通內容聽起來好像使用上有遇到一些問題, 細節我就不清楚, 但是有問一下使用的Transceiver廠商是哪一家的, 然後查了一下該廠商好像只有一個型號, 基於我之前NFC應用經驗, 我第一個會懷疑是NFC本身RF相關問題, 然後看到只有兩檔Output power 可以選, 最大還只有200mW, 就有點發涼, 雖然我沒摸過它家產品, 但是基於該產品是需要防碰撞的設計, 可想而知本身的Housing 應該是有一定厚度才能作到安規需求

跟朋友聊一下它常見的問題, 個人評估有兩種可能一種是真的電極接觸問題, 一種是NFC Output Power 輸出衰退造成的, 當然實際不清楚, 沒看到Failed log 只能這樣憑空臆測, 查了一下其他晶片廠商應該有更好的選擇

200mW的應用情境按照我之前的經驗比較合適是1~3cm感應距離的, 實際上因為應用環境因素可能會縮短感應距離。

後來又查了一下該公司產品資訊好像近期有爆出使用狀況, 感覺是想找人進去救火

做了一下午案例研究
雖然手上沒資料 但是從各種網路使用者反應的現象, 估計是NFC傳輸已經出問題, 造成斷電或是後續更新變成降出功率, 這個現象應該是有80%是 NFC Tx的功率已經開始降低造成
因為是已經運行了兩年, 不知道它們設計的通訊間隔多久, 有做好產品壽命管理嗎? 這個本身是賣服務的公司應該要確保服務品質
又研究一下
如果要處理現在問題, 一個可能方案是透過RSSI去偵測檢測是否有開始有異常
有朋友跟我說跟NFC Power本身無關, 這就好奇了
因為網路上看來的案例應該多多少少有關是NFC連線問題
當然有可能是link reliability的問題, 這實際上跟它產品規格有關, 無線通訊天生在reliability 這個關卡就是需要多下功夫, 但是也跟它應用規格有關, 最糟的情況要透過降低某些規格來權衡系統的穩定度
例如採用Tech , NFCA, 106kbits 應該是相對穩定的狀態, LLCP(Logic Link Control Protocol) 可能要改寫, 採用 Passive mode P2P, 這一切都要系統性的確認與檢查還有模擬實際使用情境, 才有辦法做系統優化
廣告

Note: new cv online for learning RWD skill

最近開始學了一下RWD/Web front-end 的內容, 剛好開始找工作, 想說拿之前用別人的版做的resume , 用Google 新的Material Components Web 自己手動復刻了一個版本, 陸陸續續做了一陣子, 目前有一個雛型了 Jekyll-mdc

做這個練習大概會學到一些基本的 CSS3/Sass/HTML5/npm/Webpack/Travis-CI/Github Pages/Jekyll  等相關技術棧與framework的技巧

也遇到了Web 標準這幾年持續演化, 有很多相容性的問題, 發現做Web要養人來堆不是沒道理的

如果是工作的話, 除非變成很熟捻各種技術相容性問題, 不然選成熟一點的方案會好一點, 省點力氣, 當然如果公司有特定目標可以選一些新的發展, 畢竟新技術都是為了解決舊有問題, 只是因為Web標準跟Broswer 支援程度落差不少, 尤其這個現在Browser還是各種新舊版本與相容問題, 問題跟Android 碎片化的情況不遑多讓

隨想: 找工作整理2018

最近休息近半年後開始找工作,越來越體會年老色衰的就職市場劣勢,然後台灣薪資狀況看起來已經無解,當然自己不是大牛也是有關係,自己知道有些缺點,不過自我評估優點應該是蓋過缺點。但是這個要持續工作後才能展現,面試很難單憑口說證明,除非是熟人介紹。

目前手上只有兩個選擇,一個是某工控廠商,一個是某BIOS IBV,不過面試的部門是BMC部門。

兩個目前開出的薪資相近,IBV的月薪是工控+5K,但是工控保證的年薪數字略高,但是估計兩邊我最後獲得的年薪應該差異不大。所以想分析一下選擇哪邊對自己有利。

公司未來前景:

工控廠商看起來產品毛利率有下滑的趨勢, 不過這應該不算大缺點,目前台灣系統廠商普遍有這方面的問題,看了一些相關報導,高層有意識到工控業界會愈來愈零碎化,因為競爭者眾,不再如我10多年前,做標案時沒選擇性,必須要自己從工控的標準品去客製化,現在的局面走向高度面向行業領域,因為競爭者眾大家都想從工控市場分一杯羹,變成工控廠商如果不殺價錢就要面對應用領域去推出應對產品,所以相對會越來越零碎化,簡單講已經到了必須如同IC vendor 的Turnkey services;再付出越來越多的客製化能量,這有賴於市場與業務的手腕去爭取客戶付費在這客製化,不然毛利率只會一降再降,目前看到的是市場還願意付費在這個區塊,因為能提供好的客製化服務的廠商還不太多,還沒到完全紅海的競爭局面。 不過市場上目前充斥很多只願意付國產車價格但嘴裡卻要超跑性能的客戶, 但是不能分辨客戶剛需的業務與PM,往往會用這個理由替業績不佳開脫。該公司目前也是效仿其他公司開始展開策略聯盟或是購併來擴大市場規模避免邊緣化並補齊產品線。

至於IBV 目前看起來公司整體來說市占率還是最大,從投資面看起來算是有市場護城河,不可能大起大落,算是不用擔心公司前景。

個人技術發展前景:

工控廠商–目前想找的是一個做遠端管理方面軟體的人,目前目標是Windows 10 IoT Core,但是也要維護舊有的 Windows Embedded Compact 產品跟舊的配合iAMT的軟體。按照說法應該是想改版上UWP, 不過這個我估計要再2年左右才會真的進入市場或是根本不在市場上,為啥這樣說是因為,UWP Mode 的App 實際上,開始支援跟硬體相關資訊的存取要到Windows 10 1803 開始才有,當然實際上應有其他Work around的方式,應該可以透過操作界面是UWP,但是實際Control 透過Services 之類的方法。對我來說可能可以獲得的成長性是,Windows Driver/BIOS與互動的可能性,這大概10年前就有投入相關學習,不過礙於公司狀況,一直不適合推動,因為有部門職責問題,還有企業文化等相關問題。人的問題往往比技術問題更難解決。
唯一問題是Windows 10 IoT Core 會不會被Microsoft 之後放棄,目前趨勢看來不無可能,估計再經過2, 3年,如果相關市場上無法取得一定成果,被放棄的機率大於70%,畢竟Microsoft 已經採取新的戰略方式 Azure Sphere 都推了。如果發生就是等於把時間投入一個將死的技術堆棧,不過如果拉長來看,這世界技術堆棧死的不計其數,但是領域知識總是大同小異的。而且本身不是只會Windows 相關技能,對於我來說切換技能樹相對簡單。

IBV–目前提供的是Team leader,要負部份管理職責,做的是基於Debian 的BMC BSP Porting相關工作,還有支援某些未來功能需求,目前看來這部份的工作因為職責與公司的知名度關係,會對個人履歷有點加分作用。不過技術堆疊應該就是持續再BMC相關開發上面,估計可以做個3~5年。

工時與通勤距離長短:

目前看起來兩家公司都是正常工時,不太會有超時工作的需求。如果考量通勤,工控廠商位於我步行可達範圍算是加分,IBV要搭捷運30~40min.,但上班時間更彈性點。

目前最大問題是之後還想不想在求職人手市場上打滾,拿別人飯碗的問題。目前看來如果還要再換公司應該選IBV會好一點。但是這個不是我的剛需,畢竟年紀真的到一個程度,市場很現實。

個人成長方面

個人目前有開始學習Full stack 相關知識方面,如果要應用相關內容,則工控廠商的機會大於IBV,不過這會回到公司文化跟人的問題。這在未入職的階段無法確認,目前只有透過朋友去打探一下該公司該部門狀況,得到的答案是該部門還算正常,台灣工控內部搶人搶資源的內鬥情況蠻嚴重,生為一個技術宅,很容易被影響。

Note: Windows 10 IoT core

這個目前還是有一些工控領域有對應市場, 然後很多應用不用royalty fee 所以會有經濟誘因,

不過對於技術人員來看, 做這個image 開發有點介於以前的Windows Compact Embedded 但是大部分接近於原生Windows Embedded 的image build 工作, 簡單講就是客製化的彈性相對少很多, 會極度趨近原生Windows

需要 ADK/WDK 要一致的版本編號 確保OS API/DDI的變化, 這樣變成如果商用有不同版本需要維護會需要切換安裝版本, 應該可以透過環境變數控制, 這需要測試一下

然後 Image 這時簡單分為開發與測試用的Test, 跟實際出貨的Retail

buildimage ProductA Retail/Test

Image 的產生流程可以參考IoT Core manufacturing guide

ref.

Note: some about Websites

最近在搞網站前端的學習,  紀錄一下最近得知的一些基本知識, 綜所周知現在因為安全提昇, 網站已經建議全面邁向https 了, 現在已經很多瀏覽器預設瀏覽https網站了

如一陣子GitHub Pages 以已經完全支援https連Custom domain 都包含了, 如https://www.uwingstech.com 這個目前我的擁有的 domain 實際上是 host 在github上的
除了網頁怕被ISP或中間gateway竄改, 需要走https外, 實際上網頁可能需要引用外部的css/javascript , 也可能是因為放在CDN的網路上, 這也有可能被竄改, 所以W3C定義出一個
SRI(Subresource Integrity)的方法,

藉由檢查 Cryptographics-Hash 去確認引入的資源是否正確, 使用方法如下 intergrity="sha384-xxxxxxx"

src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous">

在標準裡有提供一個OpenSSL 產生hash的方法, 在linux 上也可以用下面方法, 簡單講究是Hash算出來後要透過Base64編碼, 按照標準講的 SHA256, SHA384, SHA512是必須支援的, 也可以透過intergrity-meta去擴增, 但是會發生哪些Browser 有實作完整的問題

$sha384sum jquery-3.3.1.slim.min.js | xxd -r -p | base64
q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo

ref.

 

 

Note: Mulitple github account on Linux with ssh

1. Generation account key-pair by ssh-keygen
$ssh-keygen -t rsa -b 4096 -C "test1@test.com" -f test1
$ssh-keygen -t rsa -b 4096 -C "test2@test.com" -f test2
Will got test1/test1.pub and test2/test2.pub, total 4 files for two key-pair

test1.pub & test2.pub are public key for repositories setting on github.com
test1 & test2 are your private key, copy into~/.ssh/ folder
and run ssh-add ~/.ssh/test1 and ssh-add ~/.ssh/test2

2. create configfile under ~/.ssh
vim ~/.ssh/config, then add the below
Host github-test1
HostName github.com
User git
IdentityFile /home/your_account/.ssh/test1

Host github-test2
HostName github.com
User git
IdentityFile /home/your_account/.ssh/test2

3. git clone your repositories
git clone git@github.com:test1/test1.git
git clone git@github.com:test2/test2.git

then to change url of repository under work folder
git remote set-url origin git@github-test1:test1/test1.git
and
git remote set-url origin git@github-test2:test2/test2.git

below my backup settings
github_m