2014年12月31日 星期三

改變世界的九大演算法:讓今日電腦無所不能的最強概念

Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today’s Computers 

原文作者:John MacCormick 
譯者:陳正芬 
出版社:經濟新潮社 
出版日期:2014/08/07
沒有複雜的數學,可是需要一顆清醒的頭腦,作者用淺顯易懂的詞句,講解「八個」影響我們現實世界的的演算法!

演算法?在現代大家都要學「寫程式」的世代,演算法就是程式的靈魂,曾有人說:

程式=演算法+資料結構


演算法描述了電腦中資料的操作方法與步驟。作者以三個標準選擇了書中介紹的演算法。

  1.每天會被一般電腦使用者用到的演算法。
  2.必須能解決現實世界的具體問題。
  3.主要是與資訊科學理論有關的演算法。
  4. 美、簡潔、優雅。

 最後一章更以理論基礎,尋找一個「一種如果存在的話將會很了不起的偉大演算法,並探討電腦能力的極限。

是一本可以當作深入學習演算法課程之前,有個鳥瞰的科普書籍。我也順便用超級簡單好用的Coggle作大綱。


學習工具,免費的心智繪圖:Coggle

在選擇工具時,好用的工具經常面臨進入門檻過高的問題。
如果你也使用Google信箱,你就已經擁有了超級簡單好用的心智繪圖軟體Coggle

這幾天讀「改變世界的九大演算法」 ,就試著用Coggle作整理筆記,幾個特色,讓Coggle值得推薦。


  1. 免費!當然如果您願意的話,Coggle歡迎您以每年5歐元的贊助,隨時提供您最新的辦本更新訊息。
  2. .簡單好上手:我直覺的使用,沒有特別學習的過程,使用方法也體是在螢幕左邊(英文)。但是很快就能使用順手。
  3. 可以共同編輯:就如同ㄒ時編輯,當有人編輯時,在不同的設備中,我幾乎是立刻看到改變的狀況。
  4. 變高手的路~不難:如過要變成Coggle高手,Coggle支援markdown 語法markdown語法提供更多樣文字變化的格式,例如勾選、刪除線、編號、標題大小等功能,Coggle上的說明還蠻直覺的,可以稍事練習一下。
  5. 時光回溯:編輯的過程中,可以選擇某一時點,回到過去。
  6. 其他:包括輸出成嵌入、網頁等等功能。匯入文字以及圖片等等。


總之,趕快找個時間玩一下吧!


2014年12月29日 星期一

多功能的Raspberry Pi (作業三 :把Pi變成無線AP)

硬體:ASUS USB-N10 NANO
裝上以後,使用lsusb指令,「好像」完美可以直接使用,可是就是裝不起來。

lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 005: ID 0471:200e Philips (or NXP) 
Bus 001 Device 004: ID 0b05:17ba ASUSTek Computer, Inc. <---就是這個

如果只是要連上網路,倒是沒問題,可是要當AP ,可就花了一番「查找」:要把wirless toos 全部換成原廠提供的...

打開 Realtek 官網 下載 RTL8188CUS 的 Linux 驅動程式及工具

把上面的檔案解壓縮到~/home/pi/RTL8188C
接著,安裝原廠的hostapd套件:(先安裝Pi提供的套件,刪除後再安裝ASUS的套件)

sudo apt-get install hostapd
sudo apt-get install bridge-utils
sudo apt-get remove hostapd
cd /home/pi/RTL8188C/wpa_supplicant_hostapd/hostapd
make clean
make
make install
安裝完成之後,將/usr/local/bin的檔案,複製一份到/usr/sbin
sudo cp /usr/local/bin/* /usr/sbin/
接下來安裝原廠的wireless Tools
cd /home/pi/RTL8188C/wireless_tools/
tar zxvf  wireless_tools.30.rtl.tar.gz
cd wireless_tools.30.rtl
make clean
make
make install
完成後,編輯/etc/hostapd/hostapd.conf
########## 我是分隔線 ##########
interface=wlan0
driver=rtl871xdrv
ssid=HANE-Pi
bridge=br0
channel=6
hw_mode=g
ieee80211n=1
wmm_enabled=1
wpa=2
wpa_passphrase=raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
########## 我是分隔線 ##########
完成後,編輯/etc/default/hostapd開機開啟AP,直接在複雜的檔案後面加入
RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd/hostapd.conf"


設定無線網卡與網卡橋接起來

auto lo

iface lo inet loopback
#iface eth0 inet dhcp

#allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0 wlan0 

以下,不一定要設定:設定DHCP套件
sudo apt-get install udhcpd
sudo nano /etc/defaule/udhcpd
修改 DHCP 服務設定檔
sudo nano /etc/default/udhcpd

找到下列文字,加上「#」註解掉。
#DHCPD_ENABLED="no"

修改 DHCP 主設定檔
sudo nano  /etc/udhcpd.conf

########## 我是分隔線 ##########
# DHCP 分配的 IP 範圍 
start 192.168.2.101
end 192.168.2.120  
# DHCP 監聽的設備
interface wlan0 
# 指定 DHCP 發送的選項 
opt dns 8.8.8.8 168.95.192.1 
opt subnet 255.255.255.0 
opt router 192.168.2.1 
option lease 864000
########## 我是分隔線 ##########

2014年12月28日 星期日

多功能的Raspberry Pi (作業二:把Pi偽裝成蘋果的TimeMachine)

首先要讓pi支援hfs+,要先安裝hfs+套件
sudo apt-get install hfsplus hfsutils hfsprogs

使用blkid指令,找到外接硬碟的UUID
sudo blkid
如果正常的話應該大致長成這樣:
sudo blkid
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="787C-2FD4" TYPE="vfat" 
/dev/mmcblk0p2: UUID="3d81d9e2-7d1b-4015-8c2c-29ec0875f762" TYPE="ext4" 
/dev/sda1: LABEL="EFI" UUID="67E3-17ED" TYPE="vfat" 
/dev/sda2: UUID="9085c77a-b8f9-32f0-bf3c-240fd75c79c2" LABEL="1THFS" TYPE="hfsplus"
/dev/mmcblk0p1就是在系統中的sd卡模擬的硬碟,sda1就是這次的主角:外接的1T硬碟。
我要將這顆硬碟mount 在根目錄中的/1T目錄上,並且直接在開機時,mount  sda2,所以在/etc/fstab中加入:

UUID=9085c77a-b8f9-32f0-bf3c-240fd75c79c2    /1T    hfsplus     rw,force,exec,auto,users 0 3
然後安裝nettalk套件
$sudo apt-get install netatalk 
在/1T中建立子目錄TimeMachine,並且設定屬性

mkdir /1T/TimeMachine
sudo chmod 777 /mnt/TimeMachine
sudo chown -R pi /mnt/TimeMachine
編輯 /etc/netatalk/AppleVolumes.default,在檔案最後加入下面這行
/1T/TimeMachine "Time Machine" options:tm
然後重新啟動nettalk
sudo service netatalk restart
回到蘋果,開啟[偏好設定」的TimeMachine就可以抓到了喔!

多功能的Raspberry Pi (作業一:開機時傳送Pi的 ip)

心情煩燥時,最好的調解方式,就是專心做一件事!

今天就把包裡放置已久的樹莓派(Raspberry Pi)給加工一下!



目標:

1.無螢幕的主機,使用ssh控制(開機時傳送Pi的 ip)。

2.偽裝成家裡蘋果群的的TimeMachine

3.裝上如果攜帶時,要變成無線AP



食材:

Raspberry Pi (B) 基本安裝好 RASPBIAN

USB HDD 已經格式化成 HFS+



作業一:

已經安裝好ssh的pi,雖然可以運作,可是不曉得網卡的ip,所以寫個script,在每次開機時,把pi的位址,用gmail傳送出來。紅色的部分請依照自己的需求修改。

不妨放在家目錄的Code下(例如/home/pi/Code/startup_mailer.py)
sudo nano /home/pi/Code/startup_mailer.py

import subprocess
import smtplib
import socket
from email.mime.text import MIMEText
import datetime
# 這裏改成自己的email
to = 'example.com'
gmail_user = 'test@gmail.com'
gmail_password = 'gmail的密碼'
smtpserver = smtplib.SMTP('smtp.gmail.com', 587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(gmail_user, gmail_password)
today = datetime.date.today()
# Very Linux Specific
arg='ip route list'
p=subprocess.Popen(arg,shell=True,stdout=subprocess.PIPE)
data = p.communicate()
split_data = data[0].split()
ipaddr = split_data[split_data.index('src')+1]
my_ip = 'Your ip is %s' %  ipaddr
msg = MIMEText(my_ip)
msg['Subject'] = 'IP For RaspberryPi on %s' % today.strftime('%b %d %Y')
msg['From'] = gmail_user
msg['To'] = to
smtpserver.sendmail(gmail_user, [to], msg.as_string())
smtpserver.quit()


可以執行看看喔

python /home/pi/Code/startup_mailer.py
就會寄一封信,到你指定的信箱中,告訴你的Pi流浪到哪裡去了!

然後把上面的指令加到 /etc/rc.local,就搞定了,原本開機時,螢幕就會提示目前的ip,然後再寄出信件告訴自己Pi的位址:
sudo nano /etc/rc.local


# rc.local
 #
 # This script is executed at the end of each multiuser runlevel.
 # Make sure that the script will "exit 0" on success or any other
 # value on error.
 #
 # In order to enable or disable this script just change the execution
 # bits.
 #
 # By default this script does nothing.
 # Print the IP address if it doesn't work ad sleep 30 before all your code 
 _IP=$(hostname -I) || true
 if [ "$_IP" ]; then
   printf "My IP address is %s\n" "$_IP"
   python /home/pi/Code/startup_mailer.py &
fi
 exit 0


這樣,隨時就可以附近的電腦已SSH控制Pi

參考:http://elinux.org/RPi_Email_IP_On_Boot_Debian




2014年12月16日 星期二

anobii :愛書人一定要有的APP

如果你跟我一樣,「讀了某本書,也不知道自己讀了沒有」

或著,家裡的書,多得像座圖書館
也或者,擔心自己不小心誤踩地雷,買到天書

 anobii是你一定要安裝的APP
IOS也有Android的版本

如何使用呢?
安裝軟體後,開啟掃描條碼(通常在書背的價格旁邊,有ISBN條碼)


然後「嗶」一聲!

書的簡介、封面甚至書友的評論,就通通出現!
(還同步在網路上,幫你建立好你的書櫃)


我通常會在逛書店時,偷偷給他「嗶」一下!
看看評論,然後考慮是否列在「欲購書單」中

還可以在自己的首頁中,分享自己的書櫃。

愛書的你,一定要安裝!

Ps.有時候,在手機上新增了一堆書。卻沒看到在網頁上同步,只要在網頁上「手動」新增一本書,很神奇的,就手機上的書,就全部同步到雲端了!

2014年12月14日 星期日

升格

同學問李樂:你會不會期待12/25?

樂回問:聖誕節嗎?還好吧?

同學說:不是,是你[小市長]會不會升格變[小區長】?

同學,阿你會不會想太多?

2014年12月6日 星期六

「免費」全班一齊來搶答!互動評量軟體!

經常在想,學習是如此的有趣,怎麼孩子年紀越大,學習就越來越「不好玩」?

玩?孩子們在玩樂與競爭中,學習從不倦怠!

Kahoot讓全班可以利用各種上網設備 智慧型手機、筆記型電腦、平板...隨著緊張刺激的背景音樂,搶答、計分...不把新科技,當成洪水猛獸,反而成為幫助老師上課的利器。

先瞧瞧上課情境吧!http://youtu.be/b6gER64oFgA



1.很簡單:如果你也想要這樣上課,先上 https://getkahoot.com/ 申請一個帳號。
2.很簡單:建立一個課堂測驗。
3.極為簡單:在教室,開啟電腦、單槍,開始玩~~
4.超級簡單:讓全班(分組)或每個同學,用手機上 kahoo.it  ,輸入遊戲編號(Game-Pin)

GO~開始搶答!

2014年12月4日 星期四

學習的轉變

一直以來,我都覺得女兒是我「教育學」的導師!經常我會把課程中的理論,試著在女兒身上驗證,也經常在不經意中給我感想與啟發。

前幾天,小六在他的小日記中寫下了一段心情的轉變,我發現值得與「老師同學」分享:

~~~我是分隔線~~~~~~

因為今天沒什麼好玩的事,所以我就來說說我對「一件事」的轉變吧!

我從以前一直都不喜歡上自然課,因為「1.之前自然老師罵人用不太好的詞。2.自然老師不管怎麼說話都是同頻率,讓人很想睡。」

但自從期中考前的那星期...自然老師讓我們自習,突然老師講起『FTA』,又講到就業上的問題,使我很有興趣,所以我一直舉手問問題,但其他同學都好沒精神,快要睡著。

雖然大多同學(連其他班)都不喜歡上xx老師的課,但我應該是在學習中找到樂趣吧,經過那次的事後,上課我把老師「講」的話全抄下來,且常問問題!

結論是,我好喜歡自然課喔!!


~~~我是分隔線~~~~~~

從老師角度:

  • 學生觀察老師,不只是課程內容,還有「言行舉止」。
  • 引發學習動機,是開啟學習的第一步,老師應該嘗試處發點。
  • 試著跟學生互動,不要自己在台上演!


從學生角度:

  • 試著跟老師互動,有時候超無趣的老師,也會有寶藏可以挖掘喔。



FTA:自由貿易協定(英文:Free Trade Agreement,簡稱FTA)

2014年12月3日 星期三

抉擇

昨天,聽到小六的孩子說,班上的一位女同學蹺家了,12歲!
昨天,一個家長來學校抱怨離婚的前妻,然後逼著孩子,在父母間做一個選擇!

記得小時候,父母因為工作,我必須在外婆家長大。那是一個大家庭,數不清的「本省」長輩,和一個父母不在身邊的「外省」小孩!連小名都是有「貶抑」語氣的「ㄚ山仔」。
即便如此,年紀慢慢長大,自己卻也喜歡那樣的小名,是「不同」而不是「不好」。

即便如此,在心中最大的陰影,卻是「你愛爸爸、還是媽媽?」這類的問話!我會對這樣的問話怨懟,即便忘了問這些話的是誰,但永遠也不會忘記被問話時,面臨的為難與痛苦!
親情不同於愛情、友情,正在於親情是與生俱來而無從選擇的。當愛情消逝、友情變淡,不要把相同的為難帶給孩子!
你們不愛了,他(她)還是我的爸爸(媽媽)!

希望那個小六的孩子,忍過昨晚的寒冽,平安回家吧!

2014年12月2日 星期二

寫在畢業旅行前~給同學

今天早上好早好早要去桃園機場送機。因為要早起,反而心中睡的不踏實,不過卻做了個有趣的夢。
我夢見我跟同學們搭著雙軸直升機,一班班降落在熱帶島嶼的沙灘上。
然後大聲的喊叫:「我們來畢業旅行了!」

每每看見你們,怎麼那麼快就要畢業了!
「發現」你們快畢業了,從你們在網路上話題從感情、學校,慢慢聊到未來。接下來會有一堆的打卡。
「發現」你們快畢業了,從校園裡,你們成了學長、學姊,制服舊了!
我總對同學們說,治平,不只是學習的地方,更是創造記憶的地方!
過幾天,我們要一起出遊,一起創造記憶!
希望我們盡情的玩!該有的規範,我知道同學都已經明瞭。
希望我們努力留影!該有的準備,同學們都已經準備好了!

又是畢旅了!同學們要記得,你們胸前的校徽,就算脫下了制服,還永遠不會消失!
安全、快樂的!創造記憶吧!

祝同學們旅途平安愉快

寫在畢業旅行前~給老師

今天一早,去桃園機場送即將到北大、港大參訪的同學,看著現場的同學,來自學校的各個單位,有短髮的國中部、
高中部還有職科,甚至還有友校的同學,雖然是氣溫驟降清晨,卻可以感受到同學的熱情期待。

突然沒來由的心頭一凜,多麼龐大的旅行團啊~我們的老師呢

記得年初,隨著也差不多大的隊伍,到日本參訪,一位隨行的老師,卻讓我見識到「隨隊老師」的專業,

老師是安靜的,總在隊伍的中後方,看著旅行社的領隊,校長、主管們,提醒著學生該幾點集合,該注意哪些事項,

老師是安靜的,總在隊伍的中後方,留意著恍神的學生、慢行脫隊的孩子,適時的引導學生前行。

跟著這樣的老師出行,心頭的擔子著實輕鬆不少!

其實,每一次帶學生出門,我總想著自己的角色,是一同遊玩的的同事,還是領隊的「長官」,總想輕鬆一下,可是往往越玩心頭越緊,慢慢的,每次出門成了負擔。

我們的孩子們其實都還能接受規範,可是經常,我們年輕的老師一出了門也成了孩子

有次,我在樓上看著從禮堂往遊覽車前行的隊伍,有的班級就看著學生有序的前進,「老師在中後段」隨著隊伍前進
讓我驚訝的,也有的班級導師,混在隊伍中「奔向」車上!

又要畢旅了!老師們幫幫忙,展現你平常教會學生的禮儀,一起分擔「安全」與「責任」吧!

祝您旅途平安愉快