2013年10月10日 星期四

用 mingw rebuild linux network ap, 找不到 netdn.h, inet.h, socket.h

google 到是 在 win32 改用 winsock2.h, 但我還沒有用看看, 我乾脆用 cygwin 

#ifdef WIN32
# include  < winsock2.h >
#else
# include  < netdn.h >
# include  < inet.h >
# include  < socket.h>
# include
# indlude
#endif

gcc 報錯 undefined reference to `errno'

追加一行   #include < errno.h >

gcc 錯誤 「for」 loop initial declarations are only allowed in C99 mode

像這樣的 code, gcc 報錯
for(int i = low; i <= high; ++i)

需要在 cflags 加 -std=c99, 或是不要在 for loop 宣告變數

2013年8月7日 星期三

手勢的文化意義

這兩篇是討論手勢的文化意義
http://ingenira.hubpages.com/hub/How-to-Read-Others-Thoughts-by-Their-Gestures
http://www.languagetrainers.co.uk/blog/2007/09/24/top-10-hand-gestures/


同一個手勢在不同的國家地區, 有可能代表不同的意義.  差異可以大到從表達善意變成有敵意.

有些手勢經過電影電視讓大多數地區所熟知,  但是不能保證不會讓人誤解. 因為他們有自己的傳統意義存在



這個手勢, 在英語系國家代表 OK, good
在法國代表 zero, worthless
在日本代表 money
在希臘北方代表要圈圈叉叉, 是性交的暗示
跟在這些地方也是跟希臘北方類似意思, 意指屁眼.
歐洲地中海地區,德國,土耳其,馬爾他,撒丁島,突尼斯,中東,巴西,巴拉圭












這手勢在英語系國家跟上面那個意思一樣, 是可以互通的.
另外他們想搭便車時也常用這個手勢.

在歐洲的意思是第一, 因為他們扳指頭數1到5時, 是從拇指開始數.

在北希臘跟撒丁島南方, 俄羅斯, 西非,拉丁美洲, 意大利南方, 它的意思跟英語系國家比中指的意思一樣.











在希臘,巴基斯坦,日本, 韓國, 及非洲部份地區, 有叫敵人去甲賽的意思




















這個手勢在好萊屋電影通常是美女勾引男人登門入室的手勢.

但是在菲律賓, 比這個會被抓來砍指頭. 因為你把他當狗了 


在英語系國家這個手勢代表勝利或是"愛與和平",  但是這個手勢以手背對著別人,卻又代表侮辱的意義. 

在意大利比這個手勢放在鼻子前面, 代表陰道


這個手勢在佛教及印度教代表吉祥除魔, 重金屬樂迷代表撒旦. 在歐洲某些國家代表帶綠帽了.  西班牙葡萄牙,希臘哥倫比亞巴西阿爾巴尼亞,斯洛伐克和捷克.






2013年7月22日 星期一

Android x86 4.2 hotkey list

執行某些APP, 會改變螢幕方向, 更糟的是, 退出APP, 螢幕方向不會還原.

孤狗一下找到 android x86 4.0 的 hotkey, 稍微測一下, 是可以用在 4.2 上

在首頁 Home,

  • POWER 鍵, 按1次 = SUSPEND,  快速按2次 = SHUTDOWN
  • ESC = Go Back
  • ALT+F1 =  Console
  • ALT+F7  = Android 桌面.
  • ALT+TAB = 顯示最近執行APP, 按住 Alt鍵, 按 TAB 選擇 APP
  • CTRL+W = 設定桌面壁紙 wallpaper
  • CTRL+P  = 進入設定.
  • CTRL+M = 管理 Apps
  • WindowsKEY+E = Google mail.
  • WindowsKEY+P = Google Music Player.
  • WindowsKEY+A = 計算機.
  • WindowsKEY+S = SMS/MMS.
  • WindowsKEY+L = 開行事曆.
  • WindowsKEY+C = 開連絡人.
  • WindowsKEY+B = 開瀏覽器.
  • WindowsKEY+M = 開 google 地圖.
  • WindowsKEY+SPACE = 開 Search
  •  
  • 螢幕旋轉
    • 按2次 F12 右邊 90º.
    • 按2次 F11 左邊 90º .
    • 按2次 F10 180º.
    • 按2次 F9  0º.

    在瀏覽器, 跟PC 的hot key 一樣.
    • CTRL+N = 加一頁, new tab.
    • CTRL+W = 關一頁, closes the current open tab.
    • CTRL+I = 放大, Zoom-in .
    • CTRL+O = 縮小, zoom-out .
    • CTRL+J = 下載管理員, open download manager.
    • CTRL+R = 刷新, refresh current page.
    • CTRL+F = 尋找, find on page.
    • CTRL+B = 書籤, open bookmarks.
    • CTRL+D = 加書籤, add bookmarks.
    • CTRL+H= 瀏覽記錄, view browsing history.
    • CTRL+S = open social network sharing menu.
    • CTRL+G = page info.
    • CTRL+P = open browser settings.
    • Space = Page Down on web page / view document.
    • Shift+Space = Page Up web page / view document.

     

  •  

     

    2013年7月15日 星期一

    Lubuntu 12.04 開 samba


    要架一台file server 給同事用. 因為找不到 gfx driver, 所以決定裝 lubuntu. 而不是需要 gfx 高效能的 ubuntu.

    但是 lubuntu 的 file manager 實在陽春, 找不到開 samba 的方法.
    孤狗得到結果如下.

    1.  開 synaptic package manager, 加套件 cifs-utils, samba, smbclient, system-config-samba

    2.  在 system tools 會多個 samba, 這個是 samba config gui, 可以指定要 share 的目錄及 user name

    3. user name 可以用 adduser 加入, 除了本地的 password. 還要設 samba password. 這樣才能從遠端登入.

     from a terminal box type sudo smbpasswd -a you'll be asked for a password, use your normal one

    2013年7月2日 星期二

    set Sun JDK PATH in Linux

    below copy from Oracle web site

    To Set PATH on Linux


    Steps
    1. Change to your home directory.
      cd $HOME
    2. Open the .bashrc file.
    3. Add the following line to the file. Replace the JDK directory with the name of your java installation directory.
      export PATH=/usr/java//bin:$PATH
    4. Save the file and exit.
      Use the source command to force Linux to reload the .bashrc file which normally is read only when you log in each time.
      source .bashrc

      Note – Note that if you wish to set the PATH for all users, you need to log in as root in the bash shell and perform the above steps on the .profile file in the etc directory and not the .bashrc file in the home directory.

    2013年7月1日 星期一

    Android 4.2 x86 如何打開 developer options

    Android 4.2 x86 裝好要當 debug target. 需要一些設定, 發現 developer options 不見了.
    孤狗一下, 原來被藏起來.

    只要在 dev settings => about tablet => Build number 連續按  7 次, 就可以開出 developer options

    使用 Android X86 + Virtual BOX 當 Eclipse debug target

    google 的 AVD開機真慢,  拿來當 eclipse 的 debug target 實在慢的受不了.

    來研究看看能不能用 Android x86 + virtual box來當 debug target

    1, 在 virtual box 安裝 android x86 4.2.2
    2. 在 virtual box 的 android x86 => 設定值 => 網路 => 介面卡 => 選 NAT
    => 進階 => 連接埠轉送 => 插入新規則 => 主機連接埠 打 5555, 客體連接埠 打 5555
    3. 啟動  android, 同意防火牆解鎖開洞.
    4. 打 alt-F1, 到 console, 打 netcfg 看 eth0 是否有 ip, 是否為 UP.
    如果為 DOWN, 打 "netcfg eth0 dhcp" 來取得 ip
    5. 打 alt-F7, 回桌面, 檢查 android 的 browser 能否上網.
    6. HOST 進 cmd box
    7. 打 ipconfig 取得 host ip, (virtual box hot only network) eg. 192.168.1.5
    8. 打 adb kill-server
    9. 打 adb connect 192.168.1.5:5555
    10. 打 adb devices 看是否有連上.
    11. 打 adb shell, 隨意查看一下.
    12. 現在 eclipse 在 debug 時, 就能找到 android x86 當 debug target.

    ps. VirtualBox 的網卡要設為 PCnet-FAST III (Am79C973)

    grub vga mode table


    在 grub 的 menu.lst 可加 vga=xxx 來改變 fb screen szie. 記錄一下找到的 mode table,
    但是沒有測試過, 不知是否正確

                        8bpp   15bpp   16bpp   24bpp   32bpp
      320x200                 781       782     783
      640x400      768      801      802      803       804
      640x480      769      784      785      786       809
      800x600      771      787      788      789       814
    1024x600      874      875      876      877       878
    1024x768      773      790      791      792       824
    1280x1024    775      793      794      795       829
    1366x768      842                  843                  844
    1400x1050    835                  837      838
    1440x900      864      865      866      867       868
    1600x1200    796      797      798      799       834
    1680x1050    845                  846                  847
    1920x1080    869                  870                  871
    1920x1200    893                  894                  895

    有此一說 grub vga mode 是 vesa vga mode + 0x200


    2013年6月25日 星期二

    如何在 XP 的防火牆開一堆連續的 TCP/UDP port

    試玩一個 P2P video stream player, 它需要在防火牆上開一堆連續的 UDP port. 實在太多了,
     一共100個. 用手一個一個加會死人, XP 防火牆有沒有開一個 rang 例如 6100-6200 的設定.

    孤狗找到用 command line 加減 port 的方式

    例如要開 UDP port 6100~6200

    FOR /L %I IN (6100,1,6200) DO netsh firewall add portopening UDP %I "UDP"%I

    例如要刪  UDP port 6100~6200

    FOR /L %I IN (6100,1,6200) DO netsh firewall delete portopening UDP %I

    2013年6月20日 星期四

    兩台沒有上網的 XP 如何做系統時間同步

    兩台XP 沒有接到 internet, 無法用 NTP 做時間校正.
    但是它們需要時間同步.

    孤狗兩台XP做系統時間同步, 有數種做法,
    1. 有外裝一個 NTP server deamon, 然後另一台再設 NTP server IP 到有裝NTP deamon 那台.
    2. 用 XP 內建的 W32TM 把它 config 成 NTP server. 過程蠻麻煩的,
    3. 最簡單的方式, 在第2台 "啟動" 放一個 batch, 內容為 net time \\第1台ip /set /yes

    以我的 case 用方案 3 就可以.

    用 net time 若是網路設定不完整, 會遇到 system error 5 has occurred
    確定網路芳鄰有 enable, 允許從網路 login guest 帳戶, administrator 有設密碼.

    2013年4月6日 星期六

    libVLC 用 VS2010 release mode 無法執行

    2013-4-6

    libVLC 用 VS2010 release mode build 成功, 卻無法執行, 出現 memory access violation
    而 debug mode 是一切正常的.

     孤狗一下, 找到這篇

    http://stackoverflow.com/questions/8885259/fixing-libvlc-release-mode-crash-with-vc2010

    大意是說 vs2010 的 linker 搞鬼, 解藥如下, 確實是有效的

    the solution was to set Linker\Optimization\References to No (/OPT:NOREF).

    追蹤者