2016年4月27日 星期三

[python] ipython notebook [NotebookApp] WARNING | Unreadable Notebook:.ipynb global name 'NBFormatError' is not defined

[python] ipython notebook  [NotebookApp] WARNING | Unreadable Notebook:.ipynb global name 'NBFormatError' is not defined

使用$  ipython notebook test.ipynb 時出現這樣的錯誤

使用
$ ipython --version
目前還在 2

ipython notebook 3 以後有個 breaking update


$ pip install ipython -U


$ ipython --version
4.0.0

這樣就可以開啟了

[python] No distributions at all found for entrypoints (from nbconvert->notebook)


No distributions at all found for entrypoints (from nbconvert->notebook)

如果在 pip install jupyter

出現一些錯誤的話,目前 notebook 版本是 4.2

如果 pip install ipython 也會出現錯誤的話


sudo pip install --upgrade setuptools pip
升級完你的 pip 與 setuptools 應該可以解決大部分的問題

IPython - Development - entrypoints error . . . .
http://python.6.x6.nabble.com/entrypoints-error-td5188980.html

2016年4月25日 星期一

The First 20 Hours 黃金20小時學習法 Josh Kaufman


從完全不會學習到初步成果到底要多久的時間投入呢?
古往今來 世界各地都在研究,如何更有效率的學習,更有效率的取得知識的方法與方針。

從 Anders Ericsson 教授提出的研究  "10,000-Hour Rule" 被 Outliers 異數 作者 Malcolm Gladwell 廣泛介紹後。
大家似乎開始有個誤解,這裡指的一萬個小時,是要成為專家,也就是透過這樣的投注,你就會變成該領域的專家。

但是,再學習各種新知,到某種程度呢?

Josh Kaufman 提出的關鍵黃金20小時,跟你講述,學習一樣新東西,只要搞要幾個步驟,就能夠在20小時得到一些成果。

1 deconstruct the skill

2 learn enough to self-correct
3 remove practice barriers
4 practice at least 20 hour

夠過四個步驟讓你快速學習

喬許的黃金20小時學習法即是以練習為核心,但要切記四大關鍵步驟,以學烏克麗麗為例,步驟會像這樣:
  一、取得不可或缺的工具:
  (一把烏克麗麗、調音器、備用琴弦、三本參考書。)
  二、決定學習成效目標:
  (10 天後在攻占世界高峰會自彈自唱「四和弦歌」。
  30天內練到可以在TED演講上表演一段。成果請參考:tedxtalks.ted.com/video/The-First-20-Hours-How-to-Learn)
  三、將這項技能拆解成幾項子技能:
  (左手按和弦、右手刷弦、熟悉旋律、記憶歌詞、自彈自唱。)
  四、20 小時的練習:
  .先從最常用的和弦及刷弦法練起
  .練到彈奏和弦和刷弦都不用看指板或琴弦(累計滿 2 小時)
  .練到不假思索就可以維持刷弦和改變和弦(累計滿 5 小時)
  .用邊彈邊哼的方式學歌,學習歌詞跟和弦變換重疊的地方
  .加進歌詞,一直到可以自彈自唱「四和弦歌」(累計滿 10 小時)
  .學習更多新歌(累計滿 20 小時)(更詳盡的學習歷程參見第八章)

  除了烏克麗麗之外,在本書中,你可以零距離看到喬許依「黃金 20 小時學習法」,在不到一年內成功學會了瑜伽、架站、圍棋、風帆衝浪、盲打。難以置信?這些好像不花個幾年難有所成的才藝,喬許真的都在 20 小時的練習後就上手。讀者可以用這個方法來學習任何感興趣的才藝,是的,任何才藝。你的願望清單布滿灰塵了嗎?趕快挖出來重新看一遍!

  ◎學習科學,「黃金 20 小時學習法」的10 大原則:
  一、選擇一項想學的技能或才藝
  二、一次只學一種
  三、決定學習成效目標
  四、將這項技能拆解成幾項子技能,從關鍵技能開始練習
  五、取得不可或缺的工具
  六、消除阻撓練習的障礙
  七、抽出專心練習的時間
  八、建立快速的回饋迴圈
  九、短時間的計時密集練習,一天最多 90 分鐘
  十、練習的重點是求多、求快
可以看一下,Josh Kaufman 在TEDx 的演講

Watch "The First 20 Hours - How to Learn Anything: Josh Kaufman at TEDxCSU" Video at TEDxTalks 20 min
http://tedxtalks.ted.com/video/The-First-20-Hours-How-to-Learn
博客來-學得快才會想學!:黃金20小時學習法
http://www.books.com.tw/products/0010617128


2016年4月12日 星期二

[machine learning]什麼是 Gradient Descent why and how

什麼是 Gradient Descent why and how

Gradient Descent
Gradient descent is an optimization algorithm used to find the local minimum of a function


這網頁裡有個使用二次方程式,精闢的使用程式與圖片來解釋  Gradient Descent 。
如何得在局部的最小值。

Paranormal Distributions
http://tillbergmann.com/blog/articles/python-gradient-descent.html



2016年4月8日 星期五

[raspberry pi][linux] 防止 ssh 暴力登入 fail2ban


因為 raspberry  pi 的 ssh port 開在預設的 22 port ,要連出的地方又有防水牆只能從 22 port 到 ssh

所以安裝了 fail2ban ,當重試多次錯誤就ban掉該ip

sudo apt-get install fail2ban


fail2ban - ban hosts that cause multiple authentication errors

關於 ssh ban的設定如下

$ vim /etc/fail2ban/jail.conf

#
# in /etc/fail2ban/jail.local.
#
# Optionally you may override any other parameter (e.g. banaction,
# action, port, logpath, etc) in that section within jail.local

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6