2019年6月22日 星期六

macOS Mojave 安裝軟體無法在系統偏好設定/隱私權/輔助使用 新增或勾選項目

問題描述:macOS Mojave 安裝軟體無法在系統偏好設定/隱私權/輔助使用 新增或勾選項目。輔助使用的清單應該會有許多項目,但是會一個都沒有,而且也無法以[+]新增。

英文描述:macOS Mojave - System Preference, Security & Privacy, Accessibility - Not Working/Empty

解決方式:
這個問題,在中文世界裡還沒有找到有說明,所以把我在英文版的資料重點整理如下。主要原因是因為安裝了防毒軟體,例如:ESET 或 Symantec...等。
隱私權/輔助使用的設定檔案是,
/Library/Application\ Support/com.apple.TCC/TCC.db
但是被防毒軟體防護無法變更設定,所以要把這個檔案列在防毒軟體的排除清單。
再重新開機一次,就可以變更隱私權/輔助使用的設定。

2019年4月21日 星期日

macOSX 10.14 Mojave 無法安裝inkscape問題的解決紀錄


今天為了安裝Inkscape在新版的macOS 10.14系統之上,發生了一些問題。下面是解決安裝問題的過程摘要。


$ sudo port install inkscape
Warning: MacPorts is configured to use an unsigned source for the ports tree. Please edit sources.conf and change 'rsync://rsync.macports.org/release/ports/' to 'rsync://rsync.macports.org/release/tarballs/ports.tar'.
Warning: MacPorts is configured to use an unsigned source for selfupdate. Please edit macports.conf and change the rsync_dir setting to match macports.conf.default.
--->  Computing dependencies for inkscape
.
.
.
.
 popt
 potrace
 py27-cython
 py27-lxml
 py27-nose
 py27-numpy
 texinfo
 urw-fonts
 webp
 xar
Continue? [Y/n]: 
--->  Configuring ghostscript
Error: Failed to configure ghostscript: autoreconf failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_ghostscript/ghostscript/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Error: Processing of port inkscape failed


首先確認是否安裝
  xcode-select --install
再來確認是否有確認過xcode的license
  sudo xcodebuild -license
一直出現錯誤情況,先針對ghostscript的安裝,詳細觀察安裝過程:
port clean ghostscript
port -d -v install ghostscript
發現問題出在gmp的安裝,再進一步追踪安裝gmp,發現要先安裝m4,才順利安裝gmp。
sudo port install m4
sudo port load dbus
sudo port clean gmp
sudo port install gmp
sudo port -f activate gmp
最後才順利安裝inkscape。

2018年3月6日 星期二

關於及arduino的一些瑣碎小事

  • 使用arduino IDE的範例程式Fade, 使用D13作為LED。
    • arduino nano只會顯示亮暗, 沒有漸進變化過程
    • arduino micro能以on-board LED顯示漸亮漸暗
    • 原因分析:
      nano 的 D13 不支援PWM
      micro 的 D13支援PWM
  • arduino接上ubs電源時, on-board LED 一直快速閃爍, 線路連接的電子零件沒有通電運作
    • 這是透過USB供電時, 短路防護的信號
    • 但要留意, 若是透過RAW供電時, 則沒有短路防護。
  • 使用Serial.printf("%4.2f", floatVar) 得到結果為 ?
    • 原因分析:
      arduino IDE只支援C語法, 但是不支援float的格式語法, 必須另外寫程式來格式化輸出
    • 我的解決方法: (可以放在setup段來測試)
        Serial.begin(9600);
        //sprintf format test loop
        float celsius=-55.25;
        float fahrenheit;
        while(celsius<=155){
       
          fahrenheit = celsius * 1.8 + 32.0;
          Serial.print(celsius);Serial.print(" ");
          Serial.print(fahrenheit);Serial.print("  ");

          char *numC=(char *)"000.00C ";
          char *numF=(char *)"000.00F ";
          //arduino的printf format不支援float, double的格式, ex: %4.2f , 輸出會出現?
          //Serial.printf("%4.2fC  %4.2fF", celsius, fahrenheit);
          sprintf(numC, "%4i.%02i", int(celsius), int(abs(celsius-int(celsius))*100));
          sprintf(numF, "%4i.%02i", int(fahrenheit), int(abs(fahrenheit-int(fahrenheit))*100));
          Serial.print(numC);Serial.print(" ");Serial.print(numF);Serial.println(" ");
          celsius+=3.97;
        }
       
  • 在LCD上, 以單一字元顯示 ℃ 或 ℉
    • 定義℃ 或℉ 符號
    • 在LCD上印出自定符號
    • //在程式宣告段
      byte degC[8] = {
        B01000,
        B10100,
        B01000,
        B00011,
        B00100,
        B00100,
        B00011,
      };
      byte degF[8] = {
        B01000,
        B10100,
        B01000,
        B00111,
        B00100,
        B00111,
        B00100,
      };

      //在setup()段,
        lcd.createChar(0, degC);
        lcd.createChar(1, degF);

      //要印出字元時
      lcd.write(byte(0));  //印出 ℃
      lcd.write(byte(1));  //印出 ℉

2017年6月13日 星期二

GPS以uart與樹莓派Raspberry Pi 3連接使用紀錄

使用材料:
  1. 樹莓派Raspberry Pi 3 (以下簡稱為RasPi3)
  2. GPS Receiver - LS20031 5Hz (66 Channel),
    https://www.sparkfun.com/products/8975 
    1. 預先焊接針腳, 使用4條雙母杜邦線與樹莓派連接
      可參閱SparkFun網頁上的Connection Tutorial
    2. 留意GPS模組使用電壓3.3V
    3. GPS模組的TX連接到RasPi3的GPIO Pin10(RXD)、
      RX連接到RasPi3的GPIO Pin8(TXD)。
      詳細的RasPi3 GPIO針腳定義請參閱: https://pinout.xyz/#

樹莓派的作業系統, 我是以AiGO 2017 v1為架構, 再新增軟體套件
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get install build-essential gpsd gpsd-clients python-gps joe
$ sudo reboot



其中joe是我個人在linux系統下慣用的文字編輯器, 作業系統內建有nano 或 vi可以使用。

針對GPS使用RasPi3的UART連線, 作業系統要新增設定/boot/config.txt,
$ sudo joe /boot/config.txt
在文件的最後一行加入
enable_uart=1
存檔後, 重新開機
$ sudo reboot 

在RaspPi3的系統中, 是以/dev/ttyAMA0與 UART0連線的, 所以啟動gpsd時, 要指向這個裝置

$ sudo gpsd /dev/ttyAMA0 -n -F /var/run/gpsd.sock
$ cgps  -s


參考網頁都是像上面寫的指令一樣, 但是我一直無法在cgps中看到gps傳資料進來, 因此我執行cgps時, 不加-s參數, 可以監視GPS模組的訊息是否傳入。
後來發來gpsd有一支程式gpscat, 也可以直接讀取gps模組傳入的訊息, 使用方式如下:
$ gpscat -s 57600 /dev/ttyAMA0
其中 -s 57600是傳輸速率(baud rate), 我試過57600 bps是這款gps模組的上限。

令我疑惑的是, 若我沒有執行 "gpscat -s 57600 /dev/ttyAMA0" 則 cgps 無法正常讀取GPS模組的訊息, 因此我推論是沒有設定 /dev/ttyAMA0 的傳輸速率所致。
最後在gpsd的faq網頁中, 查到可以使用 "stty speed 57600 < /dev/ttyAMA0" 來設定傳輸速率。其餘的執行程序如下:
sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
sudo killall gpsd
stty speed 57600 < /dev/ttyAMA0

sudo gpsd -n /dev/ttyAMA0 -F /var/run/gpsd.sock
cgps

終於可以從 cgps 讀到GPS模組的定位資訊。
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqklqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x    Time:       2017-06-12T15:52:14.000Z   xxPRN:   Elev:  Azim:  SNR:  Used: x
x    Latitude:    24.XXXXXX N               xx 193    66    048    26      Y   x
x    Longitude:  120.XXXXXX E               xx  15    63    277    00      N   x
x    Altitude:   167.7 ft                   xx  13    62    019    33      Y   x
x    Speed:      0.5 mph                    xx 129    54    138    26      N   x
x    Heading:    192.6 deg (true)           xx  20    50    343    23      N   x
x    Climb:      0.0 ft/min                 xx   5    40    056    39      Y   x
x    Status:     3D FIX (266 secs)          xx   2    39    141    24      Y   x
x    Longitude Err:   +/- 46 ft             xx  29    36    254    19      Y   x
x    Latitude Err:    +/- 67 ft             xx  24    27    182    00      N   x
x    Altitude Err:    +/- 73 ft             xx  21    17    320    15      N   x
x    Course Err:      n/a                   xx  30    10    044    00      N   x
x    Speed Err:       +/- 92 mph            xx  18    03    290    00      N   x
x    Time offset:     -872.718              xx                                 x
x    Grid Square:     PL04gc                xx                                 x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj



參考資料
  1. https://medium.com/@phutidus/%E7%94%A8-raspberry-pi-gps-%E6%A8%A1%E7%B5%84%E5%BB%BA%E7%AB%8B-stratum-1-%E7%9A%84-ntp-server-cb1b501a5f91 
  2. http://www.catb.org/gpsd/faq.html
  3. http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3
  4. https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/using-uart-instead-of-usb 

2015年11月13日 星期五

幫Time Capsule (Apple)更換新硬碟

幫Time Capsule (Apple)更換新硬碟

上一回幫自己的Time Capsule更換新硬碟, 好像沒留下任何記錄, 昨天第2次更換Time Capsule的硬碟, 把過程紀下來。以下步驟只是個人的過程紀錄, 僅供網友們參考, 實際更換步驟, 請自行斟酌, 恕不負任何責任。

  1. 先將Time Capsule的設定備份到電腦端, 以免更換後設定被清除掉...
  2. 關閉所有電腦端的Time Machine的還原機制。
  3. 關閉Time Capsule電源, 其實就只是移除電源線和網路線。
  4. 拆開Time Capsule, 取出舊硬碟, 更換新硬碟。(請自行參閱:Apple Time Capsule Model A1302 Hard Drive Replacement- https://www.ifixit.com/Guide/Apple+Time+Capsule+Model+A1302+Hard+Drive+Replacement/2750)
  5. Time Capsule重新開機, 由AirPort工具程式進入Time Capsule系統, 將新硬碟清除(重新格式化), 設定好磁碟名稱和檔案共享。
  6. Time Capsule會將硬碟分割成3個磁區: APconfig、APswap(前2個為系統內部用的, 不用理會)和資料分割區(名稱是在Time Capsule磁碟中設定的)。我們只需要將資料分割區, 由舊硬碟複製到新硬碟。
  7. 將舊硬碟複製到新硬碟中, 有兩種方法:
    1. 將舊硬碟以外接盒與電腦連接, 透過網路(會很慢), 將檔案複製到Time Capsule的新硬碟中。我這次是因為手上沒有可以讀取4TB硬碟的外接盒或外接線, 因此用這個方法, 將近2TB的資料透過Giga bits網路傳輸花了1天多的時間複製資料。
    2. 我想還有另外一個更快的方法: 關閉Time Capsule電源, 取出新硬碟, 將這兩顆硬碟分別接上外接盒。舊硬碟有3個分割區, 我們只需要將資料分割區的所有檔案, 由舊硬碟複製到新硬碟。
    3. 但上述的2個方法, 無論是那一種, 若硬碟中有Time Machine的電腦備份檔案, 則須留意複製的方法, 請參閱:ime Machine:如何將備份檔從目前的備份磁碟傳送到新的備份磁碟- https://support.apple.com/zh-tw/HT202380

2015年8月23日 星期日

Openoffice.org Writer 如何整批壓縮文件內的圖檔解析度

身為Openoffice.org Writer愛用者,一直以來被這個問題困擾:文件要插入大量的圖片時,總是要先縮小解析度,再來插入文件內。萬一忘記了,就麻煩了。
 今天請出google大神,找到另外一篇介紹如何將Impress簡報圖片壓縮的文章,步驟為:

  1. 開啟 Impress/工具/擴充軟體管理程式
  2. 以線上方式取得更多擴充軟體,開啟網頁找Oracle Presentation Minimizer,下載。
  3. 在擴充軟體管理程式中,增加/將下載的.oxt檔案新增/為所有使用者/溜覽全部合約/接受。
  4. 重啟 Impress 。會在工具中出現/最小化工具。
  5. 但是這是給Impress用的,那Writer呢?
方法有了,再來就是找合用的擴充軟體,來壓縮Writer文件中的圖片囉~
  1. 在http://extensions.services.openoffice.org/en/search網站中,找到PixCompress,下載[Download extension]。
  2. 在Openoffice.org Writer/工具/擴充軟體管理程式
  3. 在擴充軟體管理程式中,增加/將下載的.pixcompress.1.x.x.oxt檔案新增/為所有使用者/溜覽全部合約/接受。
  4. 重啟 Writer 。會在工具中出現/Minimize pictures。
  5. 執行 工具/Minimize pictures,出現PixCompress對話框/按一下[All pictures],將所有圖片最小化。
  6. 存檔前請三思,一旦存檔後,所有圖片就無法恢復原來的尺寸。
  7. 若是反悔的話,要按很多次的Ctrl+Z,回復到圖片縮小前的狀態;或者直接關閉檔案不要存檔。

2015年8月22日 星期六

Windty 數值模擬預報

沒想到資料開放,網頁技術神速的進步,現在也有數值天氣預報的網站可以使用。
https://www.windyty.com
而且還很大放的給你使用鑲嵌網頁的功能:https://embed.windyty.com/embedmake.html。



可以鑲嵌在網頁中,呈現某區某固定時間的預報資料,例如2015/08/25 00:00台灣附近海拔1500公尺:

2015年7月5日 星期日

百元望遠鏡

百元望遠鏡

游大立 2015/07/5;2015/11/05更新


『百元望遠鏡』的目的在於用便宜的成本製作科學教具。拙作的摺紙光譜儀,就是其中一個作品。
本次發表『百元望遠鏡』做法,在去年第一之試做和幾次課程實施經驗中,可以在每支望遠鏡花費1百多元最多不超過1千元的前提下,完成製作折射式望遠鏡。當然我相信這決對不是最便宜的做法,也不是最佳光學品質的做法,但我想將這個階段的做法公開,希望能有拋磚引玉的效果。
當然鏡筒的材質不一定要用水管,使用硬紙筒也是一種方法,用厚紙板捲起來也是一種方法。台北市立天文館的張桂蘭小姐也提供類似的經驗,使用塑膠製的放大鏡組合而成,真的可以做出成本不到新台幣100元的望遠鏡。
我接下來要介紹的以水管來製作百元望遠鏡,除非使用回收水管,才可能將製作成本控制在新台幣100多元。若是整班教學製作(40~50人),每人的材料費大約在200~400元之間。當然玻璃鏡片用好一點的,成本會再往上加。仍能將成本控制在少於新台幣1000元,還是可以號稱『百元望遠鏡』。

望遠鏡本體材料:
材料名稱及規格
數量
用途
備註
10公分(4")口徑 2.5倍的放大鏡
一支
物鏡,焦距約30公分

4公分(1.5")口徑3倍的放大鏡
一支
目鏡,焦距約10公分

異徑接頭3"x1.5"
1個
連接目鏡筒的水管零件

1.5"水管,裁切5公分長
(E41
,外徑48mm、內徑41mm)
1段
目鏡筒

1.25"水管,裁切1公分長
(B35
,外徑42mm、內徑35mm)
2段
目鏡固定環

異徑接頭3.5"x3"
1個
物鏡筒,物鏡的水管零件

3.5"水管,裁切1公分長
(A90
,外徑100mm、內徑41mm)
2 段
物鏡固定環

3"水管(A80) ,
1段
鏡筒
裁切29~31公分長(南亞異徑接頭)。
裁切24.5公分長(CJS異徑接頭)


請留意水電材料行的每一管徑的水管,都是以4公尺為單位來賣。每段的其中一端會有大約10公分是口徑擴大不能使用在課程的部份。另外以砂輪機切割水管,每切割一次會損耗3~4mm。請備料時要特別考慮到。

組裝工具:
  1. 水管強力膠些許(黏著水管零件用),棉花棒一支(塗抹強力膠用)

工具:
  1. 裁管器(切割小口徑水管)
  2. 砂輪機(切割大口徑水管)
  3. 300號砂紙

組裝步驟:
  1. 將2段目鏡固定環剪開,剪掉1mm~2mm寬度,使能壓縮塞入目鏡筒內。
    剪掉的兩端切口要能互相咬合。要先確認能輕地鬆將目鏡固定環塞入目鏡筒。
  2. 目鏡筒若以裁管器切開,則兩端會略為膨脹,先用300號砂紙將兩端磨平。研磨訣竅在於手握砂紙,水管前端以大約45度角接觸砂紙,緩慢旋水管研磨,則能將水管兩端均勻磨平。
  3. 先將其中1段目鏡固定環塞入目鏡筒1mm~2mm深度,以棉花棒塗抹水管強力膠在固定環外側,將目鏡筒往桌面輕輕垂直平壓,使固定環均勻塞入目鏡筒,並且能與目鏡筒貼平。桌面記得先墊一張回收紙,以免強力膠沾黏在桌面。
  4. 放入4公分放大鏡於目鏡筒內,再以棉花棒塗抹水管強力膠於鏡面上方1公分範圍,將第2段目鏡固定環塞入目鏡筒,朝向另1段固定環方向壓緊固定,使能將鏡片固定
    以上完成目鏡的組裝。
  5. 物鏡固定環先試試能否輕鬆放入異徑接頭3.5"x3" (物鏡筒)的3.5"端。若您使用的是南亞的異徑接頭,一定要將固定環剪開。我使用的是其他廠的固定環剪開,可以輕鬆將物鏡固定環放入,因此不用剪開。若須要剪開,請執行下個步驟。若不用剪開,請跳過下個步驟。
  6. 將2段物鏡固定環剪開,剪掉1mm~2mm寬度,使能壓縮塞入物鏡筒內。
    剪掉的兩端切口要能互相咬合。要先確認能輕地鬆將物鏡固定環塞入物鏡筒。
  7. 先將其中1段物鏡固定環塞入物鏡筒3cm~4cm深度,以棉花棒塗抹水管強力膠在物鏡筒內側,使固定環均勻塞入物鏡筒,並且能與物鏡筒外沿等距貼平。可以預先用鉛筆描繪貼齊的位置線,若趁強力膠還沒固化前,以直尺沿著物鏡筒內緣繞一圈量測固定環的黏著位置,確認與外沿等距。這個步驟是讓物鏡的鏡片能垂直於鏡筒。
  8. 放入10公分放大鏡於物鏡筒內,再以棉花棒塗抹水管強力膠於鏡面上方1公分範圍,將第2段物鏡固定環塞入物鏡筒,朝向另1段固定環方向壓緊固定,使能將鏡片固定。以上完成物鏡的組裝。
  9. 將目鏡筒塞入異徑接頭3"x1.5",再塞入裁切好的28.5公分長3"水管(鏡筒)。鏡筒另一端再與物鏡筒接好,就完成百元望遠鏡的組裝工作。
  10. 透過望遠鏡,若只能看清楚近的景物時,遠方景物模糊時,代表物鏡與目鏡的距離過長,可以試著將水管壓緊,縮短間距。如果問題仍然沒有解決,則將鏡筒以砂輪機再切掉1公分。
結構圖:
這個結構圖是我最近使用的CJS異徑接頭所推算的長度數據。鏡筒所須要的長度為24.5公分。若您使用南亞的異徑接頭,則鏡筒長度為29~31公分。

鏡筒長度L的測量方法:
  1. 先測量A80水管分別與異徑接頭的重疊長度So、Se。
  2. 測量物鏡鏡片中心到異徑接頭的3"開口的長度Do。
  3. 測量目鏡鏡片中心到異徑接頭的3"開口的長度De。
  4. 計算公式:
    物鏡焦距+目鏡焦距=Do+(L-So-Se)+De以我們這次使用的鏡片組來說,物鏡焦距=300mm、目鏡焦距=100mm,So=40mm、Se=15mm,Do=85mm、De=125mm。
    300
    +100=85+(L-40-125)+15, 代入方程式求得L=245mm

2015年6月15日 星期一

如何用40分鐘看完50分鐘的影片

這個問題曾經困擾著我,其實50分鐘的影片,影片中旁白的步調其實是很慢的。只要稍稍快速一些播放,就可以看完並且有足夠的時間解說影片重點。但是加速播放又不能造成旁白的音調變高,加速不是單純的2倍速,而是1.1倍~1.3倍。

方法很簡單,只要用對了播放器就可以了。

最近測試一些軟體後,發現原先的MPlayer和SMPlayer在快速播放的過程中,會發生對話的音調升高的問題。因此重新更新這個網頁的內容。2015/06/16更新
在Mac OSX上,我測過MplayerX 1.0.22.1版 (http://mplayerx.org)符合上述的須求。
在M$ Win上,我測試過VLC Player (http://www.videolan.org/vlc/)符合上述的須求。

上述兩個播放軟體可以直接在播放的過程中,按下]鍵,使播放速度變為1.1x 1.2x 1.3x ...
如此一來,原先50分鐘的影片就可以分別在46分鐘(1.1x)、42分鐘(1.2x)、38分鐘(1.3x)。如此一來對於步調較慢的影片,可以在完整內容播放的情形下,用可以接受的速度播放完畢。

若是對於語言的學習,則可以使用上速軟體,減速為0.9x 0.8x 0.7x,來適應語言的口說與聽力,又不會造成語調的降低。


-----以下為舊資料-----
2011/06/24 發表的方法,(最新的版似乎會在快速播放的過程中,對話音調升高的問題):
MPlayer或SMPlayer,開啟影音檔案後開始播放。按 [ 或 ] ,以10%加減速播放。
對於解說較慢的影片,如果以1.2倍播放,則50分鐘的影片可以在42分鐘內看完;如果以1.3倍播放,則50分鐘的影片可以在39分鐘內看完。在學生可以接受的速度範圍內調整,則省下來的時間可以配合部分重點段落暫停來解說。

MPlayer或SMPlayer,是自由軟體,適用於各種作業系統平臺,可以免費從網路上下載。
MPlayer: http://www.mplayerhq.hu/design7/dload.html
SMPlayer: http://smplayer.sourceforge.net/downloads.php

2013年11月8日 星期五

趣味文字


猜猜看, 下列三個詞之間有什麼關聯?
  1. EARTH SCIENCES
  2. INCREASE TECHS
  3. CARE THIS SCENE

笑看人生: 學習人生

下面兩則笑話是在網路上常見的笑話,主要的內容剛好都與語言學習有關。其中的含意值得玩味一番。


兩種語言

一隻狗逛街時看到一張告示:
招聘文員 須打字 懂電腦 精通兩種語言 均等機會

狗於是進去應徵,但是被拒絕了。

經理說:我不能僱用一條狗在公司裡做事。

狗於是指著均等機會的地方表示抗議。

經理只好問狗說:你會打字嗎?狗跑到打字機前打了一封信。
你懂得用電腦嗎?狗跑到電腦前寫了一個程式且運作無誤。
就算你會打字電腦,我還是不能僱用你,我需要的人要會說兩種語言。

狗抬起頭對著經理叫了一聲....................喵~


聽小狗叫

英文老師在訓練學生聽力的時說道:
不要害怕聽不懂,學語言就是要多聽。
你們每天聽我說英文,久了自然就聽得懂了。』
這時有一位也很天才的學生忽然說道:
『咦?可是我每天聽小狗叫,也不知道牠在說些什麼?』
英文老師:『.....』


先談談天天聽狗叫聲這一件事情,其實如果有人這麼回應,
那麼該回敬這種人一種日本發明的產品,稱為"咆譯機"(Bowlingual)。
http://en.wikipedia.org/wiki/BowLingual。
我想重點是在於用心去聽懂,一回生二回熟。
如果每一次都當作是耳邊風,當然都永遠聽不懂的。


根據認知心理學的研究,語言是學習的基礎,其中在國小階段是黃金時期。如果語言的聽、說、讀、寫能力有障礙,進則連帶影聲到其他學科的學習。
整體而言,一個人的學習黃金時期,大約一直到30歲左右。
如果經常動腦筋的人,大約可以延長幾年的時間。而一輩子經常思考、閱讀、勞動的人,即使到了90歲,也能耳聰目明,四肢矯健。(上面這種情形,我已經聽過、看過幾個人的例子。)


當然要活得比平常人還要長壽,科學家根據『義大利薩丁尼亞島』、『日本沖繩島』及『加洲洛馬林達』的長壽人瑞的生活習慣,歸納了一些原則。<國家地理雜誌2005年11月號>

   1. 不抽煙
   2. 以家庭為重
   3. 積極過每一天
   4. 參與社交活動
   5. 吃蔬果和全穀類食品

2013年8月31日 星期六

American's Army (a free online game)


American's Army (a free online game)

2006年2月時,在報上看到的freeware, 第一人稱射擊線上遊戲-
American's Army, 這是美國國防部斥資所開發的遊戲, 
可以從網路上免費下載得到, 目前最近的版本是3.3版.

http://www.americasarmy.com/

從當時注意到到現在一直都沒有時間玩,最近因為要將無名小站的東西搬過來,又看到一次。

2012年7月27日 星期五

在Windows XP中,檢視設定選擇為「縮圖」,縮圖下方看不見文字名稱


在Windows XP中,檢視設定選擇為「縮圖」,縮圖下方看不見文字名稱

問題情況:
在Windows XP中,開啟「我的電腦」時,將檢視設定選擇為「縮圖」時,各磁碟機縮圖下方的磁碟名稱會消失。進入任一個磁碟或資料夾內,同樣也是只有顯示縮圖而沒有下方的檔案名稱。
若使用其他檢視設定:並排、圖示、清單、詳細資料時,則沒有這種現象。


解決方法:

先把檢視設定切換到隨便一個非縮圖的方式(並排,圖示,清單,詳細資料皆可),切換完成後,按住Shift鍵不放,然後將檢視模式切換成縮圖,就可以恢復正常顯示磁碟名稱或檔案、資料夾名稱。

2011年10月2日 星期日

Moodle教學網站嵌入FLASH動畫語法改進

Moodle教學網站嵌入FLASH動畫HTML語法改進

開始使用MOODLE來整理教學網站,已經是很多年前的事了。受教於教育先進無私的知識分享,讓我們能輕鬆維護教學網詀,專注在教學內容的呈現而不是網站的程式碼。

最近這一段時間,我開始發現地科網站的一些flash動畫在Chrome、Firefox及Safari都無法呈現,flash的位置出現 "Missing plug in"。剛開始以為是電腦所安裝的Adobe Flash Player太舊或是檔案有問題,重新安裝並且重新開機,問題仍然存在。而讓我覺得怪異的地方是,這個問題是會在地科網站的部份flash動畫出現,其它的網站的flash動畫仍然可以正常顯示。比對了一下這兩者嵌入FLASH動畫HTML語法,發現只要改變其中的一段指令問題就解決了。


以下是moodle教學中,所介紹的嵌入flash動畫的HTML語法:
<object height="600" width="800" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://www.adobe.com/tw/products/flashplayer/">
<param name="movie" value="http://your.website.address/xxxx/flash.swf" />
<param name="quality" value="high" />
<embed height="600" width="800" src="http://your.website.address/xxxx/flash.swf" quality="high" pluginspage="http://www.adobe.com/tw/products/flashplayer/" type="application/x-adobe-flash" />
</object>


這個問題困擾了我很多天,一直百思不得其解。其間試過重灌Adobe Flash Player,試用不同的瀏覽器(Chrome、Firefox和Safari。IE是全天下最後一個我會用的瀏覽器。),或多或少都會出現這樣的問題。老實說我也沒有真正查出來是哪個層面的問題,但是最後是因為在地科網站中,發現有另外幾個flash動畫居然可以呈現。比對了它們的HTML語法,發覺只要將其中的 type="application/x-adobe-flash" 改為 type="application/x-shockwave-flash" 問題居然就解決了!!

修正後的嵌入flash動畫HTML語法:
<object height="600" width="800" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://www.adobe.com/tw/products/flashplayer/">
<param name="movie" value="http://your.website.address/xxxx/flash.swf" />
<param name="quality" value="high" />
<embed height="600" width="800" src="http://your.website.address/xxxx/flash.swf" quality="high" pluginspage="http://www.adobe.com/tw/products/flashplayer/" type="application/x-shockwave-flash" />
<object>



請留意:上面的指令如果您要複製貼到您的網站使用,請記得將中文全型符號<>改為英數半型的<>。



2011年5月11日 星期三

Mac OSX 安裝 Gnuplot

最近帶學生做實驗,使用到gnuplot來繪製圖表,在Mac OSX與Win XP之間轉換,無法將工作程序變成一貫作業的指令集,只好想法子將gnuplot安裝在Mac OSX上。

總結:為了一個屈屈幾十MB的gnuplot,得先安裝一個十幾GB的Xcode(xcode_3.2.6_and_ios_sdk_4.3,可以從apple developer)。

步驟:

  1. 安裝一個十幾GB的Xcode(xcode_3.2.6_and_ios_sdk_4.3.dmg,可以從apple developer)。dmg檔案有4GB,安裝要用去10GB,所以自己看著辦吧~
  2. 安裝MacPort(http://www.macports.org/install.php),根據Mac OSX的版本,自行下載安裝。例如:Snow Leopard,http://distfiles.macports.org/MacPorts/MacPorts-1.9.2-10.6-SnowLeopard.dmg。
  3. 執行終端機,輸入下列指令,就會從網路上自行下載安裝相關的套件。
    > sudo port install gnuplot
補充:由於之前自己手動安裝了AquaTerm,導致步驟3無法安裝AquaTerm,後來是先移除了自己安裝的AquaTerm後,才順利安裝。為了安裝gnuplot,不但安裝了Xcode,又安裝下面一堆相關套件:aquaterm expat fontconfig freetype zlib libiconv gperf gd2 autoconf help2man gettext ncurses ncursesw p5-locale-gettext perl5 perl5.12 m4 automake jpeg libpng libtool xpm pkgconfig xorg-libXext xorg-libX11 xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-libxcb python27 bzip2 db46 gdbm openssl readline sqlite3 xorg-libpthread-stubs xorg-xcb-proto libxml2 xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-libXt xorg-libsm xorg-libice pdflib。

再補充:從下載到安裝完成,花了超過4個小時的時間。歐麥古德麗絲~

處理謠言的方法

面對近日各種末日謠言,要如何面對處理呢?

這個問題的答案,在國際比賽轉播或是MLB轉播可以得到好方法,那就是媒體不要播,也不要追踪報導。

MLB比賽現場,如果有觀眾跑進場內,在電視畫面是不會看到的。理由很簡單,如果跑進球場搗亂可以免費上電視,那麼會有更多想出名的觀眾會如法泡製。所以MLB轉播單位是不會播出鬧場的觀眾。

2011年4月25日 星期一

Gnuplot的資料檔案格式

最近帶學生使用數位記錄器, 將實驗過程的資料輸出才純文字的數據檔後, 想使用gnuplot來繪圖, 卻發現畫出來的圖很奇怪。連最基本的2維的繪圖都無法正常產生圖, 出現錯誤訊息如下:
warning: No usable data in this plot to auto-scale axis range
All points x value undefined
或是
warning: Skipping data file with no valid points
all points undefined!
最後在無意間, 使用awk "{print $1,$2 }"來測試資料檔時, 從它的輸出結果中, 發現可能的問題:

原始數據檔案的編碼(encode)。因為數位記錄器預設的輸出格式為Unicode, 而在gnuplot以及awk無法正確輸入, 而造成不預期的結果。使用記事本(notepad)將原始數據檔, 以另存新檔時, 將編碼改為UTF-8, 以及在gnuplot中,要輸入 set encoding utf8 就可以將問題解決了。

In short:
Gnuplot recognizes data file encoded in UTF-8.  If a unicode encoded data file is used in gnuplot, unexpected results will happen.  In order to read UTF-8 data file correctly, "set encoding utf8" should be used in gnuplot.

2011年4月24日 星期日

彰中鳥事-鴒角鴞

多年前就有聽同事說校園裡有鴒角鴞,這些年來有聞其聲,但沒見其鳥。總算是親眼看到牠們,當然要有照片才有真相。
鴒角鴞(Collared Scops Owl),學名Otus bakkamoena,屬於珍貴稀有動物保育類動物。生性好奇,並不怕人,所以經過一整天同事們的拍照後,輪到我拿著相機拍照時,牠們還仔細地觀察我。










以上為鴒角鴞的雛鳥。以下為鴒角鴞的成鳥。






2011年4月17日 星期日

Star Trek

Star Trek 大約是從國中時期,電視臺播放的電視影集,開始看起的,那時是翻譯為《星際迷航際》。直到上大學時,才認真地看這個系列的電影或影集,甚至還從Amazon買了Star Trek百科全書來看。Star Trek在臺灣的翻譯,不用多說,一定是群雄割據的局面,沒有一致的名稱。連同電影版的副標題,有幾部也是翻譯得實在很令人跌倒。例如:Star Trek VIII: First Contact,臺灣譯成《星艦奇航記VIII:戰鬥巡航》,看過影集的都知道,應該譯成《第一次接觸》比較合片名以及影片內容。

今天先聊聊 2009年上映的星際爭霸戰(Star Trek)吧~這部電影是Star Trek系列第11部電影作品,時空背景是在寇克艦長(James Tiberius Kirk)出生到成軍時期的故事,但是有別於原有的時空序列。電影中出現的巨大羅慕侖採礦船以及老史巴克,是來自於原始的Star Trek時空序列的角色。其餘在劇中出現的角色,雖然名字是一樣的,但是是屬於羅慕侖採礦船(船長是尼諾,Nero,沒錯和燒錄軟體同名的)來到這個時空後所改變產生的新時空序列。

這部電影在臺灣是在2009年5月首映,我在2009年8月底搭新航到英國時,在機上看了幾遍,直到2010年9月才在HBO上映,今天在HBO又看到了一次。

每看一次,總會有新發現。今天發現:在年輕寇克被放逐到織女星4號時,與老史巴克一起在太空站(outpost)遇到的蒙哥馬利.史考特時,史考特提到因為他在測試他的曲速傳送實驗,將Archer上將的狗(小獵犬,但不是叫做Porthos的那一隻。因為按時間來推算,Porthos在2151跟著Archer出現,到2222年史考特出生時,它至少70歲)給傳送遺失了,才被發放邊疆。其中,這一位Archer上將是在Star Trek系列比寇克艦長的更前期,編號NX-01的企業號艦長,相關的影集(Star Trek: Enterprise)已經播出過,但是臺灣好像沒有上映過。從維基百科網的條目中,沒有看到Jonathan Archer以及Star Trek: Enterprise的中文條目來看,應該是沒有在臺灣上映過。

這部電影中的派克船長(Christopher Pike),在Star Trek系列,是我不熟的人物,他顯然是早於Kirk擔任企業號(NCC-1701)艦長。

Star Trek系列的影集,對於穿越時空的情節,簡單看待就好,不用太想破頭。不過想要花點時間考據一下合理性或相關性,也是個不錯的戲外消遣。所以說,如果這一批角色要再拍續集,恐怕沒有那麼簡單囉~因為要把整個新的時空序列,重新再安排一次。

先寫到這兒,有想到再寫吧~

2011年3月31日 星期四

Windows系統間的檔案同步軟體使用心得

環境說明:

  1. 實驗室內有幾台學生電腦,C:\WinXP作業系統,有還原卡保護;D:\資料,開放存取。
  2. 教師電腦(\\TEACHER),C:\WinXP作業系統,D:\SyncFolder\存放給發給學生的檔案,透過網路分享為\\TEACHER\SyncFolder。
  3. 希望每一位學生在登入作業系統後,就能自動從老師的電腦D:\SyncFolder\作同步。已存在的檔案不再浪費網路頻寬下載,順便將學生電腦D:\SyncFolder\多餘的檔案清除。
  4. 學生電腦只會透過還原卡將C:\系統複製到其他台電腦。D:\資料不作任何的變更。
測試不成功的軟體:
  1. M$的SyncToy 2.1版,可以做到同步的動作,但是每一台電腦必須手動執行過一次,才能用命列模式啟動同步動作。更糟的是,他會將上一次動作紀錄在一個SyncToy.....的檔案中。即使後來手動刪除了資料夾內的檔案,它也不會自動偵測到。這個問題會導致在第1台學生電腦設好後,將整個系統透過還原卡複製到其他學生電腦後,無法正常地將教師電腦D:\SyncFold\與其他台的學生電腦D:\SyncFolder\做同步。不愧為Sync玩具。所以即使用排定的工作來設定SyncToyCmd的方式來啟動,也是無效的。
測試可以的方案:
  1. 下載使用SyncBack Freeware V3.2.21這個免費的檔案同步軟體,它和Sync玩具相同,有圖形介面可以設定,但是可以設定的參數較詳細。將 \\TEACHER\SyncFolder 設為source,學生電腦的D:\SyncFolder設為destination。在Advance的設定分頁中,選擇自己想要的同步方式。我的情境是:source over
  2. 我將學生電腦中,使用SyncBack設定好SyncFolder的動作,它的執行指令如下:
    "C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe" -m "SyncFolder"
  3. 我將上述這一行指令寫作一個批次檔,再加上檢查學生電腦D:\SyncFolder是否存在並自動新增資料來的動作,將這個批次檔存成sync.bat,放在下列的資料夾中:
    C:\WINDOWS\System32\GroupPolicy\User\Scripts\Logon
    REM =====以下為sync.bat指令內容=====
    IF NOT EXIT "D:\SyncFolder" MD "D:\SyncFolder"
    "C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe" -m "SyncFolder"
    REM ====以上為sync.bat指令內容=====
  4. 開始/執行,輸入"gpedit.msc",開啟群組原則設定。在使用者設定/Windows設定/指令碼/登入,滑鼠右鍵內容,新增/瀏覽/指令碼名稱,選取sync.bat,按確定/確定,關閉內容設定,關閉群組原則設定。
  5. 測試方法,新增一批檔案在教師電腦D:\SyncFolder,另外新增一批不同的檔案。在學生電腦端執行登出,再登入,檢查學生電腦的D:\SyncFolder是否會同步。如果可以,就可以將這一台學生電腦,再透過還原卡複製到其它的學生電腦上。
  6. 這個同步是透過網路傳輸,因此登入後,視檔案大小,會花費數十秒至幾分鐘時間。
  7. 又,在開機時(群組原則中所指的系統啟動時)不能使用這一招是因為這個階段電腦尚無法使用網路芳鄰連線,所以就會失效。