2007年3月21日

          決定把blog搬到baidu去,baidu的速度和空間容量都不錯,就是不知道怎么把原來寫的東西移過去。

          新地址:http://hi.baidu.com/antzhi

          posted @ 2008-02-18 11:16 小螞蟻 閱讀(178) | 評論 (0)編輯 收藏

          服務器換了程序后手機上的Client出問題了,每次連接后只能播放第一個frame,今天抽了點時間檢查程序,發現問題出在服務器在每一frame后加了個\r\n,手機上的程序在getHeader時沒考慮到,加了幾行代碼搞定。

          posted @ 2008-02-13 12:51 小螞蟻 閱讀(181) | 評論 (0)編輯 收藏

          花生殼的IP地址和實際公網的地址不一致問題一直沒得到解決,詢問客服也沒有解決的辦法,通過觀察,我發現不是每次撥號都會出現IP不一致的情況,說明我的ISP只在一定范圍內安裝了NAT轉發的設備,自己寫了個腳本,比較花生殼和wan ip,如果不一致,就從新撥號分配一個新IP,運行了半個月,效果蠻好,可惜了我花100元升級專業用戶.

          --------------------------------
          #!/bin
          # wan.sh
          #get wan ip from TP-LINK route

          wanip=`wget --user=admin --password=admin -q -O - http://192.168.2.1/userRpm/StatusRpm.htm |\
          grep "00-50-FC-77-C9-06" |\
          awk -F, '{print $3}' | tr -d ' "'`

          echo "$wanip"


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

          #!/bin/sh
          # fixip.sh
          #fix vicp ip

          export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/phlinux"

          disUrl='http://192.168.2.1/userRpm/StatusRpm.htm?Disconnect=斷%20開&wan=1'
          conUrl='http://192.168.2.1/userRpm/StatusRpm.htm?Connect=連%20接&wan=1'
          wg='wget -q --user=admin --password=admin -O - '

          c=0
          while [ "$c" -lt "5" ]
          do
            wip=`wan.sh`
            vicp=`nslookup myhome.vicp.net | tail -n2 | grep "Address" | awk '{print $2}'`

            if [ "$wip" == "$vicp" ]; then
              echo "Match done."
              exit 0
            fi

            echo "my wan ip : "$wip
            echo "myhome.vicp.net : "$vicp
            echo "Fix ip ..."

            if [ -n wip ]; then
              echo "  disconnect PPPoe ..."
              `$wg $disUrl > /dev/null`
              sleep 3
            fi

            echo "  connect PPPoE ..."
            `$wg $conUrl > /dev/null`
            sleep 37

            c=`expr $c + 1`
          done

          posted @ 2008-02-11 18:36 小螞蟻 閱讀(792) | 評論 (1)編輯 收藏

          半夜醒來睡不著,干脆穿上衣服倒騰我的PSP,研究了PSPTube的通訊協議,發現其實是依靠youtube網的xml文件來實現節目列表,數據結構很簡單.正好原來想用PSP PMPlayer Advance來當Motion的Client計劃一直沒成功,于是對PSPTube做了點調整,在服務器寫了個生成xml的腳本,整個過程花了四個小時,完工時剛好天亮.
           

          posted @ 2008-02-08 23:55 小螞蟻 閱讀(241) | 評論 (0)編輯 收藏

          kmip解釋的IP老有問題,沒辦法換成vicp

          posted @ 2008-01-18 11:49 小螞蟻 閱讀(148) | 評論 (0)編輯 收藏

          打算把服務器的timezone由UTC改成CST,但修改了/etc/timezone、/etc/default/rcS和/etc/localtime都沒有用,在/etc/profile里加上export TZ='Asia/Shanghai'后普通用戶登陸沒問題,但用su切到root后timezone又變回UTC,實在沒辦法了在/etc下執行grep -e "UTC" -f *,結果在environment里發現TZ="UTC",原來是前幾天做實驗改后忘改回來了,又是一個因忘事犯的錯誤,浪費了不少時間,暈啊。

          posted @ 2007-12-23 12:13 小螞蟻 閱讀(159) | 評論 (0)編輯 收藏

          直接從deb里安裝只得到btsco,snd_bt_sco要從source里編譯,真是麻煩,服務器的硬盤太小,不想裝linux-source了,只好等明天從本子編譯好再拷貝過來.

          posted @ 2007-12-22 01:02 小螞蟻 閱讀(295) | 評論 (0)編輯 收藏

          今天家里 服務器連不上了,對VectorLinux早已看不順眼,但一直懶得換掉,剛好乘這機會換成比較順手的Debian,把分區設置成ext3格式,apt-get的確好用,用Mini Install CD安裝了基本系統后從網上裝shttpd、gspca、subversion、java,公司的2M帶寬節約了不少時間。內核就將就用安裝盤上的,重編譯內核太麻煩,以后有時間再說了。

          posted @ 2007-12-18 01:03 小螞蟻 閱讀(194) | 評論 (0)編輯 收藏

          前幾天有個大學生找到我要寫個程序,又不想讓我知道程序用在什么地方,畫了半天xyz 我大概知道他的意思,我問他是不是用來買彩票的,他不好意義的確認了.真想和他講講概率論,但看他研究得這么起勁也不好打擊他,何況寫這程序我可以收一筆小錢來買點書.算法是這樣的:某個游戲有總數個N球,每次將會出M個球,如果你買B個球的話就能掙錢.現在要寫個程序,隨機在N個球里找出A個球(N>M>A>B),A個球里找出所有B個球的組合,并用這些B個球去匹配出M個球的歷史記錄,找到最遠沒出這B個球的買法A.看起來復雜,其實可以通過一個鑲套的遞歸算法來解決,我用了單獨一個線程來和處理界面的程序分開,把遞歸算法用個Recusion的C++類封裝起來(幸虧沒用C的寫法,不然寫到后面就慘了),加上點ADO的數據庫代碼,完工!
          但我不認為那小伙子能用這程序掙到錢,因為概率論的精髓就是:本次發生的事件和上次無關.

          posted @ 2007-11-28 00:51 小螞蟻 閱讀(239) | 評論 (0)編輯 收藏

          VCam SDK正是我要找的東西,除了那個水印外沒有其他限制,估計加密機制在驅動層里,我要學的東西已經夠多了,沒打算為了解這東東專門去學windows的驅動編程,但還是想碰下運氣,跟蹤了設置授權碼的函數,找到DeviceIOControl的時候腦子里有個念頭閃了一下,找來IDA反編譯VCam的驅動,查找Function Code,接下來繼續看...寫這程序的老兄估計和我一樣懶,為了調試方便加了句...呃...加了句"芝麻開門"!呵呵,美好的一天.

          posted @ 2007-11-23 23:15 小螞蟻 閱讀(437) | 評論 (5)編輯 收藏

          收到從當當發來的汪德貝多芬交響樂全集,自從聽了汪德指揮的舒伯特第八就開始對他感興趣,這套碟也沒讓我失望,錄音的質量很好。三十塊的價錢算是超值了。

          posted @ 2007-07-20 12:02 小螞蟻 閱讀(183) | 評論 (3)編輯 收藏

          VIDEO 
          接了兩個USB攝像頭后,用了延長線的工作不正常,估計是USB的供電問題,回頭換根好點的試試看。

          posted @ 2007-07-13 08:53 小螞蟻 閱讀(126) | 評論 (0)編輯 收藏

          posted @ 2007-07-11 08:27 小螞蟻 閱讀(159) | 評論 (0)編輯 收藏

          看了一大堆書后開始寫vmotiond,基于多線程并發TCP守護進程還真不好寫,要處理的東西很多,signal、mutex、IO timeout ...,頭有點暈,寫了一下午程序好歹可以運行起來了,代碼很亂,有時間再整理,看到開幾個窗口同時跑live video讓我興奮了好一陣子。目前用spca5xx的庫用USB Cam做,bt8x8估計問題不大,起碼FreeBSD下有bktr的東西,視頻錄制打算用berkeleyDB做載體,如果直接保存jpeg的話一天下來一個點有24*60*60個文件,太可怕了,對于我這簡約主義者來說是不能忍受的。前兩天被一大堆問題困擾得差點放棄在FreeBSD做改換Linux,幸虧堅持下來了。

          posted @ 2007-07-10 23:44 小螞蟻 閱讀(147) | 評論 (0)編輯 收藏

          本打算寫個HttpConnection的子類HtdigestConnection把MD5的摘要認證封裝起來,但發現因為HttpConnection是用Connector通過工廠模式生成的,讓Connector.open()生成HtdigestConnection是不可能的,更糟糕的是認證操作必須在一次連接里完成,HttpConnection里沒“Keep Alive”的機制??磥硪肧ocketConnection來自己實現HTTP層的東西,#$%^&*(

          posted @ 2007-06-16 14:30 小螞蟻 閱讀(173) | 評論 (0)編輯 收藏

          研究htdigest有一段時間了,在網上能找到的資料對具體的算法描述都很模糊,硬著頭皮看RFC 2671對算法大概有了認識,然后參考shttpd的源代碼終于搞清楚了,其實也很簡單:
          response=MD5(ha1:nonce:nc:cnone:qop:a2)
          其中:
          ha1=MD5(username:realm:password)
          a2=MD5(method:uri)

          學習源碼是硬道理,網上寫這些東西的人不是相互對抄就是對RFC 2671簡單的翻譯,要不然就是我太笨了,郁悶...

          sniffer備注:
          GET / HTTP/1.1
          Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
          Accept-Language: zh-cn
          Accept-Encoding: gzip, deflate
          User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
          Host: obol.kmip.net
          Connection: Keep-Alive

           

           

          HTTP/1.1 401 Unauthorized
          WWW-Authenticate: Digest realm="My Site",
           nonce="3266a84c73f7e0e13f4fa6ba1d52d4ce",
           qop="auth"
           
          Content-Type: text/html
          Content-Length: 351
          Date: Sun, 10 Jun 2007 23:52:57 GMT
          Server: lighttpd/1.4.13

          <?xml version="1.0" encoding="iso-8859-1"?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                   "<html xmlns=" <head>
            <title>401 - Unauthorized</title>
           </head>
           <body>
            <h1>401 - Unauthorized</h1>
           </body>
          </html>

           

           

          GET / HTTP/1.1
          Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
          Accept-Language: zh-cn
          Accept-Encoding: gzip, deflate
          User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
          Host: obol.kmip.net
          Connection: Keep-Alive
          Authorization: Digest username="test",
           realm="My Site",
           qop="auth",
           algorithm="MD5",
           uri="/",
           nonce="3266a84c73f7e0e13f4fa6ba1d52d4ce",
           nc=00000001,
           cnonce="5886b782b452993f7559cbd83b6b611b",
           response="932dd7f51f34d766997923876508e620"

           

           

          HTTP/1.1 200 OK
          Content-Type: text/html
          ETag: "972667827"
          Accept-Ranges: bytes
          Last-Modified: Sun, 22 Apr 2007 05:10:52 GMT
          Content-Length: 2878
          Date: Sun, 10 Jun 2007 23:56:44 GMT
          Server: lighttpd/1.4.13

          posted @ 2007-06-11 10:40 小螞蟻 閱讀(213) | 評論 (1)編輯 收藏

          寫了個小MIDlet測試Image在我的NOKIA 3230上是否能加載jpeg文件格式,為把WebCam的Client移植到手機上做準備,寫好的程序在模擬器上可以正常使用,但在手機上老報“版本錯誤”,倒騰了半天才發現NOKIA 3230是CLDC1.0的設備而不是1.1,超低級的錯誤,暈@#$%^&*(

          posted @ 2007-06-10 20:59 小螞蟻 閱讀(182) | 評論 (0)編輯 收藏

          因為MySQL的授權問題,想把手上的程序換成PostgreSQL,但裝了PostgreSQL發現它比MySQL復雜多了,一下移植過去不太可能,要花些時間弄清楚后再說.

          posted @ 2007-04-13 22:59 小螞蟻 閱讀(187) | 評論 (1)編輯 收藏

          python升級到2.4.4后發現所有牽涉到socket的模塊都無法使用,上網找相關資料,發現居然連作者也不知道原因,沒辦法從package-6.1-release里裝回python-2.4.2,但py24-bsddb3無法使用,只能用py24-bsddb-2.4.2_2,被這奇怪的問題折騰到半夜3點,原來想倒騰berkeley db的興趣被弄得一點也沒了。

          posted @ 2007-04-13 12:02 小螞蟻 閱讀(213) | 評論 (0)編輯 收藏

          用spca5xx做的Livecam通過CGI在lighttpd下實現總有個問題:client網速慢的時候lighttpd的內存用量會不斷增加,一直到把系統榨干,沒辦法硬著頭皮看lighttpd的mod_cgi源碼,通過分析發現:
           while(1) {
            int n;

            buffer_prepare_copy(hctx->response, 1024);
            if (-1 == (n = read(hctx->fd, hctx->response->ptr, hctx->response->size - 1))) {
             if (errno == EAGAIN || errno == EINTR) {
              /* would block, wait for signal */
              return FDEVENT_HANDLED_NOT_FINISHED;
             }
          ......
            } else {
             http_chunk_append_mem(srv, con, hctx->response->ptr, hctx->response->used);
             joblist_append(srv, con);
            }

          mod_cgi通過hctx->fd從cgi讀取數據,然后由http_chunk_append_men()提交到后臺,但chunk_append卻沒有限制內存的使用,當從cgi讀取的速度快過提交給client速度時內存用量就會不斷增加。本來想通過signal來同步cgi的采樣,但這樣太麻煩而且會破壞mod_cgi的結構,試著在read(hctx->fd...前加個阻塞判斷:
          if (http_chunkqueue_length(server *srv, connection *con) > 102400) {
            return FDEVENT_HANDLED_NOT_FINISHED;
          }
          if (-1==(n=read(hctx->fd...

          然后在spca5shot里每采樣一frame加個sleep(1),運行幾天看效果再說

          posted @ 2007-04-04 12:09 小螞蟻 閱讀(804) | 評論 (0)編輯 收藏

          倒騰了一天webcam,利用spca5xx的MJpeg流通過管道直接輸出在客戶端異常斷開時老有問題,加上 | dd后正常,想不通,有空看看dd源碼再說。

          posted @ 2007-03-23 00:49 小螞蟻 閱讀(147) | 評論 (0)編輯 收藏

          今天收到從美國寄來的Solaris 10 安裝DVD,原來只是隨便申請了一下,想不到居然SUN會發過來.

          posted @ 2007-03-21 21:57 小螞蟻 閱讀(124) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 县级市| 建平县| 屯昌县| 明溪县| 瓦房店市| 高雄市| 沽源县| 鱼台县| 峨边| 循化| 三河市| 乐昌市| 察哈| 宜兰县| 英超| 泾川县| 水富县| 图们市| 乌兰浩特市| 连山| 宁武县| 祁连县| 错那县| 崇左市| 黄石市| 肃宁县| 确山县| 搜索| 邵阳市| 东乌珠穆沁旗| 西城区| 兴业县| 垣曲县| 沂南县| 渝中区| 聂荣县| 永宁县| 甘肃省| 宜兰县| 陵川县| 湖州市|