【閱讀筆記】真希望我第一次買股票就知道這些事-2/4



作者: Carl Richards

本書已絕版,下方為個人閱讀後之筆記

為將來的財務做規劃,其實就是在做取捨,要今天多花一點?還是要為將來存起來?這兩者是對立的,取捨的重點就是處理這個對立。
  1. 你可以合理儲蓄的金額是多少?
  2. 你的投資報酬率將會是多少?
  3. 你需要多少錢?
  4. 什麼時候需要?

【閱讀筆記】第一次領薪水就該懂的理財方法


作者: 蕭世斌  (怪老子)

這是一本我覺得是必買的理財入門書,內容相較於一般的投資學所使用的課本簡易許多,對我而言也比瀏覽怪老子老師的部落格文章還容易了解,以下是整理書中公式來當複習筆記。

*第一次領薪水就該懂的理財方法就不是老師本人出版了

【閱讀筆記】錢與閒 - 4/5


本書作者:麥可‧勒巴夫(Michael LeBoeuf)

選擇七 認清市場勝於擊敗市場

被動式投資有效

買進並且繼續持有的指數型基金,是讓資金成長最好也是最有效的投資辦法,最後可以讓你獲得財務自由。最棒的是,還可以獲得時間的紅利。你無需花無數時間去學習複雜的投資,不必花時間煩惱買什麼,賣什麼,何時買,何時賣。換言之,當你的錢自動地以複利累積時,你得到更多的自由。指數型基金投資效率佳的七個原因:

【閱讀筆記】錢與閒 - 3/5

本書作者:麥可‧勒巴夫(Michael LeBoeuf)

選擇四 提高自己的時間價值

錢流向價值所在,也許你得辛勤工作以創造價值,但並非是你辛勤的工作吸引金錢,而是價值吸引金錢。

如果你想賺更多錢,就不要再相信長時間工作是解決的辦法。你要將時間與精力花在如何讓時間換取更多的報酬。關鍵在增加工作所顯現的價值。

【閱讀筆記】你的團隊需要一個會說故事的人

你的團隊需要一個會說故事的人:微軟、NASA都在學的故事思維  Whoever Tells the Best Story Wins: How to Use Your Own Stories to Communicate with Power and Impact

你的團隊需要一個會說故事的人:微軟、NASA都在學的故事思維
Whoever Tells the Best Story Wins: How to Use Your Own Stories to Communicate with Power and Impact

作者: Annette Simmons

我們都必須學習找尋和述說能讓自己和聽者都產生共鳴的故事,一旦習得這項能力,你就具備說服、溝通、打動他人的基本技巧。一個善於說故事的人懂得利用自身的情緒反應來判斷他人的情緒反應,從而加以運用。

【公益】分享愛1200~聖誕圓夢


記錄這一有意義的捐贈。這是為育幼院或弱勢兒童募集一份聖誕禮物的活動,先前我會認為捐現金的活用性會大於捐贈物品,但是當回想姪兒姪女玩玩具的神情,以及收到一份禮物的喜悅表情,便明白雖這麼一份小小玩具,但是帶給他們的開心是無限。

在美國出差的日子 - Plug and Play 加速器 心得

上一篇:在美國出差的日子 - Plug and Play 加速器 介紹

台灣與美國新創的差異

在新創產業裡,雖然都是提出創新想法來解決問題,但在新創文化裡,台灣與美國還是存在著一些差異。就台灣而言,比較專注於技術,再以技術去觀察能解決什麼樣的問題;相對地,美國重視的是市場與客戶,因為在矽谷一定能找到解決問題的技術,欠缺的是存在問題的目標市場,要提供什麼樣的服務或商業模式給這些客戶,以賺取更多的利益。

而日本屬偏封閉式的社會型態,雖然在日本內地也有許多新創公司,欠缺資金的新創公司如果需要尋找合作或投資機會的話,必須通過社會與市場的驗證,例如新創公司曾在媒體上曝光、主打國外市場,或總部是設立在國外,才能有較高的機率談合作跟投資。

在美國出差的日子 - Plug and Play 加速器 介紹

這趟美國的出差之旅,最重要的就是參加Plug and Play加速器,加入這家AI公司前,對於美國加速器是什麼毫無概念,加入後也只有從同事口述中略之一二,只聽說加速器培訓跟工作沒什麼兩樣,但會跟來自不同國家的人在同個地方工作,真的好難想像呀!

【看房心得】看房/租屋小撇步

自從出社會到台中工作後,在台中就換了三次房子,然後為了工作再搬到台北,來台北又換了三次房子,經歷不斷換房子,對於住房品質的要求也愈來愈高,因此,把看房的條件整理後列出來,希望有朝一日要買房時,再多補充一些內容。


【投資筆記】資產配置-思考你的需求及目標


在理財投資這條路上,我仍在學習中,但越是了解越有如此體會-沒有人比你更懂你的需求與目標!我曾想過或許透過理財專員來規劃才是最有效率且明確,但需求及目標可能隨著人生階段的不同而有所變動,你又該如何適時的去調整呢?理財專員透過問卷了解你的需求和目標後去規劃投資,但是超過問卷以外的需求呢,你當初沒有考慮到的因素,或對方沒有詢問到的而你也不清楚的部分是否就此忽略了。

【France‧Paris】Montmartre蒙馬特地區

Montmartre蒙馬特 從聖心堂俯瞰巴黎市區

蒙馬特位在巴黎北部第 18 區的山丘上,對於要前往法國旅遊,有做功課的遊客們應該在蒐集資料時,會得到關於"巴黎治安不好"這訊息,且網路上有好心的網友還提供巴黎分區治安狀況表,其中第18區的蒙馬特則是標示"危險"等級。

在美國出差的日子 - TechCrunch Disrupt 2018

進前美國門票

今年在碩士畢業後,加入了一間新創的AI公司,而公司目前還在Seed funding階段,所以只能不斷的參加比賽來爭取更多曝光的機會。很幸運地,在今年取得了進軍矽谷的門票,其中包含補助機票,以及參加Tech Crunch跟加速器的費用,因此,這次的美國之旅,不僅讓我有機會參加知名的Tech Crunch展覽、參訪矽谷知名企業,更讓我可以在美國見識知名的矽谷裡新創產業的生態,接觸了不同於台灣新創產業的發展與機會。


Fix GLib-GIO-Message: Using the 'memory' GSettings backend.

Option 1: Add env variable to .bashrc

export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/

Option 2: rename gsettings

$ which gsettings
~/anaconda3/bin/gsettings

$ ll ~/anaconda3/bin/gsettings
-rwxrwxr-x 1 user user 35944 1 23:18 ~/anaconda3/bin/gsettings*

# rename it
$ cd ~/anaconda3/bin
$ mv gsettings gsettings_old

References

Build OpenCV 3.4.1 with CUDA 9.0 support

Environment

  • Ubuntu 16.04
  • Anaconda 4.5.4
  • CUDA 9.0
  • OpenCV 3.4.1
  • Python 3.6
  • Git
  • GeForce GTX 1070 Ti (Pascal GPU)

Prerequisites

  • Python environment (anaconda/conda)
  • CUDA 9.0 libraries installed

Install dependencies

Step 1: Update/Upgrade pre-installed packages

$ sudo apt-get update
$ sudo apt-get upgrade

Step 2: Install developer tools used to compile OpenCV 3.x

$ sudo apt-get install build-essential cmake pkg-config

Step 3: Install libraries and packages used to read various image formats from disk

$ sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev libtbb2 libtbb-dev

Step 4: Install a few libraries used to read video formats from disk.

$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev

Step 5: Install GTK to use OpenCV’s GUI features

$ sudo apt-get install libgtk-3-dev

Step 6: Install packages that are used to optimize various functions inside OpenCV, such as matrix operations

$ sudo apt-get install libatlas-base-dev gfortran

Step 7: Clone opencv with 3.4.1 from GitHub. Make sure you have git installed.

$ OPENCV_VERSION=3.4.1
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
$ git checkout -b v${OPENCV_VERSION} ${OPENCV_VERSION}
$ git merge ec0bb66
$ git cherry-pick 549b5df
$ cd ..

Step 8: Clone opencv_contrib from GitHub.

$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib
$ git checkout v${OPENCV_VERSION} ${OPENCV_VERSION}
$ cd ..

Step 9: Now set up the build.

$ cd opencv
$ mkdir build
$ cd build

Step 10: Run CMAKE command with appropriate options

In my case, I used GTX 1070 Ti (a Pascal GPU). Replace CUDA_GENERATION with a proper one. CUDA_GENERATION is used for specification of Auto, Fermi, Pascal, Maxwell or Volta, etc. and limits the code generation only for specific architecture.
 cmake -D CMAKE_BUILD_TYPE=RELEASE \
       -D CMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") \
       -D BUILD_EXAMPLES=ON \
       -D BUILD_opencv_python2=OFF \
       -D INSTALL_C_EXAMPLES=OFF \
       -D INSTALL_PYTHON_EXAMPLES=ON \
       -D ENABLE_FAST_MATH=ON \
       -D CUDA_FAST_MATH=ON \
       -D CUDA_GENERATION=Pascal \
       -D WITH_FFMPEG=1 \
       -D WITH_CUDA=ON \
       -D WITH_CUBLAS=1 \
       -D WITH_OPENGL=ON \
       -D WITH_TBB=ON \
       -D WITH_LAPACK=OFF \
       -D OPENCV_EXTRA_MODULES_PATH="../../opencv_contrib/modules" \
       -D PYTHON3_EXECUTABLE=$(which python) \
       -D PYTHON3_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
       -D PYTHON3_LIBRARY=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")/../../libpython3.6m.so \
       -D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
       -D PYTHON3_NUMPY_INCLUDE_DIRS=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")/numpy/core/include ..

Step 11: Make the build now.

$ make -j $(nproc)

Step 12: Install OpenCV

$ sudo make install

Step 13: Verify OpenCV

To access OpenCV from Python under Anaconda environment, the directory site-packages contains shared object cv2.cpython-36m-x86_64-linux-gnu.so after successful installation.
$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.getBuildInformation())
...
...
  NVIDIA CUDA:                   YES (ver 9.0, CUFFT CUBLAS FAST_MATH)
    NVIDIA GPU arch:             60 61
    NVIDIA PTX archs:
...

Step 14: Add environment variables to .bashrc

$ cd $(python -c "import sys; print(sys.prefix)") && pwd
/home/chunming/anaconda3

# find cv2.cpython-36m-x86_64-linux-gnu.so
$ find . -iname cv2.cpython-36m-x86_64-linux-gnu.so
./lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so
Now we found that cv2.cpython-36m-x86_64-linux-gnu.so is under the path /home/chunming/anaconda3/lib/python3.6/site-packages and add it to .bashrc
export PYTHONPATH=$PYTHONPATH:/home/chunming/anaconda3/lib/python3.6/site-packages
export LD_LIBRARY_PATH="/home/chunming/anaconda3/lib:$LD_LIBRARY_PATH"

Uninstall OpenCV (optional)

$ sudo make uninstall

References

【課程筆記】YC創業課程-第19堂 銷售和市場、如何與投資人交談、如何安排與投資人的會面

<YC創業課程 - How to start a start-up>

第19堂 - 銷售和市場、如何與投資人交談、如何安排與投資人的會面


photo credit: Y Combinator's How to Start a Startup

銷售是"漏斗狀"的,且可分階段將用戶過濾出來

1. Prospecting = 找出哪些人對自己的產品感興趣
誰願意接你的電話:
  a. 人脈
  b. 會議(Conferences)
  c. 冷郵件(Cold email)
參加會議很可能找到潛在用戶,參加會議前提前給每個人發郵件,盡量安排跟他們見面。

【投資理財】指數化投資 - 提領階段

Pension by Nick Youngson CC BY-SA 3.0 Alpha Stock Images

通常採用指數化投資的投資人對於退休後該如何提領生活費還有稅的問題,有很多疑問,我也不列外!為了不讓恐懼影響自己的投資計劃,只能透過多閱讀並記錄自己的想法來了解克服無知的恐懼。此篇是整理多數人的提領方式,未來會不定期增加修改更新

【閱讀筆記】闕又上 - 每年10分鐘,讓你的薪水變活錢

1.覺得市場改變的醞釀逐漸成熟時,在投資風格上做改變,可能從價值型的操作進入成長型,甚至再轉變到動能。

2.投資報酬與選擇的工具和管理有關,多大的風險則與投資者心理的承受能力及財務條件有關。

3.a風險與安全的相關性
  b長期購買力下降的風險,您關心嗎?
  c短期價格波動的風險與長期購買力的風險,您關心何者?
=>未經思考,易錯用投資工具(如長投目標卻用短投的投資工具)

【France‧Alsace】在葡萄園中入睡-Chambre d'Hotes Le Vogelgarten 沃格爾花園商會酒店

這間酒店在Booking.com上可是有高分數的評價,在實際入住後,還覺得Booking.com上的分數還太低了呢。
Booking.com
Chambre d'Hotes Le Vogelgarten  沃格爾花園商會酒店
▲這間酒店應該不太能說是旅館或是酒店,他是屋主把一間房舍整理出來,供旅客預定住宿,有點像是airbnb的感覺,照片中高房屋是屋主自住,矮棟此次預定的住宿間,算是整棟全包了。矮棟前可供旅客停車。

【烘焙筆記】檸檬小蛋糕




材料的部份:約可做8-10個(看模的大小)

  • 低筋麵粉100g
  • 細砂糖60-70g (喜歡甜一點,糖可以多一點;因為巧克力的部份有甜度了,這次減糖
  • 全蛋2個(全蛋打發)
  • 無鹽奶油40g
  • 牛奶20g
  • 檸檬汁15g 
  • (這次沒有新鮮檸檬,用了烘焙店賣的濃縮檸檬汁代替,考出來的蛋糕體也會有檸檬香)
  • 檸檬皮屑少許(可加可不加,加了口感很清香)


【Monaco】歡迎來到富豪的國度-摩納哥Monaco


摩納哥Monaco位於法國南部,不少人誤以為他是屬於法國的一部分,它是世上第二小的國家,僅次於梵蒂岡。

今日的行程是從尼斯--艾茲Eze-摩納哥(最下方有完整行程連結),從艾茲開車來摩納哥約15-20分鐘的車程,可選擇山路或是濱海公路,先前在普羅旺斯Provence區都在開山路,這次當然要換一下改開濱海公路,看看海岸風光阿!

摩納哥 Monaco 遊艇

Flatten multidimensional array in Python

Example

Assume we have an array which looks like this:
import numpy as np
arr = np.array([[1,2,3], [4,5]])
If we try to flatten it by using either flatten() or ravel(), it turns out:
>>> arr.flatten()
array([list([1, 2, 3]), list([4, 5])], dtype=object)

>>> arr.ravel()
array([list([1, 2, 3]), list([4, 5])], dtype=object)

【France‧Alsace】酒鄉之路-里屈埃維Riquewihr.希伯維列 Ribeauville

前一天拜訪艾居漢 Eguisheim .圖克漢Turckheim小鎮,今天要往北開到史特拉斯堡還車,沿途會經過有名的酒鄉小鎮 屈埃維Riquewihr和希伯維列 Ribeauville,原以為這兩個小鎮就像艾居漢和圖克漢一樣小小的,沒想到這兩個小鎮大上許多,遊客也較多,而且看到小鎮的用心裝潢,好希望有朝一日能在聖誕假期時再來辦訪這兩座迷人的小鎮!

里屈埃維Riquewihr
▲一進城,一樣的酒鄉小鎮風格再度出現,但這次的街道寬廣許多

【閱讀筆記】小資族如何簡單買保險 - 重點整理 2/ 2


photo credit:博客來


  • 「終身住院醫療」不需要買,它是住院才會理賠,不住院不會賠的。出了院才是花費的開始!
  • 爭議性高的投資型保單
  • 保戶買了這種保單後,自己都搞不清楚買的是「投資」還是「保險」
  • 投資型保單本身的結構沒有太大的問題,有投資、又有保險,但它的問題是行政費太高。
  • 保險業務員在銷售投資型保單的時候,他本身對投資的這部份 (基金) 專業程度如果跟 (投信、投顧) 公司的理專來做比較的話,是有待加強的。
  • 一般壽險公司它所銷售的投資型保單,大部分是連結壽險公司所喜歡的一些基金,因此投資標的選擇少,不如消費者自己選擇投信或投顧公司所推薦的基金,可有更多選擇。
  • 保費流向的問題
>投資型保單,行政費用會吃掉大部分的保費,還是投資歸投資,保險歸保險吧
*一年期的壽險是可以單獨買的,投資的部分也可以單獨找自己屬意的投顧公司購買

【投資理財】打造屬於你自己的財富計畫



打造未來的財富需要計畫,而這些計畫需要放慢腳步去思考,不只是你本人需要思考,應該是全家人一起靜下心來討論規劃,並且實際的記錄下來,如此你才能確切的執行。

先理財再投資,理財該理的是「人心」。有些人因為懶惰便放棄理財,這可能會讓你誤判自己的財務狀況;而有些人了解自己多為超額支出,因此有了逃避心理,覺得不管怎樣就是存不到錢,也就不記帳了,遑論要投資了。

【烘焙筆記】德式乳酪布丁塔


此食譜是參考Carol老師的德式乳酪布丁塔

一.塔皮

材料:

  • 低筋麵粉100g
  • 糖粉30g
  • 無鹽奶油50g,
  • 帕馬森起士粉1大匙
  • 蛋黃2個(或全蛋液30g) 為了避免浪費,我是用一顆全蛋,吃起來口感也蠻酥脆的
  • 鹽1/4茶匙
  • *使用全蛋黃口感更酥

步驟:

1.  所有材料秤量好
2. 無鹽奶油放置室溫回軟切小塊
3. 低筋麵粉使用濾網過篩 


德式乳酪布丁塔

Sync Files to Remote Server

I am going to use Google Cloud Platform (GCP) as remote server to sync files.

Contents

  1. Generate SSH public key and import in GCP
  2. Sync files using command line
  3. Sync files using IntelliJ IDEA Plugin

1. Generate SSH public key and import in GCP

Download and install Google Cloud SDK


◎ Add a rule to GCP firewall

$ gcloud compute firewall-rules create chunming --allow tcp:22 --source-ranges 0.0.0.0/0
Creating firewall...done.                                                                                                                                                  
NAME      NETWORK  DIRECTION  PRIORITY  ALLOW   DENY
chunming  default  INGRESS    1000      tcp:22

◎ Generate public/private keys on your local computer

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/chunming/.ssh/id_rsa): 
/Users/chunming/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/chunming/.ssh/id_rsa.
Your public key has been saved in /Users/chunming/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:XJJS... chunming@Chun-MingdeMacBook-Pro.local
The key's randomart image is:
+---[RSA 2048]----+
|B+ o.            |
|+.o. o * + +     |
|= .  *  * o +    |
| o . o = + *     |
|  . . o E @ .    |
|       .   X .   |
|        = B *    |
|       . o o .   |
|                 |
+----[SHA256]-----+
Now we have keys and know where they are stored. Let's print public key out and copy.
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAACB....0JslKH6A5+x9b chunming@Chun-MingdeMacBook-Pro.local

◎ Import public key in GCP

Compute EngineMetadataSSH keysEditAdd item →  Paste public keySave



◎ Test connection

$ ssh your_username@REMOTE_IP

2. Sync files using command line

◎ gcloud

gcloud command line is an option to transfer files between GCP instance and local computer. See more usages of `Transfer Files` in Official guide. The following example copies a file from your local computer to the home directory on the instance.
gcloud compute scp [LOCAL_FILE_PATH] [INSTANCE_NAME]:~/
The following example recursively copies a directory from your instance to your local computer.
gcloud compute scp --recurse [INSTANCE_NAME]:[REMOTE_DIR] [LOCAL_DIR]

◎ rsync

We can also use rsync command to sync files in terminal.
Type rsync --help for more information
$ rsync [flags] [local path] [user]@[remote server]:[remote path]

◎ Example

we can sync files using this syntax. Really simple!
$ rsync -avh ./test.py chunming@REMOTE_IP:/home/chunming/sync_dir
building file list ... done
test.py

sent 1.29K bytes  received 42 bytes  295.56 bytes/sec
total size is 1.16K  speedup is 0.87

3. Sync files using IntelliJ IDEA Plugin

The plugin I use is called Source Synchronizer. This is a useful plugin allowing IntelliJ lovers to sync files to remote server. It's only few steps to setup and good to go. I take PyCharm IDE as example.

◎ Install Plugin

PreferencePlugins → Browse Repositories... → Search Source Synchronizer → Install → Restart IDE.

◎ Configure remote server

ToolsSource Sync



◎ Click `` to add a new connection name
Host: <your remote server IP>
Root path: <remote path that you are going to sync>
Check `Use SSH key`: indicate the path where we have the public/private keys.
Check `with passphrase`
Username/Passphrase: <your account and password of local computer>
Click `OK` to apply configuration

◎ Choose connection.

 Right click on the projectProject Connection Configuration → Choose added <NAME>OK


◎ Sync Files

Right Click on selected filesSync selected files to remote target → Done 



References