|Tools| Useful Linux Commands

.在特定類型的文件裡找字串
grep -ir “ooxx“ –include=”*.java”

.掛載外接硬碟
sudo fdisk -l
mkdir /media/usb
sudo mount -v -t auto /dev/sdb1 /media/usb

.找特定類型的檔案

find -iname *.git

|Life| 你的重點呢?

我帶走最重要兩句話:

你的結論呢?重點是什麼?

所以,Root Cause 是什麼?

 

這兩句話,不管是在工作上,或是思考人生方向,聆聽別人說話,都是十分有用的。
他會一直在耳邊回想,提醒你:所以,你要的是什麼?

|Jobs| 系統廠工程師需要具備的 Linux 相關知識

  • IPC 溝通有許多方式(兩個 process 互相交換資料的方法)
  • 何時要開 proccess,何時用 multi-thread 就好
  • In C language, system()
  • Makefile 如何寫
  • 系統默認路徑
    • Include 系統默認搜尋範圍: /usr/include/usr/local/include
    • Lib 預設目錄: /lib、/usr/lib、/usr/local/lib
      • 環境變數 LD_LIBRARY_PATH 中指向搜索路徑
      • /etc/ld.so.conf 文件中增加搜索目錄
    • 執行檔預設目錄: 如果不加 ./ ,預設是執行 /bin、/usr/bin

|Jobs| How can operators detect tethering?

出國玩,買 SIM卡 一定要注意,這張卡是否能夠當作 WiFi hotspot 分享給別人,

有的卡是不行的哦!!

 

在某次出差 (2017),我發現,電信業者是有能力知道這張 SIM卡是否有能力 WiFi hotspot,並且禁止這張卡做分享。

我一直以為是 framework 的行為(軟體端去擋),但是我做了一些實驗,發現電信商是可以控制的。(最近的新案子也有談到類似的東西)

表示在卡號之外,你這張卡是否有分享給別人,或者,
別支手機是否透過分享上網的,這兩個一定有其中一個資訊會被電信商知道。

 

稍微上網查了一下,電信商可以偵測到以下資訊,推斷出
你是否正在分享給別人/你是否是透過不能分享的網路上網

How can phone companies detect tethering (incl. Wifi hotspot)

  1. Your phone tells your network that you are tethering
  2. Inspecting the network packets for their TTL (time to live)
  3. MAC address inspection
  4. TCP/IP Stack Fingerprinting
  5. Looking at the Destination IP/URL

 

特別是去英國,要查一下你的卡哦!

Tethering on UK Networks: Which Mobile Networks Allow You To Tether?

|Jobs| 系統廠軟體工程師生存守則

  1. 一開始的 domain knowledge 問同事
  2. 環境建置問同事 + 文件囉
  3. Unit Tests 可以幫助你了解這產品做什麼
  4. 了解文件從哪取得
  5. 縮寫很多 要去查出來並理解
  6. 先知道做什麼 -> 看文件與流程 -> 對照 log 去 Trace code
  7. 以事件為單位 去 trace code
  8. 文件盡量直接從原廠找最新的,自己家的設計才是問同事或 PM
  9. 看懂 function pointer, macro
  10. 注意晶片廠自己定義的 structure 與 型別
    例如: bool v.s. boolean
  11. 各層之間傳遞, 都是用 command (message)
    要弄清楚幾個詞的意義與方向:
    Indicator(單純從底層報訊息上來的東西)
    Request(從上層要問底層資訊的)
    Response(底層回給上層的)
    Unsolicited(單方向的發送)
    Solicited(有一問一答的)
    Notification(單方向的發送)

另外,Open source library 使用時要注意權限。

系統廠就是要學會如何用原廠資源兜出客戶要的東西。各種組合出神奇的產品。

Code 兜的好,生存沒煩惱。

|Life| What is the Dividend yield ?

現金殖利率 (Dividend yield) = 現金股利(元) / 股價(元) *100%

意思就是:每塊錢股價所賺到的股利!

這樣可以衡量你投資的錢,能夠得到多少股利。

 

現金股利/股價=殖利率  若能 >5% 最好

但是穩健的公司,因為股價高,所以不見得 殖利率>5%

(0050 也才 3%左右 ……)

 

所以要注意幾點:

  • 殖利率不等於投資報酬率
  • 股價是否有填權息?
  • 股利必須要課稅:追求高殖利率股,想穩定領股利的人有個額外要注意
  • 股價通常會一直跌、本益比也低,看起來殖利率高,但容易賺了股利賠了價差
  • 要小心一次性獲利的配息
  • 增資來配息,可以觀察:配息率(現金股利/EPS)若超過100%代表賺得少但配得多、營業現金流(年)和自由現金流(年)是否為正值

ref.

Mr.Market市場先生:現金殖利率是什麼?投資高配息的股票要注意的3件事

Mr.Market市場先生:什麼是除權、除息?股價影響怎麼計算?

|Life| What does independence mean to me?

被說「獨立」。不管是在工作或是生活都曾有過。

對我來說,獨立一定要有一個條件:在對於未知的發展還能夠掌握。

這建立在:對於事情知識的熟悉度,是否經歷過,是否知道如何控制突發狀況,

以及,能夠想像的未知

所以 …… 有些事我還不能夠想像,還需要一點 …… 依賴。

|Design| Make a cache in your program.

Cache 原意是指存取速度比一般隨機存取記憶體(RAM)快的 SRAM。
但在軟體中,就是指:暫存的機制。
目的是:降低存取一些值的代價。

你可以不用為了某個值,每次都要去問底層。
或者,某些 indicator 更新太頻繁,但你不希望上層跟著一直做無意義的更新,就會需要一個 Cache (很像 Temp 去接著它)。

 
比較常見的例子:
瀏覽器的 Cache 功能是可以減少你抓取資料的時間。

|Jobs| LTE 是如何拿到位置和時間的?

先介紹一個詞:System Information Block

LTE 的系統資訊,會廣播到手機端,其中,

SIB16: GPS Related Informatin,

    包含位置及世界標準時間 (Coordinated Universal Time, UTC) 資訊

 

所以手機時間的來源有:

LTE 網路、NTP Server、或是電信商可能會支援 NITZ

延伸:

NTP (Network Time Protocol) Server?

NITZ (Network Identity and Time Zone)?

WordPress.com.

Up ↑