2010年5月24日 星期一

HTML5的相關

  1.    http://html5demos.com/              Demos and Examples,包含HTML5標籤各項技術的支援瀏覽器速查表!!         2.    http://mugtug.com/sketchpad/    輕量級讀取速度的HTML 5繪圖軟體,好用到我都想哭了T.T
    3.    http://html5gallery.com/              HTML 5範例網站收集
    4.    http://html5tutorial.net/               就是HTML 5的tutorial啦!
    5.    http://blog-imgs-42-origin.fc2.com/s/h/o/shopdd/dora_css3.html   一個日本人寫的站台,可以測試HTML 5+CSS3的支援度.

使用HTML5的影片播放

參見原文連結 http://www.inside.com.tw/05/08/how-to-use-html5-video-playback

簡單來說,統統瀏覽器一次打死的方案就是
<video width="640" height="480" poster="_YOUR-POSTER_PATH_.JPG" controls>
    <source src="_YOUR-FILE-PATH_.mp4" type="video/mp4"></source>
    <source src="_YOUR-FILE-PATH_.ogv" type="video/ogg"></source>
    <object width="640" height="480" type="application/x-shockwave-flash" data="_DO-YOUR-FLASH-EMBEDED">
    </object>
</video>

注意事項:
第一行.mp4的是H.264格式,.ogv的是OGG格式,
object標籤後面主要是外掛的影片檔案,也可以改用YouTube、Vimeo等外嵌程式片段.最後一行是給沒有辦法支援html5的瀏覽器用的(你/妳的家人與同事,誰會記得要更新瀏覽器呢?XD)

查看電腦使用中晶片名稱的指令(實作於ubuntu9.10)

終端機下輸入 lspci 即可.
呃,如果覺得這樣的資料還太多看得眼花花,請愛用lspci | grep xxxx 來過濾吧.


2010年5月23日 星期日

使用HTML5的影片播放

參見原文連結 http://www.inside.com.tw/05/08/how-to-use-html5-video-playback

簡單來說,統統瀏覽器一次打死的方案就是


<video width="640" height="480" poster="_YOUR-POSTER_PATH_.JPG" controls>
<source src="_YOUR-FILE-PATH_.mp4" type="video/mp4"></source>
<source src="_YOUR-FILE-PATH_.ogv" type="video/ogg"></source>
<object width="640" height="480" type="application/x-shockwave-flash" data="_DO-YOUR-FLASH-EMBEDED">
</object>
</video>

注意事項:
第一行.mp4的是H.264格式,.ogv的是OGG格式,
object標籤後面主要是外掛的影片檔案,也可以改用YouTube、Vimeo等外嵌程式片段.最後一行是給沒有辦法支援html5的瀏覽器用的(你/妳的家人與同事,誰會記得要更新瀏覽器呢?XD)

HTML5的相關應用

   1.    http://html5demos.com/              Demos and Examples,包含HTML5標籤各項技術的支援瀏覽器速查表!!       
    2.    http://mugtug.com/sketchpad/    輕量級讀取速度的HTML 5繪圖軟體,好用到我都想哭了T.T
    3.    http://html5gallery.com/              HTML 5範例網站收集
    4.    http://html5tutorial.net/               就是HTML 5的tutorial啦!
    5.    http://blog-imgs-42-origin.fc2.com/s/h/o/shopdd/dora_css3.html   一個日本人寫的站台,可以測試HTML 5+CSS3的支援度.


兒時的夢想!鐵路大亨的開放源碼版本!

計畫網站http://www.openttd.org,玩就對了啦!


2010年5月20日 星期四

Tunnel與非不得已的IPv6使用方式:Teredo

Tunnel與非不得已的IPv6使用方式:Teredo

張貼者:2010年5月20日 下午11:21Wei-Chang Lin   [ 已更新 2010年7月9日 上午12:07 ]
Tunnel Broker服務介紹:http://www.ascc.sinica.edu.tw/iascc/articals.php?_section=2.4&_op=?articalID:2258
Linux 下的IPv6 Tunnel實做:
http://linux-hacks.blogspot.com/2008/02/howto-ipv6-ipv6-tunnel-and-ip4-ipv6.html
http://www.generationip.com/documentation/system-documentation/73-ipv6-configuration-on-redhat-centos-fedora
http://ipv6int.net/systems/linux-ipv6.html
老話一句,先確定Linux核心版本要支援,不然就別瞎忙了。


以下是將Linux主機變成一台ipv6與ipv4轉發的router需要寫入的內容
vi etc/sysconfig/network-scripts/ifcfg-sit1,新增內容如下(檔名部份是ifcfg-sitx皆可,x>=1)
DEVICE=sit1                       # tunnel的介面名稱
BOOTPROTO=none             # 開機時所欲啟動的協議
ONBOOT=yes                     # 開機啟動
IPV6INIT=yes                     # 打開ipv6的功能
IPV6TUNNELIPV4=168.9x.1.xxx     #打算用來建立tunnel的本地ipv4位址(遠端要認識才行呀)
IPV6ADDRESS=2001:288:46xx::xxxx     #被分配到的ipv6 addesss

寫好之後,用ifup sit1開啟,ifdown sit1關閉。完畢。
呃,如果這台主機沒有ipv6 address,請在/etc/sysconfig/static-routes-ipv6中加入一行字:
sit1 2001:288:46xx::xxxx       #可用router的ipv6位址


---------------Teredo------------------------------------
簡單來說,Teredo的運作原理就是利用IPv4標頭與UDP標頭來封裝IPv6封包,使IPv6封包成為UDP的承載資料(Payload)。只要NAT具備UDP埠的轉換功能,便能夠支援Teredo.請參閱此篇文章.
台灣網路資訊中心http://www.myhome.net.tw/2003_12/web/main2.htm

而這種方式最大的問題就是現行架構下防火牆的失效.那這樣該怎麽辦?再說吧~我也不知道.

IPv6

相關連結:
台灣NGN IPv6 移轉技術入口網 http://www.rd.ipv6.org.tw/
台南縣教育網路中心IPV4/IPV6偵測網站 http://ipv6.tnc.edu.tw/
宏明老師的教學Blog,詳細的CentOS的IPV6環境架設 http://blog.hmes.kh.edu.tw/wordpress/jang/category/ipv6/
有血有淚(?!)的工程師告白Home networking with IPv6 http://www.linuxha.com/other/home-ipv6.html
ipv6檢測基本指令:
ping6
就是ping啦...
route -A inet6
看一下ipv6相關的路由表
/sbin/ip -f inet6 addr
查一下本機上面各個裝置(包含lo)的ipv6位址

1.先說IPv4與IPv6的差別        

IPv4IPv6 
 表示方法 IPv4使用10進位,用「.」隔開  IPv6 使用 16 進位數字和「:」分隔
 書寫方式完全表示 數字前的0可用:簡化,唯只可簡化1次.(為了位址的正確判別)
 http協定的網址輸入 http://IP http://[IP]
 傳輸表頭(Header Length) 20byte-60bytes不等 固定為40bytes
  IP數量 IPv4有四個class,亦即4組,1組有2個16進位數字,共有2的32次方個ip位置 IPv6使用8組數字,1組有4個16進位數字,共有2的128次方個IP位置(即128bits的長度,換算成十進位可以有39位數之多)
在IP表示的"/"後面的數字代表netmask代表prefix,即網路位址部份的表示(又分為global routing prefix與subnet ID),例如2001:288:4677:1234::1/64,前面的48個位元(2001:288:4677)就是global routing prefix,之後的16位元(1234)是subnet ID.而基本上全域的單一IP位址都是/64,可以說不會再有設錯netmask的問題了.
(謎之聲:不過,其實還是會有/48之類的數字出現...Orz)
 本機位址(localhost address) 127:0:0:1 ::1
 區網範圍(即私人定址IP)192.168.xxx.xxx/16、172.16.0.0/12、10.0.0.0/8 僅內部可用的範圍包括fe8x,fe9x,feax,febx,即fe8x::/10(目前只有fe80在用,例如fe80::224:73ff:fe02:f701)、類似10.0.0.0/8般私人定址意義的範圍是fecx,fedx,feex,fefx,即fecx::/10
 代表全部的位址 0:0:0:0 ::
 IPv4映射的IPv6地址 ::ffff:a.b.c.d/96
 自動分配的位址 依DHCP動態給予 依機器MAC產生唯一位址
2.國內教育單位的IPv6位置分配一覽http://domain.edu.tw/dns/colleges.htm

IPv6的基本認識(未完)

1.先說IPv4與IPv6的差別       


































































IPv4
IPv6
 表示方法 IPv4使用10進位,用「.」隔開  IPv6 使用 16 進位數字和「:」分隔
 書寫方式完全表示 數字前的0可用:簡化,唯只可簡化1次.(為了位址的正確判別)
 http協定的網址輸入 http://IP http://[IP]
 傳輸表頭(Header Length) 20byte-60bytes不等 固定為40bytes
  IP數量 IPv4有四個class,亦即4組,1組有2個16進位數字,共有2的32次方個ip位置 IPv6使用8組數字,1組有4個16進位數字,共有2的128次方個IP位置(即128bits的長度,換算成十進位可以有39位數之多)
在IP表示的"/"後面的數字
代表netmask

表prefix,即網路位址部份的表示(又分為global routing prefix與subnet
ID),例如2001:288:4677:1234::1/64,前面的48個位元(2001:288:4677)就是global routing
prefix,之後的16位元(1234)是subnet ID.而基本上全域的單一IP位址都是/64,可以說不會再有設錯netmask的問題了.
(謎之聲:不過,其實還是會有/48之類的數字出現...Orz)
 本機位址(localhost address) 127:0:0:1 ::1
 區網範圍(即私人定址IP)192.168.xxx.xxx/16、172.16.0.0/12、10.0.0.0/8
 僅
內部可用的範圍包括fe8x,fe9x,feax,febx,即fe8x::/10(目前只有fe80在用,例如
fe80::224:73ff:fe02:f701)、類似10.0.0.0/8般私人定址意義的範圍是fecx,fedx,feex,fefx,即
fecx::/10
 代表全部的位址 0:0:0:0 ::
 IPv4映射的IPv6地址  ::ffff:a.b.c.d/96
 自動分配的位址 依DHCP動態給予 依機器MAC產生唯一位址

2.國內教育單位的IPv6位置分配一覽http://domain.edu.tw/dns/colleges.htm


3.其他好用相關連結:


台灣NGN IPv6 移轉技術入口網 http://www.rd.ipv6.org.tw/
台南縣教育網路中心IPV4/IPV6偵測網站 http://ipv6.tnc.edu.tw/
宏明老師的教學Blog,詳細的CentOS的IPV6環境架設 http://blog.hmes.kh.edu.tw/wordpress/jang/category/ipv6/
有血有淚(?!)的工程師告白Home networking with IPv6 http://www.linuxha.com/other/home-ipv6.html


Ubuntu的IPv6安裝(實作於ubuntu9.10)

以下的方法係透過IPv6的server取得IPv6位置(即tunnel,在此使用的http://www.microsoft.com/taiwan
/technet/prodtechnol/winxppro/maintain/teredo.mspx是teredo,詳細技術內容可參閱http://www.microsoft.com/taiwan/technet/prodtechnol/winxppro/maintain/teredo.mspx),而非直接加入IPv6位置.

1.找到miredo套件
2.打開終端機:sudo apt-get install miredo
3.該套件設定檔位置為/etc/miredo.conf,如果不使用預設的teredo-debian.remlab.net做為server,請自行修改為你知道的.
4.修改完成後(不改也行,直接可以用了),請重新啟動此服務,輸入sudo /etc/init.d/miredo restart

完成!終端機下 ifconfig 看看吧!或是試試相關的IPv6檢測網站都可以~種花電信的IPv6:http://www.ipv6.hinet.net/


2010年5月18日 星期二

IC的焊接

基本焊工教學 - 拖焊IC http://blog.neochen.com/article.asp?id=433

咳,我覺得應該是脫焊...

基本焊工教學 - 拆焊IC http://blog.neochen.com/article.asp?id=434


樂高齒輪教學(適用於一般齒輪教學)

Sariel.pl著,
http://sariel.pl/2009/09/gears-tutorial/#respond


Ubuntu的DVD播放問題(實作於ubuntu9.10)

1.請參閱ubnutu的wiki網頁 http://wiki.ubuntu-tw.org/index.php?title=HowtoVideo
2.如果不看wiki想快速解決,請試用下述方法


a.至Synaptic 套件管理程式當中搜尋"totem"
b.勾選totem-xine,並移除totem-gstreamer (必要)
c.終端機輸入如下指令:(先加入集合w32codecs 和 w64codec的medibuntu套件於套件庫,並安裝最新的來源)


sudo
wget --output-document=/etc/apt/sources.list.d/medibuntu.list
http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list
&& sudo apt-get --quiet update && sudo apt-get --yes
--quiet --allow-unauthenticated install medibuntu-keyring &&
sudo apt-get --quiet update


d.終端機輸入如下指令:(安裝libdvdcss2套件)

sudo aptitude install libdvdcss2


e.重新打開影片播放器,試試看.

2010年5月16日 星期日

樂高NXT機器人的相關網站


基本:

1.樂高官網 收錄基本車型與程式範例    http://www.legoengineering.com/(英)

2.NXT-G的基本程式教學課程,Flash版    http://www.ortop.org/NXT_Tutorial/index.html(英)


其他:

1.日本LEGO大師 五十川芳仁    http://www.isogawastudio.co.jp/legostudio/index.html

2.收集幾十種詳細機構設計的網站 非常基本重要!! 有電吉他、機器手臂與各類機構設計   http://www.nxtprograms.com/index1.html(英) 

3.依然是外國的月亮比較圓    聽說是與NXT開發有密切關係人員的大師級blog,豐富的全方位NXT資料!    http://nxtasy.org/(英)
4.收集奇奇怪怪的project    http://www.teamhassenplug.org/(英)


感應器廠商或其他廠商,也有機構圖等教學

1.感應器廠商,較特別的是有NXT-G的block與多種程式可以下載 http://mindsensors.com/(英)

2.感應器廠商,值得一提的是此公司的光感結合了一般light與ultrasonic兩種感應功能,提供更遠的測距功能。 http://www.hitechnic.com(英)

3.對岸的網站 西覓亞 內有基本教學與完整的週邊資訊,比台灣這邊的站台好得多.    http://www.semia.com/class/index.asp
4.貝登堡,號稱台灣第一大機器人教育廠商,資源也相當的豐富    http://www.erobot.com.tw/
5.翰尼斯機器人王國,最特別的是販售名為catcan ss-14的伺服機組,支援最多48的馬達運轉! http://www.robotkingdom.com.tw/


其他機器人(使用I2C通訊連接):

1.飆機器人,買一個USB公用模組吧!!可以開發各種奇特的功能喔!! http://www.playrobot.com/home_index.htm
2.利基應用科技,配合廠商開發的微處理器,也可擴充連接各種的外接感應器。    http://www.innovati.com.tw/website/index.php
(說明:6P線中,黃線與藍線即是I2C的通訊port,紅線為負極、綠線為正極,直接去找PCF8574  I/O
與PCF8591 A/D(analog&digital)這兩顆晶片吧!)

3.名叫LogIT的綜合控制器,與NXT看起來也可以扯上邊    http://www.logitworld.com/(英)



4.最近發現的一個教學網站,似乎是美國機器人研究發展重鎮卡耐基大學的發展計畫,教你用五金行和電料行的東西自己做出機器人~TeRK計畫,http://www.terk.ri.cmu.edu/recipes/(20110518增補)(這間大學發展出來的教學課程2009797 Introduction to Robotics 看起來蠻不錯的,只是我還沒看過XD)



#搖控介面,支援電腦、PDA、藍芽,用來簡易控制NXT的小程式:On Brick下載 http://www.pspwp.pwp.blueyonder.co.uk/science/robotics/nxt/


 #小小夢想:買了LEGO套組9797,還可以購買LEGO樂高機械人套件9797的補充零件套件:9648(672片 technic零件)

買了9648,那就再來個9641氣壓套件組吧!可以玩得很開心囉~


#附記:RCX燈泡+風扇=吹泡泡


2010年5月11日 星期二

Linux的IPv6設定教學

Linux的IPv6設定教學


完整理解架設原理的翻譯文件-Linux IPv6 HowTo:http://www.linux.org.tw/CLDP/OLD/Linux-IPv6-HOWTO.html
不想看中文的另一個選擇:http://forskningsnett.uninett.no/ipv6/IPv6hostslinux_fedora.html

----以下內容主要出自於個人對上述文件的整理(順便唸一下,台灣NGN的Linux教學肯定不是寫給我看的,都不用設定就能直接用,太強了啦Orz)----


輸入指令modprobe -c | grep ipv6
可以檢查核心預設是不是已啟動了IPv6的服務。(看到alias net-pf-10 ipv6就對啦~)

以筆者的CentOS主機為例,通常已預設安裝好相關服務,進行以下設定即可:
1./etc/sysconfig/network
當中應該加入有
NETWORKING_IPV6=YES
IPV6_DEFAULTGW=2001:288:4677::FF     #設置輸入自己區段的Default Gateway
#IPV6FORWARDING=yes                        #IPv6轉發功能,有用到才加.
2./etc/sysconfig/network-scripts/ifcfg-eth0當中加入以下位置   (如果多張網卡,請自行比照辦理)
IPV6INIT=yes                                          #啟用這個interface的IPv6功能,一定要!
IPV6ADDR=2001:288:4677::225                #給予此interface的位址,參照IPv6應遵循的規則填入
#IPV6ADDR_SECONDARIES="3ffe:ffff:0:1::1"   #如果另外對內想要有私有IP請拿掉#並自行填入IP
IPV6_AUTOCONF=no                              #如果是自動抓取請將改為yes,而Address部份最前面就加上#(此選項預設為: yes if IPV6FORWARDING=no, no if IPV6FORWARDING=yes)
3.重新啟動網路,輸入service network restart  (當然,也可以用/etc/init.d/network restart)

完成!


*fe80::/64也就是所謂的IPv6 link-local 位址,即本地端位置,所有真正連出去的IP應該要有像2001:288:4677::(前64個bits)這樣子的Global Routing Prefix.沒搞懂的人請看這一篇.

-----------------------------------------------------

如果還想更進一步的朋友,可以使用系統內建的基本工具檢查一下.(通常核心有IPv6 , /sbin/ 下面就會裝好工具可以用啦~)
相關指令:
# ping6 [-I < device >] < link-local-ipv6address >          (不用說,這就是一定要會的ping指令啦!)
# traceroute6 www.ipv6.hinet.net                                (測網路節點用,和windows底下的tracert指令差不多的用途)
# tracepath6  www.ipv6.hinet.net                                (追蹤MTU的路徑)
# tcpdump
# ifconfig
# ip addr
# ip -6 route show dev <device>
# host -t AAAA www.ipv6.hinet.net
# telnet ::1 80                                                             (telnet一樣有效,別懷疑!)
# route -A inet6
-------------------------------------------------------
實際操作過程:
1.用來檢測IPv6是否啟動的指令:
    ifconfig
    ip addr
    ip -6 addr show dev <device>  (這個指令很不錯,只會乾脆的將scope global 、scope global dynamic 、scope link三個位址寫出來)
2.查詢Default Gateway
    ip -6 route (最後一行裡的default via後面接的fe80::224:73ff:fe02:f701 dev eth0這種東西就是了...不想看到太多字的請下ip -6 route show dev eth0這個指令)
    接下來就可以ping看看Gateway通不通囉
    ping6 -I eth0 fe80::224:73ff:fe02:f701
3.再看看連外能力
    路由前導碼測試(Global Routing Prefix,就是前面ip -6 route裡default via後面接著的2001:288:4677::ff)
    ping6 2001:288:4677::225
    連外測試
    ping6 www.ipv6.hinet.net
4.Dns測試
    host -t AAAA www.ipv6.hinet.net
5.海龜測試
    請上http://www.kame.net/ ,看看海龜會不會動吧!

簡易拍攝3D影片的做法

http://www.techbang.com.tw/posts/2481-family-hand-3d-movies


2010年5月10日 星期一

開機管理程式GRUB的選單設定(實作於ubuntu9.10)

開機選單設定檔的放置路徑:/boot/grub/grub.cfg ,對開機選單進行編輯的方法很多,然而,傳統的GRUB當中直接修改menu.list的方法在此版本中並不建議使用,對文字修改有需求的同好請至/etc/default/grub。


詳細GRUB2的說明參見GRUB 2中文指南,其他一般的修改,可透過安裝圖形化的開機選單達成:


sudo apt-get install menu startupmanager


sudo apt-get install startupmanager


安裝完成後可以至選單列的 "系統"-->"管理" 當中找到"開機管理程式"


網路的安裝與設定(純指令)(實作於ubuntu9.10)

1.重新啟動網路:

    sudo /etc/init.d/networking restart

2.啟動網路:

    sudo /etc/init.d/networking start

3.關閉網路:

    sudo /etc/init.d/networking stop


4. 設定網路組態

    sudo vi /etc/network/interfaces


    #DHCP

        auto eth0

        iface eth0 inet dhcp


    #Static IP 設定方式:

        auto eth0

        iface eth0 inet static

        address 192.168.0.1

        netmask 255.255.255.0

        gateway 192.168.0.254



5.pppoe設定上網
     sudo pppoeconf


安裝CD音樂擷取程式(sound juicer)(實作於ubuntu9.10)

1. sudo apt-get install sound-juicer

2. sudo apt-get install gstreamer0.10-lame

3.完成.

註:第二步一定要安裝,否則會缺少.mp3的支援!!


在ubuntu底下加入新字型(實作於ubuntu9.10)

1.下載字型檔的.ttf檔案,直接放入家目錄的.fonts當中即可.

2.刷新系統的字型快取--->sudo fc-cache -f -v

如果是要安裝給所有使用者,裝到/usr/share/fonts目錄下即可.


解決VirtualBox環境當中虛擬Windows系統同步"共用資料夾"的問題(實作於ubuntu9.10)

1.先將virtualbox當中的虛擬機器打開,將光碟片拿出(一定要,否則會不能掛載下個步驟)
2.點選裝置->安裝 Guest Additions,此時會開始掛載virtualbox當中的映像檔至光碟機, 執行安裝.
    ubuntu系統請至終端機輸入:
    cd /media/cdrom0
    sudo ./VBoxLinuxAdditions-X86.run
3.安裝完成後再至virtualbox裡面開著的虛擬視窗 點選左上角"裝置"-->"共用資料夾" 開啟共用的磁碟功能即可.
4.windows請至網路上的芳鄰-->連線網路磁碟機 將磁碟掛載.
5.ubuntu請先在桌面自己新增一個掛載的資料夾路徑,接下來至終端機
    輸入sudo mount -t vboxsf  分享資料夾名稱   掛載路徑 即掛載成功.

6.額外好處:
virtualbox螢幕能全螢幕展開,滑鼠也能自由移動不須切換 R-Ctrl了


將預設的輸入法改換為gcin輸入法(實作於ubuntu9.10)

ubuntu9.10預設的輸入法為IBus 1.2.0.20090927
為什麼要改用gcin呢? 請先看此篇文章 gcin介紹

安裝步驟如下:
至套件安裝管理員安裝好gcin,
接下來打開終端機,輸入sudo im-switch -z zh_TW -s gcin  將預設輸入法改為gcin,重開機即可.

gcin的簡易用法:


【Ctrl】+【Space】 = 切換成中文輸入。


【Ctrl】+【Shift】 = 在不同輸入法中切換。


【Shift】+【Space】 = 切換 全形/半形。


【Ctrl】+Alt】+【,=  打開標點符號表。


【Shift】+【Alt】+【片語編輯的組合鍵= 使用自定義的片語/符號輸入。


Openoffice3.xx中文化的方法(實作於ubuntu10.04與ubuntu9.10)

點選系統--->管理--->語言支援--->進行更新即可


Ubuntu9.10當中文件檢視器於新細明體的解決辦法

乖乖去用Adobe Reader吧,因為版權的問題,除非加入那兩種字體,否則Document Viewer是沒辦法處理這個問題的.