2010年12月22日 星期三

UBUNTU 10.10 與 台灣大哥大 3G 網卡 Quanta 0408:f000

為了在 Ubuntu 上裝這個 3G 網卡, 找了一天資料. 總算通了 大致上是這樣.
有很多人都說要轉換模式, 所以裝了 libusb-dev, usb_switchmode,.....etc.
1. 但是後來我只做了 touch /media/CONNMGR/wcdma.cfg  注意! 這邊的 CONNMGR 就是你 media中 mount 上來的資料夾... 然後等個15 sec 他就轉成 modem , /etc/ttyUSB* 可見.
2. 然後就是找撥接軟體, 我用 wvdial, 所以要裝一下 sudo apt-get install wvdial
然後 設定這樣 vim /etc/wvdial.conf
[Dialer Defaults]
Phone = *99#
Username = username
Password = passwd
Stupid Mode = 1
Dial Command = ATDT
Check Def Route = on
Dial Attempts = 3
Modem = /dev/ttyUSB0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0 V1 E0 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1, "IP","Internet"
ISDN = 0
Modem Type = Analog Modem
New PPPD = yes

3. 接著就可以寫一個 ppp.sh 要用 root 執行!
vim ppp.sh
sudo touch /media/CONNMGR/wcdma.cfg
sleep 15
sudo wvdial 
4. 開著 Terminal 你就會發現....拿到IP了...KO!
ref. http://plog.longwin.com.tw/my_note-unix/2009/07/31/ubuntu-904-3g-q101-driver-2009

緊接著! 「系統」> 「偏好設定」>「始動應用程式」裡把 Network Manager 的啟動取消, 這樣系統才會透過 3G 去上網~ 

2010年12月13日 星期一

2010年12月8日 星期三

更動UBUNTU預設資料夾(TW->EN)


export LANG=en_US
xdg-user-dirs-gtk-update
同意翻譯後,
export LANG=zh_TW
重登, 點選不同意翻譯 and 不再問我. KO~

Google OS!!!!

http://chrome.blogspot.com/

2010年12月7日 星期二

UBUNTU 10.10 Firefox/Chromium Browser Sun JAVA Plug-in replacement method


sudo apt-get install sun-java6-jre sun-java6-plugin
  
# Find the new style java plugin:
me@mybox:~$ locate libnpjp2
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/libnpjp2.so
 
# symlink it to the chromium plugins directory
sudo ln -sf /usr/local/jre1.6.0_16/lib/i386/libnpjp2.so /usr/lib/chromium-browser/plugins/
 
# remove the old style plugin because it didn't work
sudo rm -rf /usr/lib/chromium-browser/plugins/libjavaplugin_oji.so
 
接著用, 
update-alternatives --config java
update-alternatives --config javac
變更 java 使用的版本.
   
Ref.
http://jamesmcdonald.id.au/it-tips/java-on-chromium-browser-ubuntu-9-04

2010年12月6日 星期一

都太難用了!!!!!!!! VNC..echoVNC..logmein..

準備寫個跨平台remote desktop JAVA base. + JMF. NAT-to-NAT. Browser viewer! 大概是這樣! GO!

2010年11月27日 星期六

GoogleMap API V3

漸漸熟悉了, 上面可以有不少應用...overlay 跟一些比較深的部份還沒接觸到,
後續有機會再來寫寫心得.

2010年11月11日 星期四

JQUERY + JSON + TOMCAT ServerLet 解決!

JQUERY 端 -- 記得加上 ?callback=?
  
$.getJSON("http://140.96.29.65:8080/SnakeEyes/SnakeEyesServlet?callback=?",{
 sname: "[{session_id:1, pid:1, fid:15201, lat1:24.634535, lng1:120.918274, lat2:24.877716, lng2:120.923767, lat3:24.878962, lng3:121.216278, lat4:24.624548, lng4:121.213531}]"
     },
    function(data){
      alert(data[0].location);
    });


ServerLet 端! 很重要 要從 request中取 callback 以及 在 JSON String兩側加上小跨號 (), 會變成一個字串長成 "abc(json)" 然後 Client 收到後就會自動去 call 這個 abc() Function!

HttpServletResponse response;
HttpServletRequest request;
response.setContentType("application/x-javascript; charset=utf-8");
PrintWriter out = response.getWriter();
out.print(request.getParameter("callback") + "({\"value\":\"");
out.print("\"})");
out.flush();
out.close();

弄了兩天, 總算完工了. p.s. JQUERY 可以下 "callback=?" or "callback=abc". 前者會直接呼叫 success Function, 後者會去呼叫自訂的 abc()!

JQUERY

getJSON 並不支援跨網段....需要另外找 jquery.jsonp-2.1.3.min.js 處理
EX.
$.jsonp({
                          "url": "http://140.96.29.65:8080/SnakeEyes/SnakeEyesServlet",
                          "data": {
                               sname: "[{session_id:1, pid:1, fid:15201, lat1:24.634535, lng1:120.918274, lat2:24.877716, lng2:120.923767, lat3:24.878962, lng3:121.216278, lat4:24.624548, lng4:121.213531}]"
                          },
                          "success": function(userProfile) {
                              // handle user profile here
                              alert("123");
                          },
                          "error": function(d,msg) {
                              alert("Could not find user");
                          }
                        });

2010年11月1日 星期一

Ibatis "Insert" return val! and PostgreSQL auto inc.

For returning insert ID.
JAVA Side
Long insertID = Long.parseLong(sqlMap.insert("scope.ibatorgenerated_insert", scopeRecord).toString())

Ibatis Side


    <selectKey resultClass="java.lang.Long" keyProperty="scopeId" >
      SELECT nextval('scope_scope_id_seq')
    </selectKey>



AUTO inc.

CREATE TABLE tablename (
colname SERIAL
);
 
實際上是這樣實作
 
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
    colname integer DEFAULT nextval('tablename_colname_seq') NOT NULL
); 
 
Reference: 
http://www.postgresql.org/docs/8.1/interactive/datatype.html

2010年10月21日 星期四

JSON, REST, JAVA, JERSEY...

滿不錯的一些架構! 開始玩看看~ 有心得再分享!

2010年10月8日 星期五

整天摸系統...

真的感覺腦袋的利用率很低, 都是一些經驗上可以累積的工作.....要開個讀書會才好! GO~

2010年10月7日 星期四

MySQL Cluster

最近開始看這個東西, 有不少限制, 但是也有不少好功能! 開始深入看看. 基本的 Evnet, Trigger 都可以用, 另外,建 Table 時記得 ENGINE=NDBCLUSTER, 才會啟動複製功能~

2010年10月6日 星期三

Mysql-Event, Trigger, Store Procedure

Event 用來處理週期性發生事件
Trigger 處理即時事件
Store Procedure 可以用來寫一串動作, 弄成 Function 給外面Call.
before update and before insert 可以同時存在於一個table.
count(*) 可以用來發現本欄存不存在 then 決定insert or update.