收到从当当发来的汪德贝多芬交响乐全集,自从听了汪德指挥的舒伯特第八就开始对他感兴趣,这套碟也没让我失望,录音的质量很好。三十块的价钱算是超值了。

posted @ 2007-07-20 12:02 小蚂蚁 阅读(179) | 评论 (3)编辑 收藏

VIDEO 
接了两个USB摄像头后,用了延长线的工作不正常,估计是USB的供电问题,回头换根好点的试试看。

posted @ 2007-07-13 08:53 小蚂蚁 阅读(118) | 评论 (0)编辑 收藏

posted @ 2007-07-11 08:27 小蚂蚁 阅读(154) | 评论 (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 小蚂蚁 阅读(138) | 评论 (0)编辑 收藏

本打算写个HttpConnection的子类HtdigestConnection把MD5的摘要认证封装起来,但发现因为HttpConnection是用Connector通过工厂模式生成的,让Connector.open()生成HtdigestConnection是不可能的,更糟糕的是认证操作必须在一次连接里完成,HttpConnection里没“Keep Alive”的机制。看来要用SocketConnection来自己实现HTTP层的东西,#$%^&*(

posted @ 2007-06-16 14:30 小蚂蚁 阅读(171) | 评论 (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"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <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 小蚂蚁 阅读(209) | 评论 (1)编辑 收藏

写了个小MIDlet测试Image在我的NOKIA 3230上是否能加载jpeg文件格式,为把WebCam的Client移植到手机上做准备,写好的程序在模拟器上可以正常使用,但在手机上老报“版本错误”,倒腾了半天才发现NOKIA 3230是CLDC1.0的设备而不是1.1,超低级的错误,晕@#$%^&*(

posted @ 2007-06-10 20:59 小蚂蚁 阅读(178) | 评论 (0)编辑 收藏

因为MySQL的授权问题,想把手上的程序换成PostgreSQL,但装了PostgreSQL发现它比MySQL复杂多了,一下移植过去不太可能,要花些时间弄清楚后再说.

posted @ 2007-04-13 22:59 小蚂蚁 阅读(184) | 评论 (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 小蚂蚁 阅读(207) | 评论 (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 小蚂蚁 阅读(795) | 评论 (0)编辑 收藏

仅列出标题
共5页: 上一页 1 2 3 4 5 下一页