FirebaseUI-iOS
FirebaseUI-Android
Database
Auth
Facebook
Google
2016年10月2日 星期日
2015年3月4日 星期三
2013年8月1日 星期四
2013年7月11日 星期四
2013年6月6日 星期四
2013年5月27日 星期一
2012年12月3日 星期一
2012年10月29日 星期一
2012年8月29日 星期三
2012年6月7日 星期四
[Technology] 3G-4G 理論速度
Downstream | Upstream | |||
3G | WCDMA | 384kbps | 384kbps | 中華電信, 台灣大, 遠傳, 威寶 |
CDMA2000 | 3.1Mbps | 1.8Mbps | 亞太 | |
3.5G | HSDPA | 14.4Mbps | 384kbps | |
3.75G | HSUPA | 14.4Mbps | 5.76Mbps | |
---- | HSPA+ | 21.6Mbps | 5.76Mbps | |
3.9G | HSDPA+ | 42Mbps | 5.76Mbps | 威寶 |
4G | LTE | 326.4Mbps | 86.4Mbps |
2011年12月2日 星期五
[Network] MAC address
http://packetsdropped.wordpress.com/2011/01/13/mac-address-universally-or-locally-administered-bit-and-individualgroup-bit/
LAA: Locally Administered Address. You can use this for your private network.
UAA: Universally Administered Address.
Individual Address bit: Unicast address
Group Address bit: Multicast/Broadcast address
mac address: xY:xx:xx:xx:xx:xx
Y: 00[L/U][I/G]
[L/U]: 1: UAA, 0: LAA
[I/G]: 1: multicast/broadcast, 0: unicast
OUI: http://standards.ieee.org/develop/regauth/oui/oui.txt
LAA: Locally Administered Address. You can use this for your private network.
UAA: Universally Administered Address.
Individual Address bit: Unicast address
Group Address bit: Multicast/Broadcast address
mac address: xY:xx:xx:xx:xx:xx
Y: 00[L/U][I/G]
[L/U]: 1: UAA, 0: LAA
[I/G]: 1: multicast/broadcast, 0: unicast
OUI: http://standards.ieee.org/develop/regauth/oui/oui.txt
2011年11月29日 星期二
[Linux] DAAP
Something like iTunes.
http://www.omninerd.com/articles/How_to_Build_an_Open_Source_Linux_iTunes_Media_Server_for_Mac_Clients
http://www.go2linux.org/linux/2011/07/share-your-music-library-using-linux-server-daap-and-itunes-1109.html
http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol
http://www.synology.at/us/products/features/itunes.php
http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=210999&NewLang=en
http://www.mobile01.com/topicdetail.php?f=300&t=147903
http://krook.net/archives/169
http://www.opendaap.org/
http://www.omninerd.com/articles/How_to_Build_an_Open_Source_Linux_iTunes_Media_Server_for_Mac_Clients
http://www.go2linux.org/linux/2011/07/share-your-music-library-using-linux-server-daap-and-itunes-1109.html
http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol
http://www.synology.at/us/products/features/itunes.php
http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=210999&NewLang=en
http://www.mobile01.com/topicdetail.php?f=300&t=147903
http://krook.net/archives/169
http://www.opendaap.org/
2011年10月11日 星期二
[Protocol] L2TP
L2TP tunnel protocol
http://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol
MTU tuning for L2TP
http://www.cisco.com/en/US/tech/tk801/tk703/technologies_tech_note09186a0080094c4f.shtml
IP header
http://www.freesoft.org/CIE/Course/Section3/7.htm
TCP header
http://www.freesoft.org/CIE/Course/Section4/8.htm
UDP header
http://www.networksorcery.com/enp/protocol/udp.htm
L2TP header
http://www.networksorcery.com/enp/protocol/l2tp.htm
L2TP images
http://images.yourdictionary.com/l2-tp
MTU/MSS sizes
http://www.cherrot.com/2011/09/pptp-l2tp-over-pppoe-mtu-mru.html
http://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol
MTU tuning for L2TP
http://www.cisco.com/en/US/tech/tk801/tk703/technologies_tech_note09186a0080094c4f.shtml
IP header
http://www.freesoft.org/CIE/Course/Section3/7.htm
TCP header
http://www.freesoft.org/CIE/Course/Section4/8.htm
UDP header
http://www.networksorcery.com/enp/protocol/udp.htm
L2TP header
http://www.networksorcery.com/enp/protocol/l2tp.htm
L2TP images
http://images.yourdictionary.com/l2-tp
MTU/MSS sizes
http://www.cherrot.com/2011/09/pptp-l2tp-over-pppoe-mtu-mru.html
Ethernet MinSize = 512bit = 64 Byte Ethernet MaxSize = 1518 Byte so Ethernet IP MTU = 1518 - 18 ( 6 SRCMAC+ 6 DSTMAC+ 2 TYPE+ 4 CRC) = 1500 B so Ethernet IP TCP MSS = 1500 - 40 ( 20 IP_HEADER + 20 TCP_HEADER) = 1460 B so Ethernet IP UDP MTU/MRU = 1500 - 28 ( 20 IP_HEADER + 8 UDP_HEADER ) = 1472 B so PPPoE MTU/MRU = 1500 - 8 ( 6 PPPoE_SESSION + 2 PPP_HEADER ) = 1492 B so TCP over PPPoE MSS = 1492 ( PPPoE MTU/MRU ) - 40 ( 20 IP_HEADER + 20 TCP_HEADER) = 1452 so PPTP MTU/MRU = 1500 - 56 ( 20 IP_HEADER + 20 TCP_HEADER + 12 GRE_HEADER + 4 PPP_HEADER ) = 1444 B so TCP over PPTP MSS = 1444 ( PPTP MTU/MRU ) - 40 ( 20 IP_HEADER + 20 TCP_HEADER) = 1404 so L2TP MTU/MRU = 1500 - 40 ( 20 IP_HEADER +8 UDP_HEADER + 8 L2TP_HEADER + 4 PPP_HEADER ) = 1460 B so TCP over L2TP MSS = 1460 ( L2TP MTU/MRU ) - 40 ( 20 IP_HEADER + 20 TCP_HEADER) = 1420 B so PPTP over PPPoE MTU/MRU = 1492 ( PPPoE MTU/MRU ) - 56 ( 20 IP_HEADER + 20 TCP_HEADER + 12 GRE_HEADER + 4 PPP_HEADER ) = 1436 B so PPTP over PPTP MTU/MRU = 1444 ( PPTP MTU/MRU ) - 56 ( 20 IP_HEADER + 20 TCP_HEADER + 12 GRE_HEADER + 4 PPP_HEADER ) = 1388 B so PPTP over L2TP MTU/MRU = 1460 ( L2TP MTU/MRU ) - 56 ( 20 IP_HEADER + 20 TCP_HEADER + 12 GRE_HEADER + 4 PPP_HEADER ) = 1404 B so L2TP over PPPoE MTU/MRU = 1492 ( PPPoE MTU/MRU ) - 40 ( 20 IP_HEADER +8 UDP_HEADER + 8 L2TP_HEADER + 4 PPP_HEADER ) = 1452 B so L2TP over PPTP MTU/MRU = 1444 ( PPTP MTU/MRU ) - 40 ( 20 IP_HEADER +8 UDP_HEADER + 8 L2TP_HEADER + 4 PPP_HEADER ) = 1404 B so L2TP over L2TP MTU/MRU = 1460 ( L2TP MTU/MRU ) - 40 ( 20 IP_HEADER +8 UDP_HEADER + 8 L2TP_HEADER + 4 PPP_HEADER ) = 1420 B
Adjusting IP MTU, TCP MSS, and PMTUD
http://www.cisco.com/en/US/tech/tk870/tk877/tk880/technologies_tech_note09186a008011a218.shtml
MTU
http://en.wikipedia.org/wiki/Maximum_transmission_unit
MSS
http://www.tcpipguide.com/free/t_TCPMaximumSegmentSizeMSSandRelationshiptoIPDatagra-3.htm
2011年10月3日 星期一
2011年8月30日 星期二
Intel WiDi
Intel WiDi: 利用無線技術將 NB 的螢幕投射到顯示的裝置上,如電視、投影機、電腦螢幕等。NB 除了無線連結 WiDi 顯示器,亦可”同時”連線其它的無線網路上網。
要使用 Intel WiDi,需要特定的 Intel WiFi 網卡與 WiDi 裝置。
http://www.iqmore.idv.tw/intel-widi-intel-wireless-display-experience
http://scl13.com/intel-wireless-display-widi/
http://www.techbang.com.tw/posts/6109-asus-u41sv-intel-widi-create-home-video-center-with-wireless
要使用 Intel WiDi,需要特定的 Intel WiFi 網卡與 WiDi 裝置。
http://www.iqmore.idv.tw/intel-widi-intel-wireless-display-experience
http://scl13.com/intel-wireless-display-widi/
http://www.techbang.com.tw/posts/6109-asus-u41sv-intel-widi-create-home-video-center-with-wireless
2011年7月13日 星期三
[Android] MIPS on Android - Application
1. Getting Started with Android
2. Android on MIPS Source Code
3. Build MIPS platform
$ export TARGET_PRODUCT=generic
$ export TARGET_ARCH=mips
$ export TARGET_ARCH_VARIANT=mips32-fp
$ source build/envsetup.sh
$ make -j4
2. Android on MIPS Source Code
3. Build MIPS platform
$ export TARGET_PRODUCT=generic
$ export TARGET_ARCH=mips
$ export TARGET_ARCH_VARIANT=mips32-fp
$ source build/envsetup.sh
$ make -j4
2011年7月1日 星期五
[Linux] callback function
Callback function
The program did "call" the function is initiative, but "callback" function is passive. For example, interrupt handler or event handler was called in some specific situations, they were "callback" functions.
The implementation for callback function is typically a function point in C.
The use of function point is like an abstraction layer. Every driver has to implement the same functions, just like r8169.c ethernet driver must implement the functions related to the pci_driver struct needed.
static struct pci_driver rtl8169_pci_driver = {
.name = MODULENAME,
.id_table = rtl8169_pci_tbl,
.probe = rtl8169_init_one,
.remove = __devexit_p(rtl8169_remove_one),
#ifdef CONFIG_PM
.suspend = rtl8169_suspend,
.resume = rtl8169_resume,
.shutdown = rtl_shutdown,
#endif
};
The program did "call" the function is initiative, but "callback" function is passive. For example, interrupt handler or event handler was called in some specific situations, they were "callback" functions.
The implementation for callback function is typically a function point in C.
The use of function point is like an abstraction layer. Every driver has to implement the same functions, just like r8169.c ethernet driver must implement the functions related to the pci_driver struct needed.
static struct pci_driver rtl8169_pci_driver = {
.name = MODULENAME,
.id_table = rtl8169_pci_tbl,
.probe = rtl8169_init_one,
.remove = __devexit_p(rtl8169_remove_one),
#ifdef CONFIG_PM
.suspend = rtl8169_suspend,
.resume = rtl8169_resume,
.shutdown = rtl_shutdown,
#endif
};
訂閱:
文章 (Atom)