2020年9月9日 星期三

[Tool] using gnu-sed on Mac OSX

  • 問題: 
    • Mac OS 上的 sed 為 BSD sed, 與 Linux上的 gnu sed 差異非常大, 像是不支援 -i, -e 等, 相當煩人
  • 解決方法:
    • 方法一: 用 brew 安裝 gnu-sed, 並將 PATH 環境變數優先指到 gnu-sed$ brew install gnu-sed
    • $ vim ~/.bash_profile
        PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
      $ source ~/.bash_profile
    • 方法二: build from source, 並將 PATH 環境變數優先指到 gnu-sed

2020年9月5日 星期六

[Python] pyenv - Python 版本管理工具

  • What
    • pyenv 是一套管理 Python 版本的好工具
  • Installation
    • MacOSX
      • Homebrew (本來都是用 MacPorts, 但要克服滿多問題, 趁這機會改用 Homebrew玩玩)
        • brew install pyenv
        • 若需要安裝 Homebrew, 可用以下指令:
          /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
        • Note: Mac OSX 上一般套件管理會選擇使用 MacPorts 或 Homebrew, 各有優缺, 兩個都是會拉 source code, build, install, 比較大的差異是
          • MacPorts 較不依賴系統 libraries (intall package會需要較長時間), 且安裝在 /opt/local/ 下 (權限較沒問題)
          • Homebrew 依賴系統 libraries, 且安裝在 /usr/local 下
          • Reference: 比較 Fink, macports, 和 homebrew 
      • Usage
        • 可安裝清單:
          pyenv install --list
        • 已安裝版本:
          pyenv versions
        • 安裝版本(e.g. 3.7.4):
          pyenv install 3.7.4
        • 系統切換版本:
          pyenv global 3.7.4
        • session 切換版本:
          pyenv local 3.7.4
      • Reference

    2020年9月3日 星期四

    [NAS] 讓 NAS 能在區網外做外部存取 (external access)

    • Router setting
      • 若 server 是架在區網內, 且區網透過數據機與 Router 來連接 Internet, 則 Router 的部分應該要注意以下三個部分: (以 Synology來說, 也可透過 Synology的服務, 來進行設定).
        • WAN(Wide Area Network): 設定 Router 對外連網
          • 注意是動態 IP or 靜態 IP 上網
            • 以 Hinet為例, 20Mbps以上的資費即可申請固定 IP
            • 撥接的帳號通常也不太一樣 (e.g. Hinet 固定 IP 用 yourHinetID@ip.hinet.net帳號, 動態 IP 則用 yourHinetID@hinet.net 當帳號)
        • DDNS (Dynamic Domain Name Service): 註冊 Domain Name, 每次連線自動配對 Domain Name與動態取得的 IP
          • DDNS server 註冊帳號, e.g. 免費的 FreeDNS
          • Router 註冊 DDNS updater
        • NAT (Network Address Translation): 轉換對外 port 與 Router 內部機器的 port
    • Reference

    2020年8月31日 星期一

    [Project Management] Redmine

    • Redmine 是一套 Open source的 Project Mangement 系統, 支援的功能有
      • Bug tracking
      • Gantt graph
      • Wiki pages
      • 從這三點來看, 個人滿推薦的, 比單純的 bug tracking system (e.g. Mantis) 來說, 在專案的時程管理 (用甘特圖來追蹤), 或未來的回顧 (Wiki pages) 來看, 都是相當不錯的.
    • 甘特圖, 設定完各 Project 的起始與結束時間, 可以全局的角度來規劃與追蹤各 Project 進度.
    • Issues / Wiki page 支援 Markdown, 可以快速的編輯頁面與相關內容

    • 安裝
      • 我是透過 Synology NAS的其他服務來安裝, 但整體應該不會太難, Note: 預設帳號密碼都是 admin

    2020年8月16日 星期日

    [Mac] 電池使用情況 (Power Health Information)

    • 可透過 About This Mac -> System Report -> Power -> Power Health Information 來看硬體使用情形
      • Condition 簡短描述電池狀態
      • Cycle Count 則表示循環次數, 評估完整放電/充電次數, 通常超過循環次數上限, 則電池效率便會下降, 建議更換電池, 新的 Macbook Pro 一般上限為 1000, 但不同機型上線不太一樣, 可參考 Reference 連結.
    • Reference:
      • 判斷 Mac 筆記型電腦電池的循環使用次數

    2020年8月13日 星期四

    [Business] 經濟是什麼

    •  介紹非常棒的經濟原理, 包含了利率 / 交易 / 生產率的關係介紹

    2020年8月12日 星期三

    [Business] 獨立思考判斷 "別人的話, 適不適合用在你身上"

    • 那些話適不適合用在你身上, 換個人就該換個判斷, 判斷適不適合我
      • 這應該是非常容易聯想的事, 例如:
        • 我在小學一年級, 學習的內容就基於現在的年齡, 可能只能學注音符號.
        • 我在國中一年級, 就可以基於擁有的基本正整數代數運算, 開始學習負數.
        • 站在三壘的跑壘與站在一壘完全不同, 外野高飛必然先看是否高飛接殺.
        • 我家住宜蘭, 上班在宜蘭市區, 那買房就該買宜蘭, 難不成買花蓮.
      • 但是...
        • 你是否曾想過很多聽到的話, 不是用在你身上的...
          • 重劃區一定漲, 現在買現在賺
          • 景氣正復甦, 台指破 13000, 熱錢必然一起帶動房地產...
    • 必須要有 context-adaptive thinking, 換個位置就該換個腦袋
      • context 代表 "當前狀態"
        • 中文翻譯成  "前後文", 而在資訊工程領域, 則是常見的詞彙
          • 如 OS 裡的 context switch; 
          • 壓縮技術裡的 Context adaptive codec
      • context adaptive 則代表依據當前狀態而做出的對應的行為
    • 沒有對的投資方式, 只有適合自己的投資組合
      • IC 製造轉單效應, 台積300 上看 400, 但你手上現金只有 15萬, 適合投資嗎?
    • 平均值謬誤
      • 公司員工薪資平均年薪 300 萬, 我只有 200萬, 我要求加薪, 合理嗎?
      • 假設世界上男女比例 1:1, 平均每人有一顆睪丸, 跟我差了一顆, 合理嗎?
    • 贏者全拿或 80/20 法則
      • 現實是大部分的情況都是贏者全拿或是 80/20法則
      • 你不是那 20的部份或是你不是最後的贏者, 那一且都是空想而已
        • 1000萬人裡面有一人中頭獎, 而我會是那一人?
        • 我的資訊會是世界上最多的, 能在股價最高點賣出, 最低點買進?
    • 慎思! 什麼樣的賺錢方法或是投資方式會是最適合我的?
      • 基於我擁有的資源、我的投資心態或是看到漲跌的抗壓性!

    2020年8月10日 星期一

    [UML] Tool: PlantUML + GraphViz

    2020年8月7日 星期五

    [Career] 職涯規劃的重點

    • 職場重點
      • 人脈
        • 向上管理
          • 未來的工作都是靠介紹, 那麼認識上層比同溫層重要的多
          • 上級能看到的資料比你多太多, 很多時候職涯的規劃, 在自己這位置是看不清楚的
        • 資訊交流
          • 在各合作領域有熟識的人, 則各積木到位後, 模型的組裝才會迅速有效
        • 團隊選擇
          • 與在校時實驗室原理相同, 若你畢業時, 已經很多實驗室學長姐在業界, 那麼自然可以幫你介紹
      • 技術
        • "輸出"大於"輸入"
          • 除了別人提供的 training, 無時無刻要依自己的話, 自己整理的架構圖來展示自己了解整個架構(廣度)及技術細節(深度)
          • 文件保持 well-org, 不要浪費時間在找過去的資料, 保持上 codes, 資料清理
        • 時間管理
          • 不要浪費每一天, 應該至少將每天拆解成 3個 cycles, 至少解決 3項 tasks
          • 若組織都在浪費時間, 做雜事, 則應該深思是否考慮不同環境

    2020年5月19日 星期二

    [AI]